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 හී ලියා දක්වනවා.
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