RelationshipDatabaseDesign

Content

  • Conceptual model - ERD
  • Logical model - schema, data dictionary, attributes mapping, ...
  • Physical model
E-R Diagram (Conceptual Model)
Relationship Database Design
Relationship Database Design
Relationship Database Design
Superclass/Subclass Hierarchy

"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)

Logical Model

Schemarepresents 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 dictionarycontains metadata of attributes, with which you could understand the what, where, how, how much, who, when questions about data.

Normal Form

A good logical model should follow normal formof 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 BC 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 BC 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.

  • 4NF
    Satisfies BCNF;
    No multi-value attributes.


作者:jin2017
链接:https://www.jianshu.com/p/88dfcbc48106
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

分享标题:RelationshipDatabaseDesign
链接地址:http://csdahua.cn/article/geiddo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流