通用数据库建模和django特定建模

时间:2010-08-05 22:05:49

标签: django-models database-design

我想知道对以下内容进行建模的最佳方法是什么。

让我们说我的公司销售不同型材的金属棒(参数/字段是:长度,型材类型,数量等),其中型材可以是管道(pipe_diameter,wall_thickness)或hollow_rectangle(base,height,wall_thickness),或者其他一些不同参数的配置文件。假设最大配置文件数为12,每个配置文件有2-5个参数。

一切都应该在一张表中 table_bars:id,length,quantity,profile_type,pipe_diameter,wall_thickness,base,height等),其中profile类型为(pipe,rectangle等)。

或者每个形状都应该有自己的参数,并且在table_bars中只保留id,length,quantity profile_type和profile_id)

并且有任何django具体问题是多个表是最好的答案吗?

由于

1 个答案:

答案 0 :(得分:0)

这是一个经典问题,归结为你自己的判断。很多年前我有一个这样的案例,并在一个表中进行概括参数。然后我创建了第二个表,其中包含基于配置文件的参数描述,以及需要,可选或忽略的标志。

您可以使用各种参数:

Lentgh:全民普遍,不是吗?

WidthOuter1:可能是正方形或矩形的高度,管道的半径等

WidthOuter2:管道和方块被忽略,矩形

需要

WidthInner1:对实体对象忽略,空心所需。像WidthOuter1一样处理,即管道半径,方形尺寸,矩形第一维度

WidthInner2:与WidthOther2和Widthinner1相同的想法

......也许你的其他财产会得到同样的待遇。