数据库建模,结构和关系

问题描述 投票:0回答:1

目前,我正在设计一个数据库模型,该模型可以用作库存系统的数据库。但是,我在数据库结构方面面临困难,特别是在是否为其子ID为父表添加额外的列方面。

下图中呈现的是我当前正在处理的数据库的一部分。我正在使用规范化表单,这就是为什么它已经有多个表的原因。但是,在这种情况下,在“运货表”(以蓝色突出显示)中,“运货明细”的父表(以红色突出显示)我不知道是否应该为运货表添加额外的列以识别或连接到“运货”明细表。

我已经为“货件详细信息”添加了一个外键,以标识与之相关的货件,我只是不知道是否应在“货件”表中为该详细信息添加另一个ID列。更具体地说,是否应该为“货件”表添加“货件详细信息ID”列?我担心如果包含在内可能会导致裁员。

enter image description here

database database-design relational-database database-schema
1个回答
0
投票

取决于。如果您想让Shipment有许多ShipmentDetails,则不可以,因为您要为其每个孩子重复在Shipment表中重复ShipmentDetailId,因此违反了1FN。

Simple Select to see the potential results

如果您具有“ 1对1”的关系,则不一定要有两个表,因为您可以在Shipment表中拥有所有内容。

我看过表中的列变得太大了,可以说,但是我从未见过将不同表中的列分开的性能提升。

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.