1

鑑於此下表定義:混亂關於建立函數依賴

車(TruckNum,TruckType,TYPEDESC,TruckMiles,購置日期,TruckSerialNum,BaseCity,BaseState,BaseNum,BaseManagerName,ManagerPhone,BasePhone)

我需要設置功能依賴關係列表。

到目前爲止,我有:

FDs = {TruckNum -> TruckType, TypeDesc, TruckMiles, DatePurchased, TruckSerialNum, BaseNum 

    BaseNum -> BaseCity, BaseState, BasePhone 

    BaseManagerName -> ManagerPhone} 

我也給出了以下注意事項/限制:

  1. 的卡車是基於在一個單一的基地。

  2. 基地可以成爲許多卡車的基地。

無論如何,我有這個問題實際上是非常簡單和(可能)完全新手十歲上下。令我困惑的是BaseNum。

通知我有這樣的:

TruckNum - >(...)BaseNum

然後

BaseNum - >(...)

見我如何使用BaseNum兩次?這是否允許?

1NF的定義是該表不應該有任何重複組。但是,這不僅僅是表格定義(而不是FD)?我很困惑。

回答

0

從我所瞭解/瞭解的情況來看,您正朝着正確的方向前進。

你有一個屬性列表,並且在規範化的時候(你實際上比1NF更進一步),它非常好地使用BaseNum作爲Trucks tbl中的一個屬性。

您的功能依賴關係很容易轉換爲PK/FK對。從這個角度來看,你也正朝着正確的方向前進。

+0

謝謝。我只需要確定。我想我被絆倒了,因爲我的大學課程的教師對1NF是什麼模糊的定義。當然,我讀了其他地方(谷歌等)的內容,但是當我讀到教師寫的內容時,又被絆倒了。 – user1725926

0

我從來沒有正式的數據庫課程作爲計算機科學學科,但1NF的實際定義是在表格的單元格中不能有逗號分隔的值列表。這就對了。

因此,您可以在OP中描述功能依賴關係。只要您將trackNums(或其他實體)存儲在某個表的不同行中,而不是以逗號分隔的列表,則它將符合1NF。