1

鉴于下表定义:

卡车(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 两次?这是允许的吗?

1NF 的定义是表不应该有任何重复的组。但这不只是针对表定义(而不是 FD)吗?我很困惑。

4

2 回答 2

0

我从来没有将数据库作为计算机科学学科的正式课程,但 1NF 的实际定义是,在表格的单元格中,您不能有任何逗号分隔的值列表。这就对了。

因此,您可以拥有 OP 中描述的功能依赖关系。只要您将 trackNums(或其他实体)存储在某个表的单独行中,而不是以逗号分隔的列表中,它将符合 1NF。

于 2012-10-07T21:06:48.633 回答
0

根据我对您的情况的了解/理解,您正朝着正确的方向前进。

您有一个属性列表,并且在规范化时(您实际上比 1NF 更领先),您使用 BaseNum 作为 Trucks tbl 中的属性非常好。

Your Functional Dependencies would easily be converted into PK/FK pairs. From that perspective, you are also going in the right direction.

于 2012-10-07T21:08:15.277 回答