1

次のテーブル定義があるとします。

TRUCK(TruckNum、TruckType、TypeDesc、TruckMiles、DatePurchased、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を2回使用している方法をご覧ください。これは許可されていますか?

1NFの定義は、テーブルに繰り返しグループが含まれていてはならないということです。しかし、それは(FDではなく)テーブル定義のためだけではありませんか?よくわかりません。

4

2 に答える 2

0

私はコンピュータサイエンスの主題としてデータベースの正式なコースを持ったことはありませんが、1NFの実際的な定義は、テーブルのセルに値のコンマ区切りのリストを含めることはできないということです。それだ。

したがって、OPで説明されているように機能依存性を持つことができます。trackNums(または他のエンティティ)をコンマ区切りのリストとしてではなく、テーブルの別々の行に格納している限り、1NFに準拠します。

于 2012-10-07T21:06:48.633 に答える
0

私があなたの状況を見て/理解していることから、あなたは正しい方向に進んでいます。

属性のリストがあり、正規化中(実際には、1NFよりもはるかに進んでいます)、Truckstblの属性としてBaseNumを使用していることはまったく問題ありません。

機能従属性は、PK/FKペアに簡単に変換されます。その観点から、あなたも正しい方向に進んでいます。

于 2012-10-07T21:08:15.277 に答える