DB归一化2NF& 3NF

时间:2013-10-06 06:05:22

标签: mysql sql database

有一个非常简单的表格shema:

order_id (pk), customer_id(fk), order_date, ship_date, ship_address

这是2NF的表吗?如果是这样,它也在3NF?

寻求帮助: - )

2 个答案:

答案 0 :(得分:0)

我认为这是2NF,因为可能还有一个有用的表。

<3> 3NF应如下所示:

# orders
order_id (pk)
customer_id (fk)
ship_address_id (fk)
order_date
ship_date

# customers
customer_id (PK)
customer_field1
...

# addresses
address_id (PK)
customer_id (FK)
street
zip
...

亚马逊允许添加多个地址(家庭,办公室......)。你也应该这样做! : - )

答案 1 :(得分:0)

您的订单表应该拆分为带有产品表和ShipDetails兄弟的orderDetails。订单表应该只包含与订单相关的属性,例如订单或订单日期的产品总量。 orderDetail将具有productID和每个的数量。

经验法则是“关键,整个关键,只有关键”