好,所以我有2个表。第一个表的名字是owner
与此数据库设计是否满足2NF或3NF?
owner_id primary key
first_name
last_name
和我有另一个表car
与
car_reg_no primary key
car_type
car_make
car_model
car_origin
owner_id foreign key
这是设计2NF或3NF或者都不是?
好,所以我有2个表。第一个表的名字是owner
与此数据库设计是否满足2NF或3NF?
owner_id primary key
first_name
last_name
和我有另一个表car
与
car_reg_no primary key
car_type
car_make
car_model
car_origin
owner_id foreign key
这是设计2NF或3NF或者都不是?
3NF表示其在2NF并且没有transitive functional dependencies。用一个更容易理解的术语来说:“所有属性都取决于密钥,整个密钥,而只有密钥。
第一张桌子满足所有这一切,所以它在3NF。
第二张表需要一些分析:是否有对非键的函数依赖?具体来说,是否可以有属于不同品牌的相同车型?
car_model
- >car_make
不存在,桌子是3NF(除非其他一些依赖违反3NF - 见下面car_origin
评论)。car_model
- >car_make
它违反了3NF。另外,car_origin
的含义是什么?如果它在功能上取决于非键,这也可能违反3NF。
不同制造商制造的2辆车不能有相同的车型,所以我猜它违反了3NF。 –
@SomeBody Yup,这将意味着它违反了3NF。 –
AFAIK,2NF,由于car
表的字段相互依赖。您需要第三张表格car_type
,其中列出了制造商,型号和产地,以及car
表中的外国car_type_id
。
这功课吗?如果是这样,请将其标记为。 –
没有不作业。 –