好,所以我有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
。
這功課嗎?如果是這樣,請將其標記爲。 –
沒有不作業。 –