(一)实验目的
掌握数据库设计的基本方法及数据库设计工具
(二)实验内容和要求
- 实验内容:掌握数据库设计基本步骤,包括数据库概念结构设计、逻辑结构设计,物理结构设计,数据库模式SQL语句生成;
- 实验要求:使用数据库设计工具进行数据库设计;
(三)实验重点和难点
- 【实验重点】概念结构设计、逻辑结构设计
- 【实验难点】逻辑结构设计。
逻辑结构设计虽然可以按照一定的规则从概念结构转换来,但是由于概念结构通常比较抽象,较少考虑更多细节,因此转换而成的逻辑结构还需进一步调整和优化。
(四)实验过程及结果
【实验环境】
Windows 10操作系统、MySQL 8.0、Power Designer
【需求分析】
一个简单的图书管管理系统的需求
- 图书:包含图书的编号、ISBN、标题、作者等信息。
- 学生:包含读者的学号、姓名、联系方式等信息。
- 借阅记录:记录每次借阅的信息,包括借阅日期、归还日期、逾期罚款等,要能够追踪哪位读者借阅了哪本书。
- 图书馆工作人员:记录工作人员的信息,包括工号、姓名、职务等。
- 图书馆分馆:如果图书馆有多个分馆,需要记录每个分馆的信息,例如地址、联系方式等。
分析
一本图书可以存在不同的图书馆分馆
一个图书馆分馆可以存不同本图书
一名读者可以借阅多本图书
一本图书可以被多人借阅
一个工作人员只能工作在一个图书馆分馆
一个图书馆分馆可以有多名工作人员
【概念模型设计】
概念结构设计的第一步就是对需求分析阶段收集到的数据进行分类、组织,确定实体、实体的属性、实体之间的联系类型,形成E-R图
【逻辑结构设计】
逻辑结构设计的任务就是把概念结构设计阶段设计好的基本 E-R 图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构
目前的数据库应用系统都采用支持关系数据模型的关系数据库管理系统,所以这里只介绍E-R图向关系数据模型的转换原则与方法
有以下几种情况:
- 一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
- 一个 1:n 联系可以转换为一个独立的关系模式,也可以与n 端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
- 一个m:n 联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
- 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。
- 具有相同码的关系模式可合并。
【物理结构设计】
- 检查CDM正确性
- 生成PDM
【SQL语句生成】
选择刚才生成的物理概念模型,在对象浏览区展开Tables,点击各个表格,可以在表格中看到对应DBMS的SQL语句