What Does Boyce-Codd Normal Form Do?+

Total Page:16

File Type:pdf, Size:1020Kb

What Does Boyce-Codd Normal Form Do?+ WHAT DOES BOYCE-CODD NORMAL FORM DO?+ Philip A. Bernstein Nathan Goodman Aiken Computation Laboratory Harvard University Cambridge, MA 02138 Abstract The benefits of Boyce Codd normal form (BCNF) are well understood at an intuitive level. BCNF Normalization research has concentrated on defining and its precursor, third normal form (3NF), were normal forms for database schemas and developing introduced by Codd to eliminate "anomalous" up- efficient algorithms for attaining these normal date* behavior of relations. BCNF accomplishes forms. It has never been proved that normal forms this by "placing independent relationships into are good, i.e. that normal forms are beneficial to independent relations." (A more precise character- database users. This paper considers one of the ization appears later.) BCNF is widely recommended earliest normal forms (Boyce Codd normal form in practice for this purpose [Date, Mar], and there [Cod21) whose benefits are intuitively understood. is little doubt that BCNF is a good normal form in We formalize these benefits and attempt to prove many practical situations. that the normal form attains them. Instead we prove the opposite: Boyce-Codd normal fomn fails This paper formalizes the intuitive benefits to meet its goals except in trivia2 eases. This of BCNF and attempts to prove that these benefits counterintuitive result is a consequence of the are attained. The attempt fails. Instead we prove "universal relation assumption" upon which normal- that BCNF does not meet its goals, except in trivial ization theory rests. Normalization theory will eases. This result is quite disturbing because it remain an isolated theoretical area, divorced from contradicts BCNF's intuitive appeal and empirically database practice, until this assumption is observed benefits. Either the theory is wrong, or circumvented. database practitioners are making a serious error by using BCNF. Our opinion is that the theory is at fault--that normalization theory, as currently constituted, is inadequate to characterize the 1. Introduction practical use and benefits of normal forms. The source of inadequacy can be traced to the "universal Normalization is a schema design process. The relation assumption" upon which normalization theory input is a schema (i.e., database description) is based. that describes an application; the output is another schema that describes the same application, but in On the surface, this paper is an analysis of a "better" way. Normalization theory provides Boyce Codd normal form. Cur deeper purpose is to mathematical tools for defining schemas, for draw attention to a missing link in normalization characterizing the application that a schema re- theory. For normalization theory to be well presents, and for specifying the form a "good" grounded in the database problems it intends to schema must satisfy. Most normalization research solve, it must be possible to use the theory to has focused on defining good forms for schemas prove the benefits of normal forms. Unfortunately, (MoMnal forms) and developing efficient algorithms it appears that normalization theory, as currently for attaining these normal forms. However, normal- formulated, cannot do this.. Until this missing ization theory does not provide tools for explaining link is filled in, normalization theory will be why normal forms are good. Presumably, normal forms incapable of explaining what Boyce Codd normal help database users in some way, but these benefits form does. have never been characterized within the formal framework of normalization theory. This paper attempts such a characterization for one particular normal form, namely Boyce Codd normal form. t This work was supported by the National Science Foundation under Grant Number MCS-77-05314 and by * the Advanced Research Projects Agency of the The word "update" is used generically to denote Department of Defense, Contract Number N00039-78- insertions, deletions, or replacements (i.e., G-0020. modification) of tuples in a relation. w1534-7/80/0000-0245$00.75 0 1980 IEEE 245 2. Terminology D<D' iff D(R.) CD' (Ri) for i=l,...,n; clearly, I is a partiaiiorder. 2.1 Relations and Databases In formalizing relational databases we distin- 2.2 Functional Dependencies guish the time-invariant description of a relation VS. its contents at a particular moment. The A functional dependency (abbr. FD) is a state- description of a relation is called a relation ment of the form f:X+Y, where f is the name of schema and consists of a set of attributes, and a the FD, and X,Y are sets of attributes. f is set of functional dependencies. R= <ATTR,F> defined on relation schema R=<ATTR,F> if denotes a relation schema R witk attributes ATTR, X,YcATTR. We shall assume throughout this paper and functional dependencies- F. Figure 2.1 thatevery fEF is defined on R. If f is illustrates a relation schema. The contents of a defined on R we interpret it as-a predicate on relation is called a relation state, and may be states of ET f CR) is true if for all r,r'ER, visualized as a table of data. Figure 2.2 illus- whenever r[Xl = r'[Xl, r[Yl = r' [Yl as well. trates a relation state. A relation state R of schema R=<ATTR,F> is consistent if every fEF is truein R. For Relation Schema: example, the state depicted in Fig. 2.2 is con- sistent. The set of all consistent states of -R is denoted DOM(E). -R = <{E#, JC, D#, M#, CT), {E#+JC, D#, M#, CT; D#+M#, CT: Given that a set of FDs, F, holds in state R, M#+D#. CT}> one can infer other FDs that must hold in R as well. The set of all such FDs can be constructed Description of Attributes: syntactically using a system of inference rules [DC], see Figure 2.3. The set of all FDs derivable from F using the inference rules of Fig. 2.3 is E# employee number called the closure of F and is denoted F+. JC job code D# department number M# employee number of manager If Y C X then X'Y CT contract type If ZCW- and X+Y then xw+yz Figure 2.1. An Example Relation Schema. If X'Y and Y+Z then X'Z Figure 2.3. Inference Rules for Relation Schema: as defined in Fig. 2. Functional Dependencies. Relation: R E# JC D# M# CT Within the confines of a single relation schema, F+ is precisely the set of FDS implied by 1 a x 11 g F: i.e., fE F+ iff f holds in every state of 2 c x 11g R in which F holds [Arm]. This fact is called 3 a y 12 n the coi??pZeteness property of FD-closure [BFH]. 4 b x 11 g 5 b ~12 n FDS also enjoy the uniqueness property within 6 c y 12 n a single relation schema, which states that syn- 7 a z 13 n tactically identical FDs are semantically equi- 8 c z 13 n valent as well [Bern]. Figure 2.2. An Example Relation. 2.3 The Universal Relation Assumption: Schema Equivalence Notationally, states of relation schema R Intuitively, two schemas are equivalent if are represented by R with possible superscript. they represent the same external application. For Elements of R (called tuples) are denoted r relation schemas this notion may be formalized in with possible superscript. If Xc_ATTR, we use terms of consistent states: relation schema to denote the projection of r on the r [xl R=<ATTR,F> and E' =<ATTR',F'> are equivalent if attributes in X, and R[Xl=tr[Xl IrER). DOM@) = DOM@'). As a consequence of completeness and uniqueness, DOM(R) = DOM(R') iff ATTR=ATTR' A database schema is a set of relation schemas and F+=F'+. Hence, -when normalizing R one can and is denoted g= {_Ri=<ATTRi,Fi>li= l,...,n). substitute F' for F whenever F'+=Ff, since A database state D for D is an assignment of the resulting schema <ATTR,F'> remains equivalent relation states to the relation schemas of D. to -R. D(Eii) denotes the relation state assigned by D to Ei, for i=l,...,n. If D and D' are both All normalization algorithms depend on this database states for database schema D, we define fact. Bernstein [Bern], for example, exploits it 246 to substitute a "reduced" set of FDs for the ones is precisely representable by the set REP(D) = supplied by the user. Without this substitution, CUIgDEDOMQ), U= *;=l D(RiIl. Two schemas -D and many schemas cannot be normalized due to redun- dancies in the way FDs are expressed in the D’ represent the same external application, i.e., schema [Bern]. are equivalent under the UR-assumption if REP(D) = REP(D'). But REP(D) =DOM(U=<ATTR,F>) where However, completeness and uniqueness do not ATTR= (U;=l ATTRi) and F=(Uy=l Fi), and n' hold in multi-relation databases enerally. Con- REP(D') =DOM(U' =<ATTR',F'>) where ATTR'=(U. ATTR;) sider Figure 2.4. The schemas DY , D2, and D3 n' - 1=1 "contain" the same FDs--i.e., FlT=F5=F3+--yet and F'= (Ui,l F;'. Consequently REP@) = REP@') + these three schemas differ qualitatively in re- iff DOM(U) =DOM(U') iff ATTR=ATTR' and F+=F', presentational capability. ~1 can only represent which is precisely the notion of schema equivalence universities in which professors and teaching required by normalization theory. assistants must teach courses in their own depart- ment; D2 permits teaching assistants to be drawn Finally we observe that the FDs that hold in from other departments, but not professors; and D(Ri) fo; every DEDOM(D) are F'[ATTRiI, not D3 permits complete flexibility in the assignment simply Fi.
Recommended publications
  • Normalized Form Snowflake Schema
    Normalized Form Snowflake Schema Half-pound and unascertainable Wood never rhubarbs confoundedly when Filbert snore his sloop. Vertebrate or leewardtongue-in-cheek, after Hazel Lennie compartmentalized never shreddings transcendentally, any misreckonings! quite Crystalloiddiverted. Euclid grabbles no yorks adhered The star schemas in this does not have all revenue for this When done use When doing table contains less sensible of rows Snowflake Normalizationde-normalization Dimension tables are in normalized form the fact. Difference between Star Schema & Snow Flake Schema. The major difference between the snowflake and star schema models is slot the dimension tables of the snowflake model may want kept in normalized form to. Typically most of carbon fact tables in this star schema are in the third normal form while dimensional tables are de-normalized second normal. A relation is danger to pause in First Normal Form should each attribute increase the. The model is lazy in single third normal form 1141 Options to Normalize Assume that too are 500000 product dimension rows These products fall under 500. Hottest 'snowflake-schema' Answers Stack Overflow. Learn together is Star Schema Snowflake Schema And the Difference. For step three within the warehouses we tested Redshift Snowflake and Bigquery. On whose other hand snowflake schema is in normalized form. The CWM repository schema is a standalone product that other products can shareeach product owns only. The main difference between in two is normalization. Families of normalized form snowflake schema snowflake. Star and Snowflake Schema in Data line with Examples. Is spread the dimension tables in the snowflake schema are normalized. Like price weight speed and quantitiesie data execute a numerical format.
    [Show full text]
  • Boyce-Codd Normal Forms Lecture 10 Sections 15.1 - 15.4
    Boyce-Codd Normal Forms Lecture 10 Sections 15.1 - 15.4 Robb T. Koether Hampden-Sydney College Wed, Feb 6, 2013 Robb T. Koether (Hampden-Sydney College) Boyce-Codd Normal Forms Wed, Feb 6, 2013 1 / 15 1 Third Normal Form 2 Boyce-Codd Normal Form 3 Assignment Robb T. Koether (Hampden-Sydney College) Boyce-Codd Normal Forms Wed, Feb 6, 2013 2 / 15 Outline 1 Third Normal Form 2 Boyce-Codd Normal Form 3 Assignment Robb T. Koether (Hampden-Sydney College) Boyce-Codd Normal Forms Wed, Feb 6, 2013 3 / 15 Third Normal Form Definition (Transitive Dependence) A set of attributes Z is transitively dependent on a set of attributes X if there exists a set of attributes Y such that X ! Y and Y ! Z. Definition (Third Normal Form) A relation R is in third normal form (3NF) if it is in 2NF and there is no nonprime attribute of R that is transitively dependent on any key of R. 3NF is violated if there is a nonprime attribute A that depends on something less than a key. Robb T. Koether (Hampden-Sydney College) Boyce-Codd Normal Forms Wed, Feb 6, 2013 4 / 15 Example Example order_no cust_no cust_name 222-1 3333 Joe Smith 444-2 4444 Sue Taylor 555-1 3333 Joe Smith 777-2 7777 Bob Sponge 888-3 4444 Sue Taylor Table 3 Table 3 is in 2NF, but it is not in 3NF because [order_no] ! [cust_no] ! [cust_name]: Robb T. Koether (Hampden-Sydney College) Boyce-Codd Normal Forms Wed, Feb 6, 2013 5 / 15 3NF Normalization To put a relation into 3NF, for each set of transitive function dependencies X ! Y ! Z , make two tables, one for X ! Y and another for Y ! Z .
    [Show full text]
  • Normalization Exercises
    DATABASE DESIGN: NORMALIZATION NOTE & EXERCISES (Up to 3NF) Tables that contain redundant data can suffer from update anomalies, which can introduce inconsistencies into a database. The rules associated with the most commonly used normal forms, namely first (1NF), second (2NF), and third (3NF). The identification of various types of update anomalies such as insertion, deletion, and modification anomalies can be found when tables that break the rules of 1NF, 2NF, and 3NF and they are likely to contain redundant data and suffer from update anomalies. Normalization is a technique for producing a set of tables with desirable properties that support the requirements of a user or company. Major aim of relational database design is to group columns into tables to minimize data redundancy and reduce file storage space required by base tables. Take a look at the following example: StdSSN StdCity StdClass OfferNo OffTerm OffYear EnrGrade CourseNo CrsDesc S1 SEATTLE JUN O1 FALL 2006 3.5 C1 DB S1 SEATTLE JUN O2 FALL 2006 3.3 C2 VB S2 BOTHELL JUN O3 SPRING 2007 3.1 C3 OO S2 BOTHELL JUN O2 FALL 2006 3.4 C2 VB The insertion anomaly: Occurs when extra data beyond the desired data must be added to the database. For example, to insert a course (CourseNo), it is necessary to know a student (StdSSN) and offering (OfferNo) because the combination of StdSSN and OfferNo is the primary key. Remember that a row cannot exist with NULL values for part of its primary key. The update anomaly: Occurs when it is necessary to change multiple rows to modify ONLY a single fact.
    [Show full text]
  • Fundamentals of Database Systems [Normalization – II]
    Outline First Normal Form Second Normal Form Third Normal Form Boyce-Codd Normal Form Fundamentals of Database Systems [Normalization { II] Malay Bhattacharyya Assistant Professor Machine Intelligence Unit Indian Statistical Institute, Kolkata October, 2019 Outline First Normal Form Second Normal Form Third Normal Form Boyce-Codd Normal Form 1 First Normal Form 2 Second Normal Form 3 Third Normal Form 4 Boyce-Codd Normal Form Outline First Normal Form Second Normal Form Third Normal Form Boyce-Codd Normal Form First normal form The domain (or value set) of an attribute defines the set of values it might contain. A domain is atomic if elements of the domain are considered to be indivisible units. Company Make Company Make Maruti WagonR, Ertiga Maruti WagonR, Ertiga Honda City Honda City Tesla RAV4 Tesla, Toyota RAV4 Toyota RAV4 BMW X1 BMW X1 Only Company has atomic domain None of the attributes have atomic domains Outline First Normal Form Second Normal Form Third Normal Form Boyce-Codd Normal Form First normal form Definition (First normal form (1NF)) A relational schema R is in 1NF iff the domains of all attributes in R are atomic. The advantages of 1NF are as follows: It eliminates redundancy It eliminates repeating groups. Note: In practice, 1NF includes a few more practical constraints like each attribute must be unique, no tuples are duplicated, and no columns are duplicated. Outline First Normal Form Second Normal Form Third Normal Form Boyce-Codd Normal Form First normal form The following relation is not in 1NF because the attribute Model is not atomic. Company Country Make Model Distributor Maruti India WagonR LXI, VXI Carwala Maruti India WagonR LXI Bhalla Maruti India Ertiga VXI Bhalla Honda Japan City SV Bhalla Tesla USA RAV4 EV CarTrade Toyota Japan RAV4 EV CarTrade BMW Germany X1 Expedition CarTrade We can convert this relation into 1NF in two ways!!! Outline First Normal Form Second Normal Form Third Normal Form Boyce-Codd Normal Form First normal form Approach 1: Break the tuples containing non-atomic values into multiple tuples.
    [Show full text]
  • Aslmple GUIDE to FIVE NORMAL FORMS in RELATIONAL DATABASE THEORY
    COMPUTING PRACTICES ASlMPLE GUIDE TO FIVE NORMAL FORMS IN RELATIONAL DATABASE THEORY W|LL|AM KErr International Business Machines Corporation 1. INTRODUCTION The normal forms defined in relational database theory represent guidelines for record design. The guidelines cor- responding to first through fifth normal forms are pre- sented, in terms that do not require an understanding of SUMMARY: The concepts behind relational theory. The design guidelines are meaningful the five principal normal forms even if a relational database system is not used. We pres- in relational database theory are ent the guidelines without referring to the concepts of the presented in simple terms. relational model in order to emphasize their generality and to make them easier to understand. Our presentation conveys an intuitive sense of the intended constraints on record design, although in its informality it may be impre- cise in some technical details. A comprehensive treatment of the subject is provided by Date [4]. The normalization rules are designed to prevent up- date anomalies and data inconsistencies. With respect to performance trade-offs, these guidelines are biased to- ward the assumption that all nonkey fields will be up- dated frequently. They tend to penalize retrieval, since Author's Present Address: data which may have been retrievable from one record in William Kent, International Business Machines an unnormalized design may have to be retrieved from Corporation, General several records in the normalized form. There is no obli- Products Division, Santa gation to fully normalize all records when actual perform- Teresa Laboratory, ance requirements are taken into account. San Jose, CA Permission to copy without fee all or part of this 2.
    [Show full text]
  • Database Normalization
    Outline Data Redundancy Normalization and Denormalization Normal Forms Database Management Systems Database Normalization Malay Bhattacharyya Assistant Professor Machine Intelligence Unit and Centre for Artificial Intelligence and Machine Learning Indian Statistical Institute, Kolkata February, 2020 Malay Bhattacharyya Database Management Systems Outline Data Redundancy Normalization and Denormalization Normal Forms 1 Data Redundancy 2 Normalization and Denormalization 3 Normal Forms First Normal Form Second Normal Form Third Normal Form Boyce-Codd Normal Form Elementary Key Normal Form Fourth Normal Form Fifth Normal Form Domain Key Normal Form Sixth Normal Form Malay Bhattacharyya Database Management Systems These issues can be addressed by decomposing the database { normalization forces this!!! Outline Data Redundancy Normalization and Denormalization Normal Forms Redundancy in databases Redundancy in a database denotes the repetition of stored data Redundancy might cause various anomalies and problems pertaining to storage requirements: Insertion anomalies: It may be impossible to store certain information without storing some other, unrelated information. Deletion anomalies: It may be impossible to delete certain information without losing some other, unrelated information. Update anomalies: If one copy of such repeated data is updated, all copies need to be updated to prevent inconsistency. Increasing storage requirements: The storage requirements may increase over time. Malay Bhattacharyya Database Management Systems Outline Data Redundancy Normalization and Denormalization Normal Forms Redundancy in databases Redundancy in a database denotes the repetition of stored data Redundancy might cause various anomalies and problems pertaining to storage requirements: Insertion anomalies: It may be impossible to store certain information without storing some other, unrelated information. Deletion anomalies: It may be impossible to delete certain information without losing some other, unrelated information.
    [Show full text]
  • A Simple Guide to Five Normal Forms in Relational Database Theory
    A Simple Guide to Five Normal Forms in Relational Database Theory 1 INTRODUCTION 2 FIRST NORMAL FORM 3 SECOND AND THIRD NORMAL FORMS 3.1 Second Normal Form 3.2 Third Normal Form 3.3 Functional Dependencies 4 FOURTH AND FIFTH NORMAL FORMS 4.1 Fourth Normal Form 4.1.1 Independence 4.1.2 Multivalued Dependencies 4.2 Fifth Normal Form 5 UNAVOIDABLE REDUNDANCIES 6 INTER-RECORD REDUNDANCY 7 CONCLUSION 8 REFERENCES 1 INTRODUCTION The normal forms defined in relational database theory represent guidelines for record design. The guidelines corresponding to first through fifth normal forms are presented here, in terms that do not require an understanding of relational theory. The design guidelines are meaningful even if one is not using a relational database system. We present the guidelines without referring to the concepts of the relational model in order to emphasize their generality, and also to make them easier to understand. Our presentation conveys an intuitive sense of the intended constraints on record design, although in its informality it may be imprecise in some technical details. A comprehensive treatment of the subject is provided by Date [4]. The normalization rules are designed to prevent update anomalies and data inconsistencies. With respect to performance tradeoffs, these guidelines are biased toward the assumption that all non-key fields will be updated frequently. They tend to penalize retrieval, since data which may have been retrievable from one record in an unnormalized design may have to be retrieved from several records in the normalized form. There is no obligation to fully normalize all records when actual performance requirements are taken into account.
    [Show full text]
  • Functional Dependency and Normalization for Relational Databases
    Functional Dependency and Normalization for Relational Databases Introduction: Relational database design ultimately produces a set of relations. The implicit goals of the design activity are: information preservation and minimum redundancy. Informal Design Guidelines for Relation Schemas Four informal guidelines that may be used as measures to determine the quality of relation schema design: Making sure that the semantics of the attributes is clear in the schema Reducing the redundant information in tuples Reducing the NULL values in tuples Disallowing the possibility of generating spurious tuples Imparting Clear Semantics to Attributes in Relations The semantics of a relation refers to its meaning resulting from the interpretation of attribute values in a tuple. The relational schema design should have a clear meaning. Guideline 1 1. Design a relation schema so that it is easy to explain. 2. Do not combine attributes from multiple entity types and relationship types into a single relation. Redundant Information in Tuples and Update Anomalies One goal of schema design is to minimize the storage space used by the base relations (and hence the corresponding files). Grouping attributes into relation schemas has a significant effect on storage space Storing natural joins of base relations leads to an additional problem referred to as update anomalies. These are: insertion anomalies, deletion anomalies, and modification anomalies. Insertion Anomalies happen: when insertion of a new tuple is not done properly and will therefore can make the database become inconsistent. When the insertion of a new tuple introduces a NULL value (for example a department in which no employee works as of yet).
    [Show full text]
  • Normal Forms
    Database Relational Database Design Management Peter Wood Relational Database Design Update Anomalies Data Redundancy Normal Forms FD Inference There are two interconnected problems which are caused Boyce-Codd Normal Form by bad database design: Third Normal Form Normalisation Algorithms I Redundancy problems Lossless Join BCNF Algorithm I Update anomalies BCNF Examples Dependency Preservation 3NF Algorithm Good database design is based on using certain normal forms for relation schemas. Database Example 1 Management Peter Wood Relational Let F1 = fE ! D; D ! M; M ! Dg. Database Design Update Anomalies E stands for ENAME, D stands for DNAME and M stands Data Redundancy for MNAME Normal Forms FD Inference Boyce-Codd Normal Form A relation r1 over EMP1 (whose schema is {ENAME, Third Normal Form DNAME, MNAME}): Normalisation Algorithms Lossless Join BCNF Algorithm ENAME DNAME MNAME BCNF Examples Dependency Preservation Mark Computing Peter 3NF Algorithm Angela Computing Peter Graham Computing Peter Paul Math Donald George Math Donald E is the only key for EMP1 w.r.t. F1. Database Problems with EMP1 and F1 Management Peter Wood Relational Database Design Update Anomalies Data Redundancy Normal Forms 1. We cannot represent a department and manager FD Inference Boyce-Codd Normal Form without any employees (i.e., we cannot insert a tuple Third Normal Form with a null ENAME because of entity integrity); Normalisation Algorithms such a problem is called an insertion anomaly. Lossless Join BCNF Algorithm BCNF Examples 2. For the same reason as (1), we cannot delete all the Dependency Preservation employees in a department and keep just the 3NF Algorithm department information; such a problem is called a deletion anomaly.
    [Show full text]
  • A New Normal Form for the Design of Relational Database Schemata
    A New Normal Form for the Design of Relational Database Schemata CARLO ZANIOLO Sperry Research Center This paper addresses the problem of database schema design in the framework of the relational data model and functional dependencies. It suggests that both Third Normal Form (3NF) and Boyce- Codd Normal Form (BCNF) supply an inadequate basis for relational schema design. The main problem with 3NF is that it is too forgiving and does not enforce the separation principle as strictly as it should. On the other hand, BCNF is incompatible with the principle of representation and prone to computational complexity. Thus a new normal form, which lies between these two and captures the salient qualities of both is proposed. The new normal form is stricter than 3NF, but it is still compatible with the representation principle. First a simpler definition of 3NF is derived, and the analogy of this new definition to the definition of BCNF is noted. This analogy is used to derive the new normal form. Finally, it is proved that Bernstein’s algorithm for schema design synthesizes schemata that are already in the new normal form. Categories and Subject Descriptors: H.2.1 [Database Management]: Logical Design--normal forms General Terms: Algorithms, Design, Theory Additional Key Words and Phrases: Relational model, functional dependencies, database schema 1. INTRODUCTION The concept of normal form has supplied the cornerstone for most of the formal approaches to the design of relational schemata for database systems. Codd’s original Third Normal Form (3NF) [9] was followed by a number of refinements. These include Boyce-Codd Normal Form (BCNF) [lo], Fourth Normal Form [ 121, and Fifth Normal Form [ 131.
    [Show full text]
  • Database Normalization—Chapter Eight
    DATABASE NORMALIZATION—CHAPTER EIGHT Introduction Definitions Normal Forms First Normal Form (1NF) Second Normal Form (2NF) Third Normal Form (3NF) Boyce-Codd Normal Form (BCNF) Fourth and Fifth Normal Form (4NF and 5NF) Introduction Normalization is a formal database design process for grouping attributes together in a data relation. Normalization takes a “micro” view of database design while entity-relationship modeling takes a “macro view.” Normalization validates and improves the logical design of a data model. Essentially, normalization removes redundancy in a data model so that table data are easier to modify and so that unnecessary duplication of data is prevented. Definitions To fully understand normalization, relational database terminology must be defined. An attribute is a characteristic of something—for example, hair colour or a social insurance number. A tuple (or row) represents an entity and is composed of a set of attributes that defines an entity, such as a student. An entity is a particular kind of thing, again such as student. A relation or table is defined as a set of tuples (or rows), such as students. All rows in a relation must be distinct, meaning that no two rows can have the same combination of values for all of their attributes. A set of relations or tables related to each other constitutes a database. Because no two rows in a relation are distinct, as they contain different sets of attribute values, a superkey is defined as the set of all attributes in a relation. A candidate key is a minimal superkey, a smaller group of attributes that still uniquely identifies each row.
    [Show full text]
  • Chapter- 7 DATABASE NORMALIZATION Keys Types of Key
    Chapter- 7 DATABASE NORMALIZATION Keys o Keys play an important role in the relational database. o It is used to uniquely identify any record or row of data from the table. It is also used to establish and identify relationships between tables. For example: In Student table, ID is used as a key because it is unique for each student. In PERSON table, passport_number, license_number, SSN are keys since they are unique for each person. Types of key: 1. Primary key o It is the first key which is used to identify one and only one instance of an entity uniquely. An entity can contain multiple keys as we saw in PERSON table. The key which is most suitable from those lists become a primary key. o In the EMPLOYEE table, ID can be primary key since it is unique for each employee. In the EMPLOYEE table, we can even select License_Number and Passport_Number as primary key since they are also unique. o For each entity, selection of the primary key is based on requirement and developers. 2. Candidate key o A candidate key is an attribute or set of an attribute which can uniquely identify a tuple. o The remaining attributes except for primary key are considered as a candidate key. The candidate keys are as strong as the primary key. For example: In the EMPLOYEE table, id is best suited for the primary key. Rest of the attributes like SSN, Passport_Number, and License_Number, etc. are considered as a candidate key. 3. Super Key Super key is a set of an attribute which can uniquely identify a tuple.
    [Show full text]