How should I write a relationship in the diamond?
Reading order: From left to right.
For example, an employee manages other employees.
ERD could represent superclass-subclass relationships.
"O" is overlapping, meaning there could be overlapping between each subclass entities. (A manager could also be a salesperson)
Besides, we can use "D" for disjoint subclasses.
A single line between Employee and its subclasses implies an optinal participation (an employee may not belong to any subclass), while a double line implies a mandatory participation (an employee must be in one or more subclasses).
An U-like symbol identify subclasses by pointing to them. (the entity the bottom of "U" points to is a subclass)
Schema represents abstract (strong and weak) entities and associated attributes and necessary relationships between entities.
A schema looks like this:
STUDENT(
Stu_num, Stu_Lname, Stu_Fname, program_num@, age, gender)
(PK "Stu_num" should be underscored. I use italic instead)
Data dictionary contains metadata of attributes, with which you could understand the what, where, how, how much, who, when questions about data.
A good logical model should follow normal form of database.
UNF
Contains repeating values.
1NF
Each cell in the table contains only one value (so that the table can be represented in a relational database).
2NF
Satisfies 1NF;
No partial dependencies.
Meaning: A non-primary-key attribute cannot be dependent on part of primary-key.
For example, in R(
A B C D), if
(A+B) -> C, D,
(B) -> D,
D is partially dependent on primary key (A+B), thus not satisfying 2NF.
3NF
Satisfies 2NF;
No transitive dependencies.
Meaning: A non-primary-key attribute cannot determine non-primary-key attributes. (But a non-primary-key attribute can determine a primary-key attribute)
BCNF
Satisfies 3NF;
No non-CK dependencies.
Another way to say this: For all functional dependencies exist in the table, all their determinants are candidate keys.
Meaning: the second and third normal forms normalize non-prime attributes, and BCNF normalizes relationships between prime attributes.
For example (a model in 3NF but not in BCNF)
In R(
A B C D), there are
(A+B) -> C, D;
(A+C) -> B, D;
(C) -> B.
With a non-primary-key attribute C determines primary-key attribute B, the model does not satisfy BCNF.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14377/viewspace-2680817/ ,如需转载,请注明出处,否则将追究法律责任。