我是一名新手数据库管理员,我正在开展一个项目,该项目将采用硬件清单电子表格并将其迁移到 SQL Server。目前,数据作为一个大型非规范化视图存在。我正在努力实现 3NF,但不知怎的,我觉得我没有很好地设计它。
让我简要介绍一下情况:
- 学区有几栋建筑,而这些建筑又有几个房间。学校正处于扩张期,所以新房间不断“建造”,所以“房间号”不能用作主键,因此导致我使用代理键。
- 老师被分配到房间,但房间不一定要有老师(即实验室)。老师也可以换房间。
- 购买硬件时,会获得一个条形码编号(将其视为采购订单上的行项目编号)。实际的硬件通过其序列号进行识别。
- 硬件被分配到一个房间,并被赋予一个工作站编号和一个 IP 地址。
设计看起来很坚固还是有缺陷?此外,是否可以在一对多关系之间创建连接表(将特定硬件分配给一个房间,一个房间可以有很多硬件)。
请在下面找到链接。