gpt4 book ai didi

mysql - 数据库规范化

转载 作者:行者123 更新时间:2023-11-29 05:43:27 25 4
gpt4 key购买 nike

我的任务是规范化这组数据:

COURSE=(CourseID, CourseName, CourseDuration, CourseFee{
DelegateID, DelegateName, DelegateAddress, EventID, EventName, VenueID, VenueName, VenuePrice, BookingID, BookingType, BookingDate
})

该场景是一家 IT 公司,在全国各地的多家酒店举办短期培训类(class),每个事件都由一名或多名主持人主持(因此 BookingType - Delegate 或 Presenter,如果是 Presenter,则无需预订费用)。事件只是在特定地点运行的类(class)的一个实例。 VenuePrice 是指酒店 field 的可选床位和早餐的费用。

这是我为 3NF 得出的结论:

COURSE=(CourseID, CourseName, CourseDuration, CourseFee)  
DELEGATE=(DelegateID, DelegateName, DelegateAddress)
EVENT=(EventID, VenueID*, CourseID*, EventName, EventDate)
BOOKING=(BookingID, DelegateID*, EventID*, BookingDate, BookingType)
VENUE=(VenueID, VenueName, VenuePrice)

我想知道这是否完全准确,如果不准确,也许是正确方向的指导?

谢谢

最佳答案

您认为 3NF 的依据是什么?

让我们举一个非常简单的例子,Course。如果他的功能依赖性到底在哪里,在什么键上?当CourseDurationCourseFee依赖于CourseName时,CourseName如何依赖于CourseId > ?

与其余表格相同; Event 有点复杂,有更多的错误。

当您的出发点是在所有移动的东西上贴上 ID 时,您无法规范化或实现 3NF。

没有。首先规范化数据。实现 3NF。我可以将 CourseCodeShortName 理解为用户可以用来识别类(class)的东西,但没有 Id

之后,当且仅当您需要时,添加 Id 列和附加 索引。

关于mysql - 数据库规范化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4679042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com