SQL中的面向对象的表布局

时间:2018-09-17 08:36:36

标签: sql-server sql-server-2008

就我而言,我正在寻找一个简单的资产登记簿。

所有商品都将具有某种序列号/型号,描述,购买日期,仍处于活动状态等。

例如,某些项目将具有有关它们的额外数据 电话将具有IMEI号码和电话号码以及合同时长。 笔记本电脑将具有序列号OS。 车辆将具有注册,VIN,MOT /服务日期。工厂设备将有校准日期

我所追求的(我认为)是一种制作面向对象表的方法,因此所有对象都是一种资产,每种类型也都有自己的特点。

我最好为每种资产使用单独的表格吗?或一个主表中的冗余列。我认为这将是最好的方法,但是有更好的方法吗?如果图像中的方式最好-我将如何做链接以忽略表中不需要的空白列(例如汽车资产的IMEI号)

ERD

1 个答案:

答案 0 :(得分:0)

在关系数据库中执行此操作的方法是在资产与要包含的“属性”或东西之间建立M:N关系。

然后使用1:N:1中间表对其进行标准化。

因此,基本上,您拥有具有基本数据(ID,名称,购买日期等)的资产,并且在单独的表中具有扩展的属性。

在此处查看图片: enter image description here

因为您不想每次访问资产信息时都访问一个新表,而是希望将所有信息都放在一个地方并从中收集数据。