Sch*_*get 5 sql database database-design er-diagrams
对于学校项目,我们必须创建自己的数据库.我决定创建一个数据库来管理我的电子元件库存.作为一项要求,我们需要创建一个ER图,然后从该图中派生出数据库模式.不幸的是,教授认为我创建的图表可以简化,"Part"实体是不必要的.
如果我删除Part实体,那么为了让Circuit实体"使用"任意数量的任何部分,并使每个部分与可能的任何电路相关联,我将不得不从每个组件获得单独的M-to-N关系输入电路.这些关系中的每一个都会生成一个新表.这肯定会超过我们允许的项目的严格最大数量.
如果教授特别提到Part是不必要的,那么必须有一些方法来删除它,导致更简单的ER图和模式 - 但我看不出它是什么.
也许你们可以看到它是什么并给我一个提示?
编辑:丹W有一个很好的建议.我可以通过给每个部件类型(电容器,电阻器等)自己的键来消除该部件.然后在使用部分内部,包括那些组件的外键.我不得不假设表的每个条目只与一个部分相关联,其余部分为空.这是结果模式.这个架构应该运行良好.但是现在我必须弄清楚对ER图的修改到底对应于这个模式.
EDIT2:我得出结论,我正在寻找的关系是n-ary.根据几个来源,要从n-ary转换为模式,您将每个参与实体类型的关系的主键包含为外键.然后添加简单属性.这就是我提出的.
您有严格的表最大数量(物理设计),但 ER 图中的实体数量是否受到限制(逻辑设计)?零件的所有实体(电阻器、晶体管、电容器和通用 IC)都可以存储在一张零件表中,并将零件、电阻器、晶体管、电容器和通用 IC 的所有属性作为可为空的列。如果一个属性对所有类型都有效,那么它就不能为空。在零件表中包含另一列,用于标识零件的类型(电阻器、晶体管、电容器或 IC),尽管您在所有实体中已经有一个类型列,也可能用于此目的。
您架构中的零件表现在是:
PartID (PK)
Quantity
Drawer
Part Type
Value
Tolerance
Subtype
Power Rating
Voltage
Term_Style
Diam
Height
Lead_Space
Name
Case
Polarity
Use
V_CE
P_D
I_C
H_FE
Package
Pins
Description
然后将电阻器、电容器、晶体管和通用 IC 表拖放到架构中。将这些实体保留在 ER 图中,因为这会显示每个零件类型需要零件表中的哪些属性(不应为空)。
| 归档时间: | 
 | 
| 查看次数: | 1962 次 | 
| 最近记录: |