数据库设计实验
掌握数据库设计基本方法及数据库设计工具。
掌握数据库设计基本步骤,包括数据库概念结构设计、逻辑结构设计,物理结构设计,数据库模式 SQL 语句生成。能够使用数据库设计工具进行数据库设计。
一个供应商可以供应多种零件,一种零件也可以有多个供应商。一个客户订单可以订购多种供应商供应的零件。客户和供应商都分属不同的国家,而国家按世界五大洲八大洋划分地区。
根据实际语义,分析实体之间的联系,确定实体之间一对一,一对多和多对多联系。
绘制 E-R 图:
按照数据库设计原理中概念结构转化成逻辑结构的规则,每个实体转换成一个关系,多对多的联系也转换成一个关系。因此,根据上述 E-R 图设计数据库逻辑结构,使用 Mysql 数据库,抽象为 table 的形式:
3.1.零件表part
Part:零件编号 partkey、零件名称 name、零件制造商 mfgr、品牌 brand、类型 type、大小 Size、零售价格 retailprice、包装 container、备注 comment。主码:零件编号 partkey。
3.2.地区表region
地区 Region:地区编号 regionkey、地区名称 name、备注 comment。主码:地区编号 regionkey。
3.3.国家表nation
Nation:国家编号 nationkey、国家名称 name、所属地区 region、备注 comment。主码:国家编号 nationkey。
3.4.供应商表supplier
Supplier:供应商编号 suppkey、客户名称 name、地址 address、国籍 nation、电话 phone、备注 comment 等。主码:供应商编号 suppkey。
3.5.客户表customer
Customer:客户编号 custkey、客户名称 name、地址 address、电话 phone、国籍 nation、备注 comment。主码:客户编号 custkey。
3.6.订单表
Order:订单编号 orderkey、订单状态 status、订单总价 totalprice、订单日期 order-date、订单优先级 orderpriority、记账员 clerk、运送优先级视频 priority、备注 comment。主码:订单编号 orderkey。
3.7.订单项表
Lineitem:订单项编号 linenumber、所订零件号 partkey、所订零件供应商号 suppkey、零件数量 quantity、零件总价 extendedprice、折扣 discount、税率 tax、退货标记 returnflag 等。主码:订单项编号 linenumber。
最终得到 7 张完整的表:
4.扩展
使用工具PowerDesigner工具绘制ER图如下:
本次实验的重点在于概念结构的设计以及逻辑结构的设计;逻辑结构设计虽然可以按照一定的规则从概念结构 转换而来,但是由于概念结构通常比较抽象,较少考虑更多细节较少考虑更多细节,因此转换而成的 逻辑结构还需要进一步调整和优化。
这次的概念结构选择了实验指导书中一直使用的采购、销售和客户管理应用数据库,较为复杂,但是比较更能学好概念结构设计和逻辑结构设计。