【发布时间】:2012-10-12 03:12:35
【问题描述】:
这主要是一个与数据库相关的问题,但我使用的是 VB.net 和 sqlite。
所以我有一组小部件,它们都有一组特定的属性。其中有一个“Type”属性。
根据 Type 属性,还有一系列额外的依赖于类型的属性。我想知道将它们分组到具有大量空值的单个表(然后可能是单个类)中是否通常是一个好主意,或者是否应该将它们组织在数据库中的多个表(具有派生类)中,或者其他什么还有吗?
例子:
- 小部件 1:小,蓝色,A 型,20 磅,闪亮
- 小部件 2:小,红色,B 型,透明
- 小部件 3:大、黄色、C 型、6 英尺、5 英尺、1 英尺
他们是否应该像这样组织在一个包含很多空值的表格中:
- 小工具
- ID、尺寸、颜色、类型、重量、isShiny、透明度、宽度、长度、高度
或者像这样:
- 小工具
- ID、尺寸、颜色、类型
- 小工具_A
- ID、重量、光泽度
- 小工具_B
- ID、透明度
- 小工具_C
- ID、宽度、长度、高度
最终可能有数千个小部件,可能有 20 种类型。
谢谢!
【问题讨论】:
-
基本上,您预计要处理多少个小部件?
-
只是在编辑它。数千个,大约 20 种类型。每种类型都有 1-10 个自己的独特属性。
-
在不知道这 20 种类型的确切性质的情况下,我会建议为每种类型分别设置一个表格。 SQLite 语言具有 CREATE VIEW 语句,最终,您将能够以有意义的方式重新加入信息。
标签: database vb.net sqlite database-design