Presentation is loading. Please wait.

Presentation is loading. Please wait.

数据库原理及应用 《数据库原理及应用》课程组 Jmun_jsjxy@163.com 2007.3 荆楚理工学院.

Similar presentations


Presentation on theme: "数据库原理及应用 《数据库原理及应用》课程组 Jmun_jsjxy@163.com 2007.3 荆楚理工学院."— Presentation transcript:

1 数据库原理及应用 《数据库原理及应用》课程组 2007.3 荆楚理工学院

2 第五章 数据库应用系统设计 2007.3 荆楚理工学院

3 数据库设计是解决信息抽象描述、构造数据模型、实现数据存储的关键技术。
【本章要点】 数据库设计是解决信息抽象描述、构造数据模型、实现数据存储的关键技术。 本章将重点介绍有关数据库设计方面的理论与方法。 2007.3 荆楚理工学院

4 5.1 数据库设计 数据库设计的重要性 数据库是MIS(管理信息系统)、DSS(决策支持系统)、OAS(办公自动化系统)的基础和重要组成部分。数据库设计是指对一个实际的应用环境,设计最优的数据模型,然后据此建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。 数据库设计的优劣将直接影响信息系统的质量和运行效果。因此,设计一个结构优化的数据库是对数据进行有效管理的前提和产生正确信息的保证。 2007.3 荆楚理工学院

5 5.1.2 数据库设计方法和步骤 从本质上看,这些设计方法仍然属于手工设计的范畴,其基本思想是设计过程的迭代和逐步求精。
5.1 数据库设计 数据库设计方法和步骤 从本质上看,这些设计方法仍然属于手工设计的范畴,其基本思想是设计过程的迭代和逐步求精。 著名的 New Orleans方法将数据库设计分为:需求分析、概念结构设计、逻辑结构设计、物理结构设计4个阶段。 根据数据库设计的任务,我们将数据库设计步骤分为如下页图所示的6个阶段。 2007.3 荆楚理工学院

6 需求分析阶段 数据库设计的步骤: 概念结构设计 逻辑结构设计 物理结构设计 数据库实施阶段 数据库运行与维护 5.1 数据库设计
5.1 数据库设计 需求分析阶段 概念结构设计 逻辑结构设计 物理结构设计 数据库实施阶段 数据库运行与维护 数据库设计的步骤: 2007.3 荆楚理工学院

7 5.1 数据库设计 (1) 需求分析阶段  需求分析阶段的任务是通过详细的调查研究,充分了解用户的组织机构、业务规则、数据需求、完整性约束条件、事务处理和安全性要求等,为概念设计奠定基础。通常采用组织机构图、业务流程图等方法,详细描述用户应用环境的业务流程、数据需求。   需求分析阶段的后期将编写系统分析报告(也称需求规范说明书),提交用户的决策部门讨论审查。文档中应包括:① 系统的概况、目标、范围、背景、历史和现状。② 系统的总体结构和子系统的结构说明。③ 系统功能划分和说明。④ 系统组织机构、组织之间的联系图、数据流程图、功能模块图和数据字典等图表。 2007.3 荆楚理工学院

8 5.1 数据库设计 (2) 概念结构设计   在需求分析阶段,数据库设计人员充分地调查和分析用户的应用需求,概念结构设计的目标是产生出一个能反映组织信息需求的概念模型。概念模型的特点是:   简单明确表达用户业务环境数据需求、数据之间的联系、数据约束条件。   易于交流和理解,便于设计人员和用户之间沟通和交流。   易于向各种数据模型转换。   最常用的概念模型的表示方法是实体-联系模型,简称E-R模型。 2007.3 荆楚理工学院

9 逻辑结构设计的任务就是把概念结构转换成所选择的DBMS支持的数据模型(关系、层次或网状数据模型之一)。目前,绝大多数是转换成关系数据模型。
5.1 数据库设计 (3) 逻辑结构设计   逻辑结构设计的任务就是把概念结构转换成所选择的DBMS支持的数据模型(关系、层次或网状数据模型之一)。目前,绝大多数是转换成关系数据模型。 2007.3 荆楚理工学院

10 数据库最终是要存储在物理设备上的。数据库在计算机物理设备上的存储结构与存取方法称为数据库的物理结构。
5.1 数据库设计 (4) 物理结构设计   数据库最终是要存储在物理设备上的。数据库在计算机物理设备上的存储结构与存取方法称为数据库的物理结构。 2007.3 荆楚理工学院

11 通常,关系数据库的物理设计的内容主要包括以下5个部分:
5.1 数据库设计 通常,关系数据库的物理设计的内容主要包括以下5个部分:  ① 从提高系统性能的角度,确定数据的存储安排。  ② 将比较大的表分别放在两个磁盘上,可以加快存取速度。  ③ 将日志文件和数据库对象(表、索引等)分别放在不同的磁盘上,可以改进系统的性能。  ④ 索引结构设计。  ⑤ 系统配置的优化。 2007.3 荆楚理工学院

12 5.1 数据库设计 (5)数据库实施   确定了数据库的逻辑结构和物理结构后,就可以利用DBMS提供的数据定义语言建立数据库的结构。当数据库的结构建立之后,就可以向数据库中装载数据(也称为数据加载)。可以使用命令向数据库插入数据。由于数据库中的数据量非常大,为了提高效率,满足用户的要求,通常专门设计一个数据录入子系统(数据录入程序模块)完成数据输入任务。该子系统应该包括数据录入和录入过程的数据校验、代码转换、数据完整性约束,、安全性检查等。通常是用DBMS提供的FORMS生成器实现数据录入程序的设计。   2007.3 荆楚理工学院

13 (6) 数据库的运行与维护 数据库设计与应用开发工作完成之后,系统便进入运行与维护阶段。运行与维护阶段的主要任务如下:
5.1 数据库设计 (6) 数据库的运行与维护  数据库设计与应用开发工作完成之后,系统便进入运行与维护阶段。运行与维护阶段的主要任务如下:  ① 维护数据库的安全性和数据完整性。  ② 监测并改善数据库性能。  ③ 增加新的功能和数据。要根据用户工作环境的扩大,适时地向数据库增加一些新的数据和新功能  ④ 及时修改错误。系统运行过程中难免要发生一些错误,这些错误大多数是由于应用程序设计的欠缺所致,有时也会是信息需求描述不清造成的后果。所以,需要及时修改运行错误,弥补需求设计的欠缺。 2007.3 荆楚理工学院

14 ② 将所有主码定义为非空(NOT NULL)。 ③ 对于二元联系,按照下列规则定义外码:
5.2 将E-R模型转换成关系数据库的方法 E-R模型转换成关系数据库的一般规则: ① 将每一个实体转换成一个关系。 ② 将所有主码定义为非空(NOT NULL)。 ③ 对于二元联系,按照下列规则定义外码: 1:M联系 将“一”表中的主码作为外码放在“多”表中。因此,外码总是在“多”的一方。 1:1联系 将一个表的主码作为外码放在另一个表中。 M:N多联系 在两个关系之间建立联系表,联系表的主码由两个父实体的主码组成。联系表的主码也是外码,所以,它们必须是NOT NULL。 2007.3

15 【例5.1】一个系聘用多位教师,—位教师只能属于一个系。
5.2 将E-R模型转换成关系数据库的方法 【例5.1】一个系聘用多位教师,—位教师只能属于一个系。 定义E-R模型: 教师 1 M 转换成2个关系,分别确定表结构为: 系(系号,系名称) 教师(职工号,姓名,性别,职称,系号) FK放在教师表中,FK=<系号>,NOT NULL 说明:PK表示主码,FK表示外码。 2007.3 荆楚理工学院

16 5.2 将E-R模型转换成关系数据库的方法 数据结构图: 系号 系名称 职工号 姓名 性别 职称 系号 教师 2007.3 荆楚理工学院

17 (系号 SMALLINT NOT NULL UNIQUE, 系名称 CHAR(12) NOT NULL,
5.2 将E-R模型转换成关系数据库的方法 用SQL语言定义系表的结构: CREATE TABLE 系 (系号 SMALLINT NOT NULL UNIQUE, 系名称 CHAR(12) NOT NULL, PRIMARY KEY (系号)); 2007.3 荆楚理工学院

18 (职工号 SMALLINT NOT NULL UNIQUE, 姓名 CHAR(8) NOT NULL, 性别 CHAR(2),
5.2 将E-R模型转换成关系数据库的方法 用SQL语言定义教师表的结构:   CREATE TABLE教师   (职工号 SMALLINT NOT NULL UNIQUE,   姓名 CHAR(8) NOT NULL,   性别 CHAR(2),   工资 DECIMAL(6,2),   系号 SMALLINT Not null,   PRIMARY KEY (职工号),   FOREIGN KEY (系号) REFERENCES系); 2007.3 荆楚理工学院

19 【例5.2】航空公司出售的飞机票,旅客与机票是一一对应的,一位旅客一张机票。
5.2 将E-R模型转换成关系数据库的方法 【例5.2】航空公司出售的飞机票,旅客与机票是一一对应的,一位旅客一张机票。 定义E-R模型: 旅客 机票 乘坐 1 转换成2个关系: 机票(日期,航班号,座位号,价格) 旅客(日期,身份证号,姓名,航班号,座位号) FK放在旅客表中,FK=<日期,航班号,座位号>,NOT NULL。 2007.3 荆楚理工学院

20 数据结构图: 机票 日期 航班号 座位号 价格 旅客 日期 身份证号 姓名 航班号 座位号 5.2 将E-R模型转换成关系数据库的方法
日期 航班号 座位号 价格 旅客 日期 身份证号 姓名 航班号 座位号 2007.3 荆楚理工学院

21 PRIMARY KEY (日期,航班号,座位号));
5.2 将E-R模型转换成关系数据库的方法 用SQL语言定义飞机票表的结构:   CREATE TABLE 机票    (日期 DATE NOT NULL,    航班号 CHAR(8) NOT NULL,    座位号 SMALLINT NOT NULL,    价格 DECIMAL(6,2),    PRIMARY KEY (日期,航班号,座位号)); 2007.3 荆楚理工学院

22 用SQL语言定义旅客表的结构: CREATE TABLE 旅客 (日期 DATE NOT NULL,
5.2 将E-R模型转换成关系数据库的方法 用SQL语言定义旅客表的结构:  CREATE TABLE 旅客   (日期 DATE NOT NULL,   身份证号 CHAR(18) NOT NULL,   姓名 CHAR(10)NOT NULL,   航班号 CHAR(8)NOT NULL,   座位号 SMALLINT NOT NULL,   PRIMARY KEY (日期,身份证号),   FOREIGN KEY (日期) REFERENCES 机票,   FOREIGN KEY (航班号) REFERENCES 机票,   FOREIGN KEY (座位号) REFERENCES 机票); 2007.3 荆楚理工学院

23 【例5.3】一名学生可以选修多门课程,一门课程可能有多人选修。
5.2 将E-R模型转换成关系数据库的方法 【例5.3】一名学生可以选修多门课程,一门课程可能有多人选修。 定义E-R模型: 课程 学生 成绩 M N 转换成3个关系: 课程(课程号,课程名称,学时,性质) 学生(学号,姓名,性别,专业) 成绩(学号,课程号,分数) FK放在成绩表中,FK=<学号,课程号> 2007.3 荆楚理工学院

24 数据结构图 : 学生 课程 课程号 课程名称 学时 性质 学号 姓名 性别 专业 成绩 学号 课程号 分数
5.2 将E-R模型转换成关系数据库的方法 数据结构图 : 课程 课程号 课程名称 学时 性质 学生 学号 姓名 性别 专业 成绩 学号 课程号 分数 2007.3 荆楚理工学院

25 用SQL语言定义课程表的结构: CREATE TABLE课程 (课程号 CHAR(4) NOT NULL,
5.2 将E-R模型转换成关系数据库的方法 用SQL语言定义课程表的结构:  CREATE TABLE课程   (课程号 CHAR(4) NOT NULL,   课程名称 CHAR(12) NOT NULL,   学时 SMALLINT,   性质 CHAR(4),   PRIMARY KEY (课程号)); 2007.3 荆楚理工学院

26 用SQL语言定义学生表的结构: CREATE TABLE 学生 (学号 CHAR(6) NOT NULL,
5.2 将E-R模型转换成关系数据库的方法 用SQL语言定义学生表的结构:  CREATE TABLE 学生   (学号 CHAR(6) NOT NULL,   姓名 CHAR(8) NOT NULL,   性别 CHAR(2),   专业 CHAR(10),   PRIMARY KEY (学号)); 2007.3 荆楚理工学院

27 FOREIGN KEY(学号) REFERENCES学生, FOREIGN KEY (课程号) REFERENCES课程);
用SQL语言定义成绩表的结构:  CREATE TABLE 成绩   (学号 CHAR(6) NOT NULL,   课程号 CHAR(4) NOT NULL,   分数 DECIMAL(4,1),   PRIMARY KEY (学号,课程号),   FOREIGN KEY(学号) REFERENCES学生,   FOREIGN KEY (课程号) REFERENCES课程); 2007.3 荆楚理工学院

28 E-R模型是数据库设计的重要部分,也是本课程的重点内容。为了加深理解,提高设计能力,这里将给出JM大学的应用实例。
2007.3 荆楚理工学院

29 5.3 E-R模型设计实例 JM大学数据库概念模型设计 ① 该大学有多个学院:理学院、工学院、文学院、法学院,商学院、医学院等。每一个学院有一个院长,且每一位院长只能主管一个学院。因此,学院和院长实体之间是一对一联系。根据上述语义画出局部E-R图为: 院长 学院 主管 1 2007.3 荆楚理工学院

30 5.3 E-R模型设计实例 JM大学数据库概念模型设计(续) ② 每一个学院有多个系。例如,商学院有会计系、市场营销系、经济系、财务系等。每一个系仅属于一个学院。所以,学院与系是一对多联系。根据上述语义画出局部E-R图为: 学院 设置 1 M 2007.3 荆楚理工学院

31 5.3 E-R模型设计实例 JM大学数据库概念模型设计(续) ③ 每一个系根据专业的特点和分工开设多门课程。将这些课程统一编码、列入教学培养计划。另外,在每一学期的教学执行计划(课表)中,教学培养计划中的一门课程可能要划分成几个部分,分布在几个学期内讲授。这里规定将列入教学培养计划中的课程简称为课程,将教学执行计划中所安排的课程简称为课表。所以,课程与课表之间是1:M的联系,局部E-R图为: 课程 开设 1 M 课表 安排 2007.3 荆楚理工学院

32 JM大学数据库概念模型设计(续) ④ 每一个系有多名教师,但每一位教师只属于一个系;每一个系有一个系主任,系主任是一位教师。局部E-R图为:
聘请 1 教师 主任 M 2007.3 荆楚理工学院

33 5.3 E-R模型设计实例 JM大学数据库概念模型设计(续) ⑤ 一位教师可能讲多门课,且课表中每一门课必须有一位教师讲授。这里的课是指课表中安排的课程。局部E-R图为: 教师 课表 讲授 1 M 2007.3 荆楚理工学院

34 JM大学数据库概念模型设计(续) ⑥ 假设规定每一名学生可选修多门课(指课表中的课),且一门课有多名学生选。局部E-R图为: 学生 课表
成绩 M N 2007.3 荆楚理工学院

35 JM大学数据库概念模型设计(续) ⑦ 每一个系有多名学生,且每一名学生只能属于一个系。局部E-R图为: 系 学生 管理 1 M
2007.3 荆楚理工学院

36 归纳上述7项可以定义7个实体:学院、院长、系、教师、课程、课表、学生,其相互联系有:
5.3 E-R模型设计实例 归纳上述7项可以定义7个实体:学院、院长、系、教师、课程、课表、学生,其相互联系有: 实体 联系 学院 设置 院长 主管 聘请 教师 开设 课程 管理 学生 安排 课表 讲授 主任 成绩 2007.3 荆楚理工学院

37 5.3 E-R模型设计实例 逻辑结构设计   逻辑结构设计是将概念模型(E-R模型)转换成关系数据库。按照前面介绍的转换规则,将JM大学E-R模型转换成关系数据库。  ① 学院(学院编号,学院名称,学院地址,院长编号)    PK=学院编号 NOT NULL    FK=院长编号 2007.3 荆楚理工学院

38 JM大学数据库中的表的结构(续) ② 院长(院长编号,姓名,电话号码,办公室)。 PK=院长编号 NOT NULL
5.3 E-R模型设计实例 JM大学数据库中的表的结构(续) ② 院长(院长编号,姓名,电话号码,办公室)。 PK=院长编号 NOT NULL 说明:虽然学院与院长是1:1联系,可以合并成一个实体,但是根据学院的业务需求,仍然保留两个实体(院长和学院)。将FK放在存取比较频繁的学院表中,这里FK=<院长编号>。 2007.3 荆楚理工学院

39 JM大学数据库中的表的结构(续) ③ 系(系代号,系名称,电话号码,系地址,学院编号,教工号)。 PK=系代号 NOT NULL
5.3 E-R模型设计实例 JM大学数据库中的表的结构(续) ③ 系(系代号,系名称,电话号码,系地址,学院编号,教工号)。 PK=系代号 NOT NULL FK=学院编号 参照学院表 FK=教工号 参照教师表 说明:学院编号是系与所在学院之间的连接属性,教工号表示系主任的教工号。 2007.3 荆楚理工学院

40 JM大学数据库中的表的结构(续) ④ 教师(教工号,姓名,学历,职称,工资,电话号码,系代号)。 PK=教工号 NOT NULL
5.3 E-R模型设计实例 JM大学数据库中的表的结构(续) ④ 教师(教工号,姓名,学历,职称,工资,电话号码,系代号)。 PK=教工号 NOT NULL FK=系代号 参照系表 说明:系代号是教师与所在系之间的连接属性。 2007.3 荆楚理工学院

41 JM大学数据库中的表的结构(续) ⑤ 课程(课程号,课程名称,学分,系代号)。 PK=课程号 NOT NULL FK=系代号 参照系表
5.3 E-R模型设计实例 JM大学数据库中的表的结构(续) ⑤ 课程(课程号,课程名称,学分,系代号)。 PK=课程号 NOT NULL FK=系代号 参照系表 说明:系代号是课程与开设这门课的系之间的连接属性。 2007.3 荆楚理工学院

42 JM大学数据库中的表的结构(续) ⑥ 课表(开课号,课程号,部分,教工号,学时数,时间,地点)。 PK=开课号 NOT NULL
5.3 E-R模型设计实例 JM大学数据库中的表的结构(续) ⑥ 课表(开课号,课程号,部分,教工号,学时数,时间,地点)。 PK=开课号 NOT NULL FK=课程号参照课程表 FK=教工号参照教师表 说明:课程号体现教学培养计划所列的课程与每个学期具体执行的课表之间的联系;教工号是教工与课表之间的联系。 2007.3 荆楚理工学院

43 JM大学数据库中的表的结构(续) ⑦ 学生(学号,身份证号,姓名,性别,出生年月,专业,电话号码,系代号)。 PK=学号 NOT NULL
5.3 E-R模型设计实例 JM大学数据库中的表的结构(续) ⑦ 学生(学号,身份证号,姓名,性别,出生年月,专业,电话号码,系代号)。 PK=学号 NOT NULL FK=系代号参照系表 说明:系代号是学生与所在系之间的连接属性。 2007.3 荆楚理工学院

44 JM大学数据库中的表的结构(续) ⑧ 成绩(学号,开课号,分数)。 PK=<学号,开课号> NOT NULL
5.3 E-R模型设计实例 JM大学数据库中的表的结构(续) ⑧ 成绩(学号,开课号,分数)。 PK=<学号,开课号> NOT NULL FK=开课号 参照课表 FK=学号 参照学生表 说明:开课号是成绩与课表之间的连接属性;学号是成绩与学生之间的连接属性。 2007.3 荆楚理工学院

45 CREATE DATABASE University 说明:假设数据库名称是University
数据库的实施 (1) 建立数据库 CREATE DATABASE University 说明:假设数据库名称是University 2007.3 荆楚理工学院

46 (2) 用SQL语言定义数据库的表结构 CREATE TABLE 学院 (学院编号SMALLINT NOT NULL UNIQUE,
5.3 E-R模型设计实例 (2) 用SQL语言定义数据库的表结构 CREATE TABLE 学院 (学院编号SMALLINT NOT NULL UNIQUE, 学院名称 VCHAR(20) NOT NULL, 学院地址VCHAR(36), 院长编号 SMALLINT NOT NULL, PRIMARY KEY (学院编号), FOREIGN KEY (院长编号) REFERENCES 院长); 注意:VCHAR是可变长字符型数据类型。 2007.3 荆楚理工学院

47 (2) 用SQL语言定义数据库的表结构(续)
5.3 E-R模型设计实例 (2) 用SQL语言定义数据库的表结构(续) CREATETABLE 院长 (院长编号SMALLINT NOT NULL UNIQUE, 院长姓名 CHAR(8) NOT NULL, 电话号码CHAR(12), PRIMARY KEY (院长编号)); 2007.3 荆楚理工学院

48 (2) 用SQL语言定义数据库的表结构(续)
5.3 E-R模型设计实例 (2) 用SQL语言定义数据库的表结构(续) CREATE TABLE 系 (系代号 SMALLINT NOT NULL UNIQUE, 系名称 VCHAR(20) NOT NULL, 系地址 VCHAR(20), 电话号码 CHAR(12), 学院编号 SMALLINT NOT NULL, 教工号 CHAR(4) NOT NULL, &&系主任的教工号 PRIMARY KEY (系代号), POREIGN KEY (学院编号) REFERENCES 学院, FOREIGN KEY (教工号) REFERENCES 教师); 2007.3 荆楚理工学院

49 (2) 用SQL语言定义数据库的表结构(续)
5.3 E-R模型设计实例 (2) 用SQL语言定义数据库的表结构(续) CREATE TABLE 教师 (教工号 SMALLINT NOT NULL UNIQUE, 姓名 CHAR(8) Not null, 性别 CHAR(2), 学历 CHAR(6), 电话号码 CHAR(12), 工资 Decimal(5), 系代号 SMALLINT, PRIMARY KEY (教工号), FOREIGN KEY (系代号) REFERENCES 系); 2007.3 荆楚理工学院

50 (2) 用SQL语言定义数据库的表结构(续)
5.3 E-R模型设计实例 (2) 用SQL语言定义数据库的表结构(续) CREATE TABLE 课程 (课程号 CHAR(6) NOT NULL UNIQUE, 课程名 CHAR(20) NOT NULI, 学分 SMALLINT, 系代号 SMALLINT, PRIMARY KEY (课程号), FOREIGN KEY (系代号) REFERENCES 系); 2007.3 荆楚理工学院

51 (2) 用SQL语言定义数据库的表结构(续)
5.3 E-R模型设计实例 (2) 用SQL语言定义数据库的表结构(续) CREATE TABLE 课表 (开课号 SMALLINT NOT NULL UNIQUE, 课程号 CHAR(6) NOT NULL, 部分 SMALLINT, 学时数 SMALLINT, 时间 CHAR(20), 地点 CHAR(10), 教工号 SMALLINT, PRIMARY KEY (开课号), FOREIGN KEY (课程号) REFERENCES 课程, FOREIGN KEY (教工号) REFERENCES 教师); 2007.3 荆楚理工学院

52 (2) 用SQL语言定义数据库的表结构(续)
5.3 E-R模型设计实例 (2) 用SQL语言定义数据库的表结构(续) CREATE TABLE 学生 (学号 SMALLINT Not null UNIQUE, 姓名 CHAR(8) Not null, 性别 CHAR(2), 出生年月 DATE, 专业 CHAR(16), 电话号码 CHAR(12), 系代号 SMALLINT, PRIMARY KEY (学号), FOREIGN KEY (系代号) REFERENCES系); 2007.3 荆楚理工学院

53 (2) 用SQL语言定义数据库的表结构(续)
5.3 E-R模型设计实例 (2) 用SQL语言定义数据库的表结构(续) CREATE TABLE 成绩 (学号 SMALLINT NOT NULL, 开课号 SMALLINT NOT NULL, 分数 DECIMAL(4,1), PRIMARY KEY (学号,开课号), FOREIGN KEY (学号) REFERENCES 学生, FOREIGN KEY (开课号) REFERENCES 课表); 2007.3 荆楚理工学院

54 5.3 E-R模型设计实例 在数据库设计中应注意的问题   数据库设计是对用户需求和约束详细分析、反复处理和最终实施的过程。设计的最终结果应该准确地描述企业真实的数据环境。所以,正确理解企业(组织)的业务规则是数据库设计的基础和关键。设计人员必须详细地调查企业的业务规则和应用需求。 2007.3 荆楚理工学院

55 本 章 习 题 一、填空题 1.实体是_____,实体集是______。 2.属性是______,属性域是__________。
习 题 本 章 习 题 一、填空题 1.实体是_____,实体集是______。 2.属性是______,属性域是__________。 3.基本属性是_______,组合属性是__________。 4.联系是_______________________________。 5.实体与实体之间联系的方式有____、___、___。 6.一元联系又称为_________。 2007.3 荆楚理工学院

56 二、单项选择题 1.___可以用于概念模型设计。 A.层次树结构 B.数据流程图 C.E-R图 D.关系数据模型
习 题 二、单项选择题 1.___可以用于概念模型设计。 A.层次树结构 B.数据流程图 C.E-R图 D.关系数据模型 2.如果两个实体之间的联系是1:M,则实现1:M联系的方法是____。 A.将两个实体转换成一个关系。 B.将两个实体转换的关系中,分别加入另一个关系的主码。 C.将“1”端实体转换的关系的主码,放入“M”端实体转换的关系中。 D.将“M”端实体转换的关系的主码,放入“1”端实体转换的关系中。 2007.3 荆楚理工学院

57 二、单项选择题(续) 3.如果两个实体之间的联系是M:N,则在转换成关系模型时,_____引入第三个交叉关系。
习 题 二、单项选择题(续) 3.如果两个实体之间的联系是M:N,则在转换成关系模型时,_____引入第三个交叉关系。 A.需要 B.不需要 C.无所谓 D.将两个实体合并 2007.3 荆楚理工学院

58 二、单项选择题(续) 4.在SQL语言中,______子句能够实现关系参照完整性规则。 A.PRIMARYKEY B.NOT NULL
习 题 二、单项选择题(续) 4.在SQL语言中,______子句能够实现关系参照完整性规则。 A.PRIMARYKEY B.NOT NULL C.FOREIGNKEY D.FOREIGNKEY...REFERENCES…。 5.在建立表结构时定义关系完整性规则,______。 A.使数据库系统能够自动维护数据完整性约束条件。 B.还需要编程序实现数据完整性约束条件。 C.没有必要定义。 D.将使系统操作复杂。 2007.3 荆楚理工学院

59 三、简要回答下列各题 1.举例说明E-R模型中实体之间一对多联系转换成关系数据模型的方法是什么?
习 题 三、简要回答下列各题 1.举例说明E-R模型中实体之间一对多联系转换成关系数据模型的方法是什么? 2.举例说明E-R模型中实体之间多对多联系转换成关系数据模型的方法是什么? 3.举例说明E-R模型中实体之间一对一联系转换成关系数据模型的方法是什么? 2007.3 荆楚理工学院

60 四、综合设计题 1.根据某书社的业务需求,设计一个E-R模型,将其转换成关系数据模型并画出数据结构图,然后,用SQL语言定义数据库的表结构。
习 题 四、综合设计题 1.根据某书社的业务需求,设计一个E-R模型,将其转换成关系数据模型并画出数据结构图,然后,用SQL语言定义数据库的表结构。 2.根据某电脑公司的业务需求,设计一个E-R模型,将其转换成关系数据模型并画出数据结构图,然后,用SQL语言定义数据库的表结构。 2007.3 荆楚理工学院

61 习 题 四、综合设计题(续) 3.假设金龙房地产公司聘用多名业务员负责房地产的销售业务,金龙公司有房地产 5万平方米,分布在3个小区,有一部分房产已售出,其中有的客户一次性付款,也有的客户是分期付款。公司希望存储业务员、房产、房产销售、客户和客户付款情况。试设计 E-R模型,描述金龙公司的数据环境,并将E-R模型转换成关系数据模型和画出数据结构图,然后,用SQL语言定义数据库的表结构。(自定义实体的属性。) 2007.3 荆楚理工学院

62 4.假设要为银行的储蓄业务设计一个数据库,设想一下如何设计E-R模型,并将其转换成关系数据模型和画出数据结构图。(自定义实体的属性。)
习 题 四、综合设计题(续) 4.假设要为银行的储蓄业务设计一个数据库,设想一下如何设计E-R模型,并将其转换成关系数据模型和画出数据结构图。(自定义实体的属性。) 2007.3 荆楚理工学院

63 习 题 四、综合设计题(续) 5.假设要为荆门中商超市设计一个数据库,设想一下如何设计E-R模型,并将其转换成关系数据模型和画出数据结构图。(提示:超市的数据环境至少要有商品、收银员、销售等实体。可以自定义实体的属性。) 2007.3 荆楚理工学院


Download ppt "数据库原理及应用 《数据库原理及应用》课程组 Jmun_jsjxy@163.com 2007.3 荆楚理工学院."

Similar presentations


Ads by Google