簡體   English   中英

數據庫規范化

[英]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 ,當CourseDurationCourseFee取決於CourseName

與其余表相同; Event稍微復雜一點,還有一些錯誤。

當您的起點是在移動的所有物體上貼上ID時,您就無法歸一化或達到3NF。

否。首先將數據標准化。 達到3NF。 我可以將CourseCodeShortName理解為用戶可以用來標識課程的某種東西,但是沒有Id

之后,僅在必要時添加 Id列和其他索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM