【发布时间】:2011-05-19 01:33:15
【问题描述】:
我正在开发一个数据库来存储测试数据。每条数据有 11 个元数据标签。目前,我对每个元数据选项都有一个单独的表。我在这里看到了一些关于许多小表的最佳实践的问题,但我想我会为我自己的项目提出这个问题,因为我没有从其他问题中得到明确的答案。
这是我的表格列表,每个表格中都有字段:
Source Type - id, name, description
For Flight - id, name, description
Site - id, name, abrv, description
Stand - id, site (FK site table), name, abrv, descrition
Sensor Type - id, name, channels, descrition
Vehicle - id, name, abrv, descrition
Zone - id, vehicle (FK vehicle table), name, abrv, description
Event Type - id, name, description
Event - id, event type (FK to event type Table), name, descrition
Analysis - id, name, descrition
Bandwidth - id, name, descrition
您可以看到每个表格中的字段或多或少相同。三个表引用了另一个表。
最好只有一个名为 Meta 的大表,其中包含以下字段:
Meta: id, metavalue, name, abrv, FK, value, descrition
其中元值 = 上述表名之一
并且 FK = 对 Meta 表中另一行的引用而不是外键?
我是数据库新手,多张表似乎最直观,但一张表使编程更容易。
所以问题是:
- 减少表的数量并将所有静态值放在一个表中是否是一种好习惯。
- 有一个自引用表是不是很糟糕。
仅供参考,我正在使用 django 和 mysql 在具有 NTFS 格式的 Windows 服务器上制作这个 Web 数据库。
提示和最佳做法表示赞赏。
谢谢。
【问题讨论】: