{"id":1091,"date":"2025-01-13T19:17:40","date_gmt":"2025-01-14T00:17:40","guid":{"rendered":"https:\/\/pressbooks.bccampus.ca\/nelson\/chapter\/chapter-7-redundancy-functional-dependencies-closure-and-normalization\/"},"modified":"2025-01-13T20:25:52","modified_gmt":"2025-01-14T01:25:52","slug":"chapter07thirdedition","status":"publish","type":"chapter","link":"https:\/\/pressbooks.bccampus.ca\/nelson\/chapter\/chapter07thirdedition\/","title":{"raw":"Chapter 7 Redundancy, Functional Dependencies, Closure, and Normalization","rendered":"Chapter 7 Redundancy, Functional Dependencies, Closure, and Normalization"},"content":{"raw":"<div class=\"chapter-7-redundancy,-functional-dependencies,-closure,-and-normalization-\">\r\n<p class=\"import-Normal\">Original Chapter 10 Author: Adrienne Watt<\/p>\r\n<p class=\"import-Normal\">Original Chapter 11 Author: Adrienne Watt<\/p>\r\n<p class=\"import-Normal\">Original Chapter 12 Author: Adrienne Watt<\/p>\r\n<p class=\"import-Normal\">Rewrite: Fred Strickland<\/p>\r\n\r\n<h2>Learning Outcomes<\/h2>\r\n<table style=\"width: 467.5pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><strong>Computing Sub Discipline<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><strong>Document Code, Reference Code, and Page Number<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><strong>Text<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 67.9pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\" rowspan=\"3\">\r\n<p class=\"import-Normal\">Computer Science<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">CS2013<\/p>\r\n<p class=\"import-Normal\">IM\/Relational Databases (RD)<\/p>\r\n<p class=\"import-Normal\">(Page 115-116)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">6. Determine the functional dependency between two or more attributes that are a subset of a relation. [Assessment]<\/p>\r\n<p class=\"import-Normal\">7. Connect constraints expressed as primary key and foreign key, with functional dependencies. [Usage]<\/p>\r\n<p class=\"import-Normal\">8. <a id=\"_Hlk173043547\"><\/a>Compute the closure of a set of attributes under given functional dependencies. [Usage]<\/p>\r\n<p class=\"import-Normal\">9. Determine whether a set of attributes form a superkey and\/or candidate key for a relation with given functional dependencies. [Assessment]<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Repeated learning outcome.<\/p>\r\n<p class=\"import-Normal\">11. Describe the properties of BCNF, PJNF, 5NF. [Familiarity]<\/p>\r\n<p class=\"import-Normal\">12. <a id=\"_Hlk173043656\"><\/a>Explain the impact of normalization on the efficiency of database operations especially query optimization. [Familiarity]<\/p>\r\n<p class=\"import-Normal\">13. Describe what is a multi-valued dependency and what type of constraints it specifies. [Familiarity]<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 67.9pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">CS2023<\/p>\r\n<p class=\"import-Normal\">DM-Core: Core Database Systems Concepts<\/p>\r\n<p class=\"import-Normal\">(Pages 115-116)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">CS Core 6. Normalization<\/p>\r\n<p class=\"import-Normal\">ILO CS Core 7. Describe the advantages for eliminating duplicate repeated data.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 67.9pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">CS2023<\/p>\r\n<p class=\"import-Normal\">DM-Relational: Relational Databases<\/p>\r\n<p class=\"import-Normal\">(Pages 117-118)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">KA Core 5. Introduction to Functional dependency theory.<\/p>\r\n<p class=\"import-Normal\">KA Core 6. Normalization Theory<\/p>\r\n<p class=\"import-Normal\">KA Core 6a. Decomposition of a schema; lossless join, and dependency-preservation properties of a decomposition<\/p>\r\n<p class=\"import-Normal\">KA Core 6b. Normal forms (BCNF)<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">KA Core 6c. Denormalization (for efficiency)<\/p>\r\n<p class=\"import-Normal\">Non-core 7. Functional dependency theory<\/p>\r\n<p class=\"import-Normal\">Non-core 7a. Closure of a set of attributes<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Non-core 7b. Canonical Cover<\/p>\r\n<p class=\"import-Normal\">Non-core 8. Normalization theory<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Non-core 8a. Multi-valued dependency (4NF)<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Non-core 8b. Join dependency (PJNF, 5NF)<\/p>\r\n<p class=\"import-Normal\">ILO KA Core 6. Describe how functional dependency theory generalizes the notion of key.<\/p>\r\n<p class=\"import-Normal\">ILO KA Core 7. Defend a given decomposition as lossless and or dependency preserving.<\/p>\r\n<p class=\"import-Normal\">ILO KA Core 8. Detect which normal form a given decomposition yields.<\/p>\r\n<p class=\"import-Normal\">ILO KA Core 9. Comment on reasons for denormalizing a relation.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 61.6pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\" rowspan=\"2\">\r\n<p class=\"import-Normal\">Information Technology<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">IT2017<\/p>\r\n<p class=\"import-Normal\">ITE-IMA-02 Data information concepts<\/p>\r\n<p class=\"import-Normal\">(Page 92)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c. Illustrate data quality, accuracy, and timeliness, and explain how their absence will impact organizations.<\/p>\r\n<p class=\"import-Normal\">Repeated learning outcome<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 58pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">IT2017<\/p>\r\n<p class=\"import-Normal\">ITE-IMA-04 Database query languages<\/p>\r\n<p class=\"import-Normal\">(Page 92)<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c. <a id=\"_Hlk173043781\"><\/a>Express the relationship between functional dependencies and keys, and give examples.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<h2>Introduction to Chapter 7<\/h2>\r\n<p class=\"import-Normal\">Chapter 6 addressed the mechanisms for preventing bad or duplicate data from being entered into a database. We looked at integrity rules, constraints, and cardinality for ensuring the high quality of the data. From the \u201cseat of the pants,\u201d we figured out what tables we might need. What if you are starting with no suggestions and with no guidance? If you have extensive experience with spreadsheets, you might be tempted to create one huge database table. There are issues with this approach. There is a reasonable approach for avoiding these issues.<\/p>\r\n\r\n<h2>The Third Edition Style Guide<\/h2>\r\n<p class=\"import-Normal\">This is the style guide that this book will follow for this chapter and for the other chapters.<\/p>\r\n\r\n<table style=\"width: 229.25pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Naming Convention:<\/p>\r\n\r\n<ul>\r\n \t<li>All English names<\/li>\r\n \t<li>Plural table names<\/li>\r\n \t<li>Singular column names<\/li>\r\n \t<li>Capitalized words<\/li>\r\n \t<li>Pascal Case for composite names<\/li>\r\n \t<li>No underscores or special characters<\/li>\r\n \t<li>No unique SQL commands<\/li>\r\n \t<li>No object prefixes<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Using the IE\u2019s Notation with Crow\u2019s Foot Notation.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.1 The database style guide. Adapted from https:\/\/vertabelo.com\/blog\/database-schema-naming-conventions\/<\/p>\r\n\r\n<h2>The Redundancy Issue<\/h2>\r\n<p class=\"import-Normal\"><em>Redundancy<\/em> is when data appears in some fashion two more times in a table. This is undesirable, because it causes problems.<\/p>\r\n\r\n<table style=\"width: 467.5pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Third edition<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<table style=\"width: 456.2pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">AccountNumber<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Balance<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Customer<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">Branch<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">Address<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">Assets<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-101<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">500<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1313131<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Downtown<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brooklyn<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">9000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-102<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">400<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1313131<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Perryridge<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">1700000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-113<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">600<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">9876543<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Round Hill<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-201<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">900<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">9876543<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brighton<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brookly<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">7100000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-215<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">700<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1111111<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Manus<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">400000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-222<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">700<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1111111<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Redwood<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Palo Alto<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">2100000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-305<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">350<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1234567<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Round Hill<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Second Edition<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image1-2.jpeg\" alt=\"image\" width=\"300px\" height=\"197px\" \/><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.2 Example of a table containing redundant data. The bottom image is a reproduction of Figure 10.1 from the second edition (A. Watt).<\/p>\r\n<p class=\"import-Normal\">In Figure 7.2, Customer 1313131 appears twice, because of two accounts (A-101 and A102). This is true for Customer 976543 and for 1111111. What could go wrong?<\/p>\r\n\r\n<h3>Insertion Anomaly<\/h3>\r\n<p class=\"import-Normal\">An <em>insertion anomaly<\/em> occurs when you are inserting inconsistent information into a table. When we insert a new record, such as account number A-306 in Figure 7.3, we need to check that the branch data is consistent with existing rows.<\/p>\r\n\r\n<table style=\"width: 467.5pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Third edition<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<table style=\"width: 456.2pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>AccountNumber<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Balance<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Customer<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Branch<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Assets<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-101<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">500<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1313131<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Downtown<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brooklyn<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">9000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-102<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">400<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1313131<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Perryridge<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">1700000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-113<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">600<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">9876543<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Round Hill<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-201<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">900<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">9876543<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brighton<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brookly<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">7100000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-215<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1111111<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Manus<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">400000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-222<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1111111<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Redwood<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Palo Alto<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">2100000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-305<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">350<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1234567<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Round Hill<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">A-306<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\"><span style=\"color: #33cccc\">800<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">1111111<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Round Hill<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Horseneck<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\"><span style=\"color: #33cccc\">8000800<\/span><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Second Edition<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image2-2.jpeg\" alt=\"image\" width=\"300px\" height=\"222px\" \/><\/p>\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.3 Example of an insertion anomaly. The bottom image is a reproduction of Figure 10.2 from the second edition (A. Watt).<\/p>\r\n<p class=\"import-Normal\">The issue is that the asset boxes for A-113 and for A-305 do not agree with the figure for A-306. To keep the data consisted, we would need to revise the figures for these other two accounts.<\/p>\r\n\r\n<h3>Update Anomaly<\/h3>\r\n<p class=\"import-Normal\">The last paragraph was a hint to this issue. An <em>update anomaly<\/em> occurs when you are updating data and similar rows need to be found and updated. Figure 7.4 shows this situation for the Round Hill branch.<\/p>\r\n\r\n<table style=\"width: 467.5pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Third edition<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<table style=\"width: 456.2pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>AccountNumber<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Balance<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Customer<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Branch<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Assets<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-101<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">500<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1313131<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Downtown<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brooklyn<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">9000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-102<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">400<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1313131<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Perryridge<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">1700000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-113<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">600<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">9876543<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Round Hill<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Palo Alto<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-201<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">900<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">9876543<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brighton<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brookly<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">7100000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-215<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1111111<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Manus<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">400000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-222<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1111111<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Redwood<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Palo Alto<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">2100000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-305<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">350<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1234567<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Round Hill<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Horseneck<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Second Edition<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image3-2.jpeg\" alt=\"image\" width=\"300px\" height=\"198px\" \/><\/p>\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.4 Example of an update anomaly. The bottom image is a reproduction of Figure 10.3 from the second edition (A. Watt).<\/p>\r\n<p class=\"import-Normal\">The issue here is that the Round Hill address has changed from Horseneck to Palo Alto. A-113 was updated, but A-305 data was not updated.<\/p>\r\n\r\n<h3>Deletion Anomaly<\/h3>\r\n<p class=\"import-Normal\">A <em>deletion anomaly<\/em> occurs when you are deleting data and the record contains data that might be important to retain. Figure 7.5 shows that A-101 is the last account at the Downtown branch. If we delete this record, then we lose access to the Downtown branch address and to the asset figure.<\/p>\r\n\r\n<table style=\"width: 467.5pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Third edition<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<table style=\"width: 456.2pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>AccountNumber<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Balance<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Customer<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Branch<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Assets<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-101<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">500<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1313131<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Downtown<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Brooklyn<\/span><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\"><span style=\"color: #33cccc\">9000000<\/span><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-102<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">400<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1313131<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Perryridge<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">1700000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-113<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">600<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">9876543<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Round Hill<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Palo Alto<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-201<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">900<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">9876543<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brighton<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brookly<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">7100000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-215<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1111111<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Manus<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">400000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-222<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1111111<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Redwood<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Palo Alto<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">2100000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">A-305<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">350<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1234567<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Round Hill<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Horseneck<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Second Edition<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><img src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image4.jpeg\" alt=\"image\" width=\"300px\" height=\"195px\" \/><\/p>\r\n<p class=\"import-Normal\" style=\"text-align: center\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.5 Example of an update anomaly. The bottom image is a reproduction of Figure 10.4 from the second edition (A. Watt).<\/p>\r\n<p class=\"import-Normal\">Fortunately, Customer 1313131 has an account at the Perryridge branch. Otherwise, we would have lost access to the existence of Customer 1313131.<\/p>\r\n\r\n<h2>Functional Dependency<\/h2>\r\n<p class=\"import-Normal\">How do we break this large table into smaller tables? We could break the large table into two tables such as:<\/p>\r\n\r\n<ul>\r\n \t<li>Customers\r\n<ul>\r\n \t<li>AccountNumber<\/li>\r\n \t<li>Balance<\/li>\r\n \t<li>CustomerID<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li>Branches\r\n<ul>\r\n \t<li>Branch<\/li>\r\n \t<li>Address<\/li>\r\n \t<li>Asset<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">What about the customer\u2019s address and contact data? What about the branch manager data, the employees assigned, and the contact data? Should these items be added to these two tables or stored in a new table?<\/p>\r\n<p class=\"import-Normal\"><em>Functional dependency<\/em> (FD) is a relationship between attributes such as between the PK and the non-key attributes. Something determines the other attributes. An FD is a database constraint that determines the relationship of one attribute to another attribute. FDs help to maintain the quality of data in a database.<\/p>\r\n<p class=\"import-Normal\">FD are expressed as an \u201cequation.\u201d The variable (the determinant) on the left side of the arrow determines the attributes (the dependent) on the right side.<\/p>\r\n\r\n<ul>\r\n \t<li>Second Edition: X ----&gt; Y and A ----&gt; B<\/li>\r\n \t<li>Third Edition: A--&gt; B<sup class=\"import-FootnoteReference\"><a id=\"sdfootnote1anc\" href=\"#sdfootnote1sym\">1<\/a><\/sup> and A --&gt; B<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Here are some word examples:<\/p>\r\n\r\n<ul>\r\n \t<li>In the Employees table: ID would determine the FirstName and the LastName.<\/li>\r\n \t<li>In the Students table: ID would determine the FirstName, the LastName, and the ClassRank.<\/li>\r\n \t<li>In the Branches table: ID would determine the Name, the Address, and the Assets.<\/li>\r\n \t<li>In a table collecting data: SIN or SSN would determine the Name, the Address, and the Birthdate.<\/li>\r\n \t<li>In a table collecting data: ISBN would determine the Title and other pieces of data.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Some FDs are easy to figure out. Other FDs are not. Consider the following table:<\/p>\r\n\r\n<table style=\"width: 478.85pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">A<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">B<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">C<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">D<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">E<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">a1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">b1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">e1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">a2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">b1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">e1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">a3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">b2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">e1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">a4<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">b2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">e1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">a5<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">b3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">e1<a id=\"_Hlk172619605\"><\/a><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Table 7.1 Functional dependency table example. This is a corrected reproduction of Figure 10.4 from the second edition (A. Watt).<\/p>\r\n<p class=\"import-Normal\">Which columns contain unique values? The answer is column A. So column A can be used to determine the values of the other columns. We can write this as:<\/p>\r\n\r\n<table style=\"width: 478.8pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Single Letters<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Double Letters<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Triple Letters<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Quadruple Letters<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 90.85pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<ul>\r\n \t<li>A --&gt; B<\/li>\r\n \t<li>A --&gt; C<\/li>\r\n \t<li>A --&gt; D<\/li>\r\n \t<li>A --&gt; E<\/li>\r\n<\/ul>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<ul>\r\n \t<li>A --&gt; BC<\/li>\r\n \t<li>A --&gt; BD<\/li>\r\n \t<li>A --&gt; BE<\/li>\r\n \t<li>A --&gt; CD<\/li>\r\n \t<li>A --&gt; CE<\/li>\r\n \t<li>A --&gt; DE<\/li>\r\n<\/ul>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<ul>\r\n \t<li>A --&gt; BCD<\/li>\r\n \t<li>A --&gt; BCE<\/li>\r\n \t<li>A --&gt; BDE<\/li>\r\n \t<li>A --&gt; CDE<\/li>\r\n<\/ul>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<ul>\r\n \t<li>A --&gt; BCDE<\/li>\r\n<\/ul>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Table 7.2 Functional dependencies from the viewpoint of A.<\/p>\r\n<p class=\"import-Normal\">Other columns may be used to determine other columns. In this example, the values in column E are the same. So any column could be used to determine the value in column E.<\/p>\r\n<p class=\"import-Normal\">The fact that column A could be used to determine the values of the other columns may be summarized as A --&gt; BCDE. We can conclude that A must be a PK.<\/p>\r\n<p class=\"import-Normal\">Recall from Chapter 5 that a composite key uses more than one attribute to locate a record. By inspection, we see that the pairing of B and C is unique and the pairing of B and D is unique. The PK of A may be used in combination with other values. These pairings are shown in the next table:<\/p>\r\n\r\n<table style=\"width: 478.75pt;height: 615px\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>B<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>C<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Functional Dependencies<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">c1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 150px;width: 468.85px\" rowspan=\"5\">\r\n<p class=\"import-Normal\">BC --&gt; A<\/p>\r\n<p class=\"import-Normal\">BC --&gt; DE<\/p>\r\n<p class=\"import-Normal\">BC --&gt; ADE<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">c2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">c1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">c2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">c3<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>B<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>D<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Functional Dependencies<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 150px;width: 468.85px\" rowspan=\"5\">\r\n<p class=\"import-Normal\">BD \uf0e0--&gt; A<\/p>\r\n<p class=\"import-Normal\">BD --&gt; CE<\/p>\r\n<p class=\"import-Normal\">BD --&gt; \uf0e0 ACE<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">d2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">d2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>A<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>B<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Functional Dependencies<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">a1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 150px;width: 468.85px\" rowspan=\"5\">\r\n<p class=\"import-Normal\">AB --&gt; C<\/p>\r\n<p class=\"import-Normal\">AB --&gt; D<\/p>\r\n<p class=\"import-Normal\">AB --&gt; E<\/p>\r\n<p class=\"import-Normal\">AB --&gt; CD<\/p>\r\n<p class=\"import-Normal\">AB --&gt; CE<\/p>\r\n<p class=\"import-Normal\">AB --&gt; DE<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">a2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">a3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">a4<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">a5<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\r\n<p class=\"import-Normal\">b3<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr style=\"height: 15px\">\r\n<td style=\"height: 15px;width: 64.1125px\"><\/td>\r\n<td style=\"height: 15px;width: 64.5125px\"><\/td>\r\n<td style=\"height: 15px;width: 469.25px\"><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Table 7.3 Functional dependencies from the viewpoint of a composite key.<\/p>\r\n<p class=\"import-Normal\">Some values are uniquely linked to other values. A value of C always points to the same value of D:<\/p>\r\n\r\n<table style=\"width: 338.4pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>C<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>D<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Functional Dependencies<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\" rowspan=\"5\">\r\n<p class=\"import-Normal\">C --&gt; D<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">c3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">d1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Table 7.4 Localized Functional dependencies.<\/p>\r\n<p class=\"import-Normal\">Since E is the same for each line, then we have other determinants:<\/p>\r\n\r\n<table style=\"width: 99.9pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\" style=\"height: 48.1pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<ul>\r\n \t<li>B --&gt; E<\/li>\r\n \t<li>C --&gt; E<\/li>\r\n \t<li>D --&gt; E<\/li>\r\n<\/ul>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Table 7.5 Additional determinants for accessing dependent E.<\/p>\r\n<p class=\"import-Normal\">The determinant and dependent relationship tends to be one way. The following table demonstrates this point:<\/p>\r\n\r\n<table style=\"width: 478.85pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Proposed Determinant and Dependent Relationship<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Reason<\/strong><strong> for the Failure<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">E --&gt; anything<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Since the values of E are the same, there is no way to determine a unique value in another column.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">D --&gt; C<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Value d1 points to value c1 and to value c3.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">D --&gt; B<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Value d1 points to value b1 and to value b2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">D --&gt; A<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Value d1 points to value a1 and to value a3.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">C --&gt; B<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Value c1 points to value b1 and to value b2.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">C --&gt; A<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Value c1 points to value a1 and to value a3.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">B --&gt; A<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Value b1 points to value a1 and to value a2.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Table 7.6 Invalid determinant-dependent relationships.<\/p>\r\n<p class=\"import-Normal\">Using the new understanding of FD and the FD equation or shorthand, we can express the five examples as:<\/p>\r\n\r\n<table style=\"width: 478.8pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">In the Employees table: ID would determine the FirstName and the LastName.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">ID --&gt; FirstName, LastName<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">In the Students table: ID would determine the FirstName, the LastName, and ClassRank.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">ID --&gt; FirstName, LastName, ClassRank<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">In the Branches table: ID would determine the Name, the Address, and the Assets.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">ID --&gt; Name, Address, Assets<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">In a table collecting data: SIN or SSN would determine the FirstName, the LastName, the Address, and the Birthdate.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">SIN --&gt; FirstName, LastName, Address, Birthdate<\/p>\r\n<p class=\"import-Normal\">SSN --&gt; FirstName, LastName, Address, Birthdate<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">In a table collecting data: ISBN would determine the Title and other pieces of data<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">ISBN --&gt; Title<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.6 Examples of expressing the previous example database tables in the FD shorthand.<\/p>\r\n<p class=\"import-Normal\">There are several types of functional dependency relationships.<\/p>\r\n\r\n<h3>Trivial Functional Dependency<\/h3>\r\n<p class=\"import-Normal\">The dependent is a subset of the determinant. For example, a database table might have an ID column and an employee name column. If the functional dependency was written as {ID, EmployeeName} --&gt; ID, then this is a trivial functional dependency. This is true, because the dependent ID appears in the determinant list.<\/p>\r\n<p class=\"import-Normal\">DatabaseTown noted that this could be done with a composite key as (Order ID, Customer ID) --&gt; (Customer ID).<\/p>\r\n\r\n<h3>Non-Trivial Functional Dependency<\/h3>\r\n<p class=\"import-Normal\">The dependent is not a subset of the determinant. The examples in Figure 7.6 are non-trivial functional dependency, because the elements in the right set are not a subset of the left side.<\/p>\r\n\r\n<h3>Multivalued Functional Dependency<\/h3>\r\n<p class=\"import-Normal\">The Geeks for Geeks writer (\u201cWhat is Functional Dependency in DBMS?\u201d) explained this as two or more values in a cell. Figure 7.7 shows a simple example of this viewpoint for a Students table:<\/p>\r\n\r\n<table style=\"width: 478.8pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\" style=\"height: 0\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 7.5pt 3pt 7.5pt 2.95pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\"><strong>I<\/strong><strong>D<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 0 7.5pt 0 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\"><strong>StudentName<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 0 7.5pt 0 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\"><strong>Course<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 8.15pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 2.9pt 0 2.9pt 0;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\"><strong>101<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\">Ali<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\">{Math, English}<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 14pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 2.9pt 0 2.9pt 0;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\"><strong>102<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\">Bob<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\">{History, English}<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 2.9pt 0 2.9pt 0;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\"><strong>103<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\">Cavin<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\">{Physics, Hindi}<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0pt 0pt 0pt -0.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\r\n<p class=\"import-Normal\">ID --&gt; Courses<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0pt 0pt 0pt -0.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\r\n<p class=\"import-Normal\">101 --&gt; {Math, English}<\/p>\r\n<p class=\"import-Normal\">102 --&gt; {History, English}<\/p>\r\n<p class=\"import-Normal\">103 --&gt; {Physics, Hindi}<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.7 Geeks for Geeks example of a multivalued functional dependency. (The ID column was changed to follow the style guide.)<\/p>\r\n<p class=\"import-Normal\">Fiona Brown and other writers have a different understanding. Fiona Brown wrote:<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Multivalued dependency occurs in the situation where there are multiple independent multivalued attributes in a single table. A multivalued dependency is a complete constraint between two sets of attributes in a relation. It requires that certain tuples be present in a relation.<\/p>\r\n<p class=\"import-Normal\">Fiona Brown used a Cars table to explain this functional dependency:<\/p>\r\n\r\n<table style=\"width: 478.8pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\" style=\"height: 0\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: none windowtext 0pt\">\r\n<p class=\"import-Normal\"><strong>CarModel<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: none windowtext 0pt\">\r\n<p class=\"import-Normal\"><strong>ManufactureYear<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: none windowtext 0pt\">\r\n<p class=\"import-Normal\"><strong>Color<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">H001<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">2017<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">Metallic<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">H001<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">2017<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">Green<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">H005<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">2018<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">Metallic<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">H005<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">2018<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">Blue<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">H010<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">2015<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">Metallic<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">H033<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">2012<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\r\n<p class=\"import-Normal\">Gray<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\r\n<p class=\"import-Normal\">The manufacture year and the color values are independent of each other but dependent on the car model. In this example, these two columns are said to be multivalue dependent on the car model.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\r\n<p class=\"import-Normal\">CarModel --&gt; ManufactureYear<\/p>\r\n<p class=\"import-Normal\">CarModel --&gt; Color<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.8 The Fiona Brown example of a multivalued functional dependency. (The first two columns were changed to follow the style guide.)<\/p>\r\n<p class=\"import-Normal\">Another Geeks for Geeks writer had a different example with a different explanation:<\/p>\r\n\r\n<table style=\"width: 478.8pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\" style=\"height: 0\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 7.5pt 3pt 7.5pt 2.95pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>RollNumber<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 0 7.5pt 0 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Name<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 0 7.5pt 0 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Age<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">42<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">abc<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">17<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 9.050000000000001pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">43<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">pqr<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">18<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\" style=\"height: 2.3pt\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">44<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">xyz<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">18<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">45<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">abc<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\">19<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0pt 0pt 0pt -0.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\r\n<p class=\"import-Normal\">[The] entities of the dependent set are not dependent on each other. i.e. If a \u2192 {b, c} and there exists no functional dependency between b and c, then it is called a multivalued functional dependency.<\/p>\r\n<p class=\"import-Normal\">Here, roll_no \u2192 {name, age} is a multivalued functional dependency, since the dependents name &amp; age are not dependent on each other(i.e. name \u2192 age or age \u2192 name doesn\u2019t exist !)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0pt 0pt 0pt -0.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\r\n<p class=\"import-Normal\">RollNumber --&gt; {Name, Age}<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.9 A different Geeks for Geeks example of a multivalued functional dependency. (The column names were changed to follow the style guide.)<\/p>\r\n\r\n<h3>Transitive Functional Dependency<\/h3>\r\n<p class=\"import-Normal\">One column determines a column and that column determines another column. Using the table collecting data example from Figure 7.6, this could be illustrated as follows:<\/p>\r\n\r\n<table style=\"width: 478.85pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>SINorSSN<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>FirstName<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>LastName<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Birthdate<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">123<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Mary<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Smith<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Toronto<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">September 9<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">234<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">James<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Orlando<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">September 19<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">345<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Patricia<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Williams<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Vancouver<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">September 12<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">456<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">John<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Brown<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Las Vegas<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">September 17<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.10 An example of a transitive functional dependency.<\/p>\r\n<p class=\"import-Normal\">With the SIN or SSN, we know the person\u2019s name. If we know the person\u2019s name, then we can learn what is the birthday. So according to this FD, we can learn the birthday with the SIN or SSN. Here are the shorthand expressions:<\/p>\r\n\r\n<ul>\r\n \t<li>{SINorSSN} --&gt; {FirstName, LastName}<\/li>\r\n \t<li>{FirstName, LastName} --&gt; Birthdate<\/li>\r\n \t<li>{SINorSSN} --&gt; Birthdate<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">In more formal way, this could be expressed as:<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">If A --&gt; B and B --&gt; C, then A --&gt; C<\/p>\r\n\r\n<h3>Full Functional Dependency and Partial Functional Dependency<\/h3>\r\n<p class=\"import-Normal\">Some sources will include two more FDs. These appear to be more of a description of how the determinant and the dependent are related.<\/p>\r\n<p class=\"import-Normal\">A full FD is when the determinant determines all the columns in a table.<\/p>\r\n\r\n<ul>\r\n \t<li>{OrderID} --&gt; {OrderID, CustomerID, ProductID, Quantity}<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">A partial FD is when a determinant piece determines some of the columns in a table.<\/p>\r\n\r\n<ul>\r\n \t<li>{OrderID, CustomerID} --&gt; {ProductID, Quantity}<\/li>\r\n<\/ul>\r\n<h2>The Advantages and the Disadvantages of Working with Functional Dependencies<\/h2>\r\n<p class=\"import-Normal\"><strong>Advantages of Working with Functional Dependency<\/strong><\/p>\r\n\r\n<ul>\r\n \t<li>We are able to identify the primary key and the candidate keys.<\/li>\r\n \t<li>We can define the tables and the needed attributes. This helps in query optimization and thus improves performance.<\/li>\r\n \t<li>We can ensure that the data is consist by removing redundancies and inconsistencies.<\/li>\r\n \t<li>We can ensure that the data is accurate, complete, and current.<\/li>\r\n<\/ul>\r\n<h3>Disadvantages of Working with Functional Dependency<\/h3>\r\n<ul>\r\n \t<li>We may spend much time in the process of identifying the FDs in a large database that has many tables with many relationships.\r\n<ul>\r\n \t<li>Some use a dependency diagram. This has the appearance of a row of boxes with arrows coming out of the top and bottom. The second edition provided an example as Figure 11.6 and as Figure 12.1. The accompanying text listed the dependencies, but did not provide instructions on how to create a dependency diagram. Some older database textbooks do address this topic. In the recently dated web pages, none used a dependency diagram. It appears that dependency diagrams have fallen out of favor<sup class=\"import-FootnoteReference\"><a id=\"sdfootnote7anc\" href=\"#sdfootnote7sym\">7<\/a><\/sup>. So this edition will not address this topic.<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li>We may find the FDs to be overly restrictive and may result in slow query performance.<\/li>\r\n \t<li>We may find that the FDs do not take into account the semantic meanings of our data and thus may not always reflect the true relationships between our data elements.<\/li>\r\n<\/ul>\r\n<h2>Functional Dependency Set and Attribute Closure<\/h2>\r\n<p class=\"import-Normal\">We will use the following Students table for this topic:<\/p>\r\n\r\n<table style=\"width: 468pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\" style=\"text-align: center\">ID<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\" style=\"text-align: center\">LastName<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\" style=\"text-align: center\">Phone<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\" style=\"text-align: center\">State<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\" style=\"text-align: center\">Country<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\" style=\"text-align: center\">Age<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 22.15pt\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">123<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\">Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">416-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Canada<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\">18<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">234<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\">Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">407-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">United States<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\">19<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">345<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\">Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">236-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Canada<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\">21<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">456<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\">Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">702-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">United States<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\">22<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Table 7.6 Students table (Roughly based on <a class=\"rId12\" href=\"https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/<\/span><\/a>)<\/p>\r\n<p class=\"import-Normal\">We know that ID --&gt; LastName and that ID --&gt; Phone are valid. LastName --&gt; State is not valid. Why? There could be another Smith elsewhere in this table that lives in the same state or province.<\/p>\r\n<p class=\"import-Normal\">FDs in a relation are dependent upon the domain of the relation. By inspection, we know the following are valid:<\/p>\r\n\r\n<table style=\"width: 468pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID --&gt; LastName<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\" style=\"margin-left: 36pt\">State --&gt; Country<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID --&gt; Phone<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID --&gt; State<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID --&gt; Country<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID --&gt; Age<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.11 Valid functional dependencies for the Students table.<\/p>\r\n<p class=\"import-Normal\">A <em>functional dependent set<\/em> (FD set) is the set of all FDs present in the relation. The following is the FD set for the Students table:<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">{ID --&gt; LastName, ID --&gt; Phone, ID --&gt; State, ID --&gt; Country, ID --&gt; Age, State --&gt; Country}<\/p>\r\n\r\n<h3>Attribute Closure<\/h3>\r\n<em>Attribute closure<\/em> of an attribute set is defined as the set of attributes that can be functionally determined from it.\r\n<p class=\"import-Normal\">The steps for finding the attribute closure of an attribute set are:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">Add the elements of the attribute set to the result set.<\/li>\r\n \t<li class=\"import-Normal\">Recursively add the elements to the result set that can be functionally determined from the elements currently in the result set.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The custom is to mark the result set with a trailing plus (+) symbol and an equal (=) symbol pointing to the result set. The following shows the ID result set and the result set:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">(ID)+ = {ID, LastName, Phone, State, Country, Age}<\/li>\r\n \t<li class=\"import-Normal\">(State)+ = {State, Country}<\/li>\r\n<\/ul>\r\n<h3>Attribute Closure Advantages and Disadvantages<\/h3>\r\n<p class=\"import-Normal\">Attribute closure has the following advantages:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">Attribute closures help to identify all possible attributes that can be derived from a set of given attributes.<\/li>\r\n \t<li class=\"import-Normal\">Attribute closures facilitate database design by identifying relationships between attributes and tables that can help to optimize query performance.<\/li>\r\n \t<li class=\"import-Normal\">Attribute closures ensure data consistency by identifying all possible combinations of attributes that can exist in the database.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Attribute closure has the following disadvantages:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">The process of calculating attribute closures can be computationally expensive, especially for large databases.<\/li>\r\n \t<li class=\"import-Normal\">Attribute closures can become too complex to manage, especially as the number of attributes and tables in a database grows.<\/li>\r\n \t<li class=\"import-Normal\">Attribute closures do not take into account the semantic meaning of data and may not always accurately reflect the relationships between data elements.<\/li>\r\n<\/ul>\r\n<h3>Using Attribute Closure for Finding Candidate Keys and Super Keys<\/h3>\r\n<p class=\"import-Normal\">An attribute closure set that contains all possible attributes of relations is the super key. A candidate key is subset of the super key. The following will demonstrate this point:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">(ID, LastName)+ = {ID, LastName, Phone, State, Country, Age}<\/li>\r\n \t<li class=\"import-Normal\">(ID)+ = {ID, LastName, Phone, State, Country, Age}<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The (ID, LastName)+ is the super key, but not a candidate key, because its subset (ID)+ is equal to all attributes of the relation. So ID would be a candidate key and a possible PK.<\/p>\r\n\r\n<h3>An Algorithm for Determining the Closure Set for a Functional Determinate<\/h3>\r\n<p class=\"import-Normal\">In an abstract conversation, the participants may use formal notation that looks like the following:<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Given R (\u2026.)<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">FDs = {\u2026.}<\/p>\r\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Find (...)+<\/p>\r\n<p class=\"import-Normal\">This is a formal way of finding a candidate key or a super key. The following shows the steps for solving a formal closure problem:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">Read the problem:\r\n<ul>\r\n \t<li>Given the relation R (A, B, C, D, E) and the following FDs:\r\n<ul>\r\n \t<li class=\"import-Normal\">{A --&gt; B, B --&gt; C, C --&gt; D, D --&gt; E)<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li class=\"import-Normal\">What is {A}+?<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li>A will be in the result set. So we add it to the result set: {A}+ = {A}<\/li>\r\n \t<li class=\"import-Normal\">What columns can be determined for a given A?\u00a0 We found A --&gt; B from the FD list. So we add B to the result set: {A}+ = {A, B}<\/li>\r\n \t<li class=\"import-Normal\">Since we have A and B in the result set, we can look for any FD that has B as the determinant. We found B --&gt; C from the FD list. So we add C to the result set: {A}+ = {A, B, C}<\/li>\r\n \t<li class=\"import-Normal\">We will repeat what we did for step 4 for the new letter. And we will continue repeating until we are finished:\r\n<ul>\r\n \t<li class=\"import-Normal\">With C, we found C --&gt; D from the FD list. So we add D to the result set: {A}+ = {A, B, C, D|<\/li>\r\n \t<li class=\"import-Normal\">With D, we found D --&gt; E from the FD list. So we add E to the result set: {A}+ = {A, B, C, D, E}<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li class=\"import-Normal\">The last letter has been used. So the result set is {A}+ = {A, B, C, D, E}<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The previous example was easy to understand and to solve. When a composite determinate is used, then the effort is more challenging. Here is such an example:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">Read the problem:\r\n<ul>\r\n \t<li class=\"import-Normal\">Given the relation R (A, B, C, D, E, F). and the following FDs:<\/li>\r\n \t<li class=\"import-Normal\">{AB --&gt; C, BC --&gt; AD, D --&gt; E, CF --&gt; B)<\/li>\r\n \t<li class=\"import-Normal\">What is {A, B}+?<\/li>\r\n<\/ul>\r\n<\/li>\r\n \t<li class=\"import-Normal\">A and B will be in the result set based on the FD list. So we add these two to the result set: {A, B}+ = {A, B}<\/li>\r\n \t<li class=\"import-Normal\">What columns can be determined for a given A and B combination? We found AB \uf0e0 C from the FD list. So we add C to the result set: {A, B}+ = {A, B, C}<\/li>\r\n \t<li class=\"import-Normal\">What single letter or combinations from the result set could help us to find another letter? We found BC \uf0e0 AD from the FD list. So we add D. A is already present in the result set. Now we have: {A, B}+ = {A, B, C, D}<\/li>\r\n \t<li class=\"import-Normal\">What single letter or combinations from the result set could help us to find another letter? We found D \uf0e0 E from the FD list. So we add E to the result set: {A, B,}+ = {A, B, C, D, E}<\/li>\r\n \t<li class=\"import-Normal\">The remaining column is F. We cannot add it to the result set, because it was not in the determinant set and no letter pointed to it.<\/li>\r\n \t<li class=\"import-Normal\">So the result set is {A, B}+ = {A, B, C, D, E}<\/li>\r\n<\/ul>\r\n<h3>Armstrong\u2019s Axioms in Functional Dependency (in DBMS)<\/h3>\r\n<p class=\"import-Normal\">William W. Armstrong defined some tests or inference rules about how to derive other FDs. There are three Armstrong\u2019s Axioms and six secondary rules. Some sources listed six inference rules. We will follow the approach of defining three axioms followed by six secondary rules:<\/p>\r\n\r\n<table style=\"width: 468pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Axiom of Reflexivity:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\">If A is a set of attributes and B is a subset of A, then A holds B. If B \u2286 A then A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> B. This is the trivial property.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Axiom of Augmentation:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\">If A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> B holds and Y is the attribute set, then AY <strong class=\"import-StrongEmphasis\">\u2192<\/strong> BY also holds. That is, adding attributes to dependencies, does not change the basic dependencies. If A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> B, then AC <strong class=\"import-StrongEmphasis\">\u2192<\/strong> BC for any C.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Axiom of Transitivity:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-TableContents\">If A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> B holds and B <strong class=\"import-StrongEmphasis\">\u2192<\/strong> C holds, then A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> C also holds. A <strong class=\"import-StrongEmphasis\">\u2192 <\/strong>B is also called functionally that determines B. If X <strong class=\"import-StrongEmphasis\">\u2192<\/strong> Y and Y <strong class=\"import-StrongEmphasis\">\u2192<\/strong> Z, then X <strong class=\"import-StrongEmphasis\">\u2192<\/strong> Z.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Secondary Rule of Union:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-BodyText\">If <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong> holds and <strong class=\"import-StrongEmphasis\">A\u2192C<\/strong> holds, then <strong class=\"import-StrongEmphasis\">A\u2192BC<\/strong> holds. If <strong class=\"import-StrongEmphasis\">X\u2192Y<\/strong> and <strong class=\"import-StrongEmphasis\">X\u2192<\/strong><strong class=\"import-StrongEmphasis\">Z<\/strong> then <strong class=\"import-StrongEmphasis\">X\u2192YZ<\/strong>.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Secondary Rule of Composition:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-BodyText\">If <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong> and <strong class=\"import-StrongEmphasis\">X\u2192Y<\/strong> hold, then <strong class=\"import-StrongEmphasis\">AX\u2192BY<\/strong> holds.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Secondary Rule of Decomposition:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-BodyText\">If <strong class=\"import-StrongEmphasis\">A\u2192BC<\/strong> holds then <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong> and <strong class=\"import-StrongEmphasis\">A\u2192C<\/strong> hold. If <strong class=\"import-StrongEmphasis\">X\u2192YZ<\/strong> then <strong class=\"import-StrongEmphasis\">X\u2192Y<\/strong> and <strong class=\"import-StrongEmphasis\">X\u2192Z<\/strong><strong>.<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Secondary Rule of Pseudo Transitivity:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-BodyText\">If <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong> holds and <strong class=\"import-StrongEmphasis\">BC\u2192D<\/strong> holds, then <strong class=\"import-StrongEmphasis\">AC\u2192D<\/strong> holds. If <strong class=\"import-StrongEmphasis\">X\u2192Y<\/strong> and <strong class=\"import-StrongEmphasis\">YZ\u2192<\/strong><strong class=\"import-StrongEmphasis\">W<\/strong> then <strong class=\"import-StrongEmphasis\">XZ\u2192W<\/strong>.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Secondary Rule of Self Determination:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-BodyText\">It is similar to the Axiom of Reflexivity, i.e. <strong class=\"import-StrongEmphasis\">A\u2192A<\/strong> for any A.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\r\n<p class=\"import-TableContents\">Secondary Rule of Extensivity:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-BodyText\">Extensivity is a case of augmentation. If <strong class=\"import-StrongEmphasis\">AC\u2192A<\/strong><strong class=\"import-StrongEmphasis\">, <\/strong>and <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong>, then <strong class=\"import-StrongEmphasis\">AC\u2192B<\/strong>. Similarly, <strong class=\"import-StrongEmphasis\">AC\u2192ABC<\/strong> and <strong class=\"import-StrongEmphasis\">ABC\u2192BC<\/strong>. This leads to <strong class=\"import-StrongEmphasis\">AC\u2192BC<\/strong>.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.12 Armstrong\u2019s three Axioms and six secondary rules.<\/p>\r\n<p class=\"import-Normal\">Now to apply these axioms and rules to the example problem:<\/p>\r\n\r\n<table style=\"width: 468pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 99.6pt\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">Read the problem:<\/p>\r\n<p class=\"import-Normal\">Given the relation R (A, B, C, D, E, F). and the following FDs:<\/p>\r\n<p class=\"import-Normal\">{AB --&gt; C, BC --&gt; AD, D --&gt; E, CF --&gt; B)<\/p>\r\n<p class=\"import-Normal\">What is {A, B}+?<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">A and B will be in the result set. So we add it to the result set: {A, B}+ = {A, B}<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">This is understood. The rule of Self Determination.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">What columns can be determined for a given A and B combination? We found AB \uf0e0 C. So we add C to the result set: {A, B}+ = {A, B, C}<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">It came from the FD list.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">What single letter or combinations from the result set could help us to find another letter? We found BC --&gt; AD. So we add D. A is already present in the result set. Now we have: {A, B}+ = {A, B, C, D}<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">It came from the FD list.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">What single letter or combinations from the result set could help us to find another letter? We found D --&gt; E. So we add E to the result set: {A, B,}+ = {A, B, C, D, E}<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">It came from the FD list.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">The remaining column is F. We cannot add it to the result set, because it was not in the determinant set and no letter pointed to it.<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\">So the result set is {A, B}+ = {A, B, C, D, E}<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.13 Armstrong\u2019s three Axioms and six secondary rules applied to an example problem.<\/p>\r\n<p class=\"import-Normal\">Armstrong\u2019s Axioms and Rules work better when you are trying to calculate some members. The following example is adapted from the TutorialRide.com web page:<\/p>\r\n\r\n<table style=\"width: 468pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 215.512px\">\r\n<p class=\"import-TableContents\">Relation R:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 391.712px\" colspan=\"6\">\r\n<p class=\"import-TableContents\">(P, Q, R, S, T, U)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 215.512px\" rowspan=\"2\">\r\n<p class=\"import-TableContents\">FDs:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 114.338px\" colspan=\"2\">\r\n<p class=\"import-TableContents\">P --&gt; Q<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 124.988px\" colspan=\"2\">\r\n<p class=\"import-TableContents\">P --&gt; R<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 136.413px\" colspan=\"2\">\r\n<p class=\"import-TableContents\">QR --&gt; S<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 114.338px\" colspan=\"2\">\r\n<p class=\"import-TableContents\">Q --&gt; T<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 124.988px\" colspan=\"2\">\r\n<p class=\"import-TableContents\">QR --&gt; U<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 136.413px\" colspan=\"2\">\r\n<p class=\"import-TableContents\">PR --&gt; U<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 215.512px\">\r\n<p class=\"import-TableContents\">Calculate these members:<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 67.2625px\">\r\n<p class=\"import-TableContents\">P --&gt; T<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 107.188px\" colspan=\"2\">\r\n<p class=\"import-TableContents\">PR --&gt; S<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 103.213px\" colspan=\"2\">\r\n<p class=\"import-TableContents\">QR --&gt; SU<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 90.0875px\">\r\n<p class=\"import-TableContents\">PR --&gt; SU<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\r\n<p class=\"import-TableContents\">The Steps<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\r\n<p class=\"import-TableContents\">P --&gt; T<\/p>\r\n<p class=\"import-TableContents\">From the FD list, we have P --&gt; Q and Q --&gt; T.<\/p>\r\n<p class=\"import-TableContents\">Using the Transitivity Axiom: If {A \u2192 B} and {B \u2192 C}, then {A \u2192 C}<\/p>\r\n<p class=\"import-TableContents\">We can obtain P T.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\r\n<p class=\"import-TableContents\">PR --&gt; S<\/p>\r\n<p class=\"import-TableContents\">From the FD list, we have P --&gt; Q and QR --&gt; S.<\/p>\r\n<p class=\"import-TableContents\">Using the Pseudo Transitivity Rule: If {A \u2192 B} and {BC \u2192 D}, then {AC \u2192 D}<\/p>\r\n<p class=\"import-TableContents\">We can obtain PR --&gt; S.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\r\n<p class=\"import-TableContents\">QR --&gt; SU<\/p>\r\n<p class=\"import-TableContents\">From the FD list, we have QR --&gt; S and QR --&gt; U.<\/p>\r\n<p class=\"import-TableContents\">Using the Union Rule: If {A \u2192\u00a0 <span style=\"background-color: transparent;font-family: inherit;font-size: inherit\">B} and {A \u2192 C}, then {A \u2192 BC}<\/span><\/p>\r\n<p class=\"import-TableContents\">We can obtain QR --&gt; SU.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\">\r\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\r\n<p class=\"import-TableContents\">PR --&gt; SU<\/p>\r\n<p class=\"import-TableContents\">From the FD list, we have P --&gt; Q, QR --&gt; S, and PR --&gt; U<\/p>\r\n<p class=\"import-TableContents\">Using the Pseudo Transitivity Rule: If {A \u2192 B} and {BC \u2192 D}, then {AC \u2192 D}<\/p>\r\n<p class=\"import-TableContents\">We can obtain PR --&gt;\u00a0 S.<\/p>\r\n<p class=\"import-TableContents\">Using the Pseudo Transitivity Rule: If {A \u2192 B} and {BC \u2192 D}, then {AC \u2192 D}<\/p>\r\n<p class=\"import-TableContents\">We use PR --&gt; S with PR --&gt; U and obtain PR --&gt; SU.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td style=\"width: 210.15px\"><\/td>\r\n<td style=\"width: 62.3px\"><\/td>\r\n<td style=\"width: 34.125px\"><\/td>\r\n<td style=\"width: 55.15px\"><\/td>\r\n<td style=\"width: 51.925px\"><\/td>\r\n<td style=\"width: 33.375px\"><\/td>\r\n<td style=\"width: 84.725px\"><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.14 Armstrong\u2019s three Axioms and six secondary rules applied to another example problem.<\/p>\r\n\r\n<h3>Advantages and Disadvantages of Using Armstrong\u2019s Axioms<\/h3>\r\n<p class=\"import-Normal\">The advantages are:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">These provide a systematic and efficient method for inferring additional functional dependencies from a given set of functional dependencies, which can help to optimize database design.<\/li>\r\n \t<li class=\"import-Normal\">These can be used to identify redundant functional dependencies, which can help to eliminate unnecessary data and improve database performance.<\/li>\r\n \t<li class=\"import-Normal\">These can be used to verify whether a set of functional dependencies is a minimal cover, which is a set of dependencies that cannot be further reduced without losing information.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Some writers will mention the words \u201csound\u201d and \u201ccomplete\u201d when discussing the advantages of using Armstrong's Axioms. They are stating that:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\"><em>Sound<\/em> means that for a given set of FDs that are specified for a relation schema , a person should be able infer any dependency from the FDs by using the primary rules of Armstrong\u2019s Axioms and that these will hold in every relation state of the relational schema R that satisfies the dependencies in the FDs.<\/li>\r\n \t<li class=\"import-Normal\"><em>Complete<\/em> means that for when using the primary rules of the Armstrong\u2019s Axioms repeatedly for inferring other dependencies that continue until we reach a stopping point, we will have a complete set of dependencies.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Disadvantages are:<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">The process of using Armstrong\u2019s axioms to infer additional functional dependencies can be computationally expensive, especially for large databases with many tables and relationships.<\/li>\r\n \t<li class=\"import-Normal\">The axioms do not take into account the semantic meaning of data and may not always accurately reflect the relationships between data elements.<\/li>\r\n \t<li class=\"import-Normal\">The axioms can result in a large number of inferred functional dependencies that can be difficult to manage and maintain over time.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">We could add a fourth disadvantage. It is hard to grasp and to apply!<\/p>\r\n\r\n<h2>Normalization<\/h2>\r\n<p class=\"import-Normal\">Functional dependency and the supporting tools should make it easier to create and maintain the database. The given reasons are to:<\/p>\r\n\r\n<ul>\r\n \t<li>Ensure the integrity of the data.<\/li>\r\n \t<li>Provide insights when a database needs to be changed.<\/li>\r\n \t<li>Support normalization.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The idea is that database designers can use the identified dependencies in order to split large tables into smaller and thus more manageable tables. The same goal can be achieved by following the normalization rules.<\/p>\r\n<p class=\"import-Normal\"><em>Normalization<\/em> is a step-by-step process for minimizing redundancy in a database. There are six normal forms. Taking a relational database to the first three would solve most issues.<\/p>\r\n<p class=\"import-Normal\">Normalization:<\/p>\r\n\r\n<ul>\r\n \t<li>Makes the database more efficient.<\/li>\r\n \t<li>Prevents the same data from being stored in more than one place. The redundancy issue.<\/li>\r\n \t<li>Prevents updates being made to some data rows but not to other data. The update anomaly issue.<\/li>\r\n \t<li>Prevents data pieces from being deleted when the data should be retained. The delete anomaly issue.<\/li>\r\n \t<li>Ensures the data is accurate.<\/li>\r\n \t<li>Reduces the storage space that a database requires.<\/li>\r\n \t<li>Ensures that queries run as fast as possible.<\/li>\r\n \t<li>Avoids having very large relations.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">We will be using the following \u201cspreadsheet\u201d like database table:<\/p>\r\n\r\n<table style=\"width: 590.35pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dent Name<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Fees Paid<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Date of Birth<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject 1<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject 2<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject 3<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject 4<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Teacher Name<\/strong><sup class=\"import-FootnoteReference\"><strong><a id=\"sdfootnote11anc\" href=\"#sdfootnote11sym\">11<\/a><\/strong><\/sup><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Teacher Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Course Name<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-0000<\/p>\r\n<p class=\"import-Normal\">416-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Suki Badh<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">N4335H<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<p class=\"import-Normal\">407-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Business Intro (Business)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Nelson Eng<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">N4335J<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Computer Studies &amp; Information Systems<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-0000<\/p>\r\n<p class=\"import-Normal\">236-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Jennifer Barker<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">A3083<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-0000<\/p>\r\n<p class=\"import-Normal\">702-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Jessie Clasen<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">S3616<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.15 A \u201cspreadsheet\u201d like database table.<\/p>\r\n<p class=\"import-Normal\">This is a fine spreadsheet. We have the full name of a student. We know when they paid their fees. We know where they live. We see two contact phone numbers for each student. We can see some courses. We see information about the teachers.<\/p>\r\n<p class=\"import-Normal\">But is this a useful spreadsheet? The columns for subjects contain many empty cells. We cannot tell if the instructor data is about a course or about an academic advisor area. We do not know when a course is being offered or if a student is repeating a course. We cannot tell anything about the schedule for a student. We cannot tell what courses an instructor is teaching.<\/p>\r\n\r\n<h3>First Normal Form (1NF)<\/h3>\r\n<em>First Normal Form (1NF)<\/em> requires that each cell row is unique.\r\n<p class=\"import-Normal\">Ben who wrote \u201cDatabase Normalization: A Step-By-Step-Guide With Examples\u201d approached from a viewpoint that is different from other experts. To go from a \u201cspreadsheet\u201d database table to a First Normal Form (1NF) database table, he asks two questions:<\/p>\r\n\r\n<ul>\r\n \t<li>Does the combination of all columns make a unique row every single time?<\/li>\r\n \t<li>What field can be used to uniquely identify the row?<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">From looking at the data, the answer is \u201cYes\u201d for the first question. However, a spreadsheet could have repeated lines. A database without a defined PK could have duplicated rows. So Ben answered the first question as \u201cNo.\u201d<\/p>\r\n<p class=\"import-Normal\">For the second question, we need to inspect each field. Could we use the student\u2019s name as it is stored? The student\u2019s name could be shared by another student. Address might work, but suppose a sibling joins an older sibling at the same address. That violates the idea of using a unique field. It may be tempting to use the student\u2019s name plus another field, but that falls apart if another student with the same name comes into the same building.<\/p>\r\n<p class=\"import-Normal\">The only solution is to create a new field with unique entries. While Ben\u2019s approach is interesting and useful for 1NF, his discussion for 2NF is very long. You may read the rest of Ben\u2019s approach by looking in the reference list. For the rest of this chapter, we will follow the more common approach to normalization.<\/p>\r\n<p class=\"import-Normal\">The more common approach defines 1NF as a database table where each cell contains only one value. In the spreadsheet like database table, the phone column violates this requirement.<\/p>\r\n<p class=\"import-Normal\">Here is the revision:<\/p>\r\n\r\n<table style=\"width: 590.35pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dent Name<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Fees Paid<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Date of Birth<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject 1<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject 2<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject 3<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject 4<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Teacher Name<\/strong><sup class=\"import-FootnoteReference\"><strong><a id=\"sdfootnote12anc\" href=\"#sdfootnote12sym\">12<\/a><\/strong><\/sup><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Teacher Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Course Name<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-0000<\/p>\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Suki Badh<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">N4335H<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Suki Badh<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">N4335H<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Business Intro (Business)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Nelson Eng<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">N4335J<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Computer Studies &amp; Information Systems<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Business Intro (Business)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Nelson Eng<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">N4335J<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Computer Studies &amp; Information Systems<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-0000<\/p>\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Jennifer Barker<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">A3083<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Jennifer Barker<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">A3083<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Jessie Clasen<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">S3616<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Jessie Clasen<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">S3616<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.16 The revised \u201cspreadsheet\u201d like database table.<\/p>\r\n<p class=\"import-Normal\">This is an improvement, but there are still some issues that need to be addressed.<\/p>\r\n\r\n<h3>Second Normal Form (2NF)<\/h3>\r\n<em>Second Normal Form (2NF)<\/em> requires that a database table is in 1NF and that each non-key attribute must be functionally dependent on the primary key.\r\n<p class=\"import-Normal\">To go from an improved \u201cspreadsheet\u201d database table to a Second Normal Form (2NF) database table, we need to ask one question:<\/p>\r\n\r\n<ul>\r\n \t<li>Does this column depend upon the PK?<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The section on FDs provided the formal way of answering this question. Informally, we can determine this by asking a question about dependency upon the PK.<\/p>\r\n\r\n<table>\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Student Name<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Yes, this is dependent on the PK. A different ID would mean a different student name.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Fees Paid<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Yes, this is dependent on the PK. Each fees paid value is for a single student.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Date of Birth<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Yes, it is specific to that student.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Address<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Yes, it\u2019s specific to that student.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Subject 1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">No, this column is not dependent on the student. More than one student could be enrolled in one subject.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Subject 2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">No. Same as for Subject 1. More than one subject is allowed.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Subject 3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">No. Same rule as subject 2.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Subject 4<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">No. Same rule as subject 2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Teacher Name<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">No. The teacher\u2019s name is not dependent on the student.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Teacher Address<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">No. The teacher\u2019s address is not dependent on the student.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Course Name<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">No. The course name is not dependent on the student. We still have the question about what this is really about.<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.17 The specific questions for each column in the Students database table.<\/p>\r\n<p class=\"import-Normal\">We can remove the \u201cNo\u201d responses. Now our Students database table will have the following appearance:<\/p>\r\n\r\n<table style=\"width: 499.5pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dentName<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>FeesPaid<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Date<\/strong><strong>O<\/strong><strong>fBirth<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.18 The greatly revised Students database table.<\/p>\r\n<p class=\"import-Normal\">The various sources agree that a PK is needed. So we will follow that practice. Here is the revised Students database table with the addition of a PK column:<\/p>\r\n\r\n<table style=\"width: 500.25pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dentName<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>FeesPaid<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Date<\/strong><strong>O<\/strong><strong>fBirth<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.19 The greatly revised Students database table with an ID column.<\/p>\r\n<p class=\"import-Normal\">Many authorities write about composite keys. They state that if the PK is not a composite key, then the database table is in 2NF.<\/p>\r\n<p class=\"import-Normal\">Other authorities such as Java T Point write about the need for non-key attributes to be fully functional dependent upon the PK. One provided example is a database table that contains the teacher\u2019s ID, the subjects that they teach, and their age. The new table contains the teacher\u2019s ID and age and the other table has just the teacher\u2019s ID and subjects taught. The explanation is that age is a proper subset of a candidate key. The problem with this explanation is that age does not by itself uniquely find one row in a database table.<\/p>\r\n<p class=\"import-Normal\">We are following the majority by looking only at composite keys. In our Students database table, there are no composite keys.<\/p>\r\n<p class=\"import-Normal\">What to do with the \u201cNo\u201d columns? We would create new tables based on a reasonable grouping:<\/p>\r\n<p class=\"import-Normal\">This is the Subjects database table:<\/p>\r\n\r\n<table>\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>N<\/strong><strong>ame<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Business Intro (Business)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">5<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.20 The Subjects database table with an ID column.<\/p>\r\n<p class=\"import-Normal\">This is the Teachers database table:<\/p>\r\n\r\n<table>\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>N<\/strong><strong>ame<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>A<\/strong><strong>ddress<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>AcademicArea<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Badh Suki<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">N4335H<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Nelson Eng<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">N4335J<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Computer Studies &amp; Information Systems<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Jennifer Barker<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">A3083<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Jessie Clasen<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">S3616<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.21 The Teachers database table with an ID column.<\/p>\r\n<p class=\"import-Normal\">As you work on a database, confusing column names should become obvious. From our style guide, we see that we need a column name that self describes what the data is about. So we have renamed \u201cCourse Name\u201d as \u201cAcademicArea.\u201d<\/p>\r\n<p class=\"import-Normal\">Ben included FK in his article. We will delay addressing this topic until later.<\/p>\r\n\r\n<h3>Third Normal Form (3NF)<\/h3>\r\n<em>Third Normal Form (3NF)<\/em> requires that a database table is in 2NF and that there are no transitive dependencies. This is the situation where one column determines another column and that column determines another column.\r\n<p class=\"import-Normal\">In Figure 7.16, we had one transitive dependency. A student points to a teacher and that points to an academic area. So with a student we could point to an academic area. Drilling down on the teacher columns, we had a teacher name with teacher address and the later corrected academic area. When we removed the teacher\u2019s data from the large database table, we achieved 3NF for the Students database table.<\/p>\r\n\r\n<h3>Boyce Codd Normal Form (BCNF)<\/h3>\r\n<em>Boyce Codd Normal Form (BCNF)<\/em> requires that a database table is in 3NF and that every functional dependency X Y where X is the super key of the table. From Figure 7.19, we have the following functional dependencies:\r\n<ul>\r\n \t<li>ID --&gt; {StudentName, DateOfBirth, Address}<\/li>\r\n \t<li>ID --&gt; {FeesPaid}<\/li>\r\n \t<li>ID--&gt; {Phone}<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">The first functional dependency is in BCNF. The second functional dependency is in BCNF, although it does not have much detail. The third functional dependency has an issue and it can only be resolved with a composite key. Here are the new database tables:<\/p>\r\n\r\n<table style=\"width: 400.5pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dentName<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Date<\/strong><strong>O<\/strong><strong>fBirth<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.22 The revised Students database table.<\/p>\r\n\r\n<table style=\"width: 99pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>FeesPaid<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.23 The new fees paid database table.<\/p>\r\n<p class=\"import-Normal\">The ID number would be based on the student\u2019s ID number.<\/p>\r\n\r\n<table style=\"width: 199.2pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>PhoneID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-0000<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-9999<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Figure 7.24 The new phone database table.<\/p>\r\n<p class=\"import-Normal\">Here we need to use a composite PK, because a student could have a work phone, a home phone, and a cell phone.<\/p>\r\n\r\n<h3>Revisiting the Third Normal Form (3NF)<\/h3>\r\nIn the Students database table, we have the entire address in one cell. The addresses are fictious and the postal codes were not included. Let\u2019s add the general postal codes for each address:\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>Address<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>3 Main Street, Toronto ON M5H 0X0<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>16 Leeds Road, Orlando FL 32800<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>21 Arrow Street, Vancouver BC V5K 0X0<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>14 Milk Lane, Las Vegas NV 89000<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nFigure 7.25 Fictious postal codes for the example students\r\n<p class=\"import-Normal\">If we looked at more student data, we would discover that the postal code determines the city or town or suburb and the state or province. Using the shorthand, A determines B, which in turn determines C. Student determines the postal code, which in turn determines the city or town or suburb.<\/p>\r\n<p class=\"import-Normal\">We could remove the address data and place into a separate database table. It would be tempting to use the postal code as the PK, but that breaks down if two individuals live in the same postal code. So we need to create a local PK scheme. Here are the revised tables:<\/p>\r\n\r\n<table style=\"width: 405pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dentName<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Date<\/strong><strong>O<\/strong><strong>fBirth<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>StreetAddress<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Address<\/strong><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nFigure 7.26 Revised Students database table\r\n\r\nHere is the new address code table:\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>ID<\/strong><\/td>\r\n<td><strong>PostalCode<\/strong><\/td>\r\n<td><strong>StateOrProvice<\/strong><\/td>\r\n<td><strong>City<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>1<\/td>\r\n<td>M5H 0X0<\/td>\r\n<td>ON<\/td>\r\n<td>Toronto<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>32800<\/td>\r\n<td>FL<\/td>\r\n<td>Orlando<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>3<\/td>\r\n<td>V5K 0X0<\/td>\r\n<td>BC<\/td>\r\n<td>Vancouver<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>4<\/td>\r\n<td>89000<\/td>\r\n<td>NV<\/td>\r\n<td>Las Vegas<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nFigure 7.27 New address code database table\r\n<h3>Fourth Normal Form (4NF)<\/h3>\r\n<em>Fourth normal form (4NF)<\/em> requires that the database table is in BCNF and that there ae no non-trivial multivalued dependencies.\r\n\r\nIn Figure 7.16, we had each subject in a separate column. Our spreadsheet could have been figured in two other ways:\r\n<ul>\r\n \t<li>All of the courses in one cell.<\/li>\r\n \t<li>Each course in a separate row.<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">Here is what the first approach would look like:<\/p>\r\n\r\n<table style=\"width: 508.5pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dent Name<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Fees Paid<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Date of Birth<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject <\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics 1 (Business), Biology 1 (Science)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science), Business Intro (Business), Programming 2 (IT)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nFigure 7.28 First approach that violates 4NF.\r\n<p class=\"import-Normal\">Here is what the second approach looks like:<\/p>\r\n\r\n<table style=\"width: 431.8pt\">\r\n<tbody>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dent Name<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Fees Paid<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Date of Birth<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><strong>Subject <\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Mary Smith<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">18-Jul-00<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">09-Sep 91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">416-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Business Intro (Business),<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">James Johnson<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14-May-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">19-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">407-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Patricia Williams<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">03-Feb-01<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">12-Sep-91<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">236-555-0000<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableNormal-R\" style=\"height: 0\">\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">John Brown<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">29-Apr-02<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">17-Sep-92<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\">702-555-9999<\/p>\r\n<\/td>\r\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\r\n<p class=\"import-Normal\"><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nFigure 7.28 Second approach that violates 4NF.\r\n<p class=\"import-Normal\">When we were working on 2NF, we revised the Students database table and created a new Subjects database table and a new Teachers database table. We lost our connection between the students and their courses.<\/p>\r\nFigure 7.29 addresses this issue:\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>StudentID<\/strong><\/td>\r\n<td><strong>Subject <\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>1<\/td>\r\n<td>Economics 1 (Business)<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>1<\/td>\r\n<td>Biology 1 (Science)<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>Biology 1 (Science)<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>Business Intro (Business),<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>Programming 2 (IT)<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>3<\/td>\r\n<td>Biology 2 (Science)<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nFigure 7.29 Student course data in 4NF.\r\n<h3>Fifth Normal Form (5NF) (Also known as Project-Join Normal Form (PJNF)<\/h3>\r\n<em>F<\/em><em>if<\/em><em>th normal form (<\/em><em>5<\/em><em>NF)<\/em> requires that the database table is in 4NF and that a relation does not contain any join dependency and no joining actions that would experience a loss of data.\r\n\r\nWe have not covered yet how we use join commands to output a report from two or more tables. We have implied that this is done. 5NF is a concern for specialized scenarios where the data must be highly normalized to minimize redundancy and dependencies. Possible scenarios would be such as in data warehousing or in scientific research databases. Achieving 5NF could result in a very complex database structure with the result that the query commands are very complex. Thus, 5NF may not be a good choice for many database designs.\r\n\r\nTo gain an understanding of 5NF, consider a database for a university that has a table for courses and another table for professors. To achieve 5NF, these tables would be broken down into tables for the individual courses and for the professors.\r\n<h3>Comment on Normalization<\/h3>\r\nNormalization is a tool. It is designed to address certain issues. It also helps to see what tables are needed. In this database, we would review what has been done.\r\n\r\nUpon review of the student course data (Figure 7.29), we may realize that we could use an ID for each course. So Figure 7.29 would have the following appearance:\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>StudentID<\/strong><\/td>\r\n<td><strong>CourseID<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>1<\/td>\r\n<td>4<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>1<\/td>\r\n<td>1<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>1<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>3<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>5<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>3<\/td>\r\n<td>2<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nFigure 7.30 Student course data with Course IDs.\r\n\r\nAnd Figure 7.30 draws from the following new database table.\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>ID<\/strong><\/td>\r\n<td><strong>Subject <\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>1<\/td>\r\n<td>Biology 1 (Science)<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>2<\/td>\r\n<td>Biology 2 (Science)<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>3<\/td>\r\n<td>Business Intro (Business),<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>4<\/td>\r\n<td>Economics 1 (Business)<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>5<\/td>\r\n<td>Programming 2 (IT)<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\nFigure 7.31 Course data with Course IDs.\r\n\r\nWe may realize that we need a database table to handle enrollment in a course. Upon further review, we may realize that we need a database table for capturing what courses a teacher is scheduled to teach.\r\n\r\nSo the first time through, we captured the database tables that have just the PK. The next time through, we captured the database tables that need to use an FK. Some of these database tables might require creating a composite PK.\r\n\r\nKnowing what the customer wants document is important. Suppose the customer wants to track a student\u2019s permanent address and the local address. To do this would require removing the AddressID from the Students database table and creating a new database table that contains the StudentID and a redefined AddressID. This redefined AddressID would be a composite key that is based on the ID from the actual physical address and a serial number. This database table provides some options. We could add new columns that could be used to capture the nature of the address and when the address is active.\r\n\r\nHow far should a column be split? In this example, we left the first name and the last name in the same cell. If the person\u2019s complete name is always used and there is no requirement to order the names, then this arrangement would be acceptable. Otherwise, the name would need to be split into two columns.\r\n\r\nWhat about the address? Again, we need to understand the customer\u2019s environment. Suppose the customer is local and the database contains data on shoppers. And suppose the customer has a chain of stores. And suppose the city has numerous long streets. And suppose the customer wants to be able to create a mailing list based on a range of house numbers. And suppose the customer wants to create ads that list what products are carried at a store location. To meet the customer\u2019s requirements, we would need to create a column for the house number and another column for the street name.\r\n\r\nWhat about the word used after the address? Words like \u201cavenue,\u201d \u201cboulevard,\u201d \u201ccourt,\u201d \u201clane,\u201d \u201cparkway,\u201d \u201cplace,\u201d \u201croad,\u201d \u201croute,\u201d \u201cstreet,\u201d \u201cview,\u201d and \u201cway\u201d are normally kept with the address in the same cell. Consider Atlanta Georgia. By one count, there are over 70 streets that contain the word \u201cPeachtree.\u201d There is no issue about the ordering of columns in a database table. When a query is executed against a database table, you would indicate the ordering of the columns. So in languages that place the adjectives before a noun like the French language, there is no problem. You would need to determine if \u201cAvenue,\u201d \u201cBoulevard,\u201d \u201cRoute,\u201d \u201cRue,\u201d and so on should be in the same cell or not.\r\n\r\nThe United States Postal Service (USPS) uses the word \u201cdirectionals\u201d to refer to the part of the address that has compass headings. There is no requirement for the placement of a directional word. The guidance is about how to express a directional.\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td><strong>USPS Preferred<\/strong><\/td>\r\n<td><strong>USPS Acceptable<\/strong><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>234 N BAY ST<\/td>\r\n<td>234 NORTH BAY ST<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>123 BAY DR W<\/td>\r\n<td>123 DRIVE WEST<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>567 NORTH EAST MAIN ST<\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<tr>\r\n<td>222 COUNTY ROAD N E<\/td>\r\n<td>222 COUNTY RD N EAST<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>44 SOUTHEAST FWY N<\/td>\r\n<td>44 SOUTHEAST FREEWAY NORTH<\/td>\r\n<\/tr>\r\n<tr>\r\n<td>777 BAY WEST DR<\/td>\r\n<td>777 BAY W DRIVE<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<span style=\"text-align: initial;font-size: 1em\">Figure 7.32 United States Postal Service address formats (Based on Publication 28 \u2013 Postal Addressing Standards.)<\/span>\r\n\r\n<span style=\"text-align: initial;font-size: 1em\">These issues would need to be considered while developing a database for a customer. <\/span>\r\n\r\n<span style=\"text-align: initial;font-size: 1em\">The student database example had students in one table and teachers in another table. We could have put students, teachers, and staffers into one table. If we did this, then we might find it useful to add a column that would provide data on the relationship to the college. The teachers\u2019 office information might need to be placed in a different table. Why? The city name, the state or province, and the postal code would be the same for every individual that has an office on the main campus. <\/span>\r\n\r\n<span style=\"text-align: initial;font-size: 1em\">Again, the planned usage of the data would determine how to split out the pieces. You may find some redundancy is desirable.Again, the time spent asking the customer about the requirements is time well spent. The obtained insights will make the task of creating useful database tables better.<\/span>\r\n<h2>Key Terms<\/h2>\r\n<p class=\"import-Normal\"><strong>attribute closure<\/strong><strong>: <\/strong> This is a set of attributes that can be functionally determined from it.<\/p>\r\n<p class=\"import-Normal\"><strong>Boyce Codd Normal Form<\/strong><strong> (BCNF)<\/strong>: This requires that a database table is in 3NF and that every functional dependency X --&gt; Y where X is the super key of the table.<\/p>\r\n<p class=\"import-Normal\"><strong>c<\/strong><strong>omplete<\/strong>: This means that when using the primary rules of the Armstrong\u2019s Axioms repeatedly for inferring other dependencies that continue until we reach a stopping point, we will have a complete set of dependencies.<\/p>\r\n<p class=\"import-Normal\"><strong>deletion anomaly<\/strong><strong>: <\/strong>When a database table is not well-designed, problems can arise when a row is deleted. The deleted row might contain data that does not appear elsewhere in the database table.<\/p>\r\n<p class=\"import-Normal\"><strong>First Normal Form (1NF)<\/strong><strong>: <\/strong> This requires that each cell contains only one value.<\/p>\r\n<p class=\"import-Normal\"><strong>Fifth normal form (5NF)<\/strong>: This requires that the database table is in 4NF and that a relation does not contain any join dependency and no joining actions that would experience a loss.<\/p>\r\n<strong>Fourth normal form (4NF)<\/strong>: This requires that the database table is in BCNF and that there ae no non-trivial multivalued dependencies.\r\n<p class=\"import-Normal\"><strong>functional dependency (FD)<\/strong><strong>: <\/strong> This is a relationship between attributes such as between the PK and the non-key attributes. Something determines the other attributes. An FD is a database constraint that determines the relationship of one attribute to another attribute. FDs help to maintain the quality of data in a database.<\/p>\r\n<p class=\"import-Normal\"><strong>functional dependency set (FD set)<\/strong><strong>: <\/strong> This is the set of all FDs in a relation.<\/p>\r\n<p class=\"import-Normal\"><strong>insertion anomaly<\/strong><strong>: <\/strong> When a database table is not well-designed, problems can arise when a new row is added. The new row might contain revised data that needs to be applied to other rows<strong>.<\/strong><\/p>\r\n<p class=\"import-Normal\"><strong>normalization<\/strong><strong>: <\/strong> This is a step-by-step process for minimizing redundancy in a database. There are five normal forms<strong>.<\/strong><\/p>\r\n<p class=\"import-Normal\"><strong>Project-Join Normal Form (PJNF)<\/strong><strong>: <\/strong>See Fifth Normal Form.<\/p>\r\n<p class=\"import-Normal\"><strong>redundancy<\/strong><strong>: <\/strong> This is when data appears in some fashion two more times in a table. This is undesirable, because it causes problems.<\/p>\r\n<p class=\"import-Normal\"><strong>Second Normal Form (2NF)<\/strong><strong>: <\/strong> This requires that a database table is in 1NF and that each non-key attribute must be functionally dependent on the primary key.<\/p>\r\n<p class=\"import-Normal\"><strong>sound<\/strong><strong>:<\/strong> This means that for a given set of FDs that are specified for a relation schema, a person should be able infer any dependency from the FDs by using the primary rules of Armstrong\u2019s Axioms and that these will hold in every relation state of the relational schema R that satisfies the dependencies in the FDs.<\/p>\r\n<p class=\"import-Normal\"><strong>Third Normal Form (2NF)<\/strong><strong>: <\/strong> This requires that a database table is in 2NF and that there are no transitive dependencies.<\/p>\r\n<p class=\"import-Normal\"><strong>Update anomaly<\/strong><strong>: <\/strong> When a database table is not well-designed, problems can arise when a row is updated. The updated row might contain revised data that needs to be applied to other rows. This is similar to the situation of adding a new row to a database.<\/p>\r\n\r\n<h2>Exercises<\/h2>\r\n<ol>\r\n \t<li class=\"import-Normal\">Explain or define the following terms:\r\n<ol>\r\n \t<li class=\"import-Normal\">Redundancy<\/li>\r\n \t<li class=\"import-Normal\">Insertion anomaly<\/li>\r\n \t<li class=\"import-Normal\">Update anomaly<\/li>\r\n \t<li class=\"import-Normal\">Deletion anomaly<\/li>\r\n \t<li class=\"import-Normal\">Functional dependency<\/li>\r\n \t<li class=\"import-Normal\">Trivial Functional Dependency<\/li>\r\n \t<li class=\"import-Normal\">Non-Trivial Functional Dependency<\/li>\r\n \t<li class=\"import-Normal\">Multivalued Functional Dependency<\/li>\r\n \t<li class=\"import-Normal\">Transitive Functional Dependency<\/li>\r\n \t<li class=\"import-Normal\">Functional Dependent Set<\/li>\r\n \t<li class=\"import-Normal\">Attribute closure<\/li>\r\n \t<li class=\"import-Normal\">Armstrong\u2019s Axioms<\/li>\r\n \t<li class=\"import-Normal\">Normalization<\/li>\r\n \t<li class=\"import-Normal\">First Normal Form<\/li>\r\n \t<li class=\"import-Normal\">Second Normal Form<\/li>\r\n \t<li class=\"import-Normal\">Third Normal Form<\/li>\r\n \t<li>Describe the properties of BCNF, \u2026. [Familiarity] (CS2013 IM\/RD 11)<\/li>\r\n \t<li>Fourth Normal Form<\/li>\r\n \t<li>Describe the properties of \u2026 PJNF, 5NF. [Familiarity] (CS2013 IM\/RD 11)<\/li>\r\n<\/ol>\r\n<\/li>\r\n \t<li class=\"import-Normal\">An agency called Instant Cover supplies part-time\/temporary staff to hotels in Scotland. Figure 7.33 lists the time spent by agency staff working at various hotels. The national insurance number (NIN) is unique for every member of staff.<\/li>\r\n<\/ol>\r\n<table>\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>NIN<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>ContractNumber<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Hours<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>EmployeeName<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>HotelNumber<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>HotelLocation<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1135<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">C1024<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">16<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Smith J.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">H25<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">East Killbride<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1057<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">C1024<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">24<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Hocine D.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">H25<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">East Killbride<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">106<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">C1025<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">28<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">White T.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">H4<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Glasgow<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1135<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">C1025<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">15<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Smith J.<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">H4<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Glasgow<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\" style=\"margin-left: 18pt\">Figure 7.33 Instant Cover table (Updated rendering of Figure 12.4 from the second edition.)<\/p>\r\n\r\n<ul>\r\n \t<li>This table is susceptible to update anomalies. Provide examples of insertion, deletion and update anomalies.<\/li>\r\n \t<li>Normalize this table to third normal form. State any assumptions.<\/li>\r\n \t<li>Explain the impact of normalization on the efficiency of database operations especially query optimization. [Familiarity] (CS2013 IM\/RD 12)<\/li>\r\n \t<li class=\"import-Normal\">Determine the functional dependency between two or more attributes that are a subset of a relation. [Assessment] (CS2013 IM\/RD 6) Ten would be good. Twenty would be excellent.<\/li>\r\n<\/ul>\r\n<table style=\"width: 455.45pt\">\r\n<tbody>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>ID<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Building<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>C<\/strong><strong>offee<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>D<\/strong><strong>oughnuts<\/strong><\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>College<\/strong><\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">1<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Mathematics<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Roast<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Churro<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Douglas<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">2<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Mathematics<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Drip<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Cruller<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Douglas<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">3<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Science<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Roast<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Churro<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Douglas<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">4<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Science<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Drip<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Cruller<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Douglas<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr class=\"TableGrid-R\">\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">5<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">English<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Expresso<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Churro<\/p>\r\n<\/td>\r\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\r\n<p class=\"import-Normal\">Douglas<\/p>\r\n<\/td>\r\n<\/tr>\r\n<tr>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<td><\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<p class=\"import-Normal\">Table 7.7 Functional dependency table problem<\/p>\r\n<p class=\"import-Normal\">3.\u00a0 For Table 7.7, what would be the PK? Connect constraints expressed as primary key and foreign key, with functional dependencies. [Usage] (CS2013 IM\/RD 7)<\/p>\r\n<p class=\"import-Normal\">4.\u00a0 There are different viewpoints about what is meant by the expression of a multivalued functional dependency. Use the first viewpoint from this chapter. Create an example of this viewpoint. Describe what is a multi-valued dependency and what type of constraints it specifies. [Familiarity] (CS2013 IM\/RD 13)<\/p>\r\n<p class=\"import-Normal\">5.\u00a0 Compute the closure of a set of attributes under given functional dependencies. [Usage] (CS 2013 IM\/RD 8)<\/p>\r\n\r\n<ul>\r\n \t<li class=\"import-Normal\">Given R = {E, F, G, H, I, J, K, L, M, N}<\/li>\r\n \t<li class=\"import-Normal\">FDs: {{E, F} -&gt; {G}, {F} -&gt; {I, J}, {E, H} -&gt; {K, L}, K -&gt; {M}, L -&gt; {N}<\/li>\r\n \t<li class=\"import-Normal\">What is {E, F, H}+?<\/li>\r\n \t<li class=\"import-Normal\">What is {E,F, H, K, L}+?<\/li>\r\n<\/ul>\r\n<p class=\"import-Normal\">6.\u00a0 For question 5, which result set would be a candidate key? Explain your choice. Determine whether a set of attributes form a superkey and\/or candidate key for a relation with given functional dependencies. [Assessment] (CS2013 IM\/RD 9)<\/p>\r\n<p class=\"import-Normal\">7.\u00a0 For question 5, list the Armstrong Axioms and rules that you used.<\/p>\r\n<p class=\"import-Normal\">8.\u00a0 Express the relationship between functional dependencies and keys, and give examples. (IT2017 ITE-IMA-04c)<\/p>\r\n<p class=\"import-Normal\">9.\u00a0 Illustrate data quality, accuracy, and timeliness, and explain how their absence will impact organizations. (IT2017 ITE-IMA-02c) In your answer address the topic of normalization.<\/p>\r\n\r\n<h2>A Running Project<\/h2>\r\n<p class=\"import-Normal\">A running project was introduced in Chapter 2. You were encouraged to collect insights about the needs. In Chapter 3, you were told to use a word processor to create tables with columns for the entity pieces. In Chapter 4, you were told to identify the data types. In Chapter 5, you were told to create ERD. In Chapter 6, you were told to revise your ERD to add PK and FK to your tables. You were told to add cardinality between the tables.<\/p>\r\n<p class=\"import-Normal\">For this chapter, you are to review your tables. Use the normalization steps to bring your database to 3NF.<\/p>\r\n<p class=\"import-Normal\">Again, review what you have collected. Have you overlooked anything?<\/p>\r\n\r\n<h2>Attribution<\/h2>\r\n<p class=\"import-Normal\">This chapter of\u00a0<em>Database Design<\/em> is a derivative copy of\u00a0<a class=\"rId13\" href=\"http:\/\/cnx.org\/contents\/b57b8760-6898-469d-a0f7-06e0537f6817@1\"><span class=\"import-ListLabel112\">Database System Concepts<\/span><\/a>\u00a0by\u00a0Nguyen Kim Anh\u00a0licensed under\u00a0<a class=\"rId14\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\"><span class=\"import-ListLabel112\">Creative Commons Attribution License 3.0 license<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">The second edition chapter 10\u2019s title was misleading. It had a title of \u201cER Modeling,\u201d but the actual material was about redundancy and anomalies. The second edition chapter 11 was about functional dependencies and Armstrong\u2019s Axioms and Rules. Table 11.1 was used, but the figure on dependency diagram was not used. The second edition chapter 12 was about normalization. Question 8 with Figure 12.4 was used. Adrienne Watt was listed as the author for all three chapters.<\/p>\r\n<p class=\"import-Normal\">This chapter drew from many sources. The information was completely revised by Fred Strickland for the third edition.<\/p>\r\n\r\n<h2>Image Attributions<\/h2>\r\n<p class=\"import-Normal\">Figures 7.2, 7.3, 7.4, and 7.5 came from A. Watt in the second edition.<\/p>\r\n\r\n<h2>References<\/h2>\r\n<p class=\"import-Normal\">Agnieszka Kozubek. \u201cHow To Find the Closure of a Set of Attributes (With Examples),\u201d Vertabelo, February 11, 2021. <a class=\"rId15\" href=\"https:\/\/vertabelo.com\/blog\/closure-of-a-set-of-attributes\"><span class=\"import-InternetLink\">https:\/\/vertabelo.com\/blog\/closure-of-a-set-of-attributes<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cArmstrong\u2019s axioms,\u201d Tutorial Ride.com, n.d. <a class=\"rId16\" href=\"https:\/\/www.tutorialride.com\/dbms\/armstrongs-axioms.htm\"><span class=\"import-InternetLink\">https:\/\/www.tutorialride.com\/dbms\/armstrongs-axioms.htm<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cArmstrong\u2019s Axioms in Functional Dependency in DBMS,\u201d Geeks for Geeks, July 19, 2023. <a class=\"rId17\" href=\"https:\/\/www.geeksforgeeks.org\/armstrongs-axioms-in-functional-dependency-indbms\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/armstrongs-axioms-in-functional-dependency-indbms\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">Ben. \u201cDatabase Normalization: A Step-By-Step-Guide With Examples,\u201d Database Star, September 26, 2022. <a class=\"rId18\" href=\"https:\/\/www.databasestar.com\/database-normalization\/\"><span class=\"import-Hyperlink\">https:\/\/www.databasestar.com\/database-normalization\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cBoyce Codd normal form (BCNF,\u201d Java T Point, n.d. <a class=\"rId19\" href=\"https:\/\/www.javatpoint.com\/dbms-boyce-codd-normal-form\"><span class=\"import-Hyperlink\">https:\/\/www.javatpoint.com\/dbms-boyce-codd-normal-form<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">Fiona Brown. \u201cFunctional Dependency in DBMS: What is, Types and Examples,\u201d Guru99, June 28, 2024. <span class=\"import-InternetLink\">https:\/\/www.guru99.com\/dbms-functional-dependency.html<\/span><\/p>\r\n<p class=\"import-Normal\">\u201cFirst Normal Form (1NF),\u201d Javat T Point, n.d. <a class=\"rId20\" href=\"https:\/\/www.javatpoint.com\/dbms-first-normal-form\"><span class=\"import-Hyperlink\">https:\/\/www.javatpoint.com\/dbms-first-normal-form<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cFourth normal form (4NF),\u201d Java T Point, n.d. <a class=\"rId21\" href=\"https:\/\/www.javappont.com\/dbms-forth-normal-form\"><span class=\"import-Hyperlink\">https:\/\/www.javappont.com\/dbms-forth-normal-form<\/span><\/a> Note: This is how the URL was formed.<\/p>\r\n<p class=\"import-Normal\">\u201cFunctional Dependency and Attribute Closure,\u201d Geeks for Geeks, November 7, 2023. <a class=\"rId22\" href=\"https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cFunctional Dependency in DBMS (Types and Examples),\u201d DatabaseTown, n.d. <a class=\"rId23\" href=\"https:\/\/databasetown.com\/functional-dependency-in-dbms\/\"><span class=\"import-InternetLink\">https:\/\/databasetown.com\/functional-dependency-in-dbms\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cSecond Normal Form (2NF),\u201d Java T Point, n.d. <a class=\"rId24\" href=\"https:\/\/www.javatpoint.com\/dbms-second-normal-form\"><span class=\"import-Hyperlink\">https:\/\/www.javatpoint.com\/dbms-second-normal-form<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cThird Normal Form,\u201d Better Data Engineer, n.d. <a class=\"rId25\" href=\"https:\/\/betterdataengineer.com\/docs\/databse-fundamentals\/normalization\/3nf\"><span class=\"import-Hyperlink\">https:\/\/betterdataengineer.com\/docs\/databse-fundamentals\/normalization\/3nf<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cTypes of Functional dependencies in DBMS,\u201d\u201d Geeks for Geeks, June 12, 2023. <a class=\"rId26\" href=\"https:\/\/www.geeksforgeeks.org\/types-of-functional-dependencies-in-dbms\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/types-of-functional-dependencies-in-dbms\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\">\u201cWhat is Functional Dependency in DBMS?\u201d Geeks for Geeks, May 2, 2024. <a class=\"rId27\" href=\"https:\/\/www.geeksforgeeks.org\/what-is-functional-dependency-in-dbms\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/what-is-functional-dependency-in-dbms\/<\/span><\/a><\/p>\r\n<p class=\"import-Normal\" style=\"padding-left: 40px\">The writer incorrectly explains a trivial functional dependency. The writer has a different understanding of a multivalued functional dependency.<\/p>\r\n&nbsp;\r\n<div id=\"sdfootnote1sym\"><a href=\"#sdfootnote1anc\">1<\/a> Most of the writing was done with Microsoft Word. Once I had to use LibreOffice Writer and these arrows were rendered as tiny empty boxes.<\/div>\r\n<div>\r\n\r\n2 The \u201cother\u201d writers include the following:\r\n<ul>\r\n \t<li>\u201cTypes of Functional dependencies in DBMS,\u201d Geeks for Geeks, June 12, 2023. <a href=\"https:\/\/www.geeksforgeeks.org\/types-of-functional-dependencies-in-dbms\/\">https:\/\/www.geeksforgeeks.org\/types-of-functional-dependencies-in-dbms\/<\/a><\/li>\r\n \t<li>\u201cFunctional Dependency in DBMS (Types and Examples),\u201d DatabaseTown, n.d. <a href=\"https:\/\/databasetown.com\/functional-dependency-in-dbms\/\">https:\/\/databasetown.com\/functional-dependency-in-dbms\/<\/a><\/li>\r\n \t<li>Many writers do not address multivalued functional dependency.\u00a0 The second edition did not address this topic. Two websites did not address this topic.\u00a0 The five cited textbooks are from my personal library and these did not address this topic.\r\n<ul>\r\n \t<li>\u201cFunctional Dependency,\u201d Java T Point, n.d. <a href=\"https:\/\/www.javatpoint.com\/dbms-functional-dependency\">https:\/\/www.javatpoint.com\/dbms-functional-dependency<\/a><\/li>\r\n \t<li>\u201cFunctional Dependency and Attribute Closure,\u201d Geeks for Geeks, November 7, 2023. <a href=\"https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/\">https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/<\/a><\/li>\r\n \t<li>Thomas Connolly and Carolyn Begg. \u201cNormalization, \u201c<em>Database Systems<\/em>, 3rd edition: Addison Wesley, 2002<\/li>\r\n \t<li>Carlos Coronel, Steven Morris, and Peter Rob. \u201c<em>The Relational Database Model,\u201d Database Systems:\u00a0 Design, Implementation, and Management, <\/em>10th edition:\u00a0 Course Technology, 2013<\/li>\r\n \t<li>Jeffrey A. Hoffer, V. Ramesh, and Heikki Topi. \u201cDatabase Design,\u201d <em>Modern Database Management<\/em>, 11th edition:\u00a0 Pearson, 2013.<\/li>\r\n \t<li>David M. Kroenke and David J. Auer. \u201cThe Relational Model and Normalization,\u201d <em>Database Processing:\u00a0 Fundamentals, Design, and Implementation<\/em>, 13th edition:\u00a0 Pearson, 2014.<\/li>\r\n \t<li>Philip J. Pratt and Joseph J. Adamski. \u201cDatabase Design 1:\u00a0 Normalization,\u201d <em>Concepts of Database Management<\/em>, 7th edition:\u00a0 Course Technology, 2012.<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n<\/div>\r\n<div>\r\n\r\n3 The top two popular male names in North America according to <a href=\"https:\/\/names.mongabay.com\/male_names.htm\">https:\/\/names.mongabay.com\/male_names.htm<\/a> and the top two popular female names in North America according to <a href=\"https:\/\/names.mongabay.com\/female_names.htm\">https:\/\/names.mongabay.com\/female_names.htm<\/a>\r\n\r\n4 The top four most common last names in the United States according to <a href=\"https:\/\/names.mongabay.com\/data\/1000.html\">https:\/\/names.mongabay.com\/data\/1000.html<\/a>\r\n\r\n5 An arbitrary search revealed that these cities are the most popular for trips in Canada and in the United States.\r\n\r\n6 These are the four most common birthdays in the world according to <a href=\"https:\/\/www.worldatlas.com\/society\/the-most-common-birthdays-in-the-world.html\">https:\/\/www.worldatlas.com\/society\/the-most-common-birthdays-in-the-world.html<\/a>\r\n\r\n<\/div>\r\n<div id=\"sdfootnote7sym\"><a href=\"#sdfootnote7anc\">7<\/a> Another tool that has fallen out of favor is flow charting. These worked well for procedure programming where the data is not hidden. These do not work for an object-oriented programming language. UML diagrams are more useful. In an academic setting, instructors would tell the students to create flow charts, then write the program. In reality, students tended to write the program, then create the flow charts. So much for proper procedure programming steps!<\/div>\r\n<div>\r\n\r\n8 Recall that a super key is a set of one or more attributes that can uniquely identify a row in a table.\r\n\r\n9 Recall that a candidate key is a minimal set of attributes that can locate one row in a database table.\u00a0 Candidate keys are selected from the set of super keys with the requirement that no redundant attributes are included.\r\n\r\n<\/div>\r\n<div>10 This symbol (\u2286) means member of.<\/div>\r\n<div><\/div>\r\n<div id=\"sdfootnote11sym\"><a href=\"#sdfootnote11anc\">11<\/a> These are real instructors at Douglas College. The data about their office locations and subject areas are real.<\/div>\r\n<div id=\"sdfootnote12sym\"><a href=\"#sdfootnote12anc\">12<\/a> These are real instructors at Douglas College. The data about their office locations and subject areas are real.<\/div>\r\n<div id=\"sdfootnote13sym\"><a href=\"#sdfootnote13anc\">13<\/a> I have ignored the fact that in some countries, the suburb is part of the address field.<\/div>\r\n<\/div>","rendered":"<div class=\"chapter-7-redundancy,-functional-dependencies,-closure,-and-normalization-\">\n<p class=\"import-Normal\">Original Chapter 10 Author: Adrienne Watt<\/p>\n<p class=\"import-Normal\">Original Chapter 11 Author: Adrienne Watt<\/p>\n<p class=\"import-Normal\">Original Chapter 12 Author: Adrienne Watt<\/p>\n<p class=\"import-Normal\">Rewrite: Fred Strickland<\/p>\n<h2>Learning Outcomes<\/h2>\n<table style=\"width: 467.5pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><strong>Computing Sub Discipline<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><strong>Document Code, Reference Code, and Page Number<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><strong>Text<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 67.9pt\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\" rowspan=\"3\">\n<p class=\"import-Normal\">Computer Science<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS2013<\/p>\n<p class=\"import-Normal\">IM\/Relational Databases (RD)<\/p>\n<p class=\"import-Normal\">(Page 115-116)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">6. Determine the functional dependency between two or more attributes that are a subset of a relation. [Assessment]<\/p>\n<p class=\"import-Normal\">7. Connect constraints expressed as primary key and foreign key, with functional dependencies. [Usage]<\/p>\n<p class=\"import-Normal\">8. <a id=\"_Hlk173043547\"><\/a>Compute the closure of a set of attributes under given functional dependencies. [Usage]<\/p>\n<p class=\"import-Normal\">9. Determine whether a set of attributes form a superkey and\/or candidate key for a relation with given functional dependencies. [Assessment]<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Repeated learning outcome.<\/p>\n<p class=\"import-Normal\">11. Describe the properties of BCNF, PJNF, 5NF. [Familiarity]<\/p>\n<p class=\"import-Normal\">12. <a id=\"_Hlk173043656\"><\/a>Explain the impact of normalization on the efficiency of database operations especially query optimization. [Familiarity]<\/p>\n<p class=\"import-Normal\">13. Describe what is a multi-valued dependency and what type of constraints it specifies. [Familiarity]<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 67.9pt\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS2023<\/p>\n<p class=\"import-Normal\">DM-Core: Core Database Systems Concepts<\/p>\n<p class=\"import-Normal\">(Pages 115-116)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS Core 6. Normalization<\/p>\n<p class=\"import-Normal\">ILO CS Core 7. Describe the advantages for eliminating duplicate repeated data.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 67.9pt\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">CS2023<\/p>\n<p class=\"import-Normal\">DM-Relational: Relational Databases<\/p>\n<p class=\"import-Normal\">(Pages 117-118)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">KA Core 5. Introduction to Functional dependency theory.<\/p>\n<p class=\"import-Normal\">KA Core 6. Normalization Theory<\/p>\n<p class=\"import-Normal\">KA Core 6a. Decomposition of a schema; lossless join, and dependency-preservation properties of a decomposition<\/p>\n<p class=\"import-Normal\">KA Core 6b. Normal forms (BCNF)<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">KA Core 6c. Denormalization (for efficiency)<\/p>\n<p class=\"import-Normal\">Non-core 7. Functional dependency theory<\/p>\n<p class=\"import-Normal\">Non-core 7a. Closure of a set of attributes<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Non-core 7b. Canonical Cover<\/p>\n<p class=\"import-Normal\">Non-core 8. Normalization theory<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Non-core 8a. Multi-valued dependency (4NF)<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Non-core 8b. Join dependency (PJNF, 5NF)<\/p>\n<p class=\"import-Normal\">ILO KA Core 6. Describe how functional dependency theory generalizes the notion of key.<\/p>\n<p class=\"import-Normal\">ILO KA Core 7. Defend a given decomposition as lossless and or dependency preserving.<\/p>\n<p class=\"import-Normal\">ILO KA Core 8. Detect which normal form a given decomposition yields.<\/p>\n<p class=\"import-Normal\">ILO KA Core 9. Comment on reasons for denormalizing a relation.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 61.6pt\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\" rowspan=\"2\">\n<p class=\"import-Normal\">Information Technology<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">IT2017<\/p>\n<p class=\"import-Normal\">ITE-IMA-02 Data information concepts<\/p>\n<p class=\"import-Normal\">(Page 92)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c. Illustrate data quality, accuracy, and timeliness, and explain how their absence will impact organizations.<\/p>\n<p class=\"import-Normal\">Repeated learning outcome<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 58pt\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">IT2017<\/p>\n<p class=\"import-Normal\">ITE-IMA-04 Database query languages<\/p>\n<p class=\"import-Normal\">(Page 92)<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c. <a id=\"_Hlk173043781\"><\/a>Express the relationship between functional dependencies and keys, and give examples.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Introduction to Chapter 7<\/h2>\n<p class=\"import-Normal\">Chapter 6 addressed the mechanisms for preventing bad or duplicate data from being entered into a database. We looked at integrity rules, constraints, and cardinality for ensuring the high quality of the data. From the \u201cseat of the pants,\u201d we figured out what tables we might need. What if you are starting with no suggestions and with no guidance? If you have extensive experience with spreadsheets, you might be tempted to create one huge database table. There are issues with this approach. There is a reasonable approach for avoiding these issues.<\/p>\n<h2>The Third Edition Style Guide<\/h2>\n<p class=\"import-Normal\">This is the style guide that this book will follow for this chapter and for the other chapters.<\/p>\n<table style=\"width: 229.25pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Naming Convention:<\/p>\n<ul>\n<li>All English names<\/li>\n<li>Plural table names<\/li>\n<li>Singular column names<\/li>\n<li>Capitalized words<\/li>\n<li>Pascal Case for composite names<\/li>\n<li>No underscores or special characters<\/li>\n<li>No unique SQL commands<\/li>\n<li>No object prefixes<\/li>\n<\/ul>\n<p class=\"import-Normal\">Using the IE\u2019s Notation with Crow\u2019s Foot Notation.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.1 The database style guide. Adapted from https:\/\/vertabelo.com\/blog\/database-schema-naming-conventions\/<\/p>\n<h2>The Redundancy Issue<\/h2>\n<p class=\"import-Normal\"><em>Redundancy<\/em> is when data appears in some fashion two more times in a table. This is undesirable, because it causes problems.<\/p>\n<table style=\"width: 467.5pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Third edition<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<table style=\"width: 456.2pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">AccountNumber<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Balance<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Customer<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">Branch<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">Address<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">Assets<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-101<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">500<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1313131<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Downtown<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brooklyn<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">9000000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-102<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">400<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1313131<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Perryridge<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">1700000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-113<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">600<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">9876543<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Round Hill<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-201<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">900<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">9876543<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brighton<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brookly<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">7100000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-215<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">700<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1111111<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Manus<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">400000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-222<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">700<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1111111<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Redwood<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Palo Alto<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">2100000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-305<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">350<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1234567<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Round Hill<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Second Edition<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image1-2.jpeg\" alt=\"image\" width=\"300px\" height=\"197px\" \/><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.2 Example of a table containing redundant data. The bottom image is a reproduction of Figure 10.1 from the second edition (A. Watt).<\/p>\n<p class=\"import-Normal\">In Figure 7.2, Customer 1313131 appears twice, because of two accounts (A-101 and A102). This is true for Customer 976543 and for 1111111. What could go wrong?<\/p>\n<h3>Insertion Anomaly<\/h3>\n<p class=\"import-Normal\">An <em>insertion anomaly<\/em> occurs when you are inserting inconsistent information into a table. When we insert a new record, such as account number A-306 in Figure 7.3, we need to check that the branch data is consistent with existing rows.<\/p>\n<table style=\"width: 467.5pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Third edition<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<table style=\"width: 456.2pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>AccountNumber<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Balance<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Customer<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Branch<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Assets<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-101<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">500<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1313131<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Downtown<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brooklyn<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">9000000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-102<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">400<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1313131<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Perryridge<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">1700000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-113<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">600<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">9876543<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Round Hill<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-201<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">900<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">9876543<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brighton<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brookly<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">7100000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-215<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1111111<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Manus<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">400000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-222<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1111111<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Redwood<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Palo Alto<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">2100000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-305<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">350<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1234567<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Round Hill<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">A-306<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\"><span style=\"color: #33cccc\">800<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">1111111<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Round Hill<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Horseneck<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\"><span style=\"color: #33cccc\">8000800<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Second Edition<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image2-2.jpeg\" alt=\"image\" width=\"300px\" height=\"222px\" \/><\/p>\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.3 Example of an insertion anomaly. The bottom image is a reproduction of Figure 10.2 from the second edition (A. Watt).<\/p>\n<p class=\"import-Normal\">The issue is that the asset boxes for A-113 and for A-305 do not agree with the figure for A-306. To keep the data consisted, we would need to revise the figures for these other two accounts.<\/p>\n<h3>Update Anomaly<\/h3>\n<p class=\"import-Normal\">The last paragraph was a hint to this issue. An <em>update anomaly<\/em> occurs when you are updating data and similar rows need to be found and updated. Figure 7.4 shows this situation for the Round Hill branch.<\/p>\n<table style=\"width: 467.5pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Third edition<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<table style=\"width: 456.2pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>AccountNumber<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Balance<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Customer<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Branch<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Assets<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-101<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">500<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1313131<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Downtown<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brooklyn<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">9000000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-102<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">400<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1313131<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Perryridge<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">1700000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-113<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">600<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">9876543<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Round Hill<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Palo Alto<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-201<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">900<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">9876543<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brighton<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brookly<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">7100000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-215<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1111111<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Manus<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">400000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-222<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1111111<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Redwood<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Palo Alto<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">2100000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-305<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">350<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1234567<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Round Hill<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Horseneck<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Second Edition<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image3-2.jpeg\" alt=\"image\" width=\"300px\" height=\"198px\" \/><\/p>\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.4 Example of an update anomaly. The bottom image is a reproduction of Figure 10.3 from the second edition (A. Watt).<\/p>\n<p class=\"import-Normal\">The issue here is that the Round Hill address has changed from Horseneck to Palo Alto. A-113 was updated, but A-305 data was not updated.<\/p>\n<h3>Deletion Anomaly<\/h3>\n<p class=\"import-Normal\">A <em>deletion anomaly<\/em> occurs when you are deleting data and the record contains data that might be important to retain. Figure 7.5 shows that A-101 is the last account at the Downtown branch. If we delete this record, then we lose access to the Downtown branch address and to the asset figure.<\/p>\n<table style=\"width: 467.5pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Third edition<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<table style=\"width: 456.2pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>AccountNumber<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Balance<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Customer<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Branch<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Assets<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-101<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">500<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1313131<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Downtown<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\"><span style=\"color: #33cccc\">Brooklyn<\/span><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\"><span style=\"color: #33cccc\">9000000<\/span><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-102<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">400<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1313131<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Perryridge<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">1700000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-113<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">600<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">9876543<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Round Hill<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Palo Alto<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-201<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">900<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">9876543<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brighton<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brookly<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">7100000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-215<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1111111<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Manus<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">400000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-222<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">700<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1111111<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Redwood<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Palo Alto<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">2100000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">A-305<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">350<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1234567<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Round Hill<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Horseneck<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;padding: 0 0 0 4.9pt;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: right\">8000000<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Second Edition<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid #000000 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-content\/uploads\/sites\/2211\/2025\/01\/image4.jpeg\" alt=\"image\" width=\"300px\" height=\"195px\" \/><\/p>\n<p class=\"import-Normal\" style=\"text-align: center\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.5 Example of an update anomaly. The bottom image is a reproduction of Figure 10.4 from the second edition (A. Watt).<\/p>\n<p class=\"import-Normal\">Fortunately, Customer 1313131 has an account at the Perryridge branch. Otherwise, we would have lost access to the existence of Customer 1313131.<\/p>\n<h2>Functional Dependency<\/h2>\n<p class=\"import-Normal\">How do we break this large table into smaller tables? We could break the large table into two tables such as:<\/p>\n<ul>\n<li>Customers\n<ul>\n<li>AccountNumber<\/li>\n<li>Balance<\/li>\n<li>CustomerID<\/li>\n<\/ul>\n<\/li>\n<li>Branches\n<ul>\n<li>Branch<\/li>\n<li>Address<\/li>\n<li>Asset<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p class=\"import-Normal\">What about the customer\u2019s address and contact data? What about the branch manager data, the employees assigned, and the contact data? Should these items be added to these two tables or stored in a new table?<\/p>\n<p class=\"import-Normal\"><em>Functional dependency<\/em> (FD) is a relationship between attributes such as between the PK and the non-key attributes. Something determines the other attributes. An FD is a database constraint that determines the relationship of one attribute to another attribute. FDs help to maintain the quality of data in a database.<\/p>\n<p class=\"import-Normal\">FD are expressed as an \u201cequation.\u201d The variable (the determinant) on the left side of the arrow determines the attributes (the dependent) on the right side.<\/p>\n<ul>\n<li>Second Edition: X &#8212;-&gt; Y and A &#8212;-&gt; B<\/li>\n<li>Third Edition: A&#8211;&gt; B<sup class=\"import-FootnoteReference\"><a id=\"sdfootnote1anc\" href=\"#sdfootnote1sym\">1<\/a><\/sup> and A &#8211;&gt; B<\/li>\n<\/ul>\n<p class=\"import-Normal\">Here are some word examples:<\/p>\n<ul>\n<li>In the Employees table: ID would determine the FirstName and the LastName.<\/li>\n<li>In the Students table: ID would determine the FirstName, the LastName, and the ClassRank.<\/li>\n<li>In the Branches table: ID would determine the Name, the Address, and the Assets.<\/li>\n<li>In a table collecting data: SIN or SSN would determine the Name, the Address, and the Birthdate.<\/li>\n<li>In a table collecting data: ISBN would determine the Title and other pieces of data.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Some FDs are easy to figure out. Other FDs are not. Consider the following table:<\/p>\n<table style=\"width: 478.85pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">A<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">B<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">C<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">D<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">E<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">a1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">b1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">e1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">a2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">b1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">e1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">a3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">b2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">e1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">a4<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">b2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">e1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">a5<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">b3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">e1<a id=\"_Hlk172619605\"><\/a><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Table 7.1 Functional dependency table example. This is a corrected reproduction of Figure 10.4 from the second edition (A. Watt).<\/p>\n<p class=\"import-Normal\">Which columns contain unique values? The answer is column A. So column A can be used to determine the values of the other columns. We can write this as:<\/p>\n<table style=\"width: 478.8pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Single Letters<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Double Letters<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Triple Letters<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Quadruple Letters<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 90.85pt\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<ul>\n<li>A &#8211;&gt; B<\/li>\n<li>A &#8211;&gt; C<\/li>\n<li>A &#8211;&gt; D<\/li>\n<li>A &#8211;&gt; E<\/li>\n<\/ul>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<ul>\n<li>A &#8211;&gt; BC<\/li>\n<li>A &#8211;&gt; BD<\/li>\n<li>A &#8211;&gt; BE<\/li>\n<li>A &#8211;&gt; CD<\/li>\n<li>A &#8211;&gt; CE<\/li>\n<li>A &#8211;&gt; DE<\/li>\n<\/ul>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<ul>\n<li>A &#8211;&gt; BCD<\/li>\n<li>A &#8211;&gt; BCE<\/li>\n<li>A &#8211;&gt; BDE<\/li>\n<li>A &#8211;&gt; CDE<\/li>\n<\/ul>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<ul>\n<li>A &#8211;&gt; BCDE<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Table 7.2 Functional dependencies from the viewpoint of A.<\/p>\n<p class=\"import-Normal\">Other columns may be used to determine other columns. In this example, the values in column E are the same. So any column could be used to determine the value in column E.<\/p>\n<p class=\"import-Normal\">The fact that column A could be used to determine the values of the other columns may be summarized as A &#8211;&gt; BCDE. We can conclude that A must be a PK.<\/p>\n<p class=\"import-Normal\">Recall from Chapter 5 that a composite key uses more than one attribute to locate a record. By inspection, we see that the pairing of B and C is unique and the pairing of B and D is unique. The PK of A may be used in combination with other values. These pairings are shown in the next table:<\/p>\n<table style=\"width: 478.75pt;height: 615px\">\n<tbody>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>B<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>C<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Functional Dependencies<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">c1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 150px;width: 468.85px\" rowspan=\"5\">\n<p class=\"import-Normal\">BC &#8211;&gt; A<\/p>\n<p class=\"import-Normal\">BC &#8211;&gt; DE<\/p>\n<p class=\"import-Normal\">BC &#8211;&gt; ADE<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">c2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">c1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">c2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">c3<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>B<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>D<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Functional Dependencies<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 150px;width: 468.85px\" rowspan=\"5\">\n<p class=\"import-Normal\">BD \uf0e0&#8211;&gt; A<\/p>\n<p class=\"import-Normal\">BD &#8211;&gt; CE<\/p>\n<p class=\"import-Normal\">BD &#8211;&gt; \uf0e0 ACE<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">d2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">d2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #bfbfbf;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>A<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>B<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 468.85px\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Functional Dependencies<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">a1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 150px;width: 468.85px\" rowspan=\"5\">\n<p class=\"import-Normal\">AB &#8211;&gt; C<\/p>\n<p class=\"import-Normal\">AB &#8211;&gt; D<\/p>\n<p class=\"import-Normal\">AB &#8211;&gt; E<\/p>\n<p class=\"import-Normal\">AB &#8211;&gt; CD<\/p>\n<p class=\"import-Normal\">AB &#8211;&gt; CE<\/p>\n<p class=\"import-Normal\">AB &#8211;&gt; DE<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">a2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">a3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">a4<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 30px\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">a5<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: 0.5pt solid windowtext;height: 30px;width: 63.7125px\">\n<p class=\"import-Normal\">b3<\/p>\n<\/td>\n<\/tr>\n<tr style=\"height: 15px\">\n<td style=\"height: 15px;width: 64.1125px\"><\/td>\n<td style=\"height: 15px;width: 64.5125px\"><\/td>\n<td style=\"height: 15px;width: 469.25px\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Table 7.3 Functional dependencies from the viewpoint of a composite key.<\/p>\n<p class=\"import-Normal\">Some values are uniquely linked to other values. A value of C always points to the same value of D:<\/p>\n<table style=\"width: 338.4pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>C<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>D<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Functional Dependencies<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\" rowspan=\"5\">\n<p class=\"import-Normal\">C &#8211;&gt; D<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">c3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">d1<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Table 7.4 Localized Functional dependencies.<\/p>\n<p class=\"import-Normal\">Since E is the same for each line, then we have other determinants:<\/p>\n<table style=\"width: 99.9pt\">\n<tbody>\n<tr class=\"TableGrid-R\" style=\"height: 48.1pt\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<ul>\n<li>B &#8211;&gt; E<\/li>\n<li>C &#8211;&gt; E<\/li>\n<li>D &#8211;&gt; E<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Table 7.5 Additional determinants for accessing dependent E.<\/p>\n<p class=\"import-Normal\">The determinant and dependent relationship tends to be one way. The following table demonstrates this point:<\/p>\n<table style=\"width: 478.85pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Proposed Determinant and Dependent Relationship<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Reason<\/strong><strong> for the Failure<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">E &#8211;&gt; anything<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Since the values of E are the same, there is no way to determine a unique value in another column.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">D &#8211;&gt; C<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Value d1 points to value c1 and to value c3.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">D &#8211;&gt; B<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Value d1 points to value b1 and to value b2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">D &#8211;&gt; A<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Value d1 points to value a1 and to value a3.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">C &#8211;&gt; B<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Value c1 points to value b1 and to value b2.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">C &#8211;&gt; A<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Value c1 points to value a1 and to value a3.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">B &#8211;&gt; A<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Value b1 points to value a1 and to value a2.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Table 7.6 Invalid determinant-dependent relationships.<\/p>\n<p class=\"import-Normal\">Using the new understanding of FD and the FD equation or shorthand, we can express the five examples as:<\/p>\n<table style=\"width: 478.8pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">In the Employees table: ID would determine the FirstName and the LastName.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">ID &#8211;&gt; FirstName, LastName<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">In the Students table: ID would determine the FirstName, the LastName, and ClassRank.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">ID &#8211;&gt; FirstName, LastName, ClassRank<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">In the Branches table: ID would determine the Name, the Address, and the Assets.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">ID &#8211;&gt; Name, Address, Assets<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">In a table collecting data: SIN or SSN would determine the FirstName, the LastName, the Address, and the Birthdate.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">SIN &#8211;&gt; FirstName, LastName, Address, Birthdate<\/p>\n<p class=\"import-Normal\">SSN &#8211;&gt; FirstName, LastName, Address, Birthdate<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">In a table collecting data: ISBN would determine the Title and other pieces of data<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">ISBN &#8211;&gt; Title<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.6 Examples of expressing the previous example database tables in the FD shorthand.<\/p>\n<p class=\"import-Normal\">There are several types of functional dependency relationships.<\/p>\n<h3>Trivial Functional Dependency<\/h3>\n<p class=\"import-Normal\">The dependent is a subset of the determinant. For example, a database table might have an ID column and an employee name column. If the functional dependency was written as {ID, EmployeeName} &#8211;&gt; ID, then this is a trivial functional dependency. This is true, because the dependent ID appears in the determinant list.<\/p>\n<p class=\"import-Normal\">DatabaseTown noted that this could be done with a composite key as (Order ID, Customer ID) &#8211;&gt; (Customer ID).<\/p>\n<h3>Non-Trivial Functional Dependency<\/h3>\n<p class=\"import-Normal\">The dependent is not a subset of the determinant. The examples in Figure 7.6 are non-trivial functional dependency, because the elements in the right set are not a subset of the left side.<\/p>\n<h3>Multivalued Functional Dependency<\/h3>\n<p class=\"import-Normal\">The Geeks for Geeks writer (\u201cWhat is Functional Dependency in DBMS?\u201d) explained this as two or more values in a cell. Figure 7.7 shows a simple example of this viewpoint for a Students table:<\/p>\n<table style=\"width: 478.8pt\">\n<tbody>\n<tr class=\"TableGrid-R\" style=\"height: 0\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 7.5pt 3pt 7.5pt 2.95pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\"><strong>I<\/strong><strong>D<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 0 7.5pt 0 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\"><strong>StudentName<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 0 7.5pt 0 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\"><strong>Course<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 8.15pt\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 2.9pt 0 2.9pt 0;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\"><strong>101<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\">Ali<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\">{Math, English}<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 14pt\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 2.9pt 0 2.9pt 0;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\"><strong>102<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\">Bob<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\">{History, English}<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 2.9pt 0 2.9pt 0;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\"><strong>103<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\">Cavin<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\">{Physics, Hindi}<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0pt 0pt 0pt -0.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\n<p class=\"import-Normal\">ID &#8211;&gt; Courses<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0pt 0pt 0pt -0.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\n<p class=\"import-Normal\">101 &#8211;&gt; {Math, English}<\/p>\n<p class=\"import-Normal\">102 &#8211;&gt; {History, English}<\/p>\n<p class=\"import-Normal\">103 &#8211;&gt; {Physics, Hindi}<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.7 Geeks for Geeks example of a multivalued functional dependency. (The ID column was changed to follow the style guide.)<\/p>\n<p class=\"import-Normal\">Fiona Brown and other writers have a different understanding. Fiona Brown wrote:<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Multivalued dependency occurs in the situation where there are multiple independent multivalued attributes in a single table. A multivalued dependency is a complete constraint between two sets of attributes in a relation. It requires that certain tuples be present in a relation.<\/p>\n<p class=\"import-Normal\">Fiona Brown used a Cars table to explain this functional dependency:<\/p>\n<table style=\"width: 478.8pt\">\n<tbody>\n<tr class=\"TableGrid-R\" style=\"height: 0\">\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: none windowtext 0pt\">\n<p class=\"import-Normal\"><strong>CarModel<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: none windowtext 0pt\">\n<p class=\"import-Normal\"><strong>ManufactureYear<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: none windowtext 0pt\">\n<p class=\"import-Normal\"><strong>Color<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">H001<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">2017<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">Metallic<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">H001<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">2017<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">Green<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">H005<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">2018<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">Metallic<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">H005<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">2018<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">Blue<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">H010<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">2015<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #f9f9f9;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">Metallic<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">H033<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">2012<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;border-top: solid #EEEEEE 0.75pt;border-bottom: none windowtext 0pt;border-right: none windowtext 0pt;border-left: none windowtext 0pt;padding: 0.75pt 0.75pt 0.75pt 1.25pt\">\n<p class=\"import-Normal\">Gray<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\n<p class=\"import-Normal\">The manufacture year and the color values are independent of each other but dependent on the car model. In this example, these two columns are said to be multivalue dependent on the car model.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0.75pt 0.75pt 0.75pt 1.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\n<p class=\"import-Normal\">CarModel &#8211;&gt; ManufactureYear<\/p>\n<p class=\"import-Normal\">CarModel &#8211;&gt; Color<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.8 The Fiona Brown example of a multivalued functional dependency. (The first two columns were changed to follow the style guide.)<\/p>\n<p class=\"import-Normal\">Another Geeks for Geeks writer had a different example with a different explanation:<\/p>\n<table style=\"width: 478.8pt\">\n<tbody>\n<tr class=\"TableGrid-R\" style=\"height: 0\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 7.5pt 3pt 7.5pt 2.95pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>RollNumber<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 0 7.5pt 0 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Name<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: bottom;padding: 0 7.5pt 0 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Age<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">42<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">abc<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">17<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 9.050000000000001pt\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">43<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">pqr<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">18<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\" style=\"height: 2.3pt\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">44<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">xyz<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">18<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">45<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">abc<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;vertical-align: middle;padding: 10.5pt 7.5pt 10.5pt 7.2pt;border: solid #DFDFDF 0.25pt\">\n<p class=\"import-Normal\" style=\"text-align: center\">19<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0pt 0pt 0pt -0.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\n<p class=\"import-Normal\">[The] entities of the dependent set are not dependent on each other. i.e. If a \u2192 {b, c} and there exists no functional dependency between b and c, then it is called a multivalued functional dependency.<\/p>\n<p class=\"import-Normal\">Here, roll_no \u2192 {name, age} is a multivalued functional dependency, since the dependents name &amp; age are not dependent on each other(i.e. name \u2192 age or age \u2192 name doesn\u2019t exist !)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: #ffffff;padding: 0pt 0pt 0pt -0.25pt;border: solid windowtext 0.5pt\" colspan=\"3\">\n<p class=\"import-Normal\">RollNumber &#8211;&gt; {Name, Age}<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.9 A different Geeks for Geeks example of a multivalued functional dependency. (The column names were changed to follow the style guide.)<\/p>\n<h3>Transitive Functional Dependency<\/h3>\n<p class=\"import-Normal\">One column determines a column and that column determines another column. Using the table collecting data example from Figure 7.6, this could be illustrated as follows:<\/p>\n<table style=\"width: 478.85pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>SINorSSN<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>FirstName<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>LastName<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Birthdate<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">123<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Mary<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Smith<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Toronto<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">September 9<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">234<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">James<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Johnson<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Orlando<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">September 19<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">345<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Patricia<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Williams<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Vancouver<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">September 12<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">456<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">John<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Brown<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Las Vegas<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">September 17<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.10 An example of a transitive functional dependency.<\/p>\n<p class=\"import-Normal\">With the SIN or SSN, we know the person\u2019s name. If we know the person\u2019s name, then we can learn what is the birthday. So according to this FD, we can learn the birthday with the SIN or SSN. Here are the shorthand expressions:<\/p>\n<ul>\n<li>{SINorSSN} &#8211;&gt; {FirstName, LastName}<\/li>\n<li>{FirstName, LastName} &#8211;&gt; Birthdate<\/li>\n<li>{SINorSSN} &#8211;&gt; Birthdate<\/li>\n<\/ul>\n<p class=\"import-Normal\">In more formal way, this could be expressed as:<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">If A &#8211;&gt; B and B &#8211;&gt; C, then A &#8211;&gt; C<\/p>\n<h3>Full Functional Dependency and Partial Functional Dependency<\/h3>\n<p class=\"import-Normal\">Some sources will include two more FDs. These appear to be more of a description of how the determinant and the dependent are related.<\/p>\n<p class=\"import-Normal\">A full FD is when the determinant determines all the columns in a table.<\/p>\n<ul>\n<li>{OrderID} &#8211;&gt; {OrderID, CustomerID, ProductID, Quantity}<\/li>\n<\/ul>\n<p class=\"import-Normal\">A partial FD is when a determinant piece determines some of the columns in a table.<\/p>\n<ul>\n<li>{OrderID, CustomerID} &#8211;&gt; {ProductID, Quantity}<\/li>\n<\/ul>\n<h2>The Advantages and the Disadvantages of Working with Functional Dependencies<\/h2>\n<p class=\"import-Normal\"><strong>Advantages of Working with Functional Dependency<\/strong><\/p>\n<ul>\n<li>We are able to identify the primary key and the candidate keys.<\/li>\n<li>We can define the tables and the needed attributes. This helps in query optimization and thus improves performance.<\/li>\n<li>We can ensure that the data is consist by removing redundancies and inconsistencies.<\/li>\n<li>We can ensure that the data is accurate, complete, and current.<\/li>\n<\/ul>\n<h3>Disadvantages of Working with Functional Dependency<\/h3>\n<ul>\n<li>We may spend much time in the process of identifying the FDs in a large database that has many tables with many relationships.\n<ul>\n<li>Some use a dependency diagram. This has the appearance of a row of boxes with arrows coming out of the top and bottom. The second edition provided an example as Figure 11.6 and as Figure 12.1. The accompanying text listed the dependencies, but did not provide instructions on how to create a dependency diagram. Some older database textbooks do address this topic. In the recently dated web pages, none used a dependency diagram. It appears that dependency diagrams have fallen out of favor<sup class=\"import-FootnoteReference\"><a id=\"sdfootnote7anc\" href=\"#sdfootnote7sym\">7<\/a><\/sup>. So this edition will not address this topic.<\/li>\n<\/ul>\n<\/li>\n<li>We may find the FDs to be overly restrictive and may result in slow query performance.<\/li>\n<li>We may find that the FDs do not take into account the semantic meanings of our data and thus may not always reflect the true relationships between our data elements.<\/li>\n<\/ul>\n<h2>Functional Dependency Set and Attribute Closure<\/h2>\n<p class=\"import-Normal\">We will use the following Students table for this topic:<\/p>\n<table style=\"width: 468pt\">\n<tbody>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\" style=\"text-align: center\">ID<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\" style=\"text-align: center\">LastName<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\" style=\"text-align: center\">Phone<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\" style=\"text-align: center\">State<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\" style=\"text-align: center\">Country<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\" style=\"text-align: center\">Age<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 22.15pt\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">123<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\">Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">416-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Canada<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">18<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">234<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\">Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">407-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">United States<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">19<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">345<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\">Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">236-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Canada<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">21<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">456<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\">Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">702-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">United States<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">22<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Table 7.6 Students table (Roughly based on <a class=\"rId12\" href=\"https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/<\/span><\/a>)<\/p>\n<p class=\"import-Normal\">We know that ID &#8211;&gt; LastName and that ID &#8211;&gt; Phone are valid. LastName &#8211;&gt; State is not valid. Why? There could be another Smith elsewhere in this table that lives in the same state or province.<\/p>\n<p class=\"import-Normal\">FDs in a relation are dependent upon the domain of the relation. By inspection, we know the following are valid:<\/p>\n<table style=\"width: 468pt\">\n<tbody>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID &#8211;&gt; LastName<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\" style=\"margin-left: 36pt\">State &#8211;&gt; Country<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID &#8211;&gt; Phone<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID &#8211;&gt; State<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID &#8211;&gt; Country<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">ID &#8211;&gt; Age<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.11 Valid functional dependencies for the Students table.<\/p>\n<p class=\"import-Normal\">A <em>functional dependent set<\/em> (FD set) is the set of all FDs present in the relation. The following is the FD set for the Students table:<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">{ID &#8211;&gt; LastName, ID &#8211;&gt; Phone, ID &#8211;&gt; State, ID &#8211;&gt; Country, ID &#8211;&gt; Age, State &#8211;&gt; Country}<\/p>\n<h3>Attribute Closure<\/h3>\n<p><em>Attribute closure<\/em> of an attribute set is defined as the set of attributes that can be functionally determined from it.<\/p>\n<p class=\"import-Normal\">The steps for finding the attribute closure of an attribute set are:<\/p>\n<ul>\n<li class=\"import-Normal\">Add the elements of the attribute set to the result set.<\/li>\n<li class=\"import-Normal\">Recursively add the elements to the result set that can be functionally determined from the elements currently in the result set.<\/li>\n<\/ul>\n<p class=\"import-Normal\">The custom is to mark the result set with a trailing plus (+) symbol and an equal (=) symbol pointing to the result set. The following shows the ID result set and the result set:<\/p>\n<ul>\n<li class=\"import-Normal\">(ID)+ = {ID, LastName, Phone, State, Country, Age}<\/li>\n<li class=\"import-Normal\">(State)+ = {State, Country}<\/li>\n<\/ul>\n<h3>Attribute Closure Advantages and Disadvantages<\/h3>\n<p class=\"import-Normal\">Attribute closure has the following advantages:<\/p>\n<ul>\n<li class=\"import-Normal\">Attribute closures help to identify all possible attributes that can be derived from a set of given attributes.<\/li>\n<li class=\"import-Normal\">Attribute closures facilitate database design by identifying relationships between attributes and tables that can help to optimize query performance.<\/li>\n<li class=\"import-Normal\">Attribute closures ensure data consistency by identifying all possible combinations of attributes that can exist in the database.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Attribute closure has the following disadvantages:<\/p>\n<ul>\n<li class=\"import-Normal\">The process of calculating attribute closures can be computationally expensive, especially for large databases.<\/li>\n<li class=\"import-Normal\">Attribute closures can become too complex to manage, especially as the number of attributes and tables in a database grows.<\/li>\n<li class=\"import-Normal\">Attribute closures do not take into account the semantic meaning of data and may not always accurately reflect the relationships between data elements.<\/li>\n<\/ul>\n<h3>Using Attribute Closure for Finding Candidate Keys and Super Keys<\/h3>\n<p class=\"import-Normal\">An attribute closure set that contains all possible attributes of relations is the super key. A candidate key is subset of the super key. The following will demonstrate this point:<\/p>\n<ul>\n<li class=\"import-Normal\">(ID, LastName)+ = {ID, LastName, Phone, State, Country, Age}<\/li>\n<li class=\"import-Normal\">(ID)+ = {ID, LastName, Phone, State, Country, Age}<\/li>\n<\/ul>\n<p class=\"import-Normal\">The (ID, LastName)+ is the super key, but not a candidate key, because its subset (ID)+ is equal to all attributes of the relation. So ID would be a candidate key and a possible PK.<\/p>\n<h3>An Algorithm for Determining the Closure Set for a Functional Determinate<\/h3>\n<p class=\"import-Normal\">In an abstract conversation, the participants may use formal notation that looks like the following:<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Given R (\u2026.)<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">FDs = {\u2026.}<\/p>\n<p class=\"import-Normal\" style=\"margin-left: 36pt\">Find (&#8230;)+<\/p>\n<p class=\"import-Normal\">This is a formal way of finding a candidate key or a super key. The following shows the steps for solving a formal closure problem:<\/p>\n<ul>\n<li class=\"import-Normal\">Read the problem:\n<ul>\n<li>Given the relation R (A, B, C, D, E) and the following FDs:\n<ul>\n<li class=\"import-Normal\">{A &#8211;&gt; B, B &#8211;&gt; C, C &#8211;&gt; D, D &#8211;&gt; E)<\/li>\n<\/ul>\n<\/li>\n<li class=\"import-Normal\">What is {A}+?<\/li>\n<\/ul>\n<\/li>\n<li>A will be in the result set. So we add it to the result set: {A}+ = {A}<\/li>\n<li class=\"import-Normal\">What columns can be determined for a given A?\u00a0 We found A &#8211;&gt; B from the FD list. So we add B to the result set: {A}+ = {A, B}<\/li>\n<li class=\"import-Normal\">Since we have A and B in the result set, we can look for any FD that has B as the determinant. We found B &#8211;&gt; C from the FD list. So we add C to the result set: {A}+ = {A, B, C}<\/li>\n<li class=\"import-Normal\">We will repeat what we did for step 4 for the new letter. And we will continue repeating until we are finished:\n<ul>\n<li class=\"import-Normal\">With C, we found C &#8211;&gt; D from the FD list. So we add D to the result set: {A}+ = {A, B, C, D|<\/li>\n<li class=\"import-Normal\">With D, we found D &#8211;&gt; E from the FD list. So we add E to the result set: {A}+ = {A, B, C, D, E}<\/li>\n<\/ul>\n<\/li>\n<li class=\"import-Normal\">The last letter has been used. So the result set is {A}+ = {A, B, C, D, E}<\/li>\n<\/ul>\n<p class=\"import-Normal\">The previous example was easy to understand and to solve. When a composite determinate is used, then the effort is more challenging. Here is such an example:<\/p>\n<ul>\n<li class=\"import-Normal\">Read the problem:\n<ul>\n<li class=\"import-Normal\">Given the relation R (A, B, C, D, E, F). and the following FDs:<\/li>\n<li class=\"import-Normal\">{AB &#8211;&gt; C, BC &#8211;&gt; AD, D &#8211;&gt; E, CF &#8211;&gt; B)<\/li>\n<li class=\"import-Normal\">What is {A, B}+?<\/li>\n<\/ul>\n<\/li>\n<li class=\"import-Normal\">A and B will be in the result set based on the FD list. So we add these two to the result set: {A, B}+ = {A, B}<\/li>\n<li class=\"import-Normal\">What columns can be determined for a given A and B combination? We found AB \uf0e0 C from the FD list. So we add C to the result set: {A, B}+ = {A, B, C}<\/li>\n<li class=\"import-Normal\">What single letter or combinations from the result set could help us to find another letter? We found BC \uf0e0 AD from the FD list. So we add D. A is already present in the result set. Now we have: {A, B}+ = {A, B, C, D}<\/li>\n<li class=\"import-Normal\">What single letter or combinations from the result set could help us to find another letter? We found D \uf0e0 E from the FD list. So we add E to the result set: {A, B,}+ = {A, B, C, D, E}<\/li>\n<li class=\"import-Normal\">The remaining column is F. We cannot add it to the result set, because it was not in the determinant set and no letter pointed to it.<\/li>\n<li class=\"import-Normal\">So the result set is {A, B}+ = {A, B, C, D, E}<\/li>\n<\/ul>\n<h3>Armstrong\u2019s Axioms in Functional Dependency (in DBMS)<\/h3>\n<p class=\"import-Normal\">William W. Armstrong defined some tests or inference rules about how to derive other FDs. There are three Armstrong\u2019s Axioms and six secondary rules. Some sources listed six inference rules. We will follow the approach of defining three axioms followed by six secondary rules:<\/p>\n<table style=\"width: 468pt\">\n<tbody>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Axiom of Reflexivity:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">If A is a set of attributes and B is a subset of A, then A holds B. If B \u2286 A then A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> B. This is the trivial property.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Axiom of Augmentation:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">If A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> B holds and Y is the attribute set, then AY <strong class=\"import-StrongEmphasis\">\u2192<\/strong> BY also holds. That is, adding attributes to dependencies, does not change the basic dependencies. If A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> B, then AC <strong class=\"import-StrongEmphasis\">\u2192<\/strong> BC for any C.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Axiom of Transitivity:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-TableContents\">If A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> B holds and B <strong class=\"import-StrongEmphasis\">\u2192<\/strong> C holds, then A <strong class=\"import-StrongEmphasis\">\u2192<\/strong> C also holds. A <strong class=\"import-StrongEmphasis\">\u2192 <\/strong>B is also called functionally that determines B. If X <strong class=\"import-StrongEmphasis\">\u2192<\/strong> Y and Y <strong class=\"import-StrongEmphasis\">\u2192<\/strong> Z, then X <strong class=\"import-StrongEmphasis\">\u2192<\/strong> Z.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Secondary Rule of Union:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-BodyText\">If <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong> holds and <strong class=\"import-StrongEmphasis\">A\u2192C<\/strong> holds, then <strong class=\"import-StrongEmphasis\">A\u2192BC<\/strong> holds. If <strong class=\"import-StrongEmphasis\">X\u2192Y<\/strong> and <strong class=\"import-StrongEmphasis\">X\u2192<\/strong><strong class=\"import-StrongEmphasis\">Z<\/strong> then <strong class=\"import-StrongEmphasis\">X\u2192YZ<\/strong>.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Secondary Rule of Composition:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-BodyText\">If <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong> and <strong class=\"import-StrongEmphasis\">X\u2192Y<\/strong> hold, then <strong class=\"import-StrongEmphasis\">AX\u2192BY<\/strong> holds.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Secondary Rule of Decomposition:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-BodyText\">If <strong class=\"import-StrongEmphasis\">A\u2192BC<\/strong> holds then <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong> and <strong class=\"import-StrongEmphasis\">A\u2192C<\/strong> hold. If <strong class=\"import-StrongEmphasis\">X\u2192YZ<\/strong> then <strong class=\"import-StrongEmphasis\">X\u2192Y<\/strong> and <strong class=\"import-StrongEmphasis\">X\u2192Z<\/strong><strong>.<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Secondary Rule of Pseudo Transitivity:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-BodyText\">If <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong> holds and <strong class=\"import-StrongEmphasis\">BC\u2192D<\/strong> holds, then <strong class=\"import-StrongEmphasis\">AC\u2192D<\/strong> holds. If <strong class=\"import-StrongEmphasis\">X\u2192Y<\/strong> and <strong class=\"import-StrongEmphasis\">YZ\u2192<\/strong><strong class=\"import-StrongEmphasis\">W<\/strong> then <strong class=\"import-StrongEmphasis\">XZ\u2192W<\/strong>.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Secondary Rule of Self Determination:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-BodyText\">It is similar to the Axiom of Reflexivity, i.e. <strong class=\"import-StrongEmphasis\">A\u2192A<\/strong> for any A.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: solid #000000 0.25pt;border-bottom: solid #000000 0.25pt;border-left: solid #000000 0.25pt;padding: 2.75pt 2.75pt 2.75pt 2.65pt\">\n<p class=\"import-TableContents\">Secondary Rule of Extensivity:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-BodyText\">Extensivity is a case of augmentation. If <strong class=\"import-StrongEmphasis\">AC\u2192A<\/strong><strong class=\"import-StrongEmphasis\">, <\/strong>and <strong class=\"import-StrongEmphasis\">A\u2192B<\/strong>, then <strong class=\"import-StrongEmphasis\">AC\u2192B<\/strong>. Similarly, <strong class=\"import-StrongEmphasis\">AC\u2192ABC<\/strong> and <strong class=\"import-StrongEmphasis\">ABC\u2192BC<\/strong>. This leads to <strong class=\"import-StrongEmphasis\">AC\u2192BC<\/strong>.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.12 Armstrong\u2019s three Axioms and six secondary rules.<\/p>\n<p class=\"import-Normal\">Now to apply these axioms and rules to the example problem:<\/p>\n<table style=\"width: 468pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 99.6pt\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">Read the problem:<\/p>\n<p class=\"import-Normal\">Given the relation R (A, B, C, D, E, F). and the following FDs:<\/p>\n<p class=\"import-Normal\">{AB &#8211;&gt; C, BC &#8211;&gt; AD, D &#8211;&gt; E, CF &#8211;&gt; B)<\/p>\n<p class=\"import-Normal\">What is {A, B}+?<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">A and B will be in the result set. So we add it to the result set: {A, B}+ = {A, B}<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">This is understood. The rule of Self Determination.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">What columns can be determined for a given A and B combination? We found AB \uf0e0 C. So we add C to the result set: {A, B}+ = {A, B, C}<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">It came from the FD list.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">What single letter or combinations from the result set could help us to find another letter? We found BC &#8211;&gt; AD. So we add D. A is already present in the result set. Now we have: {A, B}+ = {A, B, C, D}<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">It came from the FD list.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">What single letter or combinations from the result set could help us to find another letter? We found D &#8211;&gt; E. So we add E to the result set: {A, B,}+ = {A, B, C, D, E}<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">It came from the FD list.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">The remaining column is F. We cannot add it to the result set, because it was not in the determinant set and no letter pointed to it.<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">So the result set is {A, B}+ = {A, B, C, D, E}<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: solid #000000 0.25pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.13 Armstrong\u2019s three Axioms and six secondary rules applied to an example problem.<\/p>\n<p class=\"import-Normal\">Armstrong\u2019s Axioms and Rules work better when you are trying to calculate some members. The following example is adapted from the TutorialRide.com web page:<\/p>\n<table style=\"width: 468pt\">\n<tbody>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 215.512px\">\n<p class=\"import-TableContents\">Relation R:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 391.712px\" colspan=\"6\">\n<p class=\"import-TableContents\">(P, Q, R, S, T, U)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 215.512px\" rowspan=\"2\">\n<p class=\"import-TableContents\">FDs:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 114.338px\" colspan=\"2\">\n<p class=\"import-TableContents\">P &#8211;&gt; Q<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 124.988px\" colspan=\"2\">\n<p class=\"import-TableContents\">P &#8211;&gt; R<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 136.413px\" colspan=\"2\">\n<p class=\"import-TableContents\">QR &#8211;&gt; S<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 114.338px\" colspan=\"2\">\n<p class=\"import-TableContents\">Q &#8211;&gt; T<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 124.988px\" colspan=\"2\">\n<p class=\"import-TableContents\">QR &#8211;&gt; U<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 136.413px\" colspan=\"2\">\n<p class=\"import-TableContents\">PR &#8211;&gt; U<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 215.512px\">\n<p class=\"import-TableContents\">Calculate these members:<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 67.2625px\">\n<p class=\"import-TableContents\">P &#8211;&gt; T<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 107.188px\" colspan=\"2\">\n<p class=\"import-TableContents\">PR &#8211;&gt; S<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;border-top: 0.25pt solid #000000;border-bottom: 0.25pt solid #000000;border-left: 0.25pt solid #000000;padding: 2.75pt 2.75pt 2.75pt 2.65pt;width: 103.213px\" colspan=\"2\">\n<p class=\"import-TableContents\">QR &#8211;&gt; SU<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 90.0875px\">\n<p class=\"import-TableContents\">PR &#8211;&gt; SU<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\n<p class=\"import-TableContents\">The Steps<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\n<p class=\"import-TableContents\">P &#8211;&gt; T<\/p>\n<p class=\"import-TableContents\">From the FD list, we have P &#8211;&gt; Q and Q &#8211;&gt; T.<\/p>\n<p class=\"import-TableContents\">Using the Transitivity Axiom: If {A \u2192 B} and {B \u2192 C}, then {A \u2192 C}<\/p>\n<p class=\"import-TableContents\">We can obtain P T.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\n<p class=\"import-TableContents\">PR &#8211;&gt; S<\/p>\n<p class=\"import-TableContents\">From the FD list, we have P &#8211;&gt; Q and QR &#8211;&gt; S.<\/p>\n<p class=\"import-TableContents\">Using the Pseudo Transitivity Rule: If {A \u2192 B} and {BC \u2192 D}, then {AC \u2192 D}<\/p>\n<p class=\"import-TableContents\">We can obtain PR &#8211;&gt; S.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\n<p class=\"import-TableContents\">QR &#8211;&gt; SU<\/p>\n<p class=\"import-TableContents\">From the FD list, we have QR &#8211;&gt; S and QR &#8211;&gt; U.<\/p>\n<p class=\"import-TableContents\">Using the Union Rule: If {A \u2192\u00a0 <span style=\"background-color: transparent;font-family: inherit;font-size: inherit\">B} and {A \u2192 C}, then {A \u2192 BC}<\/span><\/p>\n<p class=\"import-TableContents\">We can obtain QR &#8211;&gt; SU.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\">\n<td class=\"TableNormal-C\" style=\"background-color: transparent;padding: 2.75pt 2.75pt 2.75pt 2.65pt;border: 0.25pt solid #000000;width: 615.213px\" colspan=\"7\">\n<p class=\"import-TableContents\">PR &#8211;&gt; SU<\/p>\n<p class=\"import-TableContents\">From the FD list, we have P &#8211;&gt; Q, QR &#8211;&gt; S, and PR &#8211;&gt; U<\/p>\n<p class=\"import-TableContents\">Using the Pseudo Transitivity Rule: If {A \u2192 B} and {BC \u2192 D}, then {AC \u2192 D}<\/p>\n<p class=\"import-TableContents\">We can obtain PR &#8211;&gt;\u00a0 S.<\/p>\n<p class=\"import-TableContents\">Using the Pseudo Transitivity Rule: If {A \u2192 B} and {BC \u2192 D}, then {AC \u2192 D}<\/p>\n<p class=\"import-TableContents\">We use PR &#8211;&gt; S with PR &#8211;&gt; U and obtain PR &#8211;&gt; SU.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"width: 210.15px\"><\/td>\n<td style=\"width: 62.3px\"><\/td>\n<td style=\"width: 34.125px\"><\/td>\n<td style=\"width: 55.15px\"><\/td>\n<td style=\"width: 51.925px\"><\/td>\n<td style=\"width: 33.375px\"><\/td>\n<td style=\"width: 84.725px\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.14 Armstrong\u2019s three Axioms and six secondary rules applied to another example problem.<\/p>\n<h3>Advantages and Disadvantages of Using Armstrong\u2019s Axioms<\/h3>\n<p class=\"import-Normal\">The advantages are:<\/p>\n<ul>\n<li class=\"import-Normal\">These provide a systematic and efficient method for inferring additional functional dependencies from a given set of functional dependencies, which can help to optimize database design.<\/li>\n<li class=\"import-Normal\">These can be used to identify redundant functional dependencies, which can help to eliminate unnecessary data and improve database performance.<\/li>\n<li class=\"import-Normal\">These can be used to verify whether a set of functional dependencies is a minimal cover, which is a set of dependencies that cannot be further reduced without losing information.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Some writers will mention the words \u201csound\u201d and \u201ccomplete\u201d when discussing the advantages of using Armstrong&#8217;s Axioms. They are stating that:<\/p>\n<ul>\n<li class=\"import-Normal\"><em>Sound<\/em> means that for a given set of FDs that are specified for a relation schema , a person should be able infer any dependency from the FDs by using the primary rules of Armstrong\u2019s Axioms and that these will hold in every relation state of the relational schema R that satisfies the dependencies in the FDs.<\/li>\n<li class=\"import-Normal\"><em>Complete<\/em> means that for when using the primary rules of the Armstrong\u2019s Axioms repeatedly for inferring other dependencies that continue until we reach a stopping point, we will have a complete set of dependencies.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Disadvantages are:<\/p>\n<ul>\n<li class=\"import-Normal\">The process of using Armstrong\u2019s axioms to infer additional functional dependencies can be computationally expensive, especially for large databases with many tables and relationships.<\/li>\n<li class=\"import-Normal\">The axioms do not take into account the semantic meaning of data and may not always accurately reflect the relationships between data elements.<\/li>\n<li class=\"import-Normal\">The axioms can result in a large number of inferred functional dependencies that can be difficult to manage and maintain over time.<\/li>\n<\/ul>\n<p class=\"import-Normal\">We could add a fourth disadvantage. It is hard to grasp and to apply!<\/p>\n<h2>Normalization<\/h2>\n<p class=\"import-Normal\">Functional dependency and the supporting tools should make it easier to create and maintain the database. The given reasons are to:<\/p>\n<ul>\n<li>Ensure the integrity of the data.<\/li>\n<li>Provide insights when a database needs to be changed.<\/li>\n<li>Support normalization.<\/li>\n<\/ul>\n<p class=\"import-Normal\">The idea is that database designers can use the identified dependencies in order to split large tables into smaller and thus more manageable tables. The same goal can be achieved by following the normalization rules.<\/p>\n<p class=\"import-Normal\"><em>Normalization<\/em> is a step-by-step process for minimizing redundancy in a database. There are six normal forms. Taking a relational database to the first three would solve most issues.<\/p>\n<p class=\"import-Normal\">Normalization:<\/p>\n<ul>\n<li>Makes the database more efficient.<\/li>\n<li>Prevents the same data from being stored in more than one place. The redundancy issue.<\/li>\n<li>Prevents updates being made to some data rows but not to other data. The update anomaly issue.<\/li>\n<li>Prevents data pieces from being deleted when the data should be retained. The delete anomaly issue.<\/li>\n<li>Ensures the data is accurate.<\/li>\n<li>Reduces the storage space that a database requires.<\/li>\n<li>Ensures that queries run as fast as possible.<\/li>\n<li>Avoids having very large relations.<\/li>\n<\/ul>\n<p class=\"import-Normal\">We will be using the following \u201cspreadsheet\u201d like database table:<\/p>\n<table style=\"width: 590.35pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dent Name<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Fees Paid<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Date of Birth<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject 1<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject 2<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject 3<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject 4<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Teacher Name<\/strong><sup class=\"import-FootnoteReference\"><strong><a id=\"sdfootnote11anc\" href=\"#sdfootnote11sym\">11<\/a><\/strong><\/sup><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Teacher Address<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Course Name<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-0000<\/p>\n<p class=\"import-Normal\">416-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Suki Badh<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">N4335H<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<p class=\"import-Normal\">407-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Business Intro (Business)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Nelson Eng<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">N4335J<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Computer Studies &amp; Information Systems<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-0000<\/p>\n<p class=\"import-Normal\">236-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Jennifer Barker<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">A3083<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-0000<\/p>\n<p class=\"import-Normal\">702-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Jessie Clasen<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">S3616<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.15 A \u201cspreadsheet\u201d like database table.<\/p>\n<p class=\"import-Normal\">This is a fine spreadsheet. We have the full name of a student. We know when they paid their fees. We know where they live. We see two contact phone numbers for each student. We can see some courses. We see information about the teachers.<\/p>\n<p class=\"import-Normal\">But is this a useful spreadsheet? The columns for subjects contain many empty cells. We cannot tell if the instructor data is about a course or about an academic advisor area. We do not know when a course is being offered or if a student is repeating a course. We cannot tell anything about the schedule for a student. We cannot tell what courses an instructor is teaching.<\/p>\n<h3>First Normal Form (1NF)<\/h3>\n<p><em>First Normal Form (1NF)<\/em> requires that each cell row is unique.<\/p>\n<p class=\"import-Normal\">Ben who wrote \u201cDatabase Normalization: A Step-By-Step-Guide With Examples\u201d approached from a viewpoint that is different from other experts. To go from a \u201cspreadsheet\u201d database table to a First Normal Form (1NF) database table, he asks two questions:<\/p>\n<ul>\n<li>Does the combination of all columns make a unique row every single time?<\/li>\n<li>What field can be used to uniquely identify the row?<\/li>\n<\/ul>\n<p class=\"import-Normal\">From looking at the data, the answer is \u201cYes\u201d for the first question. However, a spreadsheet could have repeated lines. A database without a defined PK could have duplicated rows. So Ben answered the first question as \u201cNo.\u201d<\/p>\n<p class=\"import-Normal\">For the second question, we need to inspect each field. Could we use the student\u2019s name as it is stored? The student\u2019s name could be shared by another student. Address might work, but suppose a sibling joins an older sibling at the same address. That violates the idea of using a unique field. It may be tempting to use the student\u2019s name plus another field, but that falls apart if another student with the same name comes into the same building.<\/p>\n<p class=\"import-Normal\">The only solution is to create a new field with unique entries. While Ben\u2019s approach is interesting and useful for 1NF, his discussion for 2NF is very long. You may read the rest of Ben\u2019s approach by looking in the reference list. For the rest of this chapter, we will follow the more common approach to normalization.<\/p>\n<p class=\"import-Normal\">The more common approach defines 1NF as a database table where each cell contains only one value. In the spreadsheet like database table, the phone column violates this requirement.<\/p>\n<p class=\"import-Normal\">Here is the revision:<\/p>\n<table style=\"width: 590.35pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dent Name<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Fees Paid<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Date of Birth<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject 1<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject 2<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject 3<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject 4<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Teacher Name<\/strong><sup class=\"import-FootnoteReference\"><strong><a id=\"sdfootnote12anc\" href=\"#sdfootnote12sym\">12<\/a><\/strong><\/sup><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Teacher Address<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Course Name<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-0000<\/p>\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Suki Badh<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">N4335H<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Suki Badh<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">N4335H<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Business Intro (Business)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Nelson Eng<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">N4335J<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Computer Studies &amp; Information Systems<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Business Intro (Business)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Nelson Eng<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">N4335J<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Computer Studies &amp; Information Systems<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-0000<\/p>\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Jennifer Barker<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">A3083<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Jennifer Barker<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">A3083<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Jessie Clasen<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">S3616<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Jessie Clasen<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">S3616<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.16 The revised \u201cspreadsheet\u201d like database table.<\/p>\n<p class=\"import-Normal\">This is an improvement, but there are still some issues that need to be addressed.<\/p>\n<h3>Second Normal Form (2NF)<\/h3>\n<p><em>Second Normal Form (2NF)<\/em> requires that a database table is in 1NF and that each non-key attribute must be functionally dependent on the primary key.<\/p>\n<p class=\"import-Normal\">To go from an improved \u201cspreadsheet\u201d database table to a Second Normal Form (2NF) database table, we need to ask one question:<\/p>\n<ul>\n<li>Does this column depend upon the PK?<\/li>\n<\/ul>\n<p class=\"import-Normal\">The section on FDs provided the formal way of answering this question. Informally, we can determine this by asking a question about dependency upon the PK.<\/p>\n<table>\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Student Name<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Yes, this is dependent on the PK. A different ID would mean a different student name.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Fees Paid<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Yes, this is dependent on the PK. Each fees paid value is for a single student.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Date of Birth<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Yes, it is specific to that student.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Address<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Yes, it\u2019s specific to that student.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Subject 1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">No, this column is not dependent on the student. More than one student could be enrolled in one subject.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Subject 2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">No. Same as for Subject 1. More than one subject is allowed.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Subject 3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">No. Same rule as subject 2.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Subject 4<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">No. Same rule as subject 2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Teacher Name<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">No. The teacher\u2019s name is not dependent on the student.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Teacher Address<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">No. The teacher\u2019s address is not dependent on the student.<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Course Name<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">No. The course name is not dependent on the student. We still have the question about what this is really about.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.17 The specific questions for each column in the Students database table.<\/p>\n<p class=\"import-Normal\">We can remove the \u201cNo\u201d responses. Now our Students database table will have the following appearance:<\/p>\n<table style=\"width: 499.5pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dentName<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>FeesPaid<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Date<\/strong><strong>O<\/strong><strong>fBirth<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.18 The greatly revised Students database table.<\/p>\n<p class=\"import-Normal\">The various sources agree that a PK is needed. So we will follow that practice. Here is the revised Students database table with the addition of a PK column:<\/p>\n<table style=\"width: 500.25pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dentName<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>FeesPaid<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Date<\/strong><strong>O<\/strong><strong>fBirth<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.19 The greatly revised Students database table with an ID column.<\/p>\n<p class=\"import-Normal\">Many authorities write about composite keys. They state that if the PK is not a composite key, then the database table is in 2NF.<\/p>\n<p class=\"import-Normal\">Other authorities such as Java T Point write about the need for non-key attributes to be fully functional dependent upon the PK. One provided example is a database table that contains the teacher\u2019s ID, the subjects that they teach, and their age. The new table contains the teacher\u2019s ID and age and the other table has just the teacher\u2019s ID and subjects taught. The explanation is that age is a proper subset of a candidate key. The problem with this explanation is that age does not by itself uniquely find one row in a database table.<\/p>\n<p class=\"import-Normal\">We are following the majority by looking only at composite keys. In our Students database table, there are no composite keys.<\/p>\n<p class=\"import-Normal\">What to do with the \u201cNo\u201d columns? We would create new tables based on a reasonable grouping:<\/p>\n<p class=\"import-Normal\">This is the Subjects database table:<\/p>\n<table>\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>N<\/strong><strong>ame<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Business Intro (Business)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">5<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.20 The Subjects database table with an ID column.<\/p>\n<p class=\"import-Normal\">This is the Teachers database table:<\/p>\n<table>\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>N<\/strong><strong>ame<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>A<\/strong><strong>ddress<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>AcademicArea<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Badh Suki<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">N4335H<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Nelson Eng<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">N4335J<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Computer Studies &amp; Information Systems<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Jennifer Barker<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">A3083<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Jessie Clasen<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">S3616<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.21 The Teachers database table with an ID column.<\/p>\n<p class=\"import-Normal\">As you work on a database, confusing column names should become obvious. From our style guide, we see that we need a column name that self describes what the data is about. So we have renamed \u201cCourse Name\u201d as \u201cAcademicArea.\u201d<\/p>\n<p class=\"import-Normal\">Ben included FK in his article. We will delay addressing this topic until later.<\/p>\n<h3>Third Normal Form (3NF)<\/h3>\n<p><em>Third Normal Form (3NF)<\/em> requires that a database table is in 2NF and that there are no transitive dependencies. This is the situation where one column determines another column and that column determines another column.<\/p>\n<p class=\"import-Normal\">In Figure 7.16, we had one transitive dependency. A student points to a teacher and that points to an academic area. So with a student we could point to an academic area. Drilling down on the teacher columns, we had a teacher name with teacher address and the later corrected academic area. When we removed the teacher\u2019s data from the large database table, we achieved 3NF for the Students database table.<\/p>\n<h3>Boyce Codd Normal Form (BCNF)<\/h3>\n<p><em>Boyce Codd Normal Form (BCNF)<\/em> requires that a database table is in 3NF and that every functional dependency X Y where X is the super key of the table. From Figure 7.19, we have the following functional dependencies:<\/p>\n<ul>\n<li>ID &#8211;&gt; {StudentName, DateOfBirth, Address}<\/li>\n<li>ID &#8211;&gt; {FeesPaid}<\/li>\n<li>ID&#8211;&gt; {Phone}<\/li>\n<\/ul>\n<p class=\"import-Normal\">The first functional dependency is in BCNF. The second functional dependency is in BCNF, although it does not have much detail. The third functional dependency has an issue and it can only be resolved with a composite key. Here are the new database tables:<\/p>\n<table style=\"width: 400.5pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dentName<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Date<\/strong><strong>O<\/strong><strong>fBirth<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.22 The revised Students database table.<\/p>\n<table style=\"width: 99pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>FeesPaid<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.23 The new fees paid database table.<\/p>\n<p class=\"import-Normal\">The ID number would be based on the student\u2019s ID number.<\/p>\n<table style=\"width: 199.2pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>PhoneID<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-0000<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-9999<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Figure 7.24 The new phone database table.<\/p>\n<p class=\"import-Normal\">Here we need to use a composite PK, because a student could have a work phone, a home phone, and a cell phone.<\/p>\n<h3>Revisiting the Third Normal Form (3NF)<\/h3>\n<p>In the Students database table, we have the entire address in one cell. The addresses are fictious and the postal codes were not included. Let\u2019s add the general postal codes for each address:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Address<\/strong><\/td>\n<\/tr>\n<tr>\n<td>3 Main Street, Toronto ON M5H 0X0<\/td>\n<\/tr>\n<tr>\n<td>16 Leeds Road, Orlando FL 32800<\/td>\n<\/tr>\n<tr>\n<td>21 Arrow Street, Vancouver BC V5K 0X0<\/td>\n<\/tr>\n<tr>\n<td>14 Milk Lane, Las Vegas NV 89000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Figure 7.25 Fictious postal codes for the example students<\/p>\n<p class=\"import-Normal\">If we looked at more student data, we would discover that the postal code determines the city or town or suburb and the state or province. Using the shorthand, A determines B, which in turn determines C. Student determines the postal code, which in turn determines the city or town or suburb.<\/p>\n<p class=\"import-Normal\">We could remove the address data and place into a separate database table. It would be tempting to use the postal code as the PK, but that breaks down if two individuals live in the same postal code. So we need to create a local PK scheme. Here are the revised tables:<\/p>\n<table style=\"width: 405pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>ID<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dentName<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Date<\/strong><strong>O<\/strong><strong>fBirth<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>StreetAddress<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Address<\/strong><strong>ID<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Figure 7.26 Revised Students database table<\/p>\n<p>Here is the new address code table:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>ID<\/strong><\/td>\n<td><strong>PostalCode<\/strong><\/td>\n<td><strong>StateOrProvice<\/strong><\/td>\n<td><strong>City<\/strong><\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>M5H 0X0<\/td>\n<td>ON<\/td>\n<td>Toronto<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>32800<\/td>\n<td>FL<\/td>\n<td>Orlando<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>V5K 0X0<\/td>\n<td>BC<\/td>\n<td>Vancouver<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>89000<\/td>\n<td>NV<\/td>\n<td>Las Vegas<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Figure 7.27 New address code database table<\/p>\n<h3>Fourth Normal Form (4NF)<\/h3>\n<p><em>Fourth normal form (4NF)<\/em> requires that the database table is in BCNF and that there ae no non-trivial multivalued dependencies.<\/p>\n<p>In Figure 7.16, we had each subject in a separate column. Our spreadsheet could have been figured in two other ways:<\/p>\n<ul>\n<li>All of the courses in one cell.<\/li>\n<li>Each course in a separate row.<\/li>\n<\/ul>\n<p class=\"import-Normal\">Here is what the first approach would look like:<\/p>\n<table style=\"width: 508.5pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dent Name<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Fees Paid<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Date of Birth<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject <\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics 1 (Business), Biology 1 (Science)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science), Business Intro (Business), Programming 2 (IT)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Figure 7.28 First approach that violates 4NF.<\/p>\n<p class=\"import-Normal\">Here is what the second approach looks like:<\/p>\n<table style=\"width: 431.8pt\">\n<tbody>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Stu<\/strong><strong>dent Name<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Fees Paid<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Date of Birth<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Address<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Phone<\/strong><\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\"><strong>Subject <\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Economics 1 (Business)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Mary Smith<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">18-Jul-00<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">09-Sep 91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">3 Main Street, Toronto ON<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">416-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 1 (Science)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Business Intro (Business),<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">James Johnson<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14-May-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">19-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">16 Leeds Road, Orlando FL<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">407-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Programming 2 (IT)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Patricia Williams<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">03-Feb-01<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">12-Sep-91<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">21 Arrow Street, Vancouver BC<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">236-555-0000<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">Biology 2 (Science)<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableNormal-R\" style=\"height: 0\">\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">John Brown<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">29-Apr-02<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">17-Sep-92<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">14 Milk Lane, Las Vegas NV<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">702-555-9999<\/p>\n<\/td>\n<td class=\"TableNormal-C\" style=\"vertical-align: middle;padding: 0 0pt 0 0pt;border: outset windowtext 0.75pt\">\n<p class=\"import-Normal\">\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Figure 7.28 Second approach that violates 4NF.<\/p>\n<p class=\"import-Normal\">When we were working on 2NF, we revised the Students database table and created a new Subjects database table and a new Teachers database table. We lost our connection between the students and their courses.<\/p>\n<p>Figure 7.29 addresses this issue:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>StudentID<\/strong><\/td>\n<td><strong>Subject <\/strong><\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>Economics 1 (Business)<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>Biology 1 (Science)<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Biology 1 (Science)<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Business Intro (Business),<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Programming 2 (IT)<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Biology 2 (Science)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Figure 7.29 Student course data in 4NF.<\/p>\n<h3>Fifth Normal Form (5NF) (Also known as Project-Join Normal Form (PJNF)<\/h3>\n<p><em>F<\/em><em>if<\/em><em>th normal form (<\/em><em>5<\/em><em>NF)<\/em> requires that the database table is in 4NF and that a relation does not contain any join dependency and no joining actions that would experience a loss of data.<\/p>\n<p>We have not covered yet how we use join commands to output a report from two or more tables. We have implied that this is done. 5NF is a concern for specialized scenarios where the data must be highly normalized to minimize redundancy and dependencies. Possible scenarios would be such as in data warehousing or in scientific research databases. Achieving 5NF could result in a very complex database structure with the result that the query commands are very complex. Thus, 5NF may not be a good choice for many database designs.<\/p>\n<p>To gain an understanding of 5NF, consider a database for a university that has a table for courses and another table for professors. To achieve 5NF, these tables would be broken down into tables for the individual courses and for the professors.<\/p>\n<h3>Comment on Normalization<\/h3>\n<p>Normalization is a tool. It is designed to address certain issues. It also helps to see what tables are needed. In this database, we would review what has been done.<\/p>\n<p>Upon review of the student course data (Figure 7.29), we may realize that we could use an ID for each course. So Figure 7.29 would have the following appearance:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>StudentID<\/strong><\/td>\n<td><strong>CourseID<\/strong><\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>4<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>1<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>3<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>5<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Figure 7.30 Student course data with Course IDs.<\/p>\n<p>And Figure 7.30 draws from the following new database table.<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>ID<\/strong><\/td>\n<td><strong>Subject <\/strong><\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>Biology 1 (Science)<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Biology 2 (Science)<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Business Intro (Business),<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>Economics 1 (Business)<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>Programming 2 (IT)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Figure 7.31 Course data with Course IDs.<\/p>\n<p>We may realize that we need a database table to handle enrollment in a course. Upon further review, we may realize that we need a database table for capturing what courses a teacher is scheduled to teach.<\/p>\n<p>So the first time through, we captured the database tables that have just the PK. The next time through, we captured the database tables that need to use an FK. Some of these database tables might require creating a composite PK.<\/p>\n<p>Knowing what the customer wants document is important. Suppose the customer wants to track a student\u2019s permanent address and the local address. To do this would require removing the AddressID from the Students database table and creating a new database table that contains the StudentID and a redefined AddressID. This redefined AddressID would be a composite key that is based on the ID from the actual physical address and a serial number. This database table provides some options. We could add new columns that could be used to capture the nature of the address and when the address is active.<\/p>\n<p>How far should a column be split? In this example, we left the first name and the last name in the same cell. If the person\u2019s complete name is always used and there is no requirement to order the names, then this arrangement would be acceptable. Otherwise, the name would need to be split into two columns.<\/p>\n<p>What about the address? Again, we need to understand the customer\u2019s environment. Suppose the customer is local and the database contains data on shoppers. And suppose the customer has a chain of stores. And suppose the city has numerous long streets. And suppose the customer wants to be able to create a mailing list based on a range of house numbers. And suppose the customer wants to create ads that list what products are carried at a store location. To meet the customer\u2019s requirements, we would need to create a column for the house number and another column for the street name.<\/p>\n<p>What about the word used after the address? Words like \u201cavenue,\u201d \u201cboulevard,\u201d \u201ccourt,\u201d \u201clane,\u201d \u201cparkway,\u201d \u201cplace,\u201d \u201croad,\u201d \u201croute,\u201d \u201cstreet,\u201d \u201cview,\u201d and \u201cway\u201d are normally kept with the address in the same cell. Consider Atlanta Georgia. By one count, there are over 70 streets that contain the word \u201cPeachtree.\u201d There is no issue about the ordering of columns in a database table. When a query is executed against a database table, you would indicate the ordering of the columns. So in languages that place the adjectives before a noun like the French language, there is no problem. You would need to determine if \u201cAvenue,\u201d \u201cBoulevard,\u201d \u201cRoute,\u201d \u201cRue,\u201d and so on should be in the same cell or not.<\/p>\n<p>The United States Postal Service (USPS) uses the word \u201cdirectionals\u201d to refer to the part of the address that has compass headings. There is no requirement for the placement of a directional word. The guidance is about how to express a directional.<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>USPS Preferred<\/strong><\/td>\n<td><strong>USPS Acceptable<\/strong><\/td>\n<\/tr>\n<tr>\n<td>234 N BAY ST<\/td>\n<td>234 NORTH BAY ST<\/td>\n<\/tr>\n<tr>\n<td>123 BAY DR W<\/td>\n<td>123 DRIVE WEST<\/td>\n<\/tr>\n<tr>\n<td>567 NORTH EAST MAIN ST<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>222 COUNTY ROAD N E<\/td>\n<td>222 COUNTY RD N EAST<\/td>\n<\/tr>\n<tr>\n<td>44 SOUTHEAST FWY N<\/td>\n<td>44 SOUTHEAST FREEWAY NORTH<\/td>\n<\/tr>\n<tr>\n<td>777 BAY WEST DR<\/td>\n<td>777 BAY W DRIVE<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"text-align: initial;font-size: 1em\">Figure 7.32 United States Postal Service address formats (Based on Publication 28 \u2013 Postal Addressing Standards.)<\/span><\/p>\n<p><span style=\"text-align: initial;font-size: 1em\">These issues would need to be considered while developing a database for a customer. <\/span><\/p>\n<p><span style=\"text-align: initial;font-size: 1em\">The student database example had students in one table and teachers in another table. We could have put students, teachers, and staffers into one table. If we did this, then we might find it useful to add a column that would provide data on the relationship to the college. The teachers\u2019 office information might need to be placed in a different table. Why? The city name, the state or province, and the postal code would be the same for every individual that has an office on the main campus. <\/span><\/p>\n<p><span style=\"text-align: initial;font-size: 1em\">Again, the planned usage of the data would determine how to split out the pieces. You may find some redundancy is desirable.Again, the time spent asking the customer about the requirements is time well spent. The obtained insights will make the task of creating useful database tables better.<\/span><\/p>\n<h2>Key Terms<\/h2>\n<p class=\"import-Normal\"><strong>attribute closure<\/strong><strong>: <\/strong> This is a set of attributes that can be functionally determined from it.<\/p>\n<p class=\"import-Normal\"><strong>Boyce Codd Normal Form<\/strong><strong> (BCNF)<\/strong>: This requires that a database table is in 3NF and that every functional dependency X &#8211;&gt; Y where X is the super key of the table.<\/p>\n<p class=\"import-Normal\"><strong>c<\/strong><strong>omplete<\/strong>: This means that when using the primary rules of the Armstrong\u2019s Axioms repeatedly for inferring other dependencies that continue until we reach a stopping point, we will have a complete set of dependencies.<\/p>\n<p class=\"import-Normal\"><strong>deletion anomaly<\/strong><strong>: <\/strong>When a database table is not well-designed, problems can arise when a row is deleted. The deleted row might contain data that does not appear elsewhere in the database table.<\/p>\n<p class=\"import-Normal\"><strong>First Normal Form (1NF)<\/strong><strong>: <\/strong> This requires that each cell contains only one value.<\/p>\n<p class=\"import-Normal\"><strong>Fifth normal form (5NF)<\/strong>: This requires that the database table is in 4NF and that a relation does not contain any join dependency and no joining actions that would experience a loss.<\/p>\n<p><strong>Fourth normal form (4NF)<\/strong>: This requires that the database table is in BCNF and that there ae no non-trivial multivalued dependencies.<\/p>\n<p class=\"import-Normal\"><strong>functional dependency (FD)<\/strong><strong>: <\/strong> This is a relationship between attributes such as between the PK and the non-key attributes. Something determines the other attributes. An FD is a database constraint that determines the relationship of one attribute to another attribute. FDs help to maintain the quality of data in a database.<\/p>\n<p class=\"import-Normal\"><strong>functional dependency set (FD set)<\/strong><strong>: <\/strong> This is the set of all FDs in a relation.<\/p>\n<p class=\"import-Normal\"><strong>insertion anomaly<\/strong><strong>: <\/strong> When a database table is not well-designed, problems can arise when a new row is added. The new row might contain revised data that needs to be applied to other rows<strong>.<\/strong><\/p>\n<p class=\"import-Normal\"><strong>normalization<\/strong><strong>: <\/strong> This is a step-by-step process for minimizing redundancy in a database. There are five normal forms<strong>.<\/strong><\/p>\n<p class=\"import-Normal\"><strong>Project-Join Normal Form (PJNF)<\/strong><strong>: <\/strong>See Fifth Normal Form.<\/p>\n<p class=\"import-Normal\"><strong>redundancy<\/strong><strong>: <\/strong> This is when data appears in some fashion two more times in a table. This is undesirable, because it causes problems.<\/p>\n<p class=\"import-Normal\"><strong>Second Normal Form (2NF)<\/strong><strong>: <\/strong> This requires that a database table is in 1NF and that each non-key attribute must be functionally dependent on the primary key.<\/p>\n<p class=\"import-Normal\"><strong>sound<\/strong><strong>:<\/strong> This means that for a given set of FDs that are specified for a relation schema, a person should be able infer any dependency from the FDs by using the primary rules of Armstrong\u2019s Axioms and that these will hold in every relation state of the relational schema R that satisfies the dependencies in the FDs.<\/p>\n<p class=\"import-Normal\"><strong>Third Normal Form (2NF)<\/strong><strong>: <\/strong> This requires that a database table is in 2NF and that there are no transitive dependencies.<\/p>\n<p class=\"import-Normal\"><strong>Update anomaly<\/strong><strong>: <\/strong> When a database table is not well-designed, problems can arise when a row is updated. The updated row might contain revised data that needs to be applied to other rows. This is similar to the situation of adding a new row to a database.<\/p>\n<h2>Exercises<\/h2>\n<ol>\n<li class=\"import-Normal\">Explain or define the following terms:\n<ol>\n<li class=\"import-Normal\">Redundancy<\/li>\n<li class=\"import-Normal\">Insertion anomaly<\/li>\n<li class=\"import-Normal\">Update anomaly<\/li>\n<li class=\"import-Normal\">Deletion anomaly<\/li>\n<li class=\"import-Normal\">Functional dependency<\/li>\n<li class=\"import-Normal\">Trivial Functional Dependency<\/li>\n<li class=\"import-Normal\">Non-Trivial Functional Dependency<\/li>\n<li class=\"import-Normal\">Multivalued Functional Dependency<\/li>\n<li class=\"import-Normal\">Transitive Functional Dependency<\/li>\n<li class=\"import-Normal\">Functional Dependent Set<\/li>\n<li class=\"import-Normal\">Attribute closure<\/li>\n<li class=\"import-Normal\">Armstrong\u2019s Axioms<\/li>\n<li class=\"import-Normal\">Normalization<\/li>\n<li class=\"import-Normal\">First Normal Form<\/li>\n<li class=\"import-Normal\">Second Normal Form<\/li>\n<li class=\"import-Normal\">Third Normal Form<\/li>\n<li>Describe the properties of BCNF, \u2026. [Familiarity] (CS2013 IM\/RD 11)<\/li>\n<li>Fourth Normal Form<\/li>\n<li>Describe the properties of \u2026 PJNF, 5NF. [Familiarity] (CS2013 IM\/RD 11)<\/li>\n<\/ol>\n<\/li>\n<li class=\"import-Normal\">An agency called Instant Cover supplies part-time\/temporary staff to hotels in Scotland. Figure 7.33 lists the time spent by agency staff working at various hotels. The national insurance number (NIN) is unique for every member of staff.<\/li>\n<\/ol>\n<table>\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>NIN<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>ContractNumber<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Hours<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>EmployeeName<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>HotelNumber<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>HotelLocation<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1135<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">C1024<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">16<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Smith J.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">H25<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">East Killbride<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1057<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">C1024<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">24<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Hocine D.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">H25<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">East Killbride<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">106<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">C1025<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">28<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">White T.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">H4<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Glasgow<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1135<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">C1025<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">15<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Smith J.<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">H4<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Glasgow<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\" style=\"margin-left: 18pt\">Figure 7.33 Instant Cover table (Updated rendering of Figure 12.4 from the second edition.)<\/p>\n<ul>\n<li>This table is susceptible to update anomalies. Provide examples of insertion, deletion and update anomalies.<\/li>\n<li>Normalize this table to third normal form. State any assumptions.<\/li>\n<li>Explain the impact of normalization on the efficiency of database operations especially query optimization. [Familiarity] (CS2013 IM\/RD 12)<\/li>\n<li class=\"import-Normal\">Determine the functional dependency between two or more attributes that are a subset of a relation. [Assessment] (CS2013 IM\/RD 6) Ten would be good. Twenty would be excellent.<\/li>\n<\/ul>\n<table style=\"width: 455.45pt\">\n<tbody>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>ID<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>Building<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>C<\/strong><strong>offee<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>D<\/strong><strong>oughnuts<\/strong><\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\" style=\"text-align: center\"><strong>College<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">1<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Mathematics<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Roast<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Churro<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Douglas<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">2<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Mathematics<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Drip<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Cruller<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Douglas<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">3<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Science<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Roast<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Churro<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Douglas<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">4<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Science<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Drip<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Cruller<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Douglas<\/p>\n<\/td>\n<\/tr>\n<tr class=\"TableGrid-R\">\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">5<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">English<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Expresso<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Churro<\/p>\n<\/td>\n<td class=\"TableGrid-C\" style=\"background-color: transparent;border: solid windowtext 0.5pt\">\n<p class=\"import-Normal\">Douglas<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"import-Normal\">Table 7.7 Functional dependency table problem<\/p>\n<p class=\"import-Normal\">3.\u00a0 For Table 7.7, what would be the PK? Connect constraints expressed as primary key and foreign key, with functional dependencies. [Usage] (CS2013 IM\/RD 7)<\/p>\n<p class=\"import-Normal\">4.\u00a0 There are different viewpoints about what is meant by the expression of a multivalued functional dependency. Use the first viewpoint from this chapter. Create an example of this viewpoint. Describe what is a multi-valued dependency and what type of constraints it specifies. [Familiarity] (CS2013 IM\/RD 13)<\/p>\n<p class=\"import-Normal\">5.\u00a0 Compute the closure of a set of attributes under given functional dependencies. [Usage] (CS 2013 IM\/RD 8)<\/p>\n<ul>\n<li class=\"import-Normal\">Given R = {E, F, G, H, I, J, K, L, M, N}<\/li>\n<li class=\"import-Normal\">FDs: {{E, F} -&gt; {G}, {F} -&gt; {I, J}, {E, H} -&gt; {K, L}, K -&gt; {M}, L -&gt; {N}<\/li>\n<li class=\"import-Normal\">What is {E, F, H}+?<\/li>\n<li class=\"import-Normal\">What is {E,F, H, K, L}+?<\/li>\n<\/ul>\n<p class=\"import-Normal\">6.\u00a0 For question 5, which result set would be a candidate key? Explain your choice. Determine whether a set of attributes form a superkey and\/or candidate key for a relation with given functional dependencies. [Assessment] (CS2013 IM\/RD 9)<\/p>\n<p class=\"import-Normal\">7.\u00a0 For question 5, list the Armstrong Axioms and rules that you used.<\/p>\n<p class=\"import-Normal\">8.\u00a0 Express the relationship between functional dependencies and keys, and give examples. (IT2017 ITE-IMA-04c)<\/p>\n<p class=\"import-Normal\">9.\u00a0 Illustrate data quality, accuracy, and timeliness, and explain how their absence will impact organizations. (IT2017 ITE-IMA-02c) In your answer address the topic of normalization.<\/p>\n<h2>A Running Project<\/h2>\n<p class=\"import-Normal\">A running project was introduced in Chapter 2. You were encouraged to collect insights about the needs. In Chapter 3, you were told to use a word processor to create tables with columns for the entity pieces. In Chapter 4, you were told to identify the data types. In Chapter 5, you were told to create ERD. In Chapter 6, you were told to revise your ERD to add PK and FK to your tables. You were told to add cardinality between the tables.<\/p>\n<p class=\"import-Normal\">For this chapter, you are to review your tables. Use the normalization steps to bring your database to 3NF.<\/p>\n<p class=\"import-Normal\">Again, review what you have collected. Have you overlooked anything?<\/p>\n<h2>Attribution<\/h2>\n<p class=\"import-Normal\">This chapter of\u00a0<em>Database Design<\/em> is a derivative copy of\u00a0<a class=\"rId13\" href=\"http:\/\/cnx.org\/contents\/b57b8760-6898-469d-a0f7-06e0537f6817@1\"><span class=\"import-ListLabel112\">Database System Concepts<\/span><\/a>\u00a0by\u00a0Nguyen Kim Anh\u00a0licensed under\u00a0<a class=\"rId14\" href=\"http:\/\/creativecommons.org\/licenses\/by\/3.0\/\"><span class=\"import-ListLabel112\">Creative Commons Attribution License 3.0 license<\/span><\/a><\/p>\n<p class=\"import-Normal\">The second edition chapter 10\u2019s title was misleading. It had a title of \u201cER Modeling,\u201d but the actual material was about redundancy and anomalies. The second edition chapter 11 was about functional dependencies and Armstrong\u2019s Axioms and Rules. Table 11.1 was used, but the figure on dependency diagram was not used. The second edition chapter 12 was about normalization. Question 8 with Figure 12.4 was used. Adrienne Watt was listed as the author for all three chapters.<\/p>\n<p class=\"import-Normal\">This chapter drew from many sources. The information was completely revised by Fred Strickland for the third edition.<\/p>\n<h2>Image Attributions<\/h2>\n<p class=\"import-Normal\">Figures 7.2, 7.3, 7.4, and 7.5 came from A. Watt in the second edition.<\/p>\n<h2>References<\/h2>\n<p class=\"import-Normal\">Agnieszka Kozubek. \u201cHow To Find the Closure of a Set of Attributes (With Examples),\u201d Vertabelo, February 11, 2021. <a class=\"rId15\" href=\"https:\/\/vertabelo.com\/blog\/closure-of-a-set-of-attributes\"><span class=\"import-InternetLink\">https:\/\/vertabelo.com\/blog\/closure-of-a-set-of-attributes<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cArmstrong\u2019s axioms,\u201d Tutorial Ride.com, n.d. <a class=\"rId16\" href=\"https:\/\/www.tutorialride.com\/dbms\/armstrongs-axioms.htm\"><span class=\"import-InternetLink\">https:\/\/www.tutorialride.com\/dbms\/armstrongs-axioms.htm<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cArmstrong\u2019s Axioms in Functional Dependency in DBMS,\u201d Geeks for Geeks, July 19, 2023. <a class=\"rId17\" href=\"https:\/\/www.geeksforgeeks.org\/armstrongs-axioms-in-functional-dependency-indbms\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/armstrongs-axioms-in-functional-dependency-indbms\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">Ben. \u201cDatabase Normalization: A Step-By-Step-Guide With Examples,\u201d Database Star, September 26, 2022. <a class=\"rId18\" href=\"https:\/\/www.databasestar.com\/database-normalization\/\"><span class=\"import-Hyperlink\">https:\/\/www.databasestar.com\/database-normalization\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cBoyce Codd normal form (BCNF,\u201d Java T Point, n.d. <a class=\"rId19\" href=\"https:\/\/www.javatpoint.com\/dbms-boyce-codd-normal-form\"><span class=\"import-Hyperlink\">https:\/\/www.javatpoint.com\/dbms-boyce-codd-normal-form<\/span><\/a><\/p>\n<p class=\"import-Normal\">Fiona Brown. \u201cFunctional Dependency in DBMS: What is, Types and Examples,\u201d Guru99, June 28, 2024. <span class=\"import-InternetLink\">https:\/\/www.guru99.com\/dbms-functional-dependency.html<\/span><\/p>\n<p class=\"import-Normal\">\u201cFirst Normal Form (1NF),\u201d Javat T Point, n.d. <a class=\"rId20\" href=\"https:\/\/www.javatpoint.com\/dbms-first-normal-form\"><span class=\"import-Hyperlink\">https:\/\/www.javatpoint.com\/dbms-first-normal-form<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cFourth normal form (4NF),\u201d Java T Point, n.d. <a class=\"rId21\" href=\"https:\/\/www.javappont.com\/dbms-forth-normal-form\"><span class=\"import-Hyperlink\">https:\/\/www.javappont.com\/dbms-forth-normal-form<\/span><\/a> Note: This is how the URL was formed.<\/p>\n<p class=\"import-Normal\">\u201cFunctional Dependency and Attribute Closure,\u201d Geeks for Geeks, November 7, 2023. <a class=\"rId22\" href=\"https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cFunctional Dependency in DBMS (Types and Examples),\u201d DatabaseTown, n.d. <a class=\"rId23\" href=\"https:\/\/databasetown.com\/functional-dependency-in-dbms\/\"><span class=\"import-InternetLink\">https:\/\/databasetown.com\/functional-dependency-in-dbms\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cSecond Normal Form (2NF),\u201d Java T Point, n.d. <a class=\"rId24\" href=\"https:\/\/www.javatpoint.com\/dbms-second-normal-form\"><span class=\"import-Hyperlink\">https:\/\/www.javatpoint.com\/dbms-second-normal-form<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cThird Normal Form,\u201d Better Data Engineer, n.d. <a class=\"rId25\" href=\"https:\/\/betterdataengineer.com\/docs\/databse-fundamentals\/normalization\/3nf\"><span class=\"import-Hyperlink\">https:\/\/betterdataengineer.com\/docs\/databse-fundamentals\/normalization\/3nf<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cTypes of Functional dependencies in DBMS,\u201d\u201d Geeks for Geeks, June 12, 2023. <a class=\"rId26\" href=\"https:\/\/www.geeksforgeeks.org\/types-of-functional-dependencies-in-dbms\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/types-of-functional-dependencies-in-dbms\/<\/span><\/a><\/p>\n<p class=\"import-Normal\">\u201cWhat is Functional Dependency in DBMS?\u201d Geeks for Geeks, May 2, 2024. <a class=\"rId27\" href=\"https:\/\/www.geeksforgeeks.org\/what-is-functional-dependency-in-dbms\/\"><span class=\"import-InternetLink\">https:\/\/www.geeksforgeeks.org\/what-is-functional-dependency-in-dbms\/<\/span><\/a><\/p>\n<p class=\"import-Normal\" style=\"padding-left: 40px\">The writer incorrectly explains a trivial functional dependency. The writer has a different understanding of a multivalued functional dependency.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"sdfootnote1sym\"><a href=\"#sdfootnote1anc\">1<\/a> Most of the writing was done with Microsoft Word. Once I had to use LibreOffice Writer and these arrows were rendered as tiny empty boxes.<\/div>\n<div>\n<p>2 The \u201cother\u201d writers include the following:<\/p>\n<ul>\n<li>\u201cTypes of Functional dependencies in DBMS,\u201d Geeks for Geeks, June 12, 2023. <a href=\"https:\/\/www.geeksforgeeks.org\/types-of-functional-dependencies-in-dbms\/\">https:\/\/www.geeksforgeeks.org\/types-of-functional-dependencies-in-dbms\/<\/a><\/li>\n<li>\u201cFunctional Dependency in DBMS (Types and Examples),\u201d DatabaseTown, n.d. <a href=\"https:\/\/databasetown.com\/functional-dependency-in-dbms\/\">https:\/\/databasetown.com\/functional-dependency-in-dbms\/<\/a><\/li>\n<li>Many writers do not address multivalued functional dependency.\u00a0 The second edition did not address this topic. Two websites did not address this topic.\u00a0 The five cited textbooks are from my personal library and these did not address this topic.\n<ul>\n<li>\u201cFunctional Dependency,\u201d Java T Point, n.d. <a href=\"https:\/\/www.javatpoint.com\/dbms-functional-dependency\">https:\/\/www.javatpoint.com\/dbms-functional-dependency<\/a><\/li>\n<li>\u201cFunctional Dependency and Attribute Closure,\u201d Geeks for Geeks, November 7, 2023. <a href=\"https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/\">https:\/\/www.geeksforgeeks.org\/functional-dependency-and-attribute-closure\/<\/a><\/li>\n<li>Thomas Connolly and Carolyn Begg. \u201cNormalization, \u201c<em>Database Systems<\/em>, 3rd edition: Addison Wesley, 2002<\/li>\n<li>Carlos Coronel, Steven Morris, and Peter Rob. \u201c<em>The Relational Database Model,\u201d Database Systems:\u00a0 Design, Implementation, and Management, <\/em>10th edition:\u00a0 Course Technology, 2013<\/li>\n<li>Jeffrey A. Hoffer, V. Ramesh, and Heikki Topi. \u201cDatabase Design,\u201d <em>Modern Database Management<\/em>, 11th edition:\u00a0 Pearson, 2013.<\/li>\n<li>David M. Kroenke and David J. Auer. \u201cThe Relational Model and Normalization,\u201d <em>Database Processing:\u00a0 Fundamentals, Design, and Implementation<\/em>, 13th edition:\u00a0 Pearson, 2014.<\/li>\n<li>Philip J. Pratt and Joseph J. Adamski. \u201cDatabase Design 1:\u00a0 Normalization,\u201d <em>Concepts of Database Management<\/em>, 7th edition:\u00a0 Course Technology, 2012.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/div>\n<div>\n<p>3 The top two popular male names in North America according to <a href=\"https:\/\/names.mongabay.com\/male_names.htm\">https:\/\/names.mongabay.com\/male_names.htm<\/a> and the top two popular female names in North America according to <a href=\"https:\/\/names.mongabay.com\/female_names.htm\">https:\/\/names.mongabay.com\/female_names.htm<\/a><\/p>\n<p>4 The top four most common last names in the United States according to <a href=\"https:\/\/names.mongabay.com\/data\/1000.html\">https:\/\/names.mongabay.com\/data\/1000.html<\/a><\/p>\n<p>5 An arbitrary search revealed that these cities are the most popular for trips in Canada and in the United States.<\/p>\n<p>6 These are the four most common birthdays in the world according to <a href=\"https:\/\/www.worldatlas.com\/society\/the-most-common-birthdays-in-the-world.html\">https:\/\/www.worldatlas.com\/society\/the-most-common-birthdays-in-the-world.html<\/a><\/p>\n<\/div>\n<div id=\"sdfootnote7sym\"><a href=\"#sdfootnote7anc\">7<\/a> Another tool that has fallen out of favor is flow charting. These worked well for procedure programming where the data is not hidden. These do not work for an object-oriented programming language. UML diagrams are more useful. In an academic setting, instructors would tell the students to create flow charts, then write the program. In reality, students tended to write the program, then create the flow charts. So much for proper procedure programming steps!<\/div>\n<div>\n<p>8 Recall that a super key is a set of one or more attributes that can uniquely identify a row in a table.<\/p>\n<p>9 Recall that a candidate key is a minimal set of attributes that can locate one row in a database table.\u00a0 Candidate keys are selected from the set of super keys with the requirement that no redundant attributes are included.<\/p>\n<\/div>\n<div>10 This symbol (\u2286) means member of.<\/div>\n<div><\/div>\n<div id=\"sdfootnote11sym\"><a href=\"#sdfootnote11anc\">11<\/a> These are real instructors at Douglas College. The data about their office locations and subject areas are real.<\/div>\n<div id=\"sdfootnote12sym\"><a href=\"#sdfootnote12anc\">12<\/a> These are real instructors at Douglas College. The data about their office locations and subject areas are real.<\/div>\n<div id=\"sdfootnote13sym\"><a href=\"#sdfootnote13anc\">13<\/a> I have ignored the fact that in some countries, the suburb is part of the address field.<\/div>\n<\/div>\n","protected":false},"author":2276,"menu_order":7,"template":"","meta":{"pb_show_title":"on","pb_short_title":"","pb_subtitle":"","pb_authors":["fredstrickland"],"pb_section_license":""},"chapter-type":[],"contributor":[66],"license":[],"class_list":["post-1091","chapter","type-chapter","status-publish","hentry","contributor-fredstrickland"],"part":3,"_links":{"self":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/1091","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters"}],"about":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/types\/chapter"}],"author":[{"embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/users\/2276"}],"version-history":[{"count":3,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/1091\/revisions"}],"predecessor-version":[{"id":1139,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/1091\/revisions\/1139"}],"part":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/parts\/3"}],"metadata":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapters\/1091\/metadata\/"}],"wp:attachment":[{"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/media?parent=1091"}],"wp:term":[{"taxonomy":"chapter-type","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/pressbooks\/v2\/chapter-type?post=1091"},{"taxonomy":"contributor","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/contributor?post=1091"},{"taxonomy":"license","embeddable":true,"href":"https:\/\/pressbooks.bccampus.ca\/nelson\/wp-json\/wp\/v2\/license?post=1091"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}