[英]Database Normalization
我已經完成了標准化這組數據的任務:
COURSE=(CourseID, CourseName, CourseDuration, CourseFee{
DelegateID, DelegateName, DelegateAddress, EventID, EventName, VenueID, VenueName, VenuePrice, BookingID, BookingType, BookingDate
})
該方案是一家IT公司,該公司在全國各地的多家酒店舉辦短期培訓課程,每次活動都由一個或多個演示者主持(因此,BookingType-代表或演示者,如果演示者則無需付費)。 事件只是在特定場所運行的課程的一個實例。 VenuePrice是指在此期間晚上在酒店場地購買可選床和早餐的費用
這是我為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
。 如果他在功能上依賴,到底在哪里呢? 如何CourseName
取決於CourseId
,當CourseDuration
和CourseFee
取決於CourseName
?
與其余表相同; Event
稍微復雜一點,還有一些錯誤。
當您的起點是在移動的所有物體上貼上ID
時,您就無法歸一化或達到3NF。
否。首先將數據標准化。 達到3NF。 我可以將CourseCode
或ShortName
理解為用戶可以用來標識課程的某種東西,但是沒有Id
。
之后,僅在必要時添加 Id
列和其他索引。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.