以第3范式创建规范化数据库模式

时间:2013-09-22 04:08:16

标签: mysql database database-design entity-relationship system-design

我正在为我的第二年大学模型,系统分析和设计工作。我正在努力解决一个应该很容易回答的问题,但我对我的答案一直有些怀疑。

我会发布问题和答案。如果有人可以花一点时间来查看它并且如果我的答案不正确,那么我会朝着正确的方向前进。我将非常感激。

问题如下:

请参阅下一页提供的可靠药物服务的ERD,并在3NF中开发标准化的数据库模式。清楚地指出所有键。所有表格应为3NF。为所有主键加下划线,并使用字母FK表示外键,例如......,Product-code(FK),....

在给定的ERD中注意

  • 并非所有字段都是
  • 某些表格可能不需要某些字段
  • 未显示主键和外键

enter image description here

我的回答:

Client Health-Care Organization (Organization-code, Name, Address)
Client Unit (Client-unit-code, Name, Address, Floor, Wing)
Patient (Number, Name, DateOfBirth, Sex, Roomnr)
Prescription (prescription-number, StartDate, StartTime, EndDate, EndTime, Quantity, Frequency, Instructions)
DrugItem (UnitType, UnitDosage, QuantityOnHand, RecorderPoint, RecorderQuantity, Price)
Drug (Chemical-Number, ChemicalName)
DrugItemPackage (UPC, PackageType, PackageQuantity, BrandName, Price)
Manufacturer (Manufacturer-ID, Name, Address)
OrderItem(Order-Nr, Quantity, Date, StartTime, Endtime)
Pharmacist(LicenseNumber, Name)

注意: 在我的回答中,主键位于表的开头

在OrderItem表中,我遗漏了PatientName,RoomNumber(因为它已经包含了患者表,我这样做是否正确?)

同样在OrderItem表中,我省略了ChemicalName,Manufactorer,UnitType,Dosage和Special指令,因为我觉得这是O​​rderItem表的不必要的字段,并且已经包含在其他表中,我这样做是否正确?

非常感谢你花时间阅读我的问题,也感谢这个精彩网站的创作者和贡献者

Cheerz

1 个答案:

答案 0 :(得分:1)

您提出的架构中没有“订单”。

此外,OrderItem似乎没有链接到患者。最常见的顺序是单个患者,但是从图中可以看出这个系统是针对许多患者的“批量订单”。所以链接应该来自OrderItem。

OrderItem也没有链接到应该使用的任何药物实体。

继续努力。

请参阅:

相关问题