数据库设计不支持产品的输入。

时间:2017-09-06 10:21:43

标签: mysql database database-design

我有以下数据库设计:

table design

基本上,我需要能够输入具有以下列的产品:

ID,区域,类别,名称

问题是,如果我根据上图中的规范创建数据库,那么还不会导致表目录中的重复吗?这将违反正常形式。

这也意味着目录中的数据只是数字,也就是对其他表的引用。这个问题有解决方案吗?正如我想象的那样,任何具有db后端的目录站点都会遇到同样的问题。

这是一个例子,如果它有帮助,那就是不同的sinorio也是同样的问题:

我有一个销售笔记本电脑和电视的产品目录,我是否制作了具有该类型设备的表格?因为那样会是这样的:

id    -    name    -    type    -    etc

1     -    acerP   -   laptop   -    null
1     -    acerP   -   laptop   -    null
1     -    acerP   -   TV       -    null

注意笔记本电脑'可能会重复100次,通常你会创建一个只有:

的新表
u_id    -    type

101     -    laptop
102     -    TV

然后只需在查询中加入,然后您将在设备表中加入:

 id    -    name    -    type    -    etc

1     -    acerP   -     101     -    null
1     -    acerP   -     101     -    null
1     -    acerP   -     102     -    null

但现在您正在重复数字引用。

我在这里遗漏了什么,或者这是正常的吗?

1 个答案:

答案 0 :(得分:0)

这是norma,只有外键会在你提出的结构中重复,1NF允许这样做:

  

第一范式强制执行以下标准:
    - 消除各个表中的重复。   ...

群组表示列的组合。相同的category可能会在catalogue中出现多次,但不会出现,例如情侣(categoryarea)。