Reflections on Boyce-Codd Normal Form

Total Page:16

File Type:pdf, Size:1020Kb

Reflections on Boyce-Codd Normal Form Reflections on Boyce-Codd Normal Form Carol Helfgott LeDwx * D. Scott fiTkeT, ,h-, * The Aerospace Corporation Computer Science Department El Segundo, California University of California, Los Angeles ABSTRACT 1. Introduction An important database design problem is The usefulness of Boyce-Codd Normal Form the development of a set of relations for the (BCNF) has been questioned by various database which capture the underlying data researchers. A recent study showed that under semantics as accurately as possible. To the common assumptions, BCNF no longer guaran- extent it can be achieved, the designer should tees freedom from various ‘anomalies’, one of its attempt to ‘normalize’ the database into purported virtues. Second, a BCNF covering is semantically independent components. One sometimes unattainable, i.e., some sets of FDs particular stopping point in the normalization have no corresponding BCNF schema. Third, it process is known widely as ‘Boyce-Codd Normal is difficult to determine whether a given schema Form’ (BCNF). violates BCNF (doing so is known to be NP- Unfortunately, BCNF has certain undesir- complete). able properties as a normal form: not all rela- tion schemata have a BCNF representation, This paper reviews the intent of the normal although they always may be decomposed into form, and suggests that these arguments may be the less stringent ‘Third Normal Form’ (3NF). discounted. We show that Also, several results have been presented which . BCNF still provides a useful design criterion question the practical usefulness of BCNF as a when such assumptions as the Universal logical database design goal. First, a number of Instance Assumption are dropped (although questions involving both BCNF and keys have BCNF can be improved upon by taking into been shown to be NP-complete [Beeri & Bern- consideration the dynamic use of the data- stein, 19791. Second, in [Bernstein & Goodman, base); 19801 it was demonstrated that BCNF does not . even in schemata where BCNF is ‘unattain- prevent ‘anomalous’ behavior if the database is able’, BCNF can be attained by unconven- required to satisfy what is now termed ‘the tional means, typically by renaming or Universal Instance Assumption’ [the condition adding attributes to better capture the whereby all tables (relation instances) in the semantic content of the data; database are required to be projections of a sin- . testing violation of BCNF seems to require gle universal table (universal instance), which is exponential time only in the w,orst case defined over all attributes]. This paper tries to where the set of ‘interesting’ dependencies put these criticisms in perspective. (nontrivial dependencies in minimal form) There are certainly drawbacks in using sim- in the dependency closure grows ple normal forms. No existing normal form exponentially large. Such situations do not incorporates, in any way, the intended dynamic seem to typify the ‘real world’: We investi- behavior of the database, although this behavior gate a model of FD schemata, called the FD is important for the design. Moreover, all nor- hierarchy model, similar to many other data mal forms are defined in terms of dependencies. models proposed in recent years. For this Not all semantics fall into this mold, a.nd infor- model the FD closure is always small, and mation can be lost when semantics are encoded testing violation of BCNF is not only not into dependencies. ** Normal forms therefore NP-complete, it is linear in the size of the l * It is pointed out in [Atzeni & Parker, 19821 that depen- input. We also point out a relationship dency inferences may not be meaningful, fi_rFt of a!!. For between keys, FDs which violate BCNF, and example, consider the dependencies FD closures. COMPANY 4 ADDRESS (companies have a plant address) ADDRESS + RESIDENT (residential addresses have an owner) suggesting by transitivity that each company has a unique l Research supported by NSF grant IST 90-12419. resident! Second, dependencies usually require an artificial ‘relationship uniqueness’ assumption: Since func- tional dependencies specify only the attribute sets on Proceedings of the Eighth International Conference on Very Large Data Bases 131 Mexico City, September, 1982 provide no guarantee that a design is correct or set of attributes K such that the FD K + U may appropriate for the application at hand. At be inferred from F. A candidate key is a key K best, normal forms provide guidelines in the log- such that no proper subset of K is also a key. A ical design phase, and should be complemented relation schema R with dependencies F is in with some deeper understanding of the applica- Boyce-Codd Normal Form if whenever the non- tion semantics. trivial FD X+ Y holds in R, then X includes a key However, BCNF does provide a useful design for R. That is, a set of attributes is either a key benchmark. In essence it expresses the design or it does not determine any other attribute. maxim, ‘one fact in one place’+**, assuming that For more discussion, see [Date, 1931] or [Ull- all facts are many-one relationships. We present man, 19801. Any FD X + Y such that X does not three arguments supporting its usefulness. contain a key is called a non-Boyce-Codd func- First, we argue that the problems with BCNF tional dependency (abbr. non-BCFD). noted by [Bernstein & Goodman, 19301 do not The relation schema apply if we drop the Universal Instance Assump- R< fA,B,CJ,lA-+ B,A+ Cj> is in BCNF because A tion, and that BCNF does then eliminate certain is a key, and neither B nor C determines any kinds of anomalous behavior. Second, we show other attributes in R. On the other hand, the that BCNF can be attained in many situations relation schema R-c tA,B,Cj,iA-, B,B+ Cj> is not where it appears unreachable, by renaming in BCNF because B is not a key, yet it deter- schema attributes in such a way as to re- mines C. B + C is a non-BCFD. If R is decom- express semantics properly. Finally, we present posed into a pair of relation schemata simple algorithms for determining BCNF proper- RI< [A,Bj,tA-+ Bj> and R2< fB,Cf,iB+ Cl>, each ties. The algorithms have exponential running of the schemata RI, Rz is in BCNF. time only in the pathological case where the The closure J’+ of a set of dependencies F is given set of dependencies has a set of ‘interest- the set of all dependencies which may be ing’ FDs (nontrivial dependencies in minimal inferred from those in F via one or more appli- form) in its closure which is exponentially large. cations of inference rules. A complete set of Thus, even the NP-completeness results here rules is Armstrong’s first three axioms: may not be insurmountable. FDl IfYEXc U,thenX+ Y 2. Boyce-Codd Normal Form FD2 If X -, Y and 2 c U, then X2 + YZ BCNF and 3NF correspond to restrictions on FD3 IfX+ YandY-, Z,thenX-, Z the functional dependencies (FDs) which hold in A good introduction to the subject may be a schema. A functional dependency is an found, for example, in [Ullman, 19801. integrity constraint among data attributes in a A covet Fc of a set of dependencies F is a database. For example, the functional depen- subset of F from which all of F may be inferred. dency E-t C may represent the constraint that each employee, E, works for only one company, It is easily verified that FJ = F+. Such a set F,, C. A relation schema with functional dependen- is a minimal cover if no proper subset of F,, is cies is said to be in Boyce-Codd Normal Form if also a cover. all the dependencies are either trivial depen- A BCNF coverin of a schema R< U,F> is a dencies (such as E-, E or EC+ E), or those in database schema 9&< Ud,Fi> 1 i=l,...,nj such which a key functionally determines one or that more attributes. Henceforth given any FD (1) Every attribute in U appears in at least one 1: X-2 Y, we will use LHS(f) (Left-Hand-Side of of the sets Ui f) and,X interchangeably, and RHS(f ) and Y interchangeably. Typicahy IIRHS(f )II= 1, i.e., (2) Fi* mcludes* alI dependencies of Ji’+ whose RED(f) wiII consist of a single attribute. (]]S]l attributes are drawn from Vi denotes the cardinality of a set S). (3) The union of the Fi sets comprises a cover We can formally define a relation schema R for F = R< U,F> as a set of attributes U and a set of (4) Each 4 is in BCNF. functional dependencies F defined on U. If the union of the Fi sets is additionally a Throughout this paper we will assume that F minimal cover for F, the database schema contains only functional dependencies. f&C Ui,Fs> 1 i=l,...,nj is called a minimal BCNF A database schema is a collection of one or covering. more relation schemata. A key for R< U,F> is a Clearly, whenever a minimal BCNF covering -- exists, a BCNF covering exists also. However, it which they hold, any two dependencies relating x to Y is not always possible to And a BCNF covering. should be equivalent. Thus, if we have three functional dependencies An example which is typically given. to illustrate f :EMP+MGR, g:MGR+ SAL, and h:EMP+ SAL, this is the schema R< {C,S,Zj.lCS+ Z,Z+ Cl> we must assume that h is equivalent to the functional relating zip codes, Z, street addresses, S, and composition of g and f , although this might not be what cities, C.
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]