SQL另一种规范化方式

时间:2013-03-09 21:12:01

标签: sql database normalization erd

我只是尝试完成任务并坚持正常化。 (这应该是LOGICAL ERD)

enter image description here

这里有更多可能的规范化方法吗? 我只是坚持下去。 对不起,我只是在组成员表中错过了组ID附近的明星

enter image description here

2 个答案:

答案 0 :(得分:0)

GroupMember,GroupLeader和Supervisor应该是Person表的关系。或许像以下那样?

Person (
    id
    name
    surname
    date of birth
    gender
    home address
    emergency contact number
    comment field
)

Activity (
    id
    type of activity
    activity description
    date
    morning or afternoon
    supervisor -> Person
)


ActivityParticipant (
    activity id -> Activity
    person id -> Person
)

Group (
    id
    name
    start date of stay
    end date of stay
    (amount of people in group?)
)

GroupMember (
    person id -> Person
    group id -> Group
)

Group Leader (
    group id -> Group
    person id -> Person
)

Chalet (
    id
    Chalet number
    Chalet name
    number it sleeps
    price per individual
)

Accomodation (
    group id -> Group
    chalet id -> Chalet
)

答案 1 :(得分:0)

  

关系数据库不支持继承

我知道如何解决这个问题的三种可能方式是:

1.Single Table Inheritance

2.Class Table Inheritance(这有点像@thebjorn所暗示的那样。)

3.Concrete Table Inheritance(这就是你现在所拥有的,我认为使用这个解决方案没有任何问题。)

修改

我看到你把它改为LOGICAL ERD,这当然是关于物理模型的。