2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-1 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļāļāļāļĩāđ 8* āļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļĨāļ° āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļāļŠāđāļēāļŦāļĢāļąāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļīāļāļŠāļąāļĄāļāļąāļāļ
Functional Dependencies and Normalization for Relational Databases
āļ§āļąāļāļāļļāļāļĢāļ°āļŠāļāļ 1. āđāļāļ·āđāļāđāļŦāļĄāļĩāļāļ§āļēāļĄāđāļāļēāđāļāđāļāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ 2. āđāļāļ·āđāļāđāļŦāļĄāļĩāļāļ§āļēāļĄāđāļāļēāđāļāđāļāđāļĢāļ·āđāļāļāļāļ§āļēāļĄāļāđāđāļēāļāļāļāļāļāļāļāļāļĄāļđāļĨāđāļāļāļđāđāļāļīāļĨ āđāļĨāļ°āļāļēāļĢāļāļąāļāđāļāļāļāļ°āļāļāļĢāļĄāļēāļĨāļĩ 3. āđāļāļ·āđāļāđāļŦāļĄāļĩāļāļ§āļēāļĄāđāļāļēāđāļāđāļāđāļĢāļ·āđāļāļāļāļāļ Functional Dependency 4. āđāļāļ·āđāļāđāļŦāļĄāļĩāļāļ§āļēāļĄāđāļāļēāđāļāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļąāļāļāđāļē First Normal form āđāļ 5. āđāļāļ·āđāļāđāļŦāļĄāļĩāļāļ§āļēāļĄāđāļāļēāđāļāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļąāļāļāđāļē Second Normal form āđāļ 6. āđāļāļ·āđāļāđāļŦāļĄāļĩāļāļ§āļēāļĄāđāļāļēāđāļāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļąāļāļāđāļē Third Normal form āđāļ 7. āđāļāļ·āđāļāđāļŦāļĄāļĩāļāļ§āļēāļĄāđāļāļēāđāļāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāļāļąāļāļāđāļē Boyce-Codd Normal form āđāļ
8.1 āđāļāļ§āļāļēāļāļāļēāļĢāļāļāļāđāļāļāļŠāđāļēāļŦāļĢāļąāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļīāļāļŠāļąāļĄāļāļąāļāļ
(Informal Design Guidelines for Relational Database)
āđāļĄāđāļ·āļāļāļīāļāļ§āļēāļāļēāļĢāļāļāļāđāļāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļīāļāļŠāļąāļĄāļāļąāļāļ (Relational database design) āļāļ·āļāļāļ°āđāļĢ āļāļēāļāļāļ°āļāļĨāļēāļ§āđāļāļ§āļēāļāļ·āļāļāļēāļĢāļāļĒāļēāļĒāļēāļĄāļāļąāļāļāļĨāļļāļĄāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ (Grouping of attributes) āđāļāļ·āđāļāļāļ°āļāđāļēāļāļēāļĢāļĢāļ§āļĄ relation schemas āļāļĩāđāļāļĩ āđāļāļĒāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļāļ°āđāļāļ relation schemas āļāļāļāđāļāļāļŠāļāļāļĢāļ°āļāļąāļāļāđāļąāļāļāļ·āļ
âĒ āļĢāļ°āļāļąāļāļĄāļļāļĄāļĄāļāļāđāļāļīāļāļāļĢāļĢāļāļ°āļāļāļāļāļđāđāļāļāļēāļ (The logical âuser viewâ level) âĒ āļĢāļ°āļāļąāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļ·āđāļāļāļēāļāļāļāļāļāļąāļāļāļāļĄāļđāļĨ (The storage âbase relationâ level)
āđāļāļĒāļāļēāļĢāļāļāļāđāļāļāļŦāļĨāļąāļ āđ āđāļĨāļ§āļāļ°āļāļēāđāļāļķāļāļāļķāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļ·āđāļāļāļēāļ āļŦāļĢāļ·āļ base relations āđāļĨāļ°āļāļāļāļāļēāļāļāļąāđāļāļāļ°āļāļāļāļŦāļēāļāļāļāļąāļĒāļŦāļĢāļ·āļ criteria āļŠāđāļēāļŦāļĢāļąāļ good base relations āļāļąāđāļāļāđāļĩāļāļēāļāđāļĢāļīāđāļĄāļāļīāļāļēāļĢāļāļēāļāļķāļāđāļāļ§āļāļēāļāļāļĒāļēāļāđāļĄāđāļāļāļāļēāļāļāļēāļĢāđāļāļāļēāļĢāļāļāļāđāļāļāđāļāļīāļāļŠāļąāļĄāļāļąāļāļāļāļĩāđāđāļŦāļĄāļēāļ°āļŠāļĄāļāļāļ āļŦāļĨāļąāļāļāļēāļāļāđāļąāļāļāļ°āļāđāļē
āļāļēāļĢāļāļīāļāļēāļĢāļāļēāļāļķāļāđāļāļ§āļāļēāļāļāļĒāļēāļāđāļāļāļāļēāļāļāļēāļĢāđāļāļāļēāļĢāđāļāļ·āđāļāļĄāđāļĒāļāļāļāļāļāļąāļ (Functional dependencies) āđāļĨāļ° āļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄ (Normal forms) āđāļāļĒāļāļ°āđāļāļāļāļāļāđāļāļāļąāļāļāđāļĩ
âĒ 1NF (First Normal Form) âĒ 2NF (Second Normal Form) âĒ 3NF (Third Normal Form) âĒ BCNF (Boyce-Codd Normal Form)
āđāļāļĒāļāļēāļĢāđāļāļ·āđāļāļĄāđāļĒāļāļāļĢāļ°āđāļ āļāļāļ·āđāļ āđ āļāļāļāļāļēāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄ āļāđāļąāļāļāļ·āļ āļāļąāļĨāļāļāļĢāļīāļāļķāļĄāđāļāļāļēāļĢāļāļāļāđāļāļāđāļāļīāļāļŠāļąāļĄāļāļąāļāļ (Relational design algorithms) āđāļāļĒāđāļāļ§āļīāļāļĩāļāļēāļĢāļŠāļąāļāđāļāļĢāļēāļ°āļŦāļāļĩāđāļāļ°āđāļāļāļĨāļēāļ§āļāļķāļāđāļāļāļāļāļāđāļ
* āļāļēāļāļāļīāļāļāļēāļāļāļāļāļĩāđ 10 āļāļāļāđāļāļāļŠāļēāļĢāļāļēāļāļāļīāļ [1]
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-2 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
8.2 āļāļĩāđāļĄāļāļāļīāļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļāļīāļāļŠāļąāļĄāļāļąāļāļ (Semantics of Relation Attributes)
8.2.1 āđāļāļ§āļāļēāļāļāļĩāđ 1 āđāļĄāđāļ·āļāļāļīāļāļēāļĢāļāļēāļāļĒāļēāļāđāļĄāđāļāļāļāļēāļāļāļēāļĢ āļāļ°āđāļŦāđāļāđāļāļ§āļēāđāļāđāļāļĨāļ°āļāļđāđāļāļīāļĨāļāļāļāļĢāļĩāđāļĨāļāļāļąāļāļ§āļĢāļāļ°āđāļŠāļāļāļāļķāļāļāļēāđāļāļāļāļīāļāļĩ āļŦāļĢāļ·āļāļāļīāļāļŠāđāļāļāļ
āļāļāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ (Relationship instance) āļāđāļķāļāļāļ°āļāđāļēāđāļāļāļĢāļ°āļĒāļļāļāļāđāļāđāļāļāļąāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāļĩāđāļĒāļ§ (individual relations) āđāļĨāļ°āđāļāļāļāļĢāļīāļāļīāļ§āļāļāļāļāļĢāļĩāđāļĨāļāļąāļāļāđāļąāļ āđāļāļĒāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļāļāđāļāļāļāļīāļāļĩāļāļĩāđāļāļēāļāļāļąāļāđāļĄāļāļ§āļĢāļāļĩāđāļāļ°āļāļđāļāļĢāļ§āļĄāđāļāļēāđāļ§āđāļ
āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāļĩāļĒāļ§āļāļąāļ āđāļāļ (EMPLOYEEs, DEPARTMENTs, PROJECTs) āđāļĨāļ°āļāļ°āļāđāļēāļāļĩāļĒāļāļāļāļŦāļĢāļ·āļ foreign key āļĄāļēāđāļāđāļ·āļāđāļāļāļēāļāļāļķāļāđāļāļāļāļīāļāļĩāļāļ·āđāļ āđ āļāļāļāļāļēāļāļāļąāđāļāļāļ§āļĢāļāļ°āđāļāđāļāđāļāļāļāļīāļāļĩāđāļĨāļ°āđāļāļāļāļĢāļīāļāļīāļ§āļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ (Relationship attributes) āđāļĒāļāļāļąāļāđāļŦāđāļāļĄāļēāļāļāļĩāđāļŠāļļāļāđāļāļēāļāļĩāđāļāļ°āđāļāļāđāļāđāļ āđāļāļĒāļŠāļļāļāļāļēāļĒāđāļĨāļ§āđāļāļāļēāļĢāļāļāļāđāļāļ schema āļŦāļāđāļķāļāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļāļ°āļāļāļīāļāļēāļĒāļāļ§āļĒāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļĒāļēāļāļāļēāļĒ āđ
āđāļāļĒ semantics āļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ āļāļ§āļĢāļāļĩāđāļāļ°āļŠāļ·āđāļāđāļāļāļēāļĒāđ
āļĢāļđāļāļāļĩāđ 8.1 COMPANY
relational database
schema āđāļāļāļāļēāļĒ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-3 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļĢāļđāļāļāļĩāđ 8.2 āļāļąāļ§āļāļĒāļēāļāļāļāļāļŠāļāļēāļāļ°
āļāļāļāļāļēāļāļāļāļĄāļđāļĨ
āļŠāđāļēāļŦāļĢāļąāļ relational database
schema āđāļāļĢāļđāļ 8.1
āļāļ§āļēāļĄāļāđāđāļēāļāļāļāļāļāļāļāļāļĄāļđāļĨāđāļāļāļđāđāļāļīāļĨ āđāļĨāļ°āļāļēāļĢāļāļąāļāđāļāļāļāļ°āļāļāļĢāļĄāļēāļĨāļĩ (Redundancy Information and Update Anomalies) āđāļāļāļēāļĢāļĢāļ§āļĄāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļāļāđāļāļāļāļīāļāļĩāļŦāļĨāļēāļĒāđ āļāļąāļ§āđāļāļēāđāļ§āļāļ§āļĒāļāļąāļāļāļēāļāļāļ°āļāđāļēāđāļŦāđāļāļīāļāļāļāļŦāļēāđāļ āļāļĨāļēāļ§āļāļ·āļ āļĄāļĩāļāļēāļĢāđāļāđāļāļāļāļĄāļđāļĨ
āļāđāđāļēāļāļāļāļāđāļēāđāļŦāļŠāđāļīāļāđāļāļĨāļ·āļāļāđāļāļ·āđāļāļāļĩāđ āļāļāļāļāļēāļāļāļąāđāļāļāļ°āļĄāļĩāļāļāļŦāļēāđāļĢāļ·āđāļāļāļāļēāļĢāļāļąāļāđāļāļāļāļ°āļāļāļĢāļĄāļēāļĨāļĩ āļāđāļķāļāđāļĢāļēāļāļ°āļŠāļēāļĄāļēāļĢāļāđāļāļāļāļāļāđāļāđāļāļ
āļŠāļēāļĄāļāļĢāļ°āđāļ āļ āļāđāļąāļāļāļ·āļ âĒ āļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļāļāļēāļĢāđāļāļīāđāļĄ (Insertion anomalies) âĒ āļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļāļāļēāļĢāļĨāļ (Deletion anomalies) âĒ āļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļāļāļēāļĢāļāļĢāļąāļāļāļĢāļļāļ (Modification anomalies)
āļāļąāļ§āļāļĒāļēāļ āđāļĄāđāļ·āļāļāļīāļāļēāļĢāļāļēāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļąāļāļāļāđāļāļāļĩāđ EMP_PROJ ( Emp#, Proj#, Ename, Pname, No_hours) āļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļāļāļēāļĢāđāļāļĢāļ (Insertion Anomalies) āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļāļ°āđāļāļĢāļ Project āđāļŦāļĄāđāļāļēāđāļ āļāļāļāļāļēāļāļ§āļē Employee āļāļ°āļāļđāļ assign āđāļāļēāđāļāđāļ Project āļŦāļĢāļ·āļāđāļāļāļēāļāļāļĨāļąāļāļāļąāļ āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļāļ°āđāļāļīāđāļĄ Employee āđāļāļēāđāļāļāļāļāļāļēāļāļ§āļē Employee āļāļ°āļāļđāļ assign āđāļāļēāđāļāđāļ Project āļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļāļāļēāļĢāļĨāļ (Deletion Anomalies) āđāļĄāđāļ·āļāļĄāļĩāļāļēāļĢāļĨāļ Project āļŦāļāđāļķāļāļāļāļāđāļāļāļ°āļŠāļāļāļĨāđāļŦāļĄāļĩāļāļēāļĢāļĨāļ Employee āļāļĩāđāļāđāļēāļāļēāļāļāļĒāļđāđāļ Project āļāđāļąāļ āļŦāļĢāļ·āļ āļāļĩāļāļāļēāļāļŦāļāđāļķāļ
āļāļē Employee āļāđāļąāļāļāđāļēāļāļēāļāļāļĒāļđāđāļāļĩāļĒāļ Project āđāļāļĩāļĒāļ§ āļāļēāļĢāļĨāļ Employee āļāđāļąāļāļāļ°āļŠāļāļāļĨāđāļŦāļāļāļāļĨāļ Project āļāļĩāđāđāļāđāļĩāļĒāļ§āļāļāļ āļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļāļāļēāļĢāļāļĢāļąāļāļāļĢāļļāļ (Modification Anomalies) āđāļĄāđāļ·āļāļĄāļĩāļāļēāļĢāđāļāļĨāļĩāđāļĒāļāļāļ·āđāļāļāļāļ Project P1 āļāļēāļ âBillingâ āđāļāļ âCustomer-Accountingâ āļāļāļĄāļđāļĨāļāđāļēāđāļāļāļāļāļ
āļāļđāļāļāđāļēāđāļāđāļāđāļāđāļāļāļĩāļ 100 employees āļāļĩāđāļāđāļēāļāļēāļāđāļ Project P1
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-4 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļĢāļđāļāļāļĩāđ 8.3 āļāļąāļ§āļāļĒāļēāļāļāļāļ
Relation schema āļŠāļāļāļāļąāļāļāļĩāđāđāļāļāļĨ
āļāļĢāļ°āļāļāļāļēāļāļāļēāļĢ
āļāļąāļāđāļāļāļāļ°āļāļāļĢāļĄāļēāļĨ āļĩ
āļĢāļđāļāļāļĩ āđ8.4 āļāļąāļ§āļāļĒāļēāļāļāļāļ
āļŠāļāļēāļāļ° āļŦāļĢāļ·āļ state āļāļāļ
EMP_DEPT āđāļĨāļ°
EMP_PROJ
āļĢāļđāļāļāļĩāđ 8.4 āđāļŠāļāļāļāļąāļ§āļāļĒāļēāļāļāļāļāļŠāļāļēāļāļ° āļŦāļĢāļ·āļ state āļāļāļ EMP_DEPT āđāļĨāļ° EMP_PROJ āļāļĩāđāđāļāļāļāļĨāļĨāļąāļāļāļāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļāđāļ Natural Join āđāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāļĢāļđāļ 10.2 āļāđāļķāļāļāļēāļāļāļ°āļāļđāļāđāļāđāļāđāļ§āđāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļ·āđāļāļāļēāļāđāļāļ·āđāļāđāļŦāļāļļāļāļĨāļāļēāļāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-5 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
8.2.2 āđāļāļ§āļāļēāļāļāļĩāđ 2 āļāļēāļĢāļāļāļāđāļāļ Schema āļāļĩāđāđāļĄāļāđāļēāđāļŦāđāļāļĢāļąāļāļāļĨāļāļĢāļ°āļāļāļāļēāļāļāļēāļĢāļāļąāļāđāļāļāļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļāļāļēāļĢāđāļāļĢāļ āļāļēāļĢāļĨāļ āļŦāļĢāļ·āļāļāļēāļĢāļāļĢāļąāļāļāļĢāļļāļ
āđāļāļĒāļŦāļēāļāđāļāļāđāļāļāļāđāļąāļ āļŦāļēāļāļĄāļĩāļāļēāļĢāđāļāļīāļāļāļ°āļāļāļĢāļĄāļēāļĨāļĩāļāļĒāļēāļāđāļāļāļĒāļēāļāļŦāļāđāļķāļāđāļāļāļēāļāļāļ āđāļĢāļēāļāđāļēāđāļāļāļāļĩāđāļāļ°āļāļāļāļāđāļēāļāļķāļāļāļķāļāđāļĄāđāļ·āļāļāđāļēāļāļēāļĢ
āļŠāļĢāļēāļāđāļāļāļāļĨāļīāđāļāļāļąāļ
8.2.3 āđāļāļ§āļāļēāļāļāļĩāđ 3 āđāļĄāđāļ·āļāļāđāļēāļāļķāļāļāļķāļāļāļēāļāļąāļĨ (Null value) āđāļāļāļđāđāļāļīāļĨ āļāļāļ§āļēāđāļāļāļēāļĢāļāļāļāđāļāļāļāļēāļāđāļāļāđāļāđāļāļāļĩāđāļāļ°āļĄāļĩāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļāļāļāļđāđāļāļīāļĨāļĄāļąāļāļĄāļĩāļāļē
āđāļāļāļāļąāļĨ āđāļāļāļāļĢāļīāļāļīāļ§āļāļāļĩāđāļĄāļąāļāļāļ°āļāļāļāļēāļāļąāļĨāļāļąāļāļāļĨāļēāļ§āļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāļŠāļĢāļēāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļŦāļĢāļ·āļāļĢāļĩāđāļĨāļāļąāļāđāļŦāļĄāļāļĢāļāļĄāļāļąāļāļāļēāļāļĩāļĒāļŦāļĨāļąāļ
(Primary key) āđāļ āđāļāđāļ·āļāļāļāļēāļāļāļēāļĢāļĄāļĩāļāļēāļāļąāļĨ (Null) āļāļēāļāļāđāļēāđāļŦāđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļ āļŦāļĢāļ·āļāđāļāđāļāđāļāđāļĄāļāļđāļāļāļāļ āļāļāļāļāļēāļāļāļąāđāļāļāļēāļāđāļāļīāļāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļĩāđāļĄāļĩāļāļēāđāļāđāļĄāļāļĢāļēāļāļāļēāđāļāļīāļāļāļķāđāļ āļŦāļĢāļ·āļāļāļēāļāļĄāļĩāļāļēāđāļāļīāļāļāļķāđāļāđāļāđāļĄāļŠāļēāļĄāļēāļĢāļāļāđāļēāļĄāļēāđāļāļāļēāļāđāļ āļŦāļĢāļ·āļ
āļĄāļĩāļĨāļąāļāļĐāļāļ°āļāļĩāđāđāļĢāļĩāļĒāļāļ§āļēāļāļđāđāļāļīāļĨāđāļāļ Spurious āļāļ·āļ āļāļēāļĢāļāļāļāđāļāļāļāļĩāđāđāļĄāļāļĩāļāļąāļāļāļāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļīāļāļŠāļąāļĄāļāļąāļāļāļāļ°āļāļāđāļŦāđāļāļīāļāļāļĨāļĨāļąāļāļāļāļĩāđ
āļāļīāļāļāļĨāļēāļāļŠāđāļēāļŦāļĢāļąāļāđāļāđāļāļāđāļĢāļāļąāļ JOIN āļāļēāļāļāļ°āļāđāļēāļāļļāļāļŠāļĄāļāļąāļāļīāļāļĩāđāđāļĢāļĩāļĒāļāļ§āļē "lossless join" āđāļāđāļāļŠāđāļēāļŦāļĢāļąāļāļĒāļ·āļāļĒāļąāļāļāļĨāļĨāļąāļāļāļāļĩāđāļĄāļĩ
āļāļ§āļēāļĄāļŠāđāļēāļāļąāļāļŠāđāļēāļŦāļĢāļąāļāđāļāđāļāļāđāļĢāļāļąāļ JOIN
8.2.4 āđāļāļ§āļāļēāļāļāļĩāđ 4 āđāļĄāļāļ§āļĢāļāļāļāđāļāļāļĢāļĩāđāļĨāļāļąāļāđāļāļ·āđāļāļŠāļāļāļāļāļ§āļēāļĄāļāļāļāļāļēāļĢāđāļāđāļāļŠāļ§āļāļāļāļāđāļāļ·āđāļāļāđāļ JOIN āđāļĨāļ°āļāļēāļĢāļāđāļē Natural Join āļāļāļāļĢāļĩāđāļĨāļāļąāļāđāļāđ āđāļĄāļāļ§āļĢāļŠāļĢāļēāļāļāļđāđāļāļīāļĨāđāļāļ spurious āļāļ°āļĄāļĩāļāļļāļāļŠāļĄāļāļąāļāļīāļāļĩāđāļŠāđāļēāļāļąāļāļŠāļāļāļāļĢāļ°āļāļēāļĢāđāļāļāļēāļĢāļāđāļēāļāļĩāļāļāļĄāđāļāļŠāļīāļāļąāļ āļāđāļąāļāļāļ·āļ âĒ Non-additive āļŦāļĢāļ·āļ losslessness āļāļāļ corresponding join âĒ Preservation āļāļāļ functional dependencies. āļŦāļĄāļēāļĒāđāļŦāļāļļ āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļāļ°āļāļīāđāļāļāļļāļāļŠāļĄāļāļāļī (a) āļāļĩāđāļĄāļĩāļāļ§āļēāļĄāļŠāđāļēāļāļąāļāļāļĒāļēāļāļĄāļēāļ āđāļĨāļ°āđāļāļāļāļ°āđāļāļĩāļĒāļ§āļāļąāļāļāļēāļāļĨāļ°āļāļīāđāļāļāļļāļāļŠāļĄāļāļąāļāļī (b) āļāļĩāđāļĒāļ·āļāļŦāļĒāļļāļāļāļāļĒāļāļ§āļē āļāļąāđāļāļāđāļĩāđāļŦāļāļđāļāļāđāļāļāļāļāļĩāđ 11
āļĢāļđāļāļāļĩ āđ8.5 āļāļąāļ§āļāļĒāļēāļāļāļēāļĢ
āļāļāļāđāļāļāļāļĩāđāđāļĄāļāļĩ
āļŠāđāļēāļŦāļĢāļąāļ
āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ EMP_PROJ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-6 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļĢāļđāļāļāļĩāđ 8.5 āđāļāļāļāļąāļ§āļāļĒāļēāļāļāļēāļĢāļāļāļāđāļāļāļāļĩāđāđāļĄāļāļĩāļŠāđāļēāļŦāļĢāļąāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ EMP_PROJ āđāļāļĢāļđāļ 8.3b (a) Relation schemas EMP_LOCS āđāļĨāļ° EMP_PROJ1 (b) āļāļĨāļāļāļāļāļēāļĢāļāļīāļāļēāļĢāļāļēāļŠāļ§āļāđāļāļīāđāļĄāđāļāļīāļĄāļāļāļ EMP_PROJ āļāļēāļāļĢāļđāļ 8.4 āļāļāļāļēāļ EMP_LOCS āđāļĨāļ°
EMP_PROJ1.
āļĢāļđāļāļāļĩāđ 8.6 āļāļĨāļāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļ
NATURAL JOIN
āļĢāļđāļāļāļĩāđ 8.6 āđāļŠāļāļāļāļĨāļāļēāļāļāļēāļĢāļāļĢāļ°āļĒāļļāļāļ NATURAL JOIN āđāļāļēāļāļąāļāļāļđāđāļāļīāļĨāļāļēāļāļāļāđāļŠāļāļāļĢāļ° āđāļ EMP_PROJ1 āđāļĨāļ° EMP_LOCS āļāļēāļāļĢāļđāļ 8.5 āļāđāļķāļāļāļ°āļŠāļāļāļĨāđāļŦāđāļāļīāļāļāļēāļĢāļŠāļĢāļēāļāļāļđāđāļāļīāļĨāđāļāļ spurious
8.3 āļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ (Functional dependencies: FDs) āļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ (Functional dependencies : FDs) āļāļđāļāļāđāļēāđāļāđāļāđāļāļāļēāļĢāļāđāļēāļŦāļāļāļ§āļīāļāļĩāđāļāļāļēāļĢāļ§āļąāļāļāļ§āļēāļĄāļŠāļĄāļāļđāļĢāļāļāļāļāļāļēāļĢāļāļāļāđāļāļāđāļāļīāļāļŠāļąāļĄāļāļąāļāļāļāļĒāļēāļāđāļāļāļāļēāļāļāļēāļĢ āļŦāļĢāļ·āļāđāļĢāļĩāļĒāļāđāļāļ§āļēāđāļāļāļāļēāļĢāļ§āļąāļ "Goodness" āļāļāļāļāļēāļĢāļāļāļāđāļāļāļāļąāđāļāđāļāļ āđāļāļĒ FDs āđāļĨāļ° āļāļĒāļĩāļāļ°āļāļđāļāļāđāļēāđāļāđāļāđāļāļāļēāļĢāļāđāļēāļŦāļāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄ (Normal Forms) āļŠāđāļēāļŦāļĢāļąāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāđ āđāļāļĒ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-7 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
FDs āļĒāļąāļāļāđāļēāļŦāļāļēāļāļĩāđāđāļāļāļāļāļāđāļēāļāļąāļāļāļĩāđāļāđāļēāļāļēāļĢāļāļĩāđāļĢāļ (Derive) āļĄāļēāļāļēāļāļāļ§āļēāļĄāļŦāļĄāļēāļĒāđāļĨāļ°āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļ āļēāļĒāđāļ
(interrelationships) āļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļāļāļāļāļĄāļđāļĨ
āđāļāļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ X āđāļāđāļāļīāļāļāļāļāļāļąāļāļāļ°āļāđāļēāļŦāļāļēāļāļĩāđāļāđāļēāļŦāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ āļāļēāļāļēāļāļāļ X āļŠāļēāļĄāļēāļĢāļāļāđāļēāļŦāļāļāļāļēāļāļĩāđāđāļāļ
āđāļāļāļĨāļąāļāļĐāļāļŦāļĢāļ·āļ Unique value āļŠāđāļēāļŦāļĢāļąāļ Y X -> Y āļāļ·āļāđāļāļ§āļēāđāļĄāļ·āđāļāđāļĢāļāđāļāļēāļĄāļāļĩāđāļāļąāđāļāļŠāļāļāļāļđāđāļāļīāļĨāļĄāļĩāļāļēāđāļāļĩāļĒāļ§āļāļąāļāļŠāđāļēāļŦāļĢāļąāļ X āļāļēāļāļ§āļāļāļąāđāļāļāļ°āļāļāļāļĄāļĩāļāļēāđāļāļĩāļĒāļ§āļāļąāļāļŠāđāļēāļŦāļĢāļąāļ Y āļŠāđāļēāļŦāļĢāļąāļāļŠāļāļāļāļđāđāļāļīāļĨ t1 āđāļĨāļ° t2 āļāđāļķāļāđāļāļāļāļīāļāļŠāđāļāļāļ r(R) āđāļāļĢāļĩāđāļĨāļāļąāļ R āļāļē t1[X]=t2[X] āđāļĨāļ§ t1[Y]=t2[Y] X -> Y āđāļ R āļāļ°āļāđāļēāļŦāļāļēāļāļĩāđāļāđāļēāļŦāļāļāļāļāļāđāļēāļāļąāļāđāļāļāļļāļāđ āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļāļāļāļīāļāļŠāđāļāļāļ r (R) FDs āļŠāļēāļĄāļēāļĢāļāđāļāļĩāļĒāļāļŠāļąāļāļāļĢāļāđāļāļīāļāđāļāļāļ āļēāļāļāļąāļāđāļŠāļāļāđāļāļĢāļđāļāļāļĩāđ 8.3 āđāļāļĒāđāļāļĨāļ°āļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāļ°āđāļāļĩāļĒāļāđāļāļāđāļāļāļ§āļĒāđāļŠāļāļāļĢāļāđāļāļ§āļāļāļ āļāļĩāđāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļēāļāļāļēāļĒ (Left-hand side) āļāļ°āđāļāļ·āđāļāļĄāļāļąāļāđāļŠāļāļāļĢāļāļāļąāļāļāļĨāļēāļ§āļāļ§āļĒāđāļŠāļāļāļĢāļ āđāļĨāļ°āđāļāļāļāļĢāļīāļāļīāļ§āļāļāļēāļāļāļ§āļē (Right-hand side) āļāļ°āđāļāļ·āđāļāļĄāļāļ§āļĒāļĨāļđāļāļĻāļĢāļāļĩāđāļāļĩāđāđāļāļĒāļąāļāđāļāļāļāļĢāļīāļāļīāļ§āļāļāđāļąāļ
āļāļąāļ§āļāļĒāļēāļāļāļāļāļāļāļāđāļēāļāļąāļāļāļāļ FD
Social security number āđāļāļāļāļąāļ§āļāđāļēāļŦāļāļ Employee name āļāļ°āđāļāļ§āļē
SSN -> ENAME Project number āđāļāļāļāļąāļ§āļāđāļēāļŦāļāļ Project name āđāļĨāļ° Location āļāļ°āđāļāļ§āļē
PNUMBER -> {PNAME, PLOCATION} Social security number āļāļāļ Employee āđāļĨāļ° Project number āđāļāļāļāļąāļ§āļāđāļēāļŦāļāļāļāđāļēāļāļ§āļāļāļąāđāļ§āđāļĄāļāļāļāļŠāļąāļāļāļēāļŦāļāļĩāđ Employee āļāđāļēāļāļēāļāđāļ project {SSN, PNUMBER} -> HOURS
āļāļāļāļāļēāļāļāļąāđāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļĒāļąāļāđāļāļāļāļļāļāļŠāļĄāļāļąāļāļīāļŦāļĢāļ·āļāļāļāļāđāļēāļāļąāļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļāđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļ R āđāļāļĒāļāļāļāđāļēāļāļąāļāļāļ°āđāļāļāļāļąāļ§āļĒāļķāļāļāļēāļāļāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāļāļļāļāļāļīāļāļŠāđāļāļāļ r(R) āđāļāļ āđāļĄāđāļ·āļāļāđāļēāļŦāļāļ K āđāļāļāļāļĩāļĒāļāļāļ R āļāļąāļāļāđāļąāļ K āđāļāđāļāļīāļāļāļāļāļāļąāļāļāļ°āđāļāļāļāļąāļ§āļāđāļēāļŦāļāļāļāļļāļāđ āđāļāļāļāļĢāļīāļāļīāļ§āļāđāļ R āļāļ§āļĒ āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļĄāļŠāļēāļĄāļēāļĢāļāļāļīāļāļēāļĢāļāļēāđāļāļāļēāļāļāļīāļāļŠ
āđāļāļāļāļāļāļāļĢāļĩāđāļĨāļāļąāļ R āđāļāļāļāļāļāļđāļāļāđāļēāļŦāļāļāļāļķāđāļāļāļĒāļēāļāļāļąāļāđāļāļāđāļāļ·āđāļāđāļŦāļāļĢāļāļāļąāļāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļĩāđāļĢāļĩāđāļĨāļāļąāļāļāđāļąāļāļāļđāļāļŠāļĢāļēāļāļāļķāđāļ
8.4 āļāļāļāļēāļĢāļāļēāļāļāļķāļāļāļāļ FD (Inference rules of FD) āđāļĄāđāļ·āļāļāđāļēāļŦāļāļāđāļāļāļāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ (FDs) F āđāļĢāļēāļŠāļēāļĄāļēāļĢāļāļāļēāļāļāļķāļ FDs āđāļāļīāđāļĄāđāļāļīāļĄāļāļēāļāļāļēāļĢāđāļāļāļāļāļēāļĢāļāļēāļāļāļķāļ (Inference rules) āļāļāļ Armstrong āļāļąāļāļāđāļĩ âĒ IR1. (Reflexive) If Y subset-of X, then X -> Y âĒ IR2. (Augmentation) If X -> Y, then XZ -> YZ (XZ āđāļāļ X U Z) âĒ IR3. (Transitive) If X -> Y and Y -> Z, then X -> Z Armstrong (1974) āđāļāđāļŠāļāļāđāļŦāđāļŦāđāļāļ§āļēāđāļāļāļēāļĢāđāļāļāļāļāļēāļĢāļāļēāļāļāļķāļāļāļ IR1, IR2, IR3 āđāļāļāļāļāļāļĩāđāđāļāļāđāļŠāļĩāļĒāļāļŦāļāļķāđāļ
(Sound) āđāļĨāļ°āļĄāļĩāļāļ§āļēāļĄāļŠāļĄāļāļđāļĢāļ (Complete) āđāļāļĒāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļāļāđāļŠāļĩāļĒāļ (Sound) āļāļ·āļ āļŠāđāļēāļŦāļĢāļąāļāđāļāļāļāļāļ FDs F āļāļāđāļāļēāļĢāļēāļāļāļāļāļĢāļĩāđāļĨāļāļąāļ R āļāļĩāđāļāļāđāļāļāļāļĩāļāļĩāđāđāļāļāļēāļāļāļēāļĢāđāļāļāļāļāļēāļĢāļāļēāļāļāļķāļ IR1 āļāļķāļ IR3 āļāļāđāļāļ F āļāļ°āļŠāļēāļĄāļēāļĢāļāđāļāđāļāļāļąāļāļāļļāļāļāļīāļāļŠāđāļāļāļāļāļāļāļĢāļĩāđāļĨāļāļąāļ R āđāļĨāļ°āļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļāļāļāļ§āļēāļĄāļŠāļĄāļāļđāļĢāļ (Complete) āļāļ·āļ āļāļēāļĢāđāļāļāļāļāļēāļĢāļāļēāļāļāļķāļ IR1 āļāļķāļ IR3 āļāļāđāļāļ F āļāđāđāļēāđ āļāļāđāļĄāļĄāļĩāļāļĩāđāļāļāđāļāļāļāļĩāđāļāđāļāļĩāđāļŠāļēāļĄāļēāļĢāļāļāļēāļāļāļķāļāđāļāļāļĩāļ āļāļĨāļāļąāđāļāļŦāļĄāļāļāļēāļāļāļēāļĢāļāļēāļāļāļķāļāļāļ°āđāļāđāļāļāļāļāļāļāļĩāđāļāļāđāļāļāļāļĩāļāļĩāđ
āđāļāļāđāļāđāļāļāļąāđāļāļŦāļĄāļ (All possible dependencies) āļŦāļĢāļ·āļāļŠāļ§āļāļāļāļāļāļāđāļāļ F (Closure of F: F+) āļŠāđāļēāļŦāļĢāļąāļāļāļāļāļēāļāļāļķāļāļāļ·āđāļ āđ āļāļĩāđāļĄāļĩāļāļēāļĢāļāđāļēāđāļāđāļ āđāļāđāļ
âĒ (Decomposition) If X -> YZ, then X -> Y and X -> Z âĒ (Union) If X -> Y and X -> Z, then X -> YZ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-8 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
âĒ (Psuedotransitivity) If X -> Y and WY -> Z, then WX -> Z āđāļāļĒāđāļāļāļāļŠāļēāļĄāļāļąāļāļāļēāļāļāļēāļĒāļāļķāđāļāļ°āđāļŦāļĄāļ·āļāļāļāļąāļāļāļāļāļ·āđāļ āđ āļāļĩāđāļŠāļēāļĄāļēāļĢāļāđāļāļĨāļāđāļāļāļēāļāļāļēāļĢāđāļāļāļ IR1, IR2 āđāļĨāļ° IR3
āļāļēāļĢāļāļāļāđāļāļāļāļēāļāļāļāļĄāļđāļĨāļāđāļąāļāļāļđāļāļāļāđāļāļāļāļ°āļāđāļēāļŦāļāļāđāļāļāļāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ F āļāļēāļĄāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ
āļāļāļāļĢāļĩāđāļĨāļāļąāļ R āļāđāļķāļāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļāļēāļĢāļāļēāļāļāļķāļāđāļāļāļēāļĢāļāļīāļāļēāļĢāļāļēāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļīāđāļĄāđāļāļīāļĄāļāļĩāđāļĒāļąāļāļāļāđāļāđāļāļŠāđāļēāļŦāļĢāļąāļāļāļļāļāļāļīāļāļŠāđāļāļāļāđāļ R āļāļĩāļāļ§āļīāļāļĩāļŦāļāđāļķāļāļāļĩāđāļŠāļēāļĄāļēāļĢāļāļāļ§āļĒāđāļāļāļēāļĢāļāļīāļāļēāļĢāļāļēāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļīāđāļĄāđāļāļīāļĄāļāļēāļ F āļāđāļąāļāļāļ·āļāļāļēāļĢāļāļīāļāļēāļĢāļāļēāđāļāļĨāļ°
āđāļāļāļāļĢāļīāļāļīāļ§āļ X āļāļĩāđāļāļĒāļđāļāļēāļāļāļēāļāļāļēāļĒāļāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāļēāļāļāļāļāļāļąāļ āđāļĨāļ§āļāļīāļāļēāļĢāļāļēāđāļāļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļąāđāļāļŦāļĄāļāļāļĩāđ
āļāļķāđāļāļāļąāļ X āļŦāļĢāļ·āļāļāļĨāļēāļ§āđāļāļ§āļēāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļīāđāļĄāđāļāļīāļĄāļŠāļēāļĄāļēāļĢāļāļāļđāļāļāļīāļāļēāļĢāļāļēāđāļāļāļēāļāļāļēāļĢāļŦāļēāļŠāļ§āļāļāļāļāļāļ X (Closure of X : X+) āļāļāļāļāļļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ X āļāđāļąāļāđāļāļ
8.4.1 āđāļāļāļāļĩāđāđāļāļēāļāļąāļāļāļāļ FDs (Equivalence of Sets of FDs) āđāļāļāļāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ F āļāļ°āļāļđāļāđāļĢāļĩāļĒāļāļ§āļēāļāļĢāļāļāļāļĨāļļāļĄ (Cover) āđāļāļāļāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ E āļāļēāļāļļāļ
āļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļ E āļāļĒāļđāđāļ F+ āļŦāļĢāļ·āļāļāļĨāļēāļ§āđāļāļ§āļēāļāļļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļ E āļŠāļēāļĄāļēāļĢāļāļāļđāļāļāļēāļāļāļķāļāđāļāļāļēāļ F āđāļ
āļŠāļāļāđāļāļāļāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ E āđāļĨāļ° F āļāļ°āļĄāļĩāļāļēāđāļāļēāļāļąāļ (Equivalent) āļāļē E+ = F+ āđāļāļĒāļāļēāļĢāļĄāļĩāļāļēāđāļāļēāļāļąāļāļŦāļĄāļēāļĒāļāļ§āļēāļĄāļ§āļēāļāļļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļ E āļŠāļēāļĄāļēāļĢāļāļāļđāļāļāļēāļāļāļķāļāđāļāļāļēāļ F āđāļĨāļ°āļāļļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļ F āļāļ°āļāļđāļāļāļēāļāļāļķāļāđāļāļāļēāļ E āļāđāļąāļāļāļ·āļāđāļāļāļāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ E āđāļĨāļ° F āļāļ°āđāļāļēāļāļąāļ āļāļē E āļāļĢāļāļāļāļĨāļļāļĄ F āđāļĨāļ° F āļāļĢāļāļāļāļĨāļļāļĄ E āļāđāļąāļāđāļāļ
8.4.2 āđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāļāļĒāļŠāļļāļ (Minimal sets of FDs) āđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāļāļĒāļŠāļļāļ F āļāļāļāđāļāļāļāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ E āđāļāđ āļāļ°āļĢāļāļāļĢāļąāļāļāļļāļāļŠāļĄāļāļąāļāļīāļāļĩāđāļāļļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩ
āđāļāļāđāļāļāļāļĩāđāļ E āļāļĒāļđāđāļ F+ āļāļāļ F āđāļĨāļ°āļāļļāļāļŠāļĄāļāļąāļāļīāļāļąāļāļāļĨāļēāļ§āļāļāļ F āļāļ°āļŦāļēāļĒāđāļāđāļĄāļ·āđāļāļĄāļĩāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļŦāļāđāļķāļāļāļāļ F āļāļđāļāļāļąāļāļāļīāđāļāđāļ āđāļāļĒ F āļāļ°āļāļāļāđāļĄāļĄāļĩāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāđāđāļēāļāļāļāđāļĨāļ° E āļāļ°āļāļāļāļāļĒāļđāđāļāļĢāļđāļāđāļāļāļĄāļēāļāļĢāļāļēāļ (Standard Form) F āļāļ°āļāļđāļāļāļĨāļēāļ§āđāļāļ§āļēāđāļāļāđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāļāļĒāļŠāļļāļāļāļāļ E āđāļ āļāļēāđāļāļ F āļŠāļēāļĄāļēāļĢāļāļĢāļāļāļĢāļąāļāđāļāļ·āđāļāļāđāļāļāļāđāļāļāļĩāđ âĒ āļāļļāļāļāļĩāđāļāļāđāļāļāļāļĩāđāļ F āļĄāļĩāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļēāļāļāļ§āļēāļĄāļ·āļ (Right-hand side) āđāļāļāļāļīāļāđāļāļīāļĨāđāļāļāļāļĢāļīāļāļīāļ§āļ (Single
attribute) âĒ āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļāļ°āđāļāļāļāļĩāđāļāļāđāļāļāļāļĩ X->A āđāļ F āļāļ§āļĒāļāļĩāđāļāļāđāļāļāļāļĩ Y->A āđāļāļĒ Y āđāļāļāļāļąāļāđāļāļāļāļāļ X āđāļĨāļ§āļĒāļąāļāļāļāļĄāļĩ
āļāļēāđāļāļāļāļāļāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļēāļāļąāļ F âĒ āđāļĄāļŠāļēāļĄāļēāļĢāļāļāļĩāđāļāļ°āļāđāļēāļāļąāļāļāļēāļāļĩāđāļāļāđāļāļāļāļĩāđāļāđ āļāļēāļ F āđāļĨāļ§āļĒāļąāļāļāļāļĄāļĩāļāļēāđāļāļāļāļāļāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļēāļāļąāļ F āđāļāļāļāļāļāļāļĩāđāļāļāđāļāļāļāļĩāļŦāļāđāļķāļāļāļēāļāļĄāļĩāđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāļāļĒāļŠāļļāļāđāļāļŦāļĨāļēāļĒāđāļāļ āļāļķāļāļāļēāļāļāļāļāļĄāļĩāļāļēāļĢāļāđāļēāļŦāļāļāđāļāļ·āđāļāļāđāļ
āđāļāļīāđāļĄāđāļāļīāļĄāđāļāļāļēāļĢāļāļīāļāļēāļĢāļāļēāđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāļāļĒāļŠāļļāļ āđāļāļ āļāļēāļĢāļāđāļēāļŦāļāļāđāļŦāđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāļāļāļĒāļŠāļļāļāļāļāļ
āļĄāļĩāļāđāļēāļāļ§āļāļāļāļāļāļĩāđāļāļāđāļāļāļāļĩāđāļāđāļāļāļāļāļĒāļāļĩāđāļŠāļļāļ āđāļāļāļāļ (āļāļąāļ§āļāļĒāļēāļ āļāļīāļāļēāļĢāļāļēāļāļąāļĨāļāļāļĢāļīāļāļķāļĄ8.2 āđāļĨāļ° 8.4)
8.5 āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļāļāļāļāļĢāļĩāđāļĨāļāļąāļ (Normalization of Relation) āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ (Normalization) āļāļ·āļ āļāļĢāļ°āļāļ§āļāļāļēāļĢāļāļīāļāļēāļĢāļāļēāđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļāļāļēāļ FDs āđāļĨāļ°āļāļĩāļĒāļŦāļĨāļąāļ āđāļāļ·āđāļāļĨāļāļāļ§āļēāļĄ
āļāđāđāļēāļāļāļāļāļāļāļāļāļĄāļđāļĨ āđāļĨāļ°āļĨāļāļāļąāļāđāļāļāļāļ°āļāļāļĢāļĄāļēāļĨāļĩ āđāļāļĒāļĢāļĩāđāļĨāļāļąāļāļāļĩāđāđāļĄāļāļĩāļŦāļĢāļ·āļāđāļĄāļāļēāļāļķāļāļāļāđāļāļāļ°āļāļđāļāđāļāļāļāļāļāđāļāļāļĢāļĩāđāļĨāļāļąāļāļāļĩāđāđāļĨāđāļāļĨāļ
āđāļāļ·āđāļāđāļŦāļĢāļĩāđāļĨāļāļąāļāļĄāļĩāļĨāļąāļāļĐāļāļ°āđāļāļāļĢāļĩāđāļĨāļāļąāļāļāļĩāđāļāļĩ
āļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļāļ°āļĄāļĩāļāļ·āđāļāļāļēāļāļāļĒāļđāļāļāļāļĩāļĒāļŦāļĨāļąāļ āļŦāļĢāļ·āļ Primary Key āđāļāļĒāļĄāļĩāļāļĢāļ°āđāļāđāļāļāļĩāđāļāļāļāļŠāļāđāļāļāļąāļāļāđāļĩ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-9 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
âĒ āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļāļāļāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ âĒ āļāļēāļĢāđāļāļāļēāļāļāļāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄ âĒ āļāđāļēāļāđāļēāļāļąāļāļāļ§āļēāļĄāļāļāļāļāļĩāļĒāđāļĨāļ°āđāļāļāļāļĢāļīāļāļīāļ§āļ âĒ āļāļēāļĢāđāļāļēāļĢāļ§āļĄāļāļāļāļāļĩāļĒ āđāļ
- First Normal Form (1NF) - Second Normal Form (2NF) - Third Normal Form (3NF)
āļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄ (Normal Form) āļāļāļāļĢāļĩāđāļĨāļāļąāļāļŦāļāļķāđāļāđ āļāļ·āļāđāļāļ·āđāļāļāđāļāļāļĩāđāļĢāļ°āļāļļāļ§āļēāļĢāļĩāđāļĨāļāļąāļāļĄāļĩāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļŠāļđāļāļŠāļļāļāļāļĩāđāļāļīāļāļĢāļĩāđāļ āļŦāļĢāļ·āļāļāļīāļ
āļĢāļĩāļāļāļāļāļēāļĢāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļāļāļĩāđāļĢāļĩāđāļĨāļāļąāļāļāđāļąāļāļāļēāļāļāļēāļĢāļāļāļĢāļĄāļąāļĨāđāļĨāļāđāļĨāļ§ āđāļāļĒ 2NF, 3NF, BCNF āļĄāļĩāļāļ·āđāļāļāļēāļāļāļĒāļđāļāļāļāļĩāļĒ āđāļĨāļ° FDs āļāļāļāđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļāļŦāļāļķāđāļ āđāļāļāļāļ°āļāļĩāđ 4NF āļĄāļĩāļāļ·āđāļāļāļēāļāļāļĒāļđāļāļāļāļĩāļĒ āđāļĨāļ° Multi-valued dependencies : MVDs āđāļĨāļ° 5NF āļĄāļĩāļāļ·āđāļāļāļēāļāļāļĒāļđāļāļāļāļĩāļĒ āđāļĨāļ° Join dependencies : JDs (āļāļēāļāļāļķāļāđāļāļāļāļāļĩāđ 11) āļāļāļāļāļēāļāļāļąāđāļāļĒāļąāļāļāļāļāļāļēāļĢāļŠāļ§āļāļāļāļāļāļļāļāļŠāļĄāļāļąāļāļīāđāļāļīāđāļĄāđāļāļīāļĄ (Additional properties) āđāļāļ·āđāļāđāļāļāļāļąāļ§āļāļēāļĢāļąāļāļāļĩāļāļēāļĢāļāļāļāđāļāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļĩāđāļāļĩ (Good relation design)
8.5.1 āļāļēāļĢāđāļāļāļēāļāļāļāļāļāļāļĢāļĄāļĨāļąāļāļāļĢāļĄ āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļāļāļ°āļāļđāļāļāđāļēāđāļāđāļāđāļāļāļēāļĢāļāđāļēāļāļēāļāđāļāļ·āđāļāđāļŦāđāļāļāļĨāļĨāļąāļāļāļāļāļāļāļēāļĢāļāļāļāđāļāļāļāļĩāđāļĄāļĩāļāļļāļāļ āļēāļāļāļĩ āđāļĨāļ°āļāļĢāļāļāļēāļĄāļāļļāļāļŠāļĄāļāļąāļāļīāļāļĩāđ
āļāļāļāļāļēāļĢ āđāļāļĒāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļāļ°āļāļ§āļĒāđāļŦāļāļąāļāļāļāļāđāļāļāļŦāļĢāļ·āļāļāļđāđāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļēāđāļāļāļāļāđāļēāļāļąāļ (Constraints) āļāļāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļāļąāļāđāļāļāļĄāļēāļāļĒāļīāđāļāļāļķāđāļ āļāļąāļāļāđāļąāļāđāļāļāļēāļĢāļāļāļāđāļāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļāļļāļāļŠāļēāļŦāļāļĢāļĢāļĄāđāļāļāļāļāļļāļāļąāļāļāļķāļāđāļŦāļāļ§āļēāļĄāļŠāļāđāļāļāļąāļāļāļēāļĢāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ
āđāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļĨāđāļēāļāļąāļāļŠāļđāļ āļāļ·āļ 3NF BCNF āļŦāļĢāļ·āļ 4NF āļāļĒāļēāļāđāļĢāļāđāļāļēāļĄ āļāļēāļĢāļāļāļāđāļāļāļāļēāļāļāļāļĄāļđāļĨāļāđāļąāļāđāļĄāļāđāļēāđāļāļāļāļĩāđāļāļ°āļāļāļāļāđāļēāļāļēāļĢāļāļāļĢāļĄāļēāđāļĨāļāđāļŦāđāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļĨāđāļēāļāļąāļāļŠāļđāļāļŠāļļāļ āļĢāļĩāđāļĨāļāļąāļ
āļāļēāļāļāļāđāļ§āļāļĩāđāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļĢāļ°āļāļąāļāđāļĄāļŠāļđāļāļāļąāļ āđāļāļ·āđāļāđāļāļīāđāļĄāļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļŦāļāļēāļāļāļāļĄāļđāļĨ āđāļāļĒāļāļĢāļ°āļāļ§āļāļāļēāļĢāđāļāļāļēāļĢāļĢāļ§āļĄ (Join) āļĢāļĩāđāļĨāļāļąāļāļāļĩāđāļĄāļĩāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļĢāļ°āļāļąāļāļŠāļđāļāđāļŦāđāļāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļĢāļ°āļāļąāļāļāđāđāļēāļĨāļāļāļąāđāļāđāļĢāļĩāļĒāļāļ§āļēāļāļēāļĢāļāļĩāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ (Denormalization)
8.5.2 āļāđāļēāļāđāļēāļāļąāļāļāļāļāļāļĩāļĒāđāļĨāļ°āđāļāļāļĢāļīāļāļ§āļīāļāļāļĩāđāđāļāļēāļĢāļ§āļĄāđāļāļāļĩāļĒ
āļāļđāđāļāļāļĢāļāļĩāļĒ (Superkey) āļāļāļāđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļ R = {A1, A2, ...., An} āļāļ·āļāđāļāļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ S āļāđāļķāļāđāļāļāļāļąāļāđāļāļāļāļāļ R āļāļĩāđāļĄāļĩāļāļļāļāļŠāļĄāļąāļāļīāļāļāļ·āļāđāļĄāļĄāļĩāļŠāļāļāļāļđāđāļāļīāļĨ t1 āđāļĨāļ° t2 āđāļ āđ āđāļ legal relation state r āļāļāļ R āļāļĩāđāļāļ°āļĄāļĩāļāļē t1[S] = t2[S] āļāļĩāļĒ (key) K āļāļ·āļāļāļđāđāļāļāļĢāļāļĩāļĒāļŦāļāđāļķāļāļāļĩāđāļĄāļĩāļāļļāļāļŠāļĄāļāļąāļāļīāđāļāļīāđāļĄāđāļāļīāļĄ āļāļ·āļ āđāļĄāđāļ·āļāļĨāļāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļāđ āļāļāļāļāļēāļ K āļāļ°āļāđāļēāđāļŦ K āđāļĄāļŠāļēāļĄāļēāļĢāļāđāļāļāļāļđāđāļāļāļĢāļāļĩāļĒāđāļāļāļĩāļāļāļāđāļ āļāļēāđāļāđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļāļĄāļĩāļāļĩāļĒāļĄāļēāļāļāļ§āļēāļŦāļāđāļķāļāļāļĩāļĒ āđāļāļĨāļ°āļāļĩāļĒāļāļ°āļāļđāļāđāļĢāļĩāļĒāļāļ§āļē Candidate key āđāļāļĒāļāļ°āļĄāļĩ Candidate key āļŦāļāđāļķāļāđāļāļāļąāđāļāļāļđāļāđāļĨāļ·āļāļāđāļŦāđāļāļāļāļĩāļĒāļŦāļĨāļąāļāļŦāļĢāļ·āļ Primary key āļāļāļāļāļēāļāļāļąāđāļāļāļ°āđāļāļāļāļĩāļĒāļŠāđāļēāļĢāļāļāļŦāļĢāļ·āļ Secondary keys āđāļāļāļāļĢāļīāļāļīāļ§āļāļāļāļāđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļ R āļāļ°āđāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāļŦāļĨāļąāļāļŦāļĢāļ·āļ Prime attribute āļāļēāđāļāļāļāļĢāļīāļāļīāļ§āļāļāđāļąāļāđāļāļāļŠāļĄāļēāļāļīāļāļāļāļ Candidate key āđāļāđ āđāļĨāļ°āđāļāļāļāļĢāļīāļāļīāļ§āļāļāļ°āđāļĄāđāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāļŦāļĨāļąāļāļŦāļĢāļ·āļ Nonprime attribute āļāļēāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļĄāđāļāļāļŠāļĄāļēāļāļīāļāļāļāļ Candidate key āđāļāđāļĨāļĒ
8.5.3 First Normal Form āļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļāļąāļāļāļąāļāļŦāļāļķāđāļ (1NF) āļāļ°āđāļĄāļāļāļļāļāļēāļāļĢāļĩāđāļĨāļāļąāļāļĄāļĩāđāļāļāļāļĢāļīāļāļīāļ§āļāļŦāļĨāļēāļĒāļāļē (Multivalued attribute) āđāļāļāļāļĢāļīāļāļīāļ§āļāļāļŠāļĄ (Composite attribute) āđāļĨāļ°āđāļāļāļāļĢāļīāļāļīāļ§āļāļāļąāđāļāļŠāļāļāđāļāļāļĢāļ§āļĄāļāļąāļ āđāļāļĒāļāļēāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļĩāđāļāļāļļāļāļēāļāļŠāđāļēāļŦāļĢāļąāļ 1NF āļāļ°āļĄāļĩāļĨāļąāļāļĐāļāļ°āđāļāļ Single atomic value āđāļāļēāļāđāļąāļ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-10 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļĢāļđāļāļāļĩāđ 8.8 āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļāļāļāļ
1NF
āļĢāļđāļāļāļĩāđ 8.8 āđāļŠāļāļāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ 1NF āđāļāļĒāļāļĩāđ (a) Relation schema āļāļĩāđāļĒāļąāļāđāļĄāđāļāļāļĒāļđāđāļ 1NF (b) āļāļąāļ§āļāļĒāļēāļ āļŠāļāļēāļāļ°āļāļāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļāļ DEPARTMENT (c) 1NF āđāļ§āļāļĢāļāļąāđāļāļāļāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāđāļāļīāļĄāļāļĢāļāļĄāļāļąāļāļāļēāļāđāđāļēāļāļāļ
āļŠāđāļēāļŦāļĢāļąāļāļāļēāļĢāļāđāļēāđāļŦāļĢāļĩāđāļĨāļāļąāļ Department āđāļāļĢāļđāļāļāļĩāđ 8.8 āļāļĒāļđāđāļ 1NF āļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļ 3 āļ§āļīāļāļĩāļāļąāļāļāđāļĩ âĒ āļāđāļē DLOCATIONS āđāļĒāļāļāļāļāđāļāļāļāļĩāļāļĢāļĩāđāļĨāļāļąāļāļŦāļāļķāđāļāļāļ·āļ DEPT_LOCATIONS (DNUMBER,
DLOCATION) āđāļāļĒāđāļ DNUMBER āđāļāļāļāļĩāļĒāļŦāļĨāļąāļ âĒ āļāļĒāļēāļĒāļāļĩāļĒāļŦāļĨāļąāļāļāļāļāļĢāļĩāđāļĨāļāļąāļāđāļŦāđāļāļ {DNUMBER, DLOCATION} āđāļāļ§āļīāļāļĩāļāđāļĩāļĄāļĩāļāļāđāļŠāļĩāļĒāļāļ·āļāļāļ°āļāđāļēāđāļŦāļĄāļĩāļāļēāļĢāđāļāđāļ
āļāļāļĄāļđāļĨāļāđāđāļēāļāļāļ âĒ āļŦāļēāļāļāļĢāļēāļāļāđāļēāļāļ§āļāļāļĩāđāļĄāļēāļāļāļĩāđāļŠāļļāļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļāļŦāļĨāļēāļĒāļāļē āđāļāļ āļŦāļēāļāļāļĢāļēāļāļ§āļē DEPARTMENT āļāđāļąāļāļāļ°āļĄ āļĩ
DLOCATION āđāļāļĄāļēāļāļāļĩāđāļŠāļļāļāļŠāļēāļĄāđāļŦāļ āļŠāļēāļĄāļēāļĢāļāļāđāļēāđāļāđāļāļĒāđāļāļāļāļĩ āđ DLOCATION āļāļ§āļĒ DLOCATION1 DLOCATION2 āđāļĨāļ° DLOCATION3 āđāļāļ§āļīāļāļĩāļāđāļĩāļāļ°āļĄāļĩāļāļāđāļŠāļĩāļĒāļāļ·āļ āļāļēāļāļĄāļĩāļāļēāļāļąāļĨāđāļāļīāļāļāļķāđāļāđāļ āđāļĨāļ°āļāđāļēāđāļŦāļāļēāļĢāļŠāļ·āļāļāļ
āļĒāļēāļāļāļķāđāļ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-11 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļĢāļđāļāļāļĩāđ 8.9 āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ 1NF āļāļāļ Project
āļĢāļđāļāļāļĩāđ 8.9 āđāļŠāļāļāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ 1NF āđāļāļĒāļāļĩāđ (a) Relation schema āļāļĩāđāļĒāļąāļāđāļĄāđāļāļāļĒāļđāđāļ 1NF (b) āļāļąāļ§āļāļĒāļēāļ āļŠāļāļēāļāļ°āļāļāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļāļ Project (c) 1NF āđāļ§āļāļĢāļāļąāđāļāļāļāļāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ
8.5.4 Second Normal Form āļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļĨāđāļēāļāļąāļāļāļĩāđāļŠāļāļ (2NF) āļāļķāđāļāļāļĒāļđāļāļąāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļāļŠāļĄāļāļđāļĢāļ (Full functional dependency) āđāļāļĒ āļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ X -> Y āļāļ°āđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļāđāļāđāļĄ āļāļēāļĄāļĩāļāļēāļĢāļāđāļēāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļāđāļāļāļāļāļēāļ X āđāļĨāļ§āļāđāļēāđāļŦāļāļĩāđāļāļāđāļāļāļāļĩāļāđāļąāļāļāļđāļāļāđāļēāļĨāļēāļĒ āļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ X -> Y āļāļ°āđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļāļāļēāļāļŠāļ§āļ (Partial functional dependency) āļāļēāļĄāļĩāļāļēāļĢāļāđāļēāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļāđāļāļāļāļāļēāļ X āđāļĨāļ§āļĒāļąāļāļāļāļāļĩāđāļāļāđāļāļāļāļĩāļāđāļąāļāđāļ§ āļāđāļąāļāļāļ·āļ āļŠāđāļēāļŦāļĢāļąāļāđāļāļāļāļĢāļīāļāļīāļ§āļ A āļāļĩāđāļāļĒāļđāđāļ X āļāļĩāđāļāļāđāļāļāļāļĩ (X-{A}) -> Y
āļŠāđāļēāļŦāļĢāļąāļāđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļ R āļāļ°āļāļĒāļđāđāļ 2NF āļāļēāļāļļāļ Nonprime attribute āđāļ R āđāļāļāļāļāļāļāļąāļāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļāđāļāđāļĄāļāļĩāđāļāļķāđāļāļāļĒāļđāļāļąāļāļāļĩāļĒāļŦāļĨāļąāļ
āļāļąāļ§āļāļĒāļēāļ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-12 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
{SSN, PNUMBER} -> HOURS āđāļāļāļāļāļāļąāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļāļŠāļĄāļāļđāļĢāļ āđāļāđāļ·āļāļāļāļēāļāđāļĄāļ·āđāļāļāļąāļ SSN āļŦāļĢāļ·āļ
PNUMBER āļāļāļāļāļēāļ {SSN, PNUMBER} āļāļ°āđāļĄāļĄāļĩāļāļĩāđāļāļāđāļāļāļāļĩ SSN -> HOURS āļŦāļĢāļ·āļ NUMBER -> HOURS
{SSN, PNUMBER} -> ENAME āđāļāļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļāļāļēāļāļŠāļ§āļ āđāļāđāļ·āļāļāļāļēāļāđāļĄāļ·āđāļāļāļąāļ PNUMBER āļāļāļāļāļēāļ {SSN, PNUMBER} āļĒāļąāļāļāļāļĄāļĩāļāļĩāđāļāļāđāļāļāļāļĩ SSN -> ENAME āđāļŦāļĨāļ·āļāļāļĒāļđ
āļĢāļđāļāļāļĩ āđ8.10 āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ 1NF āļāļāļ Project
āļĢāļđāļāļāļĩāđ 8.10 āđāļŠāļāļāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ 2NF āđāļĨāļ° 3NF (a) Relation schema āļāļĩāđāļĒāļąāļāđāļĄāđāļāļāļĒāļđāđāļ 1NF (b) āļāļāļĢāļĄāļąāļĨāđāļĨāļ EMP PROJ āđāļāļēāļŠāļđ 2NF (c) āļāļāļĢāļĄāļąāļĨāđāļĨāļ EMP_DEPT āđāļāļēāļŠāļđ 3NF
8.5.5 Third Normal Form āļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļĨāđāļēāļāļąāļāļāļĩāđāļŠāļēāļĄ (3NF) āļāļķāđāļāļāļĒāļđāļāļąāļ Transitive dependency āļāđāļąāļāļāļ·āļāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ X -> Y āđāļāđāļāļēāļĢāļēāļ R āļāļ°āđāļāļ Transitive dependency āļāļēāļĄāļĩāđāļāļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ Z āļāđāļķāļāđāļĄāđāļāļāļąāđāļ Candidate key āđāļĨāļ°āđāļĄāđāļāļāļąāļāđāļāļāļāļāļāļāļĩāļĒāđāļāđāļāļāļ R āļāļĩāđāļĄāļĩ X -> Z āđāļĨāļ° Z -> Y āļāļąāļ§āļāļĒāļēāļ
SSN -> DMGRSSN āđāļāļ Transitive dependency āđāļāđāļ·āļāļāļāļēāļāļĄāļĩāļāļĩāđāļāļāđāļāļāļāļĩ SSN -> DNUMBER āđāļĨāļ° DNUMBER -> DMGRSSN
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-13 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
SSN -> ENAME āļāđāļķāļāđāļāļ Non-transitive dependency āđāļāđāļ·āļāļāļāļēāļāđāļĄāļĄāļĩāđāļāļāļāļāļāđāļāļāļāļĢāļīāļāļīāļ§āļ Z āļāļĩāđāļāđāļēāđāļŦāļĄāļĩāļāļĩāđāļāļāđāļāļāļāļĩ SSN -> X āđāļĨāļ° X -> ENAME āđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļ R āļāļ°āļāļĒāļđāđāļ 3NF āļāļē R āđāļāļ 2NF āļāļĩāđāđāļĄāļĄāļĩāđāļāļāļāļĢāļīāļāļīāļ§āļāđāļāļ Non-prime āļāļĩāđāđāļāļ Transitive dependency āļāļĩāđāļāļķāļāđāļāļĒāļđāļāļąāļāļāļĩāļĒāļŦāļĨāļąāļ
āļŦāļĄāļēāļĒāđāļŦāļāļļ āđāļāļāļēāļĢāļāļāļĢāļĄāļēāđāļĨāļāļĨāđāļēāļāļąāļāļāļĩāđāļŠāļēāļĄāđāļĄāļ·āđāļāļĄāļĩāļāļĩāđāļāļāđāļāļāļāļĩ X -> Y āđāļĨāļ° Y -> Z āđāļāļĒāļĄāļĩ X āđāļāļāļāļĩāļĒāļŦāļĨāļąāļ āđāļĢāļēāļāļīāļāļēāļĢāļāļēāļāļāļŦāļēāļāļĩāđ
āđāļāļāļēāļĢāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļāļāļąāļāļāļąāļāļŠāļēāļĄāđāļĄāļ·āđāļ Y āđāļĄāđāļāđāļāļ Candidate key āđāļāļēāļāđāļąāļ āđāļāļāļē Y āđāļāļ Candidate key āļāļ°āđāļĄ
āļāđāļēāđāļāļāļāļāļāļāļīāļāļēāļĢāļāļēāđāļĢāļ·āđāļāļ Transitive dependency āļāļąāļ§āļāļĒāļēāļ āļāļīāļāļēāļĢāļāļē EMP (SSN, Emp#, Salary ). āļāļąāļāļāđāļąāļ SSN -> Emp# -> Salary āđāļĄāđāļ·āļ Emp# āđāļāļ Candidate key āļāļ°āđāļĄāļāđāļēāđāļāļāļāļāļāļāļīāļāļēāļĢāļāļē Transitive dependency āļāđāļĩāđāļāļāļēāļĢāļāđāļē 3NF
8.5.6 General Normal Form āđāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļāļĩāđāļāļīāļāļēāļĢāļāļēāļāļēāļāļāļāļāđāļąāļāļāļ°āđāļāļāļāļēāļĢāļāļīāļāļēāļĢāļāļēāđāļāļāļēāļ°āļāļĩāļĒāļŦāļĨāļąāļāđāļāļēāļāđāļąāļ āđāļāļĒāđāļĄāļĄāļĩāļāļēāļĢāļāđāļē Candidate key
āļĄāļēāļāļīāļāļēāļĢāļāļēāļāļ§āļĒ āļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļāļąāđāļ§āđāļ (General normal form) āļāļķāļāđāļāļāļāļēāļĢāļāđāļēāļāļāļĢāļĄāļēāđāļĨāļāļāļĩāđāļāđāļēāļāļļāļ Candidate key āđāļāđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļāļĄāļēāļāļīāļāļēāļĢāļāļē āđāļāļĒ Prime attribute āļāļ·āļāđāļāļāļāļĢāļīāļāļīāļ§āļāļāļĩāđāđāļāļāļŠāļ§āļāļŦāļāļķāđāļāļāļāļ Candidate key āđāļāđāđāļ R āđāļĨāļ°āļāļāļāļāļāļąāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļāļŠāļĄāļāļđāļĢāļāđāļĨāļ°āđāļāļāļāļēāļāļŠāļ§āļ āđāļĨāļ° Transitive dependency āļāļ°āļāļđāļāļāđāļēāļĄāļēāđāļāļŠāđāļēāļŦāļĢāļąāļāļāļļāļ Candidate key General definition of second normal form āđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļ R āļāļ°āļāļĒāļđāđāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļāļąāđāļ§āđāļāļāļąāļāļāļąāļāļŠāļāļ (Second normal form) āļāļēāļāļļāļ Nonprime attribute āđāļĄāļĄāļĩāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩāđāļāļāļāļēāļāļŠāļ§āļāļāļĩāđāļāļķāđāļāļāļĒāļđāļāļąāļāļāļĩāļĒāđāļāđāļāļāļāļĢāļĩāđāļĨāļāļąāļ General definition of third normal form
āđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļ R āļāļ°āļāļĒāļđāđāļāļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļāļąāđāļ§āđāļāļāļąāļāļāļąāļāļŠāļāļ (Third normal form) āļāļēāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ X -> A āđāļ R āļĄāļĩ (a) X āđāļāļāļāļđāđāļāļāļĢāļāļĩāļĒāļāļāļ R āļŦāļĢāļ·āļ (b) A āđāļāļ Prime attribute āļāļāļ R āļŦāļĄāļēāļĒāđāļŦāļāļļ Boyce-Codd normal form āđāļĄāļāļāļļāļāļēāļāđāļŦāđāļāļīāļāđāļāļ·āđāļāļāđāļ (b) āļāļēāļāļāļ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-14 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļĢāļđāļāļāļĩ āđ8.11 āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ
2NF āđāļĨāļ° 3NF
āļĢāļđāļāļāļĩāđ 8.11 āđāļŠāļāļāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ 2NF āđāļĨāļ° 3NF āđāļāļĒāļāļĩāđ (a) āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ LOTS āļāļąāļ functional dependencies FD1 āļāļķāļ FD4 (b) āđāļĒāļāđāļāļēāļŠāļđ āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ 2NF LOTS āđāļĨāļ° LOTS (c) āđāļĒāļāđāļāļēāļŠāļđ āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ LOTS āđāļāļēāļŠāļđ āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ 3NF āđāļāļĢāļđāļ LOTS1A āđāļĨāļ° LOTS1B (d) āļāļĨāļŠāļĢāļļāļāļāļāļĢāļĄāļąāļĨāđāļĨāļāđāļāļāļąāđāļāļāļāđāļāļ·āđāļāļ (Progressive normalization āļāļāļ LOTS)
8.5.7 Boyce-Codd Normal Form (BCNF) āđāļāļēāļĢāļēāļāļĢāļĩāđāļĨāļāļąāļ R āļāļ°āļāļĒāļđāđāļ Boyce-Codd Normal Form (BCNF) āļāļēāļāļāļāļāļąāļāļāļąāļĨāļāļĩāđāļāļāđāļāļāļāļĩ X -> A āđāļ R āļĄāļĩ
X āđāļāļāļāļđāđāļāļāļĢāļāļĩāļĒāļāļāļ R āđāļāđāļāļĨāļ°āļāļāļĢāļĄāļąāļĨāļāļāļĢāļĄāļāļ°āļāļđāļāļāļąāļāļāļąāļāđāļ§āļāļąāļāđāļāļ āđāļāļĒāļāļļāļāļĢāļĩāđāļĨāļāļąāļ 2NF āļāļ°āļāļāļāļāļĒāļđāļ āļēāļĒāđāļ 1NF āđāļāļāļāļ°āđāļāļĩāļĒāļ§āļāļąāļāļāļļāļ āđ
āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ 3NF āļāļ°āļāļĒāļđāđāļ 2NF āđāļĨāļ°āļāļāļāļāļēāļāļāļąāđāļāļāļļāļāđ BCNF āļāļ°āļāļāļāļāļĒāļđāļ āļēāļĒāđāļ 3NF āļāļąāđāļāļāđāļĩāļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļāļāļĩāđāļĄāļĩāļāļĒāļđāļāļĩāđāļāļĒāļđāļ āļēāļĒāđāļ 3NF āļāļ°āļāļāļāđāļĄāļāļĒāļđāđāļ BCNF āđāļāļĒāđāļāļēāļŦāļĄāļēāļĒāļāļ·āļāļĄāļĩāļāļļāļāđ āļĢāļĩāđāļĨāļāļąāļāļāļĒāļđāđāļ BCNF (āļŦāļĢāļ·āļ 3NF)
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-15 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļĢāļđāļāļāļĩ āđ8.12 āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ
BCNF
āļĢāļđāļāļāļĩāđ 8.12 āđāļŠāļāļāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ BCNF āđāļāļĒāļāļĩāđ (a) BCNF āļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ āļāļāļ LOTS1A āļāļĢāļāļĄāļāļ§āļĒ functional dependency FD2 āļāļĩāđāļŦāļēāļĒāđāļāđāļāļāļēāļĢāļāđāļē Decomposition (b) A schematic relation āļāļĢāļāļĄāļāļąāļ FDs; āđāļāļĒāļāļĩāđāļāļĒāļđāđāļ 3NF āđāļāđāļĄāđāļāļāļĒāļđāđāļ BCNF.
āļĢāļđāļāļāļĩ āđ8.13 āļāļ§āļēāļĄāļŠāļąāļĄāļāļąāļāļ
TEACH
āļĢāļđāļāļāļĩāđ 8.13 āđāļŠāļāļāļĢāļĩāđāļĨāļāļąāļ TEACH āļāļĩāđāļāļĒāļđāđāļ 3NF āđāļāđāļĄāļāļĒāļđāđāļ BCNF
āđāļāļāļēāļĢāđāļāļēāļāļķāļ BCNF āđāļāļĒāļāļēāļĢ decomposition āļāļ°āļāļāļ§āļē FDs āļŠāļāļāļāļąāļ§āļāļĩāđāļāļĢāļēāļāļāđāļāļĢāļĩāđāļĨāļāļąāļ TEACH fd1: {student, course} -> instructor fd2: instructor -> course {student, course} āđāļāļ Candidate key āļāļāļāļĢāļĩāđāļĨāļāļąāļāļāđāļĩ āđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāđāļŠāļāļ FDs āļāļąāļāđāļŠāļāļāđāļāļĢāļđāļāļāļĩāđ 8.12(b) āđāļāļĒ
STUDENT āļāļ·āļ A COURSE āđāļāļ B āđāļĨāļ° INSTRUCTOR āđāļāļ C āđāļĄāđāļ·āļāļāļīāļāļēāļĢāļāļēāļĢāļđāļāđāļāļāļāļĩāđāļāļāđāļāļāļĩāļāļ°āđāļŦāđāļāļ§āļē
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-16 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āļĢāļĩāđāļĨāļāļąāļāļāļĩāđāļāļĒāļđāđāļ 3NF āđāļāđāļĄāļāļĒāļđāđāļ BCNF āđāļĄāđāļ·āļāļāđāļēāļāļēāļĢ Decomposition āļĢāļĩāđāļĨāļāļąāļ (āļāļīāļāļēāļĢāļāļēāļāļēāļ āļāļąāļĨāļāļāļĢāļīāļāļķāđāļĄāđāļ 11.3) āļāļ°āļŠāļēāļĄāļēāļĢāļāđāļāļāļĢāļĩāđāļĨāļāļąāļāđāļ 3 āļĨāļąāļāļĐāļāļ°āļāļĩāđāđāļāļāđāļāđāļ āđāļāđāļ {student, instructor} āđāļĨāļ° {student, course}
{course, instructor } āđāļĨāļ° {course, student} {instructor, course } āđāļĨāļ° {instructor, student}
āļāļēāļĢāđāļāļāļĢāļĩāđāļĨāļāļąāļāļāļąāđāļ 3 āđāļāļāļāļēāļāļāļāļāļ°āļāđāļēāđāļŦāļŠāļđāļāđāļŠāļĩāļĒāļāļĩāđāļāļāđāļāļāļāļĩ FD1 āđāļ āđāļāļāļēāļĢāđāļāļāļĢāļĩāđāļĨāļāļąāļāļāļĩāđāļāļāļāļāļēāļĢāļĄāļĩāđāļāļĩāļĒāļāļāļēāļĢāđāļāļ
āļĢāļĩāđāļĨāļāļąāļāđāļāļāļāļĩāđāļŠāļēāļĄ āđāļāļĢāļēāļ°āđāļĄāļŠāļĢāļēāļ spurious tuples āļŦāļĨāļąāļāļāļēāļĢ join (āļāđāļķāļāļāļ°āđāļŦāļāļļāļāļŠāļĄāļāļąāļāļīāļāļĩāđāđāļĢāļĩāļĒāļāļ§āļē non-additivity property) āļāļāļāļāļēāļāļāļĩāđāļĒāļąāļāļĄāļĩāļāļēāļĢāļāļāļŠāļāļāđāļāļ·āđāļāļāļĩāđāļāļ°āļāđāļēāļŦāļāļāļ§āļēāđāļāļāļēāļĢāļāđāļē binary decomposition āļŦāļĢāļ·āļ āļāļēāļĢāļāđāļē decomposition āđāļāđāļāļāļĢāļĩāđāļĨāļāļąāļ āļŦāļĢāļ·āļāļĢāļĩāđāļĨāļāļąāļāļŠāļāļāļĢāļĩāđāļĨāļāļąāļāļāļ·āļāļ§āļēāđāļāļ nonadditve āļŦāļĢāļ·āļ lossless āļāđāļķāļāļāļ°āđāļāļāļĨāļēāļ§āļāļķāļāđāļ āļŠāļ§āļāļāļĩāđ 11.1.4 āļ āļēāļĒāđāļāļāļļāļāļŠāļĄāļāļąāļāļī LJ1 āđāļĨāļ°āļāļāļāļāļēāļāļāļąāđāļāļĒāļąāļāđāļāļāļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļ§āļē third decomposition āļāļēāļāļāļāļĢāļāļāļĢāļąāļāļāļļāļāļŠāļĄāļāļąāļāļīāļāļēāļĄāļāļĩāđāļāļāļāļāļēāļĢ
2110422 āļāļēāļĢāļāļāļāđāļāļāļĢāļ°āļāļāļāļēāļĢāļāļąāļāļāļēāļĢāļāļēāļāļāļāļĄāļđāļĨ 8-17 āļ āļēāļāļ§āļīāļāļēāļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļāļāļĄāļāļīāļ§āđāļāļāļĢ āļāļāļ°āļ§āļīāļĻāļ§āļāļĢāļĢāļĄāļĻāļēāļŠāļāļĢ āļāļļāļŽāļēāļĨāļāļāļĢāļāļĄāļŦāļēāļ§āļīāļāļĒāļēāļĨāļąāļĒ
āđāļāļāļāļāļŦāļąāļ 1. āļāļāļāļāļīāļāļēāļĒāđāļāļ§āļāļīāļāļāļāļ Functional Dependency 2. āļāļāļāļāļīāļāļēāļĒāđāļāļ§āļāļīāļāļāļāļāļāļĩāđāļĄāļāļāļīāļāļāļāļāļāļēāļāļāļāļĄāļđāļĨāđāļāļīāļāļŠāļąāļĄāļāļąāļāļ 3. āļāļāđāļĒāļāļāļĢāļ°āđāļ āļāļāļāļāļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļĨāļ°āļāļāļīāļāļēāļĒāļāļ°āļāļāļĢāļĄāļēāļĨāļĩāđāļāļĨāļ°āļāļĢāļ°āđāļ āļ 4. āļāļāļāļāļīāļāļēāļĒāļāļ§āļēāļĄāđāļāļāļāļēāļāļāļāļ āļāļĩāļĒ āļāļđāđāļāļāļĢāļāļĩāļĒ āđāļĨāļ° āļāļĩāļĒāļŦāļĨāļąāļ 5. āļāļāļāļāļīāļāļēāļĒāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļāļāļāļāļĢāļĄāļēāđāļĨāđāļāļāļąāļ 6. āļāļāļāļāļīāļāļēāļĒāļāļĢāļ°āđāļĒāļāļāļāļĩāđāđāļāļāļēāļ BCNF 7. āļāļāļāļāļīāļāļēāļĒāļāļ§āļēāļĄāđāļāļāļāļēāļāļĢāļ°āļŦāļ§āļēāļ 1NF āđāļĨāļ° 2NF 8. āļāļāļāļāļīāļāļēāļĒāļāļ§āļēāļĄāđāļāļāļāļēāļāļĢāļ°āļŦāļ§āļēāļ 2NF āđāļĨāļ° 3NF 9. āļāļāļāļāļīāļāļēāļĒāļāļ§āļēāļĄāđāļāļāļāļēāļāļĢāļ°āļŦāļ§āļēāļ 3NF āđāļĨāļ° BCNF 10. āļāļīāļāļēāļĢāļāļēāļ§āļēāļāļ°āļŠāļēāļĄāļēāļĢāļāļāļąāļāļāđāļēāđāļāļĢāļđāļāđāļāļāļāļāļ BCNF āđāļāļŦāļĢāļ·āļāđāļĄ
11. āļāļāļāļāļīāļāļēāļĒāļāļ§āļēāļĄāļŦāļĄāļēāļĒāļāļāļ Transitive āđāļĨāļ° Non-transitive FD 12. āļāļāļāļāļīāļāļēāļĒāļāļ§āļēāļĄāļŦāļĄāļēāļĒ āđāļĨāļ° āļāļ§āļēāļĄāđāļāļāļāļēāļāļāļāļ Equivalence sets of FDs āđāļĨāļ° Minimal sets of FDs