1、。数据库的设计和开发是一项庞大而复杂的工程。数据库的设计和开发是一项庞大而复杂的工程。数据库设计人员要具备的知识:数据库设计人员要具备的知识:(1 1)数据库基本理论)数据库基本理论(2 2)数据库设计技术)数据库设计技术(3 3)程序开发的实际经验)程序开发的实际经验(4 4)软件工程的原理和方法)软件工程的原理和方法第第3章章 数据库设计数据库设计 本章主要内容:本章主要内容:1 1、数据库设计的基本概念、数据库设计的基本概念 2、数据库设计的、数据库设计的6个阶段个阶段*(1)需求分析)需求分析(2)概念结构设计)概念结构设计(3)逻辑结构设计)逻辑结构设计(4)数据库物理设计、)数据库
2、物理设计、数据库实施、数据库实施、数数据库的运行和维护据库的运行和维护第第3章章 数据库设计数据库设计 数据库设计是根据用户需求设计数据库结构的过程。数据库设计是根据用户需求设计数据库结构的过程。具体一点讲,具体一点讲,数据库设计数据库设计是对于给定的应用环境,在是对于给定的应用环境,在关系数据库理论的指导下,构造最优关系数据库理论的指导下,构造最优(最合理、最规最合理、最规范范)的数据库模式,在数据库管理系统的数据库模式,在数据库管理系统(如如SQL Server)上建立数据库及其应用系统上建立数据库及其应用系统(如如ASP.NET网站、网站、JAVA程序等程序等),使之能有效地存储数据,满
3、足用户的各种,使之能有效地存储数据,满足用户的各种需求的过程。需求的过程。3.1 数据库设计概述数据库设计概述 数据库设计方法有多种,按照数据库设计方法有多种,按照规范设计规范设计的方的方法,法,数据库设计可分为六个阶段:数据库设计可分为六个阶段:需求分析、需求分析、概念结构设计、概念结构设计、逻辑结构设计、逻辑结构设计、数据库物理设计、数据库物理设计、数据库实施、数据库实施、数据库运行和维护。数据库运行和维护。3.1 数据库设计概述数据库设计概述 需求分析是设计数据库的起点,需求分析是设计数据库的起点,就是要就是要分析分析用户的要求用户的要求。本节包含三个知识点:本节包含三个知识点:(1)需
4、求分析阶段的重要性)需求分析阶段的重要性(2)需求分析的任务)需求分析的任务(3)需求分析的方法)需求分析的方法3.2 需求分析需求分析 需求分析阶段的重要性需求分析阶段的重要性*:需求分析就是数据库设计人员,通过仔细地调查和需求分析就是数据库设计人员,通过仔细地调查和向用户详细地咨询,掌握用户的需求,理解用户的向用户详细地咨询,掌握用户的需求,理解用户的需求。需求分析的结果是否准确地反映了用户的实需求。需求分析的结果是否准确地反映了用户的实际要求,际要求,将直接影响到后面各个阶段的设计,将直接影响到后面各个阶段的设计,并并影响到设计结果是否影响到设计结果是否合理和实用合理和实用。可以说在一个
5、大型数据库系统的开发中,它的作用可以说在一个大型数据库系统的开发中,它的作用要远远大于其它各个阶段。要远远大于其它各个阶段。3.2 需求分析需求分析 明确需求分析的任务:明确需求分析的任务:通过详细调查现实世界要处理的对象(组织、部通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,并算机系统)工作概况,明确用户的各种需求,并在此基础上确定新系统的功能。在此基础上确定新系统的功能。注意注意:(1)一定要一定要(2)新系统必须充分考虑今后可能的扩充和改变,)新系统必须充分考虑今后可能
6、的扩充和改变,不能仅仅按当前应用需求来设计数据库。不能仅仅按当前应用需求来设计数据库。3.2.1 需求分析的任务需求分析的任务 需求分析调查的重点是需求分析调查的重点是“数据数据”和和“处理处理”(1)信息)信息(数据数据)要求:要求:调查用户的信息要求,确定在数据库中需要存储哪些数据。调查用户的信息要求,确定在数据库中需要存储哪些数据。(2)处理要求)处理要求:指用户要完成什么处理功能,指用户要完成什么处理功能,处理时间要求及处理方式处理时间要求及处理方式。(3)安全性与完整性要求)安全性与完整性要求 安全性要求是指对数据库的用户、角色、权限、加密方法等安全性要求是指对数据库的用户、角色、权
7、限、加密方法等安全保密措施的要求。完整性要求是指对数据取值范围、数据安全保密措施的要求。完整性要求是指对数据取值范围、数据之间各种联系的要求等等。之间各种联系的要求等等。需求分析的任务需求分析的任务 1.调查用户需求的具体步骤调查用户需求的具体步骤 (1)调查组织机构情况调查组织机构情况,包括了解该组织的部门组,包括了解该组织的部门组成情况、各部门的职责等,为分析信息流程做准成情况、各部门的职责等,为分析信息流程做准备。备。(2)调查各部门的业务活动情况调查各部门的业务活动情况,包括了解各个部,包括了解各个部门输入和使用什么数据,如何加工处理这些数据,门输入和使用什么数据,如何加工处理这些数据
8、,输出什么信息,输出什么信息,输出到什么部门,输出结果的格输出到什么部门,输出结果的格式是什么,这是调查的式是什么,这是调查的重点重点。3.2.2 需求分析的方法需求分析的方法(3)在熟悉业务活动的基础上,协助用户明确对新在熟悉业务活动的基础上,协助用户明确对新系统的各种要求,包括系统的各种要求,包括信息要求、信息要求、处理要求、完处理要求、完全性与完整性要求全性与完整性要求,这是调查的又一个,这是调查的又一个重点重点。(4)确定新系统的边界,对前面调查的结果进行初确定新系统的边界,对前面调查的结果进行初步分析,确定哪些功能由步分析,确定哪些功能由计算机完成计算机完成或将来准备让或将来准备让计
9、算机完成,哪些活动由人工完成。计算机完成,哪些活动由人工完成。需求分析的方法需求分析的方法 2常用的调查方法常用的调查方法 (1)跟班作业。通过亲身参加业务工作来了解业务活动的情跟班作业。通过亲身参加业务工作来了解业务活动的情况。况。(2)开座谈会。通过与用户座谈来了解业务活动情况及用户开座谈会。通过与用户座谈来了解业务活动情况及用户需求。需求。(3)询问或请专人介绍。一般应包括领导、管理人员、操作询问或请专人介绍。一般应包括领导、管理人员、操作员等。员等。(4)设计调查表请用户填写需求。这种方法易于用户接受。设计调查表请用户填写需求。这种方法易于用户接受。(5)查阅记录。查阅与原系统有关的数
10、据记录。查阅记录。查阅与原系统有关的数据记录。实际应用中,具体问题具体分析,但必须有实际应用中,具体问题具体分析,但必须有用户的参与用户的参与。需求分析的方法需求分析的方法数据库技术概述及需求分析数据库技术概述及需求分析 概念结构设计阶段不是直接将需求分析得到的数概念结构设计阶段不是直接将需求分析得到的数据转换为据转换为DBMS能处理的数据库模式,而是将需能处理的数据库模式,而是将需求分析得到的用户需求抽象为反映用户观点的求分析得到的用户需求抽象为反映用户观点的概概念模型(念模型(E-R模型模型)。)。本节包含的知识点:本节包含的知识点:(1)概念结构的模型的特点)概念结构的模型的特点(2)概
11、念结构设计的方法)概念结构设计的方法(3)概念结构设计的步骤)概念结构设计的步骤3.3 概念结构设计概念结构设计*(1)有丰富的语义表达能力:)有丰富的语义表达能力:表达用户的表达用户的各种需求,反映数据及其联系。各种需求,反映数据及其联系。(2)易于交流和理解:系统分析师、)易于交流和理解:系统分析师、数据数据库设计人员和用户交流、理解。库设计人员和用户交流、理解。(3)易于修改:灵活性、反映用户需求和)易于修改:灵活性、反映用户需求和环境的变化。环境的变化。(4)易于向各种数据模型转换。)易于向各种数据模型转换。概念结构的模型的特点概念结构的模型的特点(1)自顶向下法:建立初步框架,即全局
12、)自顶向下法:建立初步框架,即全局E-R模模型,然后再逐步细化型,然后再逐步细化(2)自底向上法。先得到局部)自底向上法。先得到局部E-R模型,再进一模型,再进一步综合成全局步综合成全局E-R模型模型(3)逐步扩张法。先定义最重要的核心概念)逐步扩张法。先定义最重要的核心概念E-R模型,然后向外扩充模型,然后向外扩充(4)混合策略:()混合策略:(1)()(2)混合使用)混合使用 其中最常用的策略是其中最常用的策略是自底向上法自底向上法。3.3.1 概念结构设计的方法概念结构设计的方法 1设计局部设计局部E-R模型的步骤:模型的步骤:(1)确定局部)确定局部E-R图描述的范围图描述的范围 两条
13、原则:两条原则:独立性原则:一个范围内的应用功能具有独立性独立性原则:一个范围内的应用功能具有独立性与完整性,与其他范围内的应用有最少的联系。与完整性,与其他范围内的应用有最少的联系。规模适度原则:局部规模适度原则:局部E-R图规模应适度,一般以图规模应适度,一般以6个左右实体为宜。个左右实体为宜。3.3.2 概念结构设计的步骤概念结构设计的步骤(2)确定局部)确定局部E-R图的实体图的实体 根据需求分析说明书,将用户需求中涉及根据需求分析说明书,将用户需求中涉及的的数据对象数据对象进行归类,指明是实体、联系进行归类,指明是实体、联系还是属性。还是属性。(3)定义实体的属性)定义实体的属性 (
14、4)定义实体间的联系)定义实体间的联系 一对一、一对多、多对多三种。一对一、一对多、多对多三种。概念结构设计的步骤概念结构设计的步骤 2局部局部E-R模型的集成模型的集成 将各个局部将各个局部E-R模型去掉不一致和重复的地模型去掉不一致和重复的地方,合并为全局视图,即局部方,合并为全局视图,即局部E-R模型的集模型的集成。成。一般有两种集成方式:一般有两种集成方式:(1)多个分)多个分E-R图一次集成;图一次集成;(2)逐步集成)逐步集成*:用累加的方式一次集成用累加的方式一次集成两个分两个分E-R图。图。概念结构设计的步骤概念结构设计的步骤 集成分为两个阶段:集成分为两个阶段:第一步是合并,
15、以消除各局部第一步是合并,以消除各局部E-R图之间图之间的不一致(的不一致(冲突冲突)情况,生成初步的)情况,生成初步的E-R图;图;第二步是优化,消除不必要的数据冗余第二步是优化,消除不必要的数据冗余(多余的数据或联系多余的数据或联系),生成全局),生成全局E-R图。图。概念结构设计的步骤概念结构设计的步骤 教学信息数据库系统教学信息数据库系统E-R图(学生和教师,学生和学院为图(学生和教师,学生和学院为多余的联系;平均成绩为多余的属性)多余的联系;平均成绩为多余的属性)概念结构设计的步骤概念结构设计的步骤1NNM课程课程学生学生选选修修姓名姓名性别性别年龄年龄课程号课程号课程名课程名学分学
16、分成绩成绩学号学号班级班级属属于于班主任班主任班级名班级名教师教师教师号教师号姓名姓名性别性别教教授授N11学院学院地址地址学院名学院名隶属隶属M属属于于1N质量评价质量评价平均成绩平均成绩概念结构设计概念结构设计 数据库概念设计阶段得到的数据模式转换成某个数据库概念设计阶段得到的数据模式转换成某个具体的具体的DBMS所支持的数据所支持的数据模式模式,并建立相应的,并建立相应的外模式外模式,这是数据库逻辑设计的任务,是数据库,这是数据库逻辑设计的任务,是数据库结构设计的结构设计的重要阶段。重要阶段。逻辑结构设计一般要分为逻辑结构设计一般要分为三步三步*:将将E-R图转化为关系数据模型图转化为关
17、系数据模型 关系模式的优化关系模式的优化 设计用户外模式设计用户外模式(子模式子模式)3.4 逻辑结构设计逻辑结构设计 将将E-R图转化为关系数据模型实际上是要将图转化为关系数据模型实际上是要将实体、实体、属性和实体之间的联系属性和实体之间的联系转化为关系模式。转化为关系模式。转化过程中要遵循的原则:转化过程中要遵循的原则:1.实体的转换实体的转换*一个实体转化为一个关系模式。实体的属性就是一个实体转化为一个关系模式。实体的属性就是关系的属性。实体的主码就是关系的主码。关系的属性。实体的主码就是关系的主码。3.4.1 将将E-R图转化为关系数据模型图转化为关系数据模型 例:将如图所示的学生实体
18、,转换为关系例:将如图所示的学生实体,转换为关系模式。模式。对应的关系模式为:对应的关系模式为:学生学生(学号学号,姓名姓名,出生日期出生日期,所在系所在系,年级年级,平均成绩平均成绩)将将E-R图转化为关系数据模型图转化为关系数据模型 2.联系的转换联系的转换*(1)两实体间)两实体间1:1联系可以转换为一个独立联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系的关系模式,也可以与任意一端对应的关系模式合并。模式合并。与某一端对应的关系模式合并与某一端对应的关系模式合并(常用常用)合并后关系的属性包括自身关系的属性和另合并后关系的属性包括自身关系的属性和另一关系的主码及联系本身的属
19、性;合并后关一关系的主码及联系本身的属性;合并后关系的主码不变。系的主码不变。将将E-R图转化为关系数据模型图转化为关系数据模型 例:将如图所示的例:将如图所示的E-R图,转换为关系模式。图,转换为关系模式。1班级班级班号班号年龄年龄班主任班主任班长班长班长班长-班级班级任期任期姓名姓名入学时间入学时间学号学号系别系别性别性别1将将E-R图转化为关系数据模型图转化为关系数据模型 转换成如下关系模式:转换成如下关系模式:班级班级(班号班号,系别系别,班主任班主任,入学时间入学时间 班长班长(学号学号,姓名姓名,性别性别,年龄年龄)或:或:班级班级(班号班号,系别系别,班主任班主任,入学时间入学时
20、间)班长班长(学号学号,姓名姓名,性别性别,年龄年龄,班长学号班长学号,班长任期班长任期),班号班号,任期任期)将将E-R图转化为关系数据模型图转化为关系数据模型(2)两实体间)两实体间1:n 联系可以转换为一个独联系可以转换为一个独立的关系模式,也可以与立的关系模式,也可以与n端对应的关系模端对应的关系模式合并。式合并。与与n端对应的关系模式合并(常用)端对应的关系模式合并(常用)合并后关系的属性:在合并后关系的属性:在n端关系中加入端关系中加入1端端关系的主码和联系本身的属性。合并后关关系的主码和联系本身的属性。合并后关系的主码不变。系的主码不变。将将E-R图转化为关系数据模型图转化为关系
21、数据模型例:将如图所示的例:将如图所示的E-R图转换为合适的关系模式。图转换为合适的关系模式。将将E-R图转化为关系数据模型图转化为关系数据模型对应的关系模式如下:对应的关系模式如下:系(系(系号系号,系名,系主任),系名,系主任)教师(教师(教师号教师号,教师名,年龄,职称,教师名,年龄,职称,系号,入系日期系号,入系日期)将将E-R图转化为关系数据模型图转化为关系数据模型(4)两实体间)两实体间m:n联系联系*:必须为联系产生一个新的关系。该关系中必须为联系产生一个新的关系。该关系中至少包含被它所联系的至少包含被它所联系的双方实体的主码双方实体的主码,若联系有若联系有属性属性,也要并入该关
22、系中。新关,也要并入该关系中。新关系的主码可以为双方实体的主码的组合,系的主码可以为双方实体的主码的组合,也可以另外设置一个属性作为主码。也可以另外设置一个属性作为主码。将将E-R图转化为关系数据模型图转化为关系数据模型例例:将如图所示的将如图所示的E-R图转换成对应的关系模式。图转换成对应的关系模式。NM职工职工职务职务年龄年龄职工号职工号项目项目参加参加起始起始日期日期项目名项目名姓名姓名项目号项目号薪酬薪酬性别性别鉴定鉴定日期日期将将E-R图转化为关系数据模型图转化为关系数据模型 关系模式如下:关系模式如下:职工(职工(职工号职工号,姓名,性别,年龄,职务),姓名,性别,年龄,职务)项目
23、(项目(项目号项目号,名称,起始日期,鉴定日,名称,起始日期,鉴定日期)期)参加(参加(职工号,项目号职工号,项目号,薪酬),薪酬)将将E-R图转化为关系数据模型图转化为关系数据模型 为了进一步提高数据库应用系统的性能,还为了进一步提高数据库应用系统的性能,还应努力减少关系模式中存在的各种异常,改应努力减少关系模式中存在的各种异常,改善完整性、一致性和存储效率。善完整性、一致性和存储效率。(1)规范化:一般到第三范式。)规范化:一般到第三范式。(2)调整结构,提高使用效率的优化:合)调整结构,提高使用效率的优化:合并与分解并与分解3.4.2 关系模式的优化关系模式的优化关系模式的优化关系模式的
24、优化 例如,单位职工及项目管理的关系模式设计如下:例如,单位职工及项目管理的关系模式设计如下:职工(职工(职工号职工号,姓名,性别,年龄,职务),姓名,性别,年龄,职务)项目(项目(项目号项目号,名称,起始日期,鉴定日期),名称,起始日期,鉴定日期)参加(参加(职工号,项目号职工号,项目号,薪酬),薪酬)(1)经分析)经分析3个关系模式属于第三范式。个关系模式属于第三范式。(2)经分析不需要合并或分解。)经分析不需要合并或分解。(3)设计每一个关系的表结构。)设计每一个关系的表结构。例:职工表例:职工表的的表表结构设计结构设计属性名类型宽度取值范围主键职工号char6数字字符是姓名char10
25、性别char2(男,女)年龄int18-60职务char10关系模式的优化关系模式的优化 外模式也叫子模式,是用户可直接访问的数外模式也叫子模式,是用户可直接访问的数据模式,是从模式中导出的部分数据的逻辑据模式,是从模式中导出的部分数据的逻辑结构。根据用户的具体需求进行设计结构。根据用户的具体需求进行设计(详见详见视图和索引的有关章节内容)视图和索引的有关章节内容)。外模式的优点:外模式的优点:为应用程序提供了逻辑独立性;为应用程序提供了逻辑独立性;可以更好可以更好地适应不同用户对数据的需求;地适应不同用户对数据的需求;为用户划为用户划定了访问数据的范围,有利于数据的保密等。定了访问数据的范围
26、,有利于数据的保密等。3.4.3 设计用户外模式设计用户外模式 外外模模式式模模式式内内模模式式设计用户外模式(设计用户外模式(以图书出版公司数据库为例以图书出版公司数据库为例)逻辑结构设计逻辑结构设计 数据库最终要存储在物理设备上。数据库最终要存储在物理设备上。将逻辑设计中产生的数据库逻辑模型结合指定的将逻辑设计中产生的数据库逻辑模型结合指定的DBMS,设计出最适合应用环境的物理结构的过程,设计出最适合应用环境的物理结构的过程,称为数据库的称为数据库的物理结构设计。物理结构设计。为了设计数据库的物理结构,设计人员必须充分了为了设计数据库的物理结构,设计人员必须充分了解所用解所用DBMS的内部
27、特征;充分了解数据系统的实的内部特征;充分了解数据系统的实际应用环境,特别是数据应用处理的频率和响应时际应用环境,特别是数据应用处理的频率和响应时间的要求;充分了解外存储设备的特性。间的要求;充分了解外存储设备的特性。3.5 物理结构设计物理结构设计 数据库的物理结构设计分为两个步骤:数据库的物理结构设计分为两个步骤:(1)确定数据库的物理结构。确定数据库的物理结构。(2)对所设计的物理结构进行评价。对所设计的物理结构进行评价。物理结构设计物理结构设计数据库物理设计内容包括:数据库物理设计内容包括:(1)确定数据的存储结构)确定数据的存储结构 确定数据库存储结构时要综合考虑存取时间、存储确定数
28、据库存储结构时要综合考虑存取时间、存储空间利用率和维护代价三方面的因素。这三个方面空间利用率和维护代价三方面的因素。这三个方面常常是相互矛盾的,例如消除一切冗余数据虽然能常常是相互矛盾的,例如消除一切冗余数据虽然能够节约存储空间,但往往会导致检索代价的增加,够节约存储空间,但往往会导致检索代价的增加,因此必须进行权衡,选择一个折中方案。因此必须进行权衡,选择一个折中方案。3.5.1 确定数据库的物理结构确定数据库的物理结构(2)设计数据的存取路径)设计数据的存取路径 DBMS常用存取方法有:常用存取方法有:索引方法(比如采用索引方法(比如采用B+树结构的索引方法),树结构的索引方法),聚簇(聚
29、簇(CLUSTER)方法和)方法和HASH(哈希)方法。(哈希)方法。(3)确定数据的存放位置(经常存取部分和存取)确定数据的存放位置(经常存取部分和存取频率较低部分分磁盘存放、数据表和索引分磁盘存频率较低部分分磁盘存放、数据表和索引分磁盘存放、数据和日志分磁盘存放等等)。放、数据和日志分磁盘存放等等)。确定数据库的物理结构确定数据库的物理结构(4)确定系统配置)确定系统配置 DBMS产品一般都提供了一些存储分配参数,供设计产品一般都提供了一些存储分配参数,供设计人员和人员和DBA对数据库进行物理优化。初始情况下,系对数据库进行物理优化。初始情况下,系统都为这些变量赋予了合理的缺省值。但是这些
30、值不统都为这些变量赋予了合理的缺省值。但是这些值不一定适合每一种应用环境。一定适合每一种应用环境。对系统配置的变量对系统配置的变量:例如例如,同时使用数据库的用户数同时使用数据库的用户数,同同时打开的数据库对象数时打开的数据库对象数,缓冲区分配参数缓冲区分配参数,物理块装填因物理块装填因子子,数据库的大小数据库的大小,锁的数目等。在物理设计时应根据应锁的数目等。在物理设计时应根据应用环境确定这些参数值,以使系统性能最佳。用环境确定这些参数值,以使系统性能最佳。确定数据库的物理结构确定数据库的物理结构 数据库物理设计过程中需要对时间效率、空数据库物理设计过程中需要对时间效率、空间效率、维护代价和
31、各种用户要求进行权衡,间效率、维护代价和各种用户要求进行权衡,其结果可以产生多种方案,数据库设计人员其结果可以产生多种方案,数据库设计人员必须对这些方案进行细致的评价,从中选择必须对这些方案进行细致的评价,从中选择一个较优的方案作为数据库的物理结构。一个较优的方案作为数据库的物理结构。3.5.2 评价物理结构评价物理结构物理结构设计物理结构设计 1 数据库实施数据库实施 根据逻辑和物理设计的结果,在计算机根据逻辑和物理设计的结果,在计算机上建立起实际的数据库结构,并装入数据,上建立起实际的数据库结构,并装入数据,进行试运行和评价的过程,叫做进行试运行和评价的过程,叫做数据库的数据库的实施(或实
32、现)实施(或实现)。3.6 数据库实施和运行、维护数据库实施和运行、维护 2 数据库的运行与维护数据库的运行与维护 数据库试运行结果符合设计目标后,数据库数据库试运行结果符合设计目标后,数据库就可以真正投入运行了。数据库投入运行标就可以真正投入运行了。数据库投入运行标着开发任务的基本完成和维护工作的开始。着开发任务的基本完成和维护工作的开始。维护工作包括维护工作包括:数据库的转储和恢复;数据库数据库的转储和恢复;数据库的安全性和完整性控制;数据库性能的监督、的安全性和完整性控制;数据库性能的监督、分析和改造分析和改造;数据库的重组织和重构造;数据库的重组织和重构造。数据库实施和运行、维护数据库
33、实施和运行、维护 图书借阅管理系统设计图书借阅管理系统设计 1、系统需求分析、系统需求分析 与用户协商,了解用户的需求,需要哪些数据和操与用户协商,了解用户的需求,需要哪些数据和操作(主要是查询),确定系统中应包含以下实体:作(主要是查询),确定系统中应包含以下实体:书籍、员工、部门和出版社。书籍、员工、部门和出版社。书籍书籍的属性确定为:图书号、分类、书名、作者、的属性确定为:图书号、分类、书名、作者、单价、数量;单价、数量;员工员工的属性确定为:工号、姓名、性别、出生年月;的属性确定为:工号、姓名、性别、出生年月;3.7 数据库设计实例数据库设计实例 部门部门的属性确定为:部门号、部门名称
34、、电话;的属性确定为:部门号、部门名称、电话;出版社出版社的属性确定为:出版社名、地址、电话、联的属性确定为:出版社名、地址、电话、联系人。系人。其中,每个员工可以借阅多本书,每本书也可以由其中,每个员工可以借阅多本书,每本书也可以由多个员工借阅,每个员工每借一本书都有一个借阅多个员工借阅,每个员工每借一本书都有一个借阅日期和应还日期;每个员工只属于一个部门;每本日期和应还日期;每个员工只属于一个部门;每本图书只能由一个出版社出版。图书只能由一个出版社出版。图书借阅管理系统设计实例图书借阅管理系统设计实例 2.概念结构设计概念结构设计 图书借阅管理系统的图书借阅管理系统的E-R图:图:图书借阅
35、管理系统设计实例图书借阅管理系统设计实例 员工员工工号工号姓名姓名性别性别出生年月出生年月部门部门部门号部门号电话电话部门名称部门名称书籍书籍图书号图书号书名书名分类分类作者作者借阅借阅MN属于属于M1出版社出版社地址地址出版社名出版社名电话电话联系人联系人出版出版M1借阅日期借阅日期应还日期应还日期单价单价数量数量 3逻辑结构设计逻辑结构设计 根据转换原则,图书借阅管理系统的关系模式设计:根据转换原则,图书借阅管理系统的关系模式设计:书籍书籍(图书号图书号,分类、书名,作者,单价,数量,分类、书名,作者,单价,数量)员工员工(工号工号,姓名,性别,出生年月),姓名,性别,出生年月)部门部门(
36、部门号部门号,部门名称,电话),部门名称,电话)出版社出版社(出版社名出版社名,地址,电话,联系人),地址,电话,联系人)借阅借阅(工号,图书号工号,图书号,借阅日期,应还日期),借阅日期,应还日期)(1)经分析)经分析5个关系模式都属于第三范式。个关系模式都属于第三范式。(2)经分析不需要合并或分解。)经分析不需要合并或分解。图书借阅管理系统设计实例图书借阅管理系统设计实例,出版社名,出版社名),部门号,部门号)3逻辑结构设计逻辑结构设计图书借阅管理系统设计实例图书借阅管理系统设计实例 例如:例如:设计书籍表设计书籍表的表结构的表结构:属性名属性名类型类型宽度宽度主键主键取值范围取值范围图书号图书号Char9是是分类分类Char5书名书名Char30作者作者Char12出版社名出版社名Char20单价单价精确的小精确的小数类型数类型5,20.00999.99数量数量int 4物理结构设计物理结构设计 根据查询需求设计每一个关系的索引文件。根据查询需求设计每一个关系的索引文件。图书借阅管理系统设计实例图书借阅管理系统设计实例