Fact-checked by Grok 2 weeks ago

Boyce–Codd normal form

Boyce–Codd normal form (BCNF), also known as 3.5 normal form, is a level of in theory that strengthens the requirements of (3NF) by mandating that for every non-trivial X \to A in a relation R, the X must be a of R. This condition ensures that no attribute is dependent on a non-key determinant, thereby eliminating certain update anomalies, insertion anomalies, and deletion anomalies that can persist in 3NF relations. BCNF applies to relations already in (1NF) and focuses on functional dependencies to achieve a dependency-preserving where possible, though it may not always preserve all dependencies without loss. Developed in 1974 by and , with Codd presenting it at the IFIP Congress in , BCNF was created to address specific redundancies and anomalies in relational schemas that 3NF could not fully resolve, such as cases where a non-prime attribute depends on a proper subset of a . , a known for his work on query languages such as , collaborated with Codd, the pioneer of the , to refine theory amid growing interest in efficient . The form's stricter criteria make it particularly useful for designing schemas that minimize while maintaining , though achieving BCNF sometimes requires decomposing relations into smaller ones, potentially increasing the number of joins in queries. In practice, BCNF is valued for its ability to prevent spurious tuples and ensure that all determinants are superkeys, but it is not always dependency-preserving, unlike some 3NF decompositions. Algorithms for decomposing relations into BCNF exist and typically involve iteratively identifying violating dependencies and splitting the relation accordingly, while aiming for lossless joins. Although higher normal forms like (4NF) address multivalued dependencies, BCNF remains a foundational step in for many management systems, balancing normalization rigor with practical query performance.

Background

Relational Model Basics

The relational model, introduced by in 1970, organizes into relations to facilitate structured storage, retrieval, and manipulation. A relation is defined as a of over a set of attributes, where each consists of one value from the (the allowable set of values) of each attribute. Attributes represent the properties or fields of the , analogous to columns in a , while correspond to rows or records. This set-based representation ensures that relations are unordered and duplicate-free, allowing for declarative querying independent of physical storage details. Central to the are keys, which ensure uniqueness and support . A is a set of one or more attributes whose values uniquely identify each in the , with the minimality condition that no proper subset achieves this uniqueness. Candidate keys encompass all such minimal identifying sets, any of which could be designated as the . For instance, in a tracking parts, the attribute PartNumber might serve as a if it alone uniquely identifies each part . These keys form the basis for linking relations through foreign keys in larger schemas. Functional dependencies (FDs) capture semantic relationships among attributes within a , specifying how values in one set determine values in another. Formally, an FD denoted as X \to Y, where X and Y are subsets of the relation's attributes, holds if, for every pair of tuples that agree on all attributes in X, they also agree on all attributes in Y. Trivial FDs, where Y \subseteq X, are inherently satisfied and impose no additional constraints. Non-trivial FDs, by contrast, reflect real-world rules; for example, in an employee , \{\text{EmployeeID}\} \to \{\text{Name}, \text{Department}\} ensures that each employee ID corresponds to a unique name and department. These dependencies, building on Codd's early concepts of determination, are essential for modeling constraints. The implications of FDs are analyzed through the attribute closure, a derived concept in relational theory. The closure of an attribute set X, written X^+, is the maximal set of attributes functionally determined by X (including X itself), computed by iteratively applying FD inference rules such as Armstrong's axioms—reflexivity, augmentation, and transitivity. For a simple relation schema R(A, B, C) with the FD A \to B, the closure A^+ = \{A, B\}, assuming no other FDs apply. This computation helps identify all derivable dependencies and verify whether a set qualifies as a candidate key (if its closure includes all attributes).

Overview of Database Normalization

Database normalization is a systematic approach to designing relational databases by organizing attributes and relations to reduce and dependency issues. The core objectives are to eliminate insertion anomalies, where adding new data requires extraneous information; deletion anomalies, where removing data unintentionally erases unrelated facts; and update anomalies, where modifying one piece of information necessitates changes in multiple places to maintain consistency. These goals promote and storage efficiency while minimizing the need for restructuring as new data types emerge. The progression of normalization begins with (1NF), which mandates that all attribute values are atomic (indivisible) and eliminates repeating groups by representing multi-valued attributes as separate or tuples. (2NF) requires a to be in 1NF and ensures no partial dependencies, meaning every non-prime attribute is fully functionally dependent on any rather than just part of it. Third normal form (3NF) extends 2NF by prohibiting transitive dependencies, where a non-prime attribute depends on another non-prime attribute rather than directly on a . Formally, a is in 3NF if, for every non-trivial X \to Y, either X is a or every attribute in Y is prime (part of at least one ). A classic example of a 3NF violation due to is a R (Supplier, , ) with Supplier as the and functional dependencies Supplier \to City and City \to . Here, Country transitively depends on Supplier through City; since City is not a and Country is a non-prime attribute, the relation fails 3NF. Functional dependencies underpin this as the building blocks for identifying such issues. Non-3NF relations like this introduce anomalies: an insertion anomaly prevents adding a new City-Country pair without a corresponding Supplier; a deletion anomaly erases City-Country data when the last Supplier in that city is removed; and an update anomaly requires altering Country for every Supplier in a city if the association changes. Decomposing into 3NF resolves these by projecting into separate relations, such as Suppliers(Supplier, City) and Cities(City, Country), ensuring lossless joins and dependency preservation while eliminating redundancy.

History and Development

Origins in Relational Theory

The foundations of Boyce–Codd normal form (BCNF) emerged from the broader development of relational database theory during the late 1960s and early s, particularly through E. F. Codd's pioneering work at . In his landmark paper, "A Relational Model of Data for Large Shared Data Banks," Codd introduced the , representing as tuples in relations (tables) with attributes, and emphasized the role of keys to ensure uniqueness and . This model shifted from hierarchical and network structures to a declarative approach based on mathematical relations, setting the stage for as a means to organize efficiently and avoid redundancy. Building on this, Codd's early explorations of dependencies and keys within appeared in subsequent works, including his report "Further Normalization of the Data Base ," where he formalized concepts like functional dependencies (FDs)—rules specifying how one set of attributes determines another—and introduced initial principles. These ideas aimed to decompose relations into simpler forms to eliminate insertion, , and deletion anomalies caused by transitive dependencies, leading to the definitions of (2NF) and (3NF). Codd's framework highlighted how improper design could lead to redundant data storage and inconsistent updates, motivating further refinements to handle more complex dependency scenarios in relational schemas. A key influence on BCNF came from F. Boyce's contributions to design, particularly his efforts to minimize information loss during relation decomposition, as explored in collaborative work with Codd. Boyce's focus on preserving data semantics while reducing redundancy addressed limitations in 3NF, where certain violations—such as those involving non-superkey determinants—could still produce spurious tuples upon joining decomposed relations, leading to insertion anomalies and potential data inconsistencies. This theoretical push for stricter dependency enforcement stemmed from practical needs in large-scale data banks to ensure lossless decompositions and maintain query accuracy without spurious results.

Contributions of Boyce and Codd

and collaborated at to advance normalization beyond (3NF), culminating in the development of Boyce–Codd normal form (BCNF) in 1974. Their work addressed limitations in earlier techniques by proposing stricter conditions on functional dependencies to eliminate certain anomalies not resolved by 3NF. This refinement ensured that every in a relation is a , enhancing and reducing redundancy more effectively. Codd's foundational contributions included his 1971 paper "Normalized Data Base Structure: A Brief Tutorial," presented at the ACM SIGFIDET Workshop, which introduced as a process to simplify relational structures and outlined forms up to 3NF. Boyce built on this by contributing ideas for tighter constraints during their joint efforts on relational systems, including early work on query languages like . The formal statement of BCNF appeared in Codd's 1974 paper "Recent Investigations into Relational Data Base Systems" (IBM Research Report RJ1385, April 23, 1974), delivered at the IFIP Congress, where the form was explicitly defined to handle cases involving multiple candidate keys. The normal form was named "Boyce–Codd normal form" to jointly credit their innovations, a decision influenced by Boyce's on June 18, 1974, at age 27 from a brain aneurysm, which prevented him from further developing or publishing on the topic independently. In early literature, it was occasionally termed "3.5NF" to denote its intermediate strictness between 3NF and (4NF). This naming evolution reflected the rapid refinement of normalization theory in the mid-1970s. The practical implications of BCNF emerged soon after in IBM's System R project, an experimental management system where Boyce, Codd, and colleagues like Donald Chamberlin implemented principles to guide design and query optimization. These early applications demonstrated BCNF's role in minimizing insertion, deletion, and update anomalies in real-world databases, influencing subsequent commercial systems.

Formal Definition

Key Concepts and Terminology

In the relational model, a superkey is defined as a set of one or more attributes that, taken collectively, uniquely identify each tuple in a relation, functionally determining all other attributes. A candidate key is a minimal superkey, such that no proper subset of its attributes is itself a superkey. An attribute is termed a prime attribute if it belongs to at least one candidate key of the relation. To infer all functional dependencies implied by a given set, Armstrong's axioms form a sound and complete inference system. These axioms consist of three rules:
  • Reflexivity: If Y \subseteq X, then X \to Y. This holds because any set of attributes trivially determines its own subsets.
  • Augmentation: If X \to Y, then for any set Z, XZ \to YZ. This preserves the dependency when equivalent attributes are added to both sides.
  • Transitivity: If X \to Y and Y \to Z, then X \to Z. This allows chaining dependencies through intermediate attributes.
A minimal cover of a set of functional dependencies F is an equivalent set F' that satisfies three properties: each right-hand side consists of a single attribute, no attribute in any left-hand side can be removed without altering the , and no functional dependency in F' is redundant (i.e., implied by the others). To obtain a minimal cover, first decompose dependencies with multiple attributes on the right-hand side into separate dependencies with right-hand sides, then minimize left-hand sides by removing redundant attributes, and finally eliminate any redundant dependencies using the computed via Armstrong's axioms. For example, consider the set F = \{ A \to B, A \to C \}. This set is already in minimal cover form with singleton right-hand sides and no redundancies, though an equivalent representation \{ A \to BC \} can be used if multi-attribute right-hand sides are permitted in the context, as it preserves the same closure without loss of information.

BCNF Condition Statement

A relation schema R with attributes U and a set of functional dependencies F is in Boyce–Codd normal form (BCNF) if, for every non-trivial functional dependency X \to A in the closure F^+ (where A is a single attribute not in X), X is a superkey for R. Formally, this condition can be expressed as: for all X \to A \in F^+, X \to U holds, meaning X functionally determines the entire set of attributes in R. This requirement strengthens the normalization criterion beyond third normal form (3NF) by ensuring that no dependency exists where the determinant is a proper subset of a candidate key without being a superkey itself. To illustrate, consider a R(\text{Street}, \text{City}, \text{Zip}) with functional dependencies \{\text{Street}, \text{City}\} \to \text{Zip} and \text{Zip} \to \text{City}. The candidate keys are \{\text{Street}, \text{City}\} and \{\text{Street}, \text{Zip}\}. The dependency \text{Zip} \to \text{City} violates BCNF because \text{Zip} is not a (it does not determine Street). This BCNF condition eliminates certain update anomalies by preventing redundancies arising from functional dependencies where the left side is not a ; for instance, it avoids situations where updating a non-key attribute requires changes across multiple tuples to maintain , as all determinants must fully identify the . In essence, BCNF ensures that no partial or transitive dependencies on non-superkeys persist, thereby reducing insertion, deletion, and modification anomalies tied to such dependencies.

Relationship to Other Normal Forms

Comparison with 3NF

Boyce–Codd normal form (BCNF) strengthens (3NF) by imposing a stricter condition on functional dependencies (s). While 3NF permits a non-trivial FD X \to Y in a relation schema R if X is not a superkey but every attribute in Y - X is a prime attribute (part of some ), BCNF requires that X must be a for every such FD. This eliminates certain redundancies and anomalies that 3NF allows when non-key attributes determine prime attributes. A classic example of a relation in 3NF but not in BCNF is the schema R(A, B, C) with candidate keys AB and AC, and FDs AB \to C and C \to B. The FD C \to B violates BCNF because C is not a superkey, even though it holds in 3NF since B is a prime attribute. This leads to update anomalies, such as changing the value of B requiring updates in multiple tuples if C values repeat. In contrast, no relation can be in BCNF without being in 3NF, as the BCNF condition subsumes 3NF: if every determinant X in an FD X \to Y is a superkey, then either the FD is trivial, X is a superkey (satisfying the 3NF superkey clause), or the non-key case is precluded. Decompositions into BCNF relations guarantee lossless joins, as the process uses FDs to ensure the join reconstructs the original without spurious tuples. However, dependency preservation is not always guaranteed in BCNF decompositions, unlike in 3NF, where it is ensured under the given FD set; certain conditions, such as the absence of overlapping dependencies that span multiple relations, are needed for full preservation in BCNF. Historically, BCNF was developed to resolve practical anomalies in 3NF relations, such as spurious updates due to non-key determinants of keys, which Boyce and Codd identified as limiting 3NF's effectiveness in capturing data semantics fully.

Implications for Higher Normal Forms

Boyce–Codd normal form (BCNF) serves as a foundational stricter normalization level beyond (3NF), paving the way for higher forms that address more complex dependencies. Specifically, BCNF ensures that every non-trivial has a that is a , but it does not eliminate redundancies arising from multivalued dependencies (MVDs). (4NF), introduced by Ronald Fagin, extends BCNF by requiring that a contain no non-trivial MVDs unless the is a . Thus, a in BCNF may still violate 4NF if it exhibits independent multi-valued facts associated with a key, leading to update anomalies and redundancy. For instance, consider a relation Employee with attributes EmpID, Skill, and Child, where each employee can have multiple skills and multiple children independently (MVDs EmpID →→ Skill and EmpID →→ Child). Assuming no non-trivial functional dependencies, EmpID is a candidate key, placing the relation in BCNF. However, this design introduces redundancy: inserting a new skill for an employee requires repeating the child's information across tuples, and vice versa. To achieve 4NF, the relation must be decomposed into two projections—EmpID, Skill and EmpID, Child—eliminating the MVD-induced redundancy while preserving dependencies and lossless joins. Regarding (5NF), also known as project-join normal form, BCNF is a necessary prerequisite but not sufficient, as 5NF further requires that every non-trivial join dependency be implied by the candidate keys. Ronald Fagin defined 5NF to handle cyclic join dependencies that persist even after addressing functional and multivalued dependencies, ensuring no spurious tuples upon and join operations. A in BCNF (and even 4NF) may violate 5NF if it contains independent components that only make sense when joined across multiple , necessitating further into irreducible projections. Domain-key normal form (DKNF), proposed by Ronald Fagin as an "ultimate" normal form, builds directly on BCNF principles by enforcing all constraints through and declarations, thereby preventing insertion and deletion anomalies comprehensively. Unlike BCNF, which focuses solely on functional dependencies, DKNF incorporates constraints (e.g., value restrictions) and ensures that every constraint logically follows from keys and domains, subsuming BCNF and higher forms under assumptions like infinite domains. In practice, most real-world database designs normalize to BCNF, as higher forms like 4NF and 5NF are invoked only when MVDs or join dependencies are explicitly present, balancing normalization benefits against increased in querying and maintenance.

Properties and Limitations

Achievability Conditions

A schema admits a into Boyce–Codd normal form (BCNF) that guarantees a lossless join, meaning the natural join of the resulting exactly recovers the original without introducing spurious tuples. This property holds for every relational schema, regardless of the functional dependencies (FDs), through standard decomposition algorithms that iteratively project onto subsets defined by violating FDs. However, such decompositions do not always preserve dependencies, as some original FDs may not be logically implied by the union of the FDs in the individual decomposed relations, necessitating costly joins for enforcement. A achieves a dependency-preserving BCNF decomposition without loss if its FDs exhibit no conflicts, such as when all FD left sides are superkeys (rendering the schema already in BCNF). More broadly, dependency preservation is attainable when the FDs form a tree-like , corresponding to an acyclic where attributes depend in a non-cyclic manner, allowing local enforcement without overlap issues. In contrast, cycles in the often lead to dependency loss during . Consider the relation schema StreetCityZip(Street, City, Zip) with FDs Street, City → Zip and Zip → City. This schema violates BCNF since Zip is not a but determines City. Decomposing into StreetZip(Street, Zip) and CityZip(City, Zip) yields a lossless join but loses the FD Street, City → Zip, as City does not appear in StreetZip and the dependency cannot be checked locally in either relation. This loss can result in query inefficiencies, as verifying the original FD requires joining the decomposed relations, potentially increasing computational overhead in database operations.

Computational Intractability

One significant computational challenge in Boyce–Codd normal form (BCNF) arises from the problem of determining whether a dependency-preserving decomposition exists for a given relation schema and set of functional dependencies; this decision problem is NP-complete. In contrast, testing whether a given relation schema satisfies BCNF can be performed in polynomial time by first computing a canonical cover of the functional dependencies—which takes linear time in the input size—and then, for each dependency in the cover, verifying if the determinant is a superkey via attribute closure computation, which is also polynomial. However, identifying the set of all minimal candidate keys from a set of functional dependencies is NP-hard, complicating certain analyses related to key structures in BCNF contexts. These hardness results imply that exact algorithms for achieving dependency-preserving BCNF decompositions are infeasible for large-scale with numerous attributes and , leading practitioners to rely on methods that prioritize lossless joins over full dependency preservation when necessary. For instance, consider a relation schema with 20 attributes and a set of 50 functional where the minimal covers involve exponentially many possibilities due to overlapping determinants; enumerating all potential decompositions to check for dependency preservation would require exploring an intractable number of combinations, often exceeding practical computational limits.

Decomposition Algorithms

BCNF Decomposition Process

The Boyce–Codd normal form (BCNF) decomposition process uses an iterative to break down a relation into BCNF-compliant relations while preserving the lossless-join property. This standard approach, rooted in relational database theory, identifies violations and decomposes the accordingly to eliminate anomalies without introducing spurious upon rejoining. The assumes a given relation R with attributes and a set of functional dependencies F, and it operates on the F⁺ to determine all implied dependencies. The process starts by placing R into an initial set of relations. It then repeatedly checks for BCNF violations in any relation Ri within the set. A violation occurs when there is a nontrivial α → β such that α is not a for Ri (i.e., α⁺ does not include all attributes of Ri). Upon finding such a , Ri is replaced by two subrelations: one with attributes α ∪ β (capturing the dependency), and another with attributes Ri − β (retaining the rest of the but including α implicitly through the join attributes). This step ensures the common attributes between the subrelations align with the dependency for . The continues until no violations remain in any relation. The following pseudocode outlines the algorithm:
result := {R};
done := false;
compute F⁺;
while (not done) do
    if (there is a schema Ri in result that is not in BCNF) then
        let α → β be a nontrivial FD that holds on Ri such that
        (α → Ri is not in F⁺) and (α ∩ β = ∅);
        result := (result – Ri) ∪ {(Ri – β), (α, β)};
    else
        done := true;
return result;
This construction targets a canonical violating dependency to minimize unnecessary splits. The algorithm guarantees a lossless-join decomposition, as each decomposition step satisfies the condition for lossless join decomposition: the intersection of the subrelations' attributes (α) functionally determines the attributes unique to one subrelation (β), ensuring the natural join reconstructs the original Ri exactly. However, it does not guarantee dependency preservation, meaning some original dependencies in F may not be enforceable locally within the decomposed relations and require joins to verify. To illustrate, consider relation R(A, B, C) with functional dependencies F = {A → B, B → C}. The candidate key is A, since A⁺ = {A, B, C}. The dependency B → C violates BCNF, as B⁺ = {B, C} and B is not a superkey. Decompose R using B → C into R₁(B, C) with dependency B → C (where B is the key, so R₁ is in BCNF) and R₂(A, B) with dependency A → B (where A is the key, so R₂ is in BCNF). No further violations exist. The decomposition is lossless, as joining R₁ and R₂ on B recovers R exactly, given B → C. The transitive dependency A → C is implied but not locally preserved in either subrelation. In contemporary , software tools automate the BCNF decomposition process, integrating it into refinement workflows to handle complex efficiently. For example, interactive tools allow users to input relations and FDs, then generate and visualize BCNF decompositions step-by-step.

Preservation of Dependencies

A of a relation R with respect to a set of functional F is dependency-preserving if the of the of the of F onto the decomposed relations equals the of F, that is, \left( \bigcup_{R_i \in \rho} F_{R_i} \right)^+ = F^+, where \rho is the and F_{R_i} is the of F onto R_i. This ensures that every in the original can be enforced locally in the decomposed relations without requiring joins during integrity checks. To test whether a decomposition preserves dependencies, compute the projections F_{R_i} for each decomposed relation R_i by including only those functional dependencies whose attributes are subsets of R_i, then form the of these projections and calculate its ; if this closure equals F^+, the decomposition preserves dependencies. Equivalently, for each original dependency X \to Y \in F, verify that it is either directly present in some projection or logically implied by the of the projected dependencies. BCNF decompositions do not always preserve dependencies, even when they are lossless, because the BCNF decomposition prioritizes eliminating anomalies over maintaining all original dependencies locally. A classic example is the relation R(A, B, C) with functional dependencies F = \{AB \to C, C \to B\}; the BCNF decomposition into R_1(C, B) (with C \to B) and R_2(A, C) (with no nontrivial dependencies) results in a whose does not include AB \to C, as enforcing it would require joining R_1 and R_2. Similarly, in a R(Student, Course, Professor) with dependencies {Student, Course \to Professor; Course \to Professor}, the BCNF decomposition into (Student, Course) and (Course, Professor) preserves the second dependency but loses the first, since Professor is absent from the first relation and cannot be enforced without a join. In contrast, (3NF) decompositions always preserve dependencies while being lossless, providing a practical alternative when full BCNF preservation is unattainable. For cases where preservation is critical alongside strong normalization, hybrid approaches exist, such as algorithms that find faithful (lossless and -preserving) BCNF decompositions when possible, though deciding is NP-hard and such decompositions do not always exist. Recent post-2020 research has introduced parameterized normal forms, like \ell-bounded normal form, which guarantee preservation while approximating BCNF properties by bounding the cardinality of certain dependency sets, with algorithms computing minimal such levels for FD-preserving decompositions. These approximations balance redundancy reduction with enforcement efficiency in schema design.

References

  1. [1]
    [PDF] BCNF Decomposition - Washington
    Jan 31, 2022 · A relation R is in Boyce-Codd Normal Form (BCNF) if for every non-trivial dependency, X→A, X is a superkey. Equivalently, a relation R is in ...
  2. [2]
    Decomposition of a relation scheme into Boyce-Codd Normal Form
    Decomposition into Boyce-Codd Normal Form (BCNF) with a lossless join and preservation of dependencies is desired in the design of a relational database ...
  3. [3]
    Dr. Raymond (Ray) F. Boyce - IT History Society
    In 1974, he and Edgar F. Codd, co-developed the Boyce?Codd normal form (or BCNF). It is a type of normal form that is used in database normalization. The ...
  4. [4]
    [PDF] What Does Boyce-Codd Normal Form Do? - Microsoft
    Normalization research has concentrated on defining normal forms for database schemas and developing efficient algorithms for attaining these normal.
  5. [5]
    Decomposition of a relation scheme into Boyce-Codd Normal Form ...
    Decomposition into Boyce-Codd Normal Form (BCNF) with a lossless join and preservation of dependencies is desired in the design of a relational database ...
  6. [6]
    Multivalued dependencies and a new normal form for relational ...
    This fourth normal form is strictly stronger than Codd's “improved third normal form” (or “Boyce-Codd normal form”). It is shown that every relation schema ...
  7. [7]
    A relational model of data for large shared data banks
    A relational model of data for large shared data banks. Readings in database systems (3rd ed.) Read More. Comments.
  8. [8]
    Normalized data base structure: a brief tutorial - ACM Digital Library
    Normalized data base structure: a brief tutorial. research-article. Free access. Share on. Normalized data base structure: a brief tutorial. Author: E. F. Codd.
  9. [9]
    [PDF] Functional Dependency Discovery: An Experimental Evaluation of ...
    Functional dependencies (FDs) express relationships be- tween attributes of a database relation. An FD X → A states that the values of attribute set X uniquely ...<|control11|><|separator|>
  10. [10]
    [PDF] Further Normalization of the Data Base Relational Model
    The objectives of this further normalization are: 1) To free the collection of relations from undesirable insertion, update and deletion dependencies; 2) To ...Missing: goals | Show results with:goals
  11. [11]
    None
    ### Extracted Definitions and Mentions from "Normalized Data Base Structure: A Brief Tutorial" by E. F. Codd
  12. [12]
    [PDF] A Relational Model of Data for Large Shared Data Banks
    This paper is concerned with the application of ele- mentary relation theory to systems which provide shared access to large banks of formatted data. Except for ...
  13. [13]
    Codd-Boyce-Chamberlin: The Intrepid Data Trio
    Edgar and Boyce worked fleetingly together to create the Boyce-Codd normal form (BCNF) in 1974. This database normalization method ensured there was no ...Missing: original | Show results with:original
  14. [14]
    Dependency Structures of Data Base Relationships
    Dependency Structures of Data Base Relationships · W. W. Armstrong · Published in IFIP Congress 1974 · Computer Science.
  15. [15]
    Minimum Covers in Relational Database Model
    A nonredundant cover is also called a minimal cover (but not here). Definition. The sets of attributes X and Y are equivalent under a set of FDs F, written. X ~ ...
  16. [16]
    [PDF] BCNF, 3NF and Normalization - Computer Science (CS)
    Mar 24, 2021 · Boyce-Codd Normal Form (BCNF). • Definition: a relation R is in BCNF wrt F, if: – Informally: everything depends on the full key, and nothing ...<|control11|><|separator|>
  17. [17]
    [PDF] Normalization - Purdue Computer Science
    Oct 3, 2016 · Goal = BCNF = Boyce-Codd Normal Form = all FD's follow from the fact “key → everything.” • Formally, R is in BCNF if for every nontrivial FD for.
  18. [18]
    [PDF] Reflections on Boyce-Codd Normal Form
    The usefulness of Boyce-Codd Normal Form. (BCNF) has been questioned by various researchers. A recent study showed that under common assumptions, BCNF no ...
  19. [19]
    [PDF] BCNF Decomposition - Washington
    Apr 24, 2024 · ▫The BCNF decomposition eliminates all anomalies. ▫In general, we may not be able to recover all FDs. ▫The 3rd Normal Form is another kind ...
  20. [20]
    [PDF] Normalization - Chapter 7: Relational Database Design
    How good is BCNF? (Cont.) Page 32. ©Silberschatz, Korth and Sudarshan. 7.35. Database System Concepts - 7th Edition.
  21. [21]
    Third Normal Form vs BCNF :: CC 520 Textbook
    Mar 8, 2022 · Boyce Codd Normal Form is slightly stronger than third normal third normal form, right. So if we bring up this picture here, we have Boyce Codd ...
  22. [22]
    Normal forms and relational database operators - ACM Digital Library
    Normal forms and relational database operators. Author: Ronald Fagin. Ronald ... fifth normal form), the ultimate normal form with ... Read More · Rough ...
  23. [23]
    A normal form for relational databases that is based on domains and ...
    A new normal form for relational databases, called domain-key normal form (DK/NF), is defined. Also, formal definitions of insertion anomaly and deletion ...
  24. [24]
    [PDF] Database Design
    The topic of relational database design is a complex one, and one we consider ... to ensure that every database design ... For now, we'll stop at BCNF - which can ...
  25. [25]
    On the Desirability of Acyclic Database Schemes - ACM Digital Library
    On the Desirability of Acyclic Database Schemes. article. Free access. Share on. On the Desirability of Acyclic Database Schemes. Authors: Catriel Beeri.
  26. [26]
    Some results about normal forms for functional dependency in the ...
    We present a new polynomial-time algorithm testing BCNF property of a given relation scheme. Previous article in issue; Next article in issue. Keywords.
  27. [27]
    [PDF] Relational Design Theory II
    what happens to dependencies? Deciding whether a given relation has a dependency preserving BCNF decomposition is NP-complete. Tsou, Fischer, Decomposition of a ...
  28. [28]
    An interactive tool for teaching and learning database normalization
    This paper presents a software tool that automates the process of relational database normalization. In particular, based on a user-given table and a set of ...<|control11|><|separator|>
  29. [29]
    On redundancy vs dependency preservation in normalization
    In practice, however, one usually settles for 3NF which, unlike BCNF, may not eliminate all redundancies but always guarantees dependency preservation.In ...
  30. [30]
    Finding Faithful Boyce-Codd Normal Form Decompositions
    Tsou, D.-M., Fischer, P.C.: Decomposition of a Relation Scheme into Boyce-Codd Normal Form. In: Proceedings of the ACM 1980 annual conference, pp. 411 ...
  31. [31]
    Logical Schema Design that Quantifies Update Inefficiency and Join ...
    Jun 18, 2021 · We establish algorithms that compute schemata in l-Bounded Cardinality Normal Form for the smallest level l attainable across all FD-preserving ...
  32. [32]
    Parameterizing Boyce-Codd Normal Form by the Number of Minimal ...
    May 30, 2023 · We parameterize schemata in Boyce-Codd Normal Form (BCNF) by the number n of minimal keys they exhibit. We show that n quantifies a ...