Sunday, June 12, 2016

DBMS 1 Lesson 4 part 2

If You haven't studied Lessons posted earlier click below Links
 Lesson 1,Lesson 2,Lesson 3,Lesson 4 part 1

2NF
After completing 1NF,result of it is Normalized into 2NF.
1NF හි ලැබුනු ප්‍රතිපලය 2NF කිරීමට යොදා ගැනේ.

 Functional Dependency


A --------------> B,C

We call B,C are functionally depend on A.Here A is called Determinant & B,C are called Dependent.
B හා C හි අගයන් A මත රදා පවති.මෙහි A,Determinant වන අතර B,C; Dependent වේ.

Cno------------------>Cname,CLocation,Mno,Mname - Partial Dependency

Fno,Cno------------>Takings -Full Functional Dependency

Partial Dependency= Non Key depend on Part of the Composite P/K(Primary Key)
P/K හෝ Composite P/K නොවන අගයක් Composite P/K හි කොටසක් මත රදා පැවතීම
Eg: Non Keys(P/K හෝ Composite P/K නොවන අගයන්) Cname,CLocation,Mno,Mname & Part of the Composite P/K is Cno.

Full Functional Dependency=Non Key depend on Composite P/K

P/K හෝ Composite P/K  නොවන අගයක් සම්පූර්ණ Composite P/K එක මත රදා පැවතීම
Eg: Non Key is Takings & Composite P/K is Fno,Cno.

Answer:
------------------------------------------------------------------------------------------------------------------------


  •     Cinema_2(Cno,Cname,CLocation,Mno,Mname) 
  •     Showing_2(Fno*,Cno*,Takings)
  •     Film_2(Fno,Fname)   


------------------------------------------------------------------------------------------------------------------------------------------------


2NF හීදි Cno මත Cname,CLocation රැදී පවතිනවා. Cname,CLocation මත Mno,Mname රැදී පවතින බැවින් Cno මත Cname,CLocation,Mno,Mname රැදී පවති.නමුත් Takings රැදී පවතින්නැ.
      උදා:   Fno : 15                                     Fno : 45 
                Cno : 1                                       Cno : 1       
               Cname : Odeon                         Cname : Odeon 
               CLocation : NewCastle            CLocation : NewCastle 
             Mno : 1                                      Mno : 1 
             Mname : Green                       Mname : Green
             Takings : 220                           Takings : 600

       ම නිසා ඒ සියල්ල ඇතුලත්ව Cinema_2 නමින් 2NF හීදි ලිවිය යුතුය.මෙහිදි Cno එක Key එකක් වේ.අනෙක් ඒවා NonKey වේ.1NF මගින් ලියූ Showing_1 හී Cname,CLocation,Mno,Mname සියල්ල ඇතුලත්ව ඇත.අප 2NF හීදි Takings ඇර අනෙක් සියල්ල Cinema_2 හීදි ලියූ බැවින් -Showings තුල ඉතිරි වන්නේ Takings පමණයි.එම නිසා එය Showing_2 ලෙස ගෙන ලියා දක්වනවා.Film_1  Film_2 ලෙස කිසිදු වෙනසකින් තොරව 2NF හී ලියා දක්වනවා.

In 2NF Cname,CLocation depends on Cno.As well as Mno,Mname depends on Cname & CLocation.Therefore we can say Cname,CLocation,Mno,Mname depends on Cno.But Takings doesn't depend on any.
Eg:Fno : 15                                     Fno : 45 
                Cno : 1                                       Cno : 1       
               Cname : Odeon                         Cname : Odeon 
               CLocation : NewCastle            CLocation : NewCastle 
             Mno : 1                                      Mno : 1 
             Mname : Green                       Mname : Green
             Takings : 220                           Takings : 600


Therefore new Cinema_2 should be written including those in 2NF. In here Cno referred to be a Key and others are NonKeys.But in Showing_1 written in 1NF includes all of these.In 2NF we write Cno,Cname,CLocation,Mno,Mname in Cinema_2 except Takings.Thereby Only Takings remain in Showing_1 came from 1NF.Therefore we give a new name to Showing as Showing_2 in 2NF.As there are no changes in Film_1,we write same thing in 2NF as Film_2.


3NF

After completing 2NF,result of it is Normalized into 3NF.
 Transitive Dependency

Non Key depend on a Non Key

Mno ------------------> Mname 

When Mno changes Mname changes respectively.But both of these are not keys(P/K or Composite P/K).This is called Transitive Dependency.
Mno වෙනස් වෙද්දි Mname  අනුව වෙනස් වෙනවා.නමුත් Mno හා Mname ,NonKeys.ඒ කියන්නේ දෙකම P/K හෝ Composite P/K නෙවෙයි.මේකට තමයි Transitive Dependency කියන්නේ.
Eg : When Mno is 1 Mname is always Green
       When Mno is 2 Mname is always Wood

Answer:
------------------------------------------------------------------------------------------------------------------------

  • Manager_3(Mno,Mname)
  • Cinema_3(Cno,Cname,CLocation,Mno*)
  • Showing_3(Fno*,Cno*,Takings)
  • Film_3(Fno,Fname)



-----------------------------------------------------------------------------------------------------------------------------------------------


Here we write a new one in 3NF as Manager_3 including Transitive Dependencies.From 2NF we already have Cinema_2.It Includes both Mno & Mname.Here Mno is a Key.Therefore we write new Cinema_3 excluding Mname but including Mno(Refer a similar case in 2NF Cno is Written in both Cinema_2 & Showing_2).As usual no changes happen to Showing & Film thereby they are written with different names without any change.

මෙහිදි Mno හා Mname ඇතුලත්ව Manager_3 නමින් 3NF හීදි ලියා දක්වයි.2NF මගින් අප ලියූ Showing_2 හී Mno හා Mname ඇතුලත්ව ඇත.Mno එක Key එකක් වන නිසා එය නවතම Cinema_3 හීදි ලියා දක්වන නමුත් Mname ලියනු නොලැබේ(මේ හා සමාන ලිවීමක් Cinema_2 හා Showing_2 ,2NF හීදි දැක ගත හැක.)මෙහිදි Film හා Showing කිසිදු බලපෑමක් නොමැති බැවින් Film_3 හා Showing_3 ලෙස ලියනු ලැබේ.


-------------------------------------------------------------------------------------------------------------------------------------------



Final Complete Answer For Normalizing the table given upto 3NF

1NF
  • Film_1(Fno,Fname)
  • Showing_1(Fno*,Cno,Cname,CLocation,Mno,Mname,Takings)
2NF
  • Cinema_2(Cno,Cname,CLocation,Mno,Mname)
  • Showing_2(Fno*,Cno*,Takings)
  • Film_2(Fno,Fname)
3NF
  • Manager_3(Mno,Mname)
  • Cinema_3(Cno,Cname,CLocation,Mno*)
  • Showing_3(Fno*,Cno*,Takings)
  • Film_3(Fno,Fname)

Click Here To Download This Lesson in PDF Format

No comments:

Post a Comment