《第1章 数据库基础知识》由会员分享,可在线阅读,更多相关《第1章 数据库基础知识(91页珍藏版)》请在金锄头文库上搜索。
1、第第1章章 数据库基础知识数据库基础知识学习导读学习导读v 数据库技术是研究数据库技术是研究数据管理数据管理的技术,即如何妥善地保的技术,即如何妥善地保存和科学地管理数据。存和科学地管理数据。数据库技术是发展速度最快,应数据库技术是发展速度最快,应用最广泛的技术,它作为计算机科学和技术的一个重要用最广泛的技术,它作为计算机科学和技术的一个重要分支已成为多种计算机应用系统的核心。数据库技术主分支已成为多种计算机应用系统的核心。数据库技术主要延着数据模型、数据库应用、数据库管理系统开发技要延着数据模型、数据库应用、数据库管理系统开发技术三个方面发展。术三个方面发展。v 本章主要介绍数据管理技术的发
2、展、数据模型、关本章主要介绍数据管理技术的发展、数据模型、关系运算、关系规范化理论和数据库设计等内容。系运算、关系规范化理论和数据库设计等内容。1.1 信息、数据与数据处理信息、数据与数据处理1.1.1 1.1.1 数据与信息数据与信息数据是人类活动的重要资源,数据库系统就是研究如数据是人类活动的重要资源,数据库系统就是研究如何妥善地保存和科学地管理数据的计算机系统。何妥善地保存和科学地管理数据的计算机系统。 现代社会是信息的社会,信息以惊人的速度增长,因现代社会是信息的社会,信息以惊人的速度增长,因此,如何有效地组织和利用它们成为急需解决的问题。数此,如何有效地组织和利用它们成为急需解决的问
3、题。数据库系统的目的就是为了高效地管理及共享大量的信息,据库系统的目的就是为了高效地管理及共享大量的信息,而信息与数据是分不开的。而信息与数据是分不开的。数据与信息数据与信息n 信息信息-是现实世界各种事物的存在特征、运动形态以及不同事是现实世界各种事物的存在特征、运动形态以及不同事物间的相互联系等诸要素在人脑中的抽象反映,是经过加工的数物间的相互联系等诸要素在人脑中的抽象反映,是经过加工的数据。例如,气象局每天从各地气象站收集到大量有关气象的图形据。例如,气象局每天从各地气象站收集到大量有关气象的图形或文字记录后,对这些记录数据进行综合处理、分析、判断后,或文字记录后,对这些记录数据进行综合
4、处理、分析、判断后,就可告知当地温度、湿度、风力、阴晴等信息。信息对决策或行就可告知当地温度、湿度、风力、阴晴等信息。信息对决策或行动是有价值的。例如,人们可以根据天气预报安排生产和生活。动是有价值的。例如,人们可以根据天气预报安排生产和生活。n 数数据据-是是对对信信息息的的符符号号化化的的表表示示,是是数数据据库库研研究究和和处处理理的的对对象。象。n 信信息息与与数数据据的的关关系系:数数据据是是信信息息的的载载体体,信信息息是是数数据据的的内内涵涵。即即数数据据是是信信息息的的符符号号表表示示,而而信信息息通通过过数数据据描描述述,又又是是数数据据语语义义的的解解释释。信信息息是是有有
5、一一定定含含义义的的、经经过过加加工工处处理理的的、对对决决策策有有价价值值的数据。的数据。数据处理数据处理1.1.2 1.1.2 数据处理数据处理n 数数据据处处理理-是是指指对对数数据据进进行行收收集集、管管理理、加加工工、传传播播等等一一系系列列工工作作,是是将将数数据据转转换换成成信信息息的的过过程程。目目前前在在计计算算机机的的各各类类应应用用中中,用于数据处理约占用于数据处理约占80%80%。n 数据管理数据管理-是指对数据的组织、存储、检索、维护等工作,是是指对数据的组织、存储、检索、维护等工作,是数据处理的基本环节,是任何数据处理必有的共性部分。由于数数据处理的基本环节,是任何
6、数据处理必有的共性部分。由于数据管理技术的优劣直接影响数据处理的效率,因此它是数据处理据管理技术的优劣直接影响数据处理的效率,因此它是数据处理的核心。的核心。 1.2 计算机数据管理的计算机数据管理的3个阶段个阶段n数据管理技术好坏评判的标准:数据管理技术好坏评判的标准: (1 1)数据冗余)数据冗余 数据冗余数据冗余-是指同一数据多次存放。是指同一数据多次存放。 数据冗余带来的问题有:数据冗余带来的问题有: 浪费存储空间浪费存储空间 修改麻烦修改麻烦 潜在的数据不一致性潜在的数据不一致性(2 2)数据共享)数据共享 数据共享体现在:数据共享体现在: 多个应用可以使用同一数据、记录、数据项。多
7、个应用可以使用同一数据、记录、数据项。 在同一时刻多个用户可存取同一数据。在同一时刻多个用户可存取同一数据。数据管理技术好坏评判的标准数据管理技术好坏评判的标准(3 3)数据独立性)数据独立性 数据独立性是指应用程序和数据之间相互独立,不受影响。数据独立性是指应用程序和数据之间相互独立,不受影响。即数据结构的修改不引起应用程序修改的特性。即数据结构的修改不引起应用程序修改的特性。 数据独立性包括:数据独立性包括: 逻辑独立性逻辑独立性 物理独立性物理独立性(4 4)数据统一集中管理)数据统一集中管理 提供对数据进行安全性控制、完整性控制、并发性控制等功提供对数据进行安全性控制、完整性控制、并发
8、性控制等功能。能。1.2 计算机数据管理的计算机数据管理的3个阶段个阶段1.2.1 1.2.1 人工管理阶段人工管理阶段 2020世纪世纪5050年代中期以前,计算机主要用于科学计算,数年代中期以前,计算机主要用于科学计算,数据量不大,也没有专门的软件对数据进行管理。据量不大,也没有专门的软件对数据进行管理。1. 1. 人工管理阶段的特点人工管理阶段的特点n 数据是面向应用的,一组数据对应一个程序,数据冗余大,不能数据是面向应用的,一组数据对应一个程序,数据冗余大,不能实现数据共享。实现数据共享。n 数据不保存,数据与程序合在一起,数据独立性差。数据不保存,数据与程序合在一起,数据独立性差。n
9、 没有软件系统对数据管理,只能采用手工方式进行处理。没有软件系统对数据管理,只能采用手工方式进行处理。n 程序员负担重,他必须自己编程实现数据的存储结构、存取方法程序员负担重,他必须自己编程实现数据的存储结构、存取方法和输入输出,迫使程序员直接与物理设备打交道,加大了程序设计和输入输出,迫使程序员直接与物理设备打交道,加大了程序设计难度,编程效率低。难度,编程效率低。 数据集数据集1应用程序应用程序1数据集数据集2应用程序应用程序2应用程序应用程序n数据集数据集n人工管理阶段人工管理阶段2. 2. 人工管理阶段应用程序与数据之间的关系人工管理阶段应用程序与数据之间的关系文件系统阶段文件系统阶段
10、1.2.2 1.2.2 文件系统阶段文件系统阶段 2020世纪世纪5050年代末,计算机不仅用于科学计算,而且年代末,计算机不仅用于科学计算,而且大量用于数据管理,同时磁盘、磁鼓等大容量直接存储设备的出大量用于数据管理,同时磁盘、磁鼓等大容量直接存储设备的出现,使存放大量数据成为可能。操作系统中的文件系统就是专门现,使存放大量数据成为可能。操作系统中的文件系统就是专门用来管理所存储数据的软件。用来管理所存储数据的软件。1. 1. 文件系统阶段的特点文件系统阶段的特点n 数据以文件形式组织,可以长期保存在磁盘上。数据以文件形式组织,可以长期保存在磁盘上。n 数据有了逻辑结构和物理结构之分,由数据
11、有了逻辑结构和物理结构之分,由“存取方法存取方法”实现逻辑实现逻辑结构与物理结构的映射。结构与物理结构的映射。n 数据是面向特定用途设计的,一个文件基本上对应一个应用程数据是面向特定用途设计的,一个文件基本上对应一个应用程序,造成数据冗余大,数据共享性差;文件之间相互独立,数据序,造成数据冗余大,数据共享性差;文件之间相互独立,数据联系弱。联系弱。 n 实现了数据的物理独立性,但未实现数据的逻辑独立性。实现了数据的物理独立性,但未实现数据的逻辑独立性。文件系统阶段文件系统阶段文件文件系统系统文件文件1应用程序应用程序1文件文件2应用程序应用程序2文件文件n应用程序应用程序n2. 2. 文件系统
12、阶段应用程序与数据之间的关系文件系统阶段应用程序与数据之间的关系数据库系统阶段数据库系统阶段1.2.3 1.2.3 数据库系统阶段数据库系统阶段 2020世纪世纪6060年代后期,随着数据管理的规模日趋增大,年代后期,随着数据管理的规模日趋增大,数据量的急剧增加,文件系统已不能适应需要。为此,人们研制数据量的急剧增加,文件系统已不能适应需要。为此,人们研制出了一种新的、先进的数据管理方法,即数据库系统。出了一种新的、先进的数据管理方法,即数据库系统。1. 1. 数据库系统阶段的特点数据库系统阶段的特点n 实现了数据共享。实现了数据共享。n 面向全组织的数据结构化,面向全组织的数据结构化,数据不
13、再面向特定的某个或多个应数据不再面向特定的某个或多个应用,而是面向整个应用系统,减少了数据冗余用,而是面向整个应用系统,减少了数据冗余。n 数据独立性高,实现了数据的逻辑独立性和物理独立性。数据独立性高,实现了数据的逻辑独立性和物理独立性。 n 统一数据控制功能,提供了数据安全性控制、数据完整性控制、统一数据控制功能,提供了数据安全性控制、数据完整性控制、并发控制和数据库恢复等数据控制功能。并发控制和数据库恢复等数据控制功能。数据库系统阶段数据库系统阶段应用程序应用程序1应用程序应用程序2应用程序应用程序nDBMSDB2. 2. 数据库系统阶段应用程序与数据之间的关系数据库系统阶段应用程序与数
14、据之间的关系思考题思考题问:文件系统中的文件与数据库系统中的文件有何本质问:文件系统中的文件与数据库系统中的文件有何本质的区别?的区别?答:文件系统中的文件是面向应用的,一个文件基本对答:文件系统中的文件是面向应用的,一个文件基本对应一个应用程序,文件之间不存在联系应一个应用程序,文件之间不存在联系, ,数据冗余大。数据冗余大。数据库系统中的文件是面向整个应用系统,文件之间相数据库系统中的文件是面向整个应用系统,文件之间相互联系,减少了数据冗余,实现了数据共享。互联系,减少了数据冗余,实现了数据共享。例例例:某系统涉及人事、科研、教学、工资四个部门。假定每个部例:某系统涉及人事、科研、教学、工
15、资四个部门。假定每个部门只有一种登记表。其结构如下,门只有一种登记表。其结构如下,试建立该系统的数据结构。试建立该系统的数据结构。序号序号姓名姓名性别性别年龄年龄职称职称单位单位工龄工龄工资工资人事文件人事文件科研文件科研文件序号序号姓名姓名性别性别年龄年龄职称职称单位单位科研名称科研名称经费经费教学文件教学文件序号序号姓名姓名性别性别年龄年龄职称职称单位单位课程名课程名 学时学时工资文件工资文件序号序号姓名姓名单位单位工资工资工龄补贴工龄补贴房租房租 水电水电例例 n文件系统:文件系统: 建立与上述结构相同的四个文件。建立与上述结构相同的四个文件。n存在的问题:存在的问题:n数据冗余大。数据
16、冗余大。n文件是独立的、分散的,只反映文件本身的结文件是独立的、分散的,只反映文件本身的结构,而未反映文件间的联系,因而不能进行文构,而未反映文件间的联系,因而不能进行文件交叉访问。件交叉访问。例例 数据库系统:数据库系统:(分三步进行)(分三步进行)第一步:建立全局数据逻辑结构。第一步:建立全局数据逻辑结构。 数据的组织、存储与应用程序相分离独立进行,全面综合地数据的组织、存储与应用程序相分离独立进行,全面综合地考虑数据的组织,从整个系统的效率、性能出发来组织数据。考虑数据的组织,从整个系统的效率、性能出发来组织数据。第二步:建立局部数据逻辑结构。第二步:建立局部数据逻辑结构。 面向各个具体
17、用户,从满足用户的需求出发,从全局数据逻面向各个具体用户,从满足用户的需求出发,从全局数据逻辑结构导出各自所需的基本结构。辑结构导出各自所需的基本结构。第三步:建立数据物理结构。第三步:建立数据物理结构。 面向物理存储、在保证全局数据逻辑结构的前提下,权衡系面向物理存储、在保证全局数据逻辑结构的前提下,权衡系统的空间利用、效率等,按物理存储的最佳形式来组织文件结构。统的空间利用、效率等,按物理存储的最佳形式来组织文件结构。例例第一层第一层水水电电房房租租学学时时课程课程名名经经费费科研科研名称名称工工资资工工龄龄单单位位职职称称年年龄龄性性别别姓姓名名序序号号第二层第二层单位单位职称职称年龄年
18、龄性别性别姓名姓名序号序号经费经费科研名称科研名称序号序号学时学时课程名课程名序号序号水电水电房租房租工资工资工龄工龄序号序号第三层第三层1.3 什么是数据库系统什么是数据库系统 数据库系统数据库系统( (DBSDBS- -D Data ata B Base ase S System)ystem)是指具有管理数据库功能是指具有管理数据库功能的计算机系统。它的计算机系统。它由数据库、用户、软件和硬件四部分组成。由数据库、用户、软件和硬件四部分组成。1.3.1 1.3.1 数据库数据库n 数据库数据库( (DBDB- -D Data ata B Base)ase):按一定结构组织存储的、集成的、可
19、按一定结构组织存储的、集成的、可共享的数据的集合。这里的结构是指数据库的结构要依据共享的数据的集合。这里的结构是指数据库的结构要依据DBMSDBMS所支所支持的数据模型来建立。持的数据模型来建立。 数据库系统中的用户数据库系统中的用户1.3.2 1.3.2 用户用户1. 1. 数据库管理员(数据库管理员(DBADBA- -D Data ata B Base ase A Administratordministrator) DBADBA是是指指组组织织数数据据库库的的计计划划、设设计计、建建立立、运运行行监监视视、维维护护以以及及重开发的全部技术工作的专业人员。重开发的全部技术工作的专业人员。
20、DBADBA的职责:的职责:(1 1)决定数据库中的信息内容和结构。)决定数据库中的信息内容和结构。(2 2)决定数据库的存储结构和存储策略。)决定数据库的存储结构和存储策略。(3 3)定义数据的安全性要求和完整性约束条件。)定义数据的安全性要求和完整性约束条件。(4 4)监控数据库的使用和运行。)监控数据库的使用和运行。(5 5)数据库的重组和重构。)数据库的重组和重构。2. 2. 应用程序员应用程序员 是指负责设计和编制应用程序的人员。是指负责设计和编制应用程序的人员。3. 3. 终端用户终端用户 是指从计算机终端存取数据库的人员。是指从计算机终端存取数据库的人员。 数据库系统中的软件和硬
21、件数据库系统中的软件和硬件1.3.3 1.3.3 软件软件 主主要要是是指指数数据据库库管管理理系系统统(DBMSDBMS- -D Data ata B Base ase M Management anagement S Systemystem)。DBMSDBMS是是位位于于用用户户和和OSOS之之间间的的专专门门用用于于管管理理和和维维护护数数据据库库的的系系统统软软件件,为为用用户户或或应应用用程程序序提提供供了了访访问问数数据据库库的的方方法法,包包括括数数据库的建立、查询、更新及各种数据控制功能据库的建立、查询、更新及各种数据控制功能。1.3.4 1.3.4 硬件硬件 要要求求有有足足
22、够够大大的的内内存存,以以存存放放OSOS、DBMSDBMS、系系统统缓缓冲冲区区、应应用用程程序序等等;配配有有高高速速的的、大大容容量量的的直直接接存存取取的的外外存存;要要有有较较高高的的通通道道能能力,以提高数据的传输速度。力,以提高数据的传输速度。1.4 数据库管理系统数据库管理系统 DBMSDBMS是数据库系统的核心,是为数据库建立、使用和是数据库系统的核心,是为数据库建立、使用和维护而配置的系统软件。它建立在操作系统的基础之上,维护而配置的系统软件。它建立在操作系统的基础之上,是位于操作系统与用户之间的一层数据管理软件,负责对是位于操作系统与用户之间的一层数据管理软件,负责对数据
23、库进行统一的管理和控制。数据库进行统一的管理和控制。 nDBMSDBMS的的软件地位:软件地位:用户、应用软件用户、应用软件DBMSDBMSOSOSDBDBDBMS的主要功能的主要功能1.4.1 1.4.1 DBMSDBMS的主要功能的主要功能 1.1.数据定义数据定义 提供数据定义语言提供数据定义语言( (DDLDDL- -D Data ata D Definition efinition L Languageanguage) )定义数据库结构及其相互之间的映象,定义数据的完整性、安全性定义数据库结构及其相互之间的映象,定义数据的完整性、安全性控制等约束。控制等约束。 2.2.数据操纵数据操
24、纵 提供数据操纵语言提供数据操纵语言( (DMLDML- -D Data ata M Manipulation anipulation L Languageanguage) )实现对数据库中数据的检索、插入、删除和修改。实现对数据库中数据的检索、插入、删除和修改。 3. 3.数据库运行管理数据库运行管理 提供数据安全性控制、并发控制、和数据完整提供数据安全性控制、并发控制、和数据完整性控制等数据控制功能。性控制等数据控制功能。 4.4.数据库的建立和维护数据库的建立和维护 数据库初始数据的装入,数据库的转储、数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。恢复、重组
25、织,系统性能监视、分析等功能。 5.5.数据通信数据通信 实现用户程序与实现用户程序与DBMSDBMS之间的通信。之间的通信。 DBMS的组成的组成1.4.2 1.4.2 DBMSDBMS的的组成组成 1.1.语言翻译处理程序语言翻译处理程序 主要包括数据定义语言编译程序、数据操纵语言编译程序、终主要包括数据定义语言编译程序、数据操纵语言编译程序、终端命令解释程序、数据库控制命令解释程序等。端命令解释程序、数据库控制命令解释程序等。 2.2.系统运行控制程序系统运行控制程序 主要包括系统总控程序、存取控制程序、并发控制程序、完整主要包括系统总控程序、存取控制程序、并发控制程序、完整性控制程序、
26、安全性控制程序、数据存取和更新程序、通信控制程性控制程序、安全性控制程序、数据存取和更新程序、通信控制程序等。序等。 3.3.系统建立、维护程序系统建立、维护程序 主要包括数据装入程序、数据库重组程序、数据库恢复程序、主要包括数据装入程序、数据库重组程序、数据库恢复程序、性能监督程序等。性能监督程序等。 4.4.数据字典数据字典 数据字典数据字典是对数据库中数据的描述信息是对数据库中数据的描述信息的集合。通过数据字典的集合。通过数据字典DBMSDBMS能快速查询有关对象,能快速查询有关对象,DBADBA能能掌握整个系统运行的情况。掌握整个系统运行的情况。 1.5 数据模型数据模型 数据库是一个
27、结构化的数据集合,这个结构要使用数据模数据库是一个结构化的数据集合,这个结构要使用数据模型来描述。型来描述。n 数据模型数据模型-是表示数据及其联系的模型是表示数据及其联系的模型。n 数据模型分类数据模型分类n概念模型(也称语义模型)概念模型(也称语义模型) (常用(常用E-RE-R模型)模型)n结构数据模型(简称数据模型)结构数据模型(简称数据模型) (层次模型、网状模型、(层次模型、网状模型、关系模型)关系模型)n 概念模型是按用户的观点来对数据和信息建模,它强调语义表概念模型是按用户的观点来对数据和信息建模,它强调语义表达能力,建模容易、方便、概念简单、清晰,易于用户理解,它达能力,建模
28、容易、方便、概念简单、清晰,易于用户理解,它是一种独立于计算机系统的模型;是一种独立于计算机系统的模型;结构数据模型是按计算机系统结构数据模型是按计算机系统的观点对数据建模,它着重于具体描述数据的数据结构。的观点对数据建模,它着重于具体描述数据的数据结构。 思考题思考题 问:能否一步到位,只建立结构数据模型呢?问:能否一步到位,只建立结构数据模型呢?答:可以,但更多是采用分二步的设计方法。因为建立答:可以,但更多是采用分二步的设计方法。因为建立数据模型不是件简单的事,它既要模拟现实世界,又要数据模型不是件简单的事,它既要模拟现实世界,又要考虑数据结构,存取效率等一系列因素,使问题变得复考虑数据
29、结构,存取效率等一系列因素,使问题变得复杂,对此,人们通过一个中间步骤,先用杂,对此,人们通过一个中间步骤,先用E-RE-R模型反映模型反映实体及其联系,再从实体及其联系,再从E-RE-R模型出发结合具体数据模型进模型出发结合具体数据模型进行转换。行转换。概念模型概念模型1.5.1 1.5.1 概念模型概念模型 概念模型是对客观事物及其联系的抽象,用于信息世界的建模。概念模型是对客观事物及其联系的抽象,用于信息世界的建模。 概念模型的主要概念:概念模型的主要概念:实体实体-客观存在并可相互区别的事物。客观存在并可相互区别的事物。属性属性-实体所具有的某一特性。实体所具有的某一特性。 关键字关键
30、字(码,(码,keykey)- - 实体的某一属性或属性组合,其值能实体的某一属性或属性组合,其值能惟一标识某一实体。惟一标识某一实体。域域-属性的取值范围。属性的取值范围。实体型实体型-用实体名及其属性名集合来抽象和刻画的同类实体。用实体名及其属性名集合来抽象和刻画的同类实体。 例:学生(学号,姓名,性别,班号)例:学生(学号,姓名,性别,班号)实体集实体集-同一类型的实体集合称为实体集。同一类型的实体集合称为实体集。 实体之间的联系实体之间的联系实体间的联系实体间的联系 一对一联系(一对一联系(1:11:1) 一对多联系(一对多联系(1:1:m m) 多对多联系(多对多联系(m:nm:n)
31、n例:例:n系系 - - 系主任系主任 (1:11:1)n学生学生 - - 座位座位 (1:11:1)n班级班级 - - 学生学生 (1:1:m m)n公司公司 - - 职员职员 (1:1:m m)n学生学生 - - 课程课程 (m:nm:n)n运动员运动员 - - 项目项目 (m:nm:n)n设实体集:设实体集: n E1 E1 E2 E2实体联系模型实体联系模型 E-RE-R模型模型(E Entity ntity R Relationshipelationship),),也称为实体联系模型,也称为实体联系模型,是概念模型最常用的表示方法。是概念模型最常用的表示方法。n E-RE-R模型的基
32、本成分模型的基本成分:n实体集实体集 用长方形表示用长方形表示n属性属性 用椭圆表示用椭圆表示n联系联系 用菱形表示用菱形表示联系名联系名实体型实体型A实体型实体型B11nm实体联系模型之例实体联系模型之例sumsum? ? 总分总分: : sumsum? ? 成绩成绩: : scorescorescorescoren 注意:注意:联系也有属性。联系也有属性。n例:例:nono学生学生s s课程课程c cS-CS-Cageagenamenamecnocnocnamecnamem mn n实体联系模型之例实体联系模型之例n 例:例:为某百货公司数据库系统设计一个为某百货公司数据库系统设计一个E-
33、RE-R模型。百货公司管辖模型。百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。商店的属性有:店号、店名、店址、每个职工只能服务于一家商店。商店的属性有:店号、店名、店址、店经理。商品的属性有:商品号、品名、单价、产地。职工的属性店经理。商品的属性有:商品号、品名、单价、产地。职工的属性有:工号、姓名、性别、工资。在联系中应反映出职工参加某商店有:工号、姓名、性别、工资。在联系中应反映出职工参加某商店工作的开始时间,商店销售商品的月销售量。工作的开始时间,商店销售商品的月销售量。n E-
34、RE-R模型设计的一般步骤:模型设计的一般步骤:n确定实体集确定实体集n确定实体集之间的联系和联系的类型确定实体集之间的联系和联系的类型n确定属性(实体属性、联系属性)确定属性(实体属性、联系属性) 实体联系模型之例实体联系模型之例职职 工工商商 品品商商 店店店号店号店址店址店名店名产地产地单价单价品名品名工资工资性别性别姓名姓名工号工号店经理店经理商品号商品号开始时间开始时间月销售量月销售量经经营营隶隶属属1 1n nm mm m百货公司的百货公司的E-RE-R图图常用的数据模型常用的数据模型1.5.2 1.5.2 常用的数据模型常用的数据模型1.1.关系模型关系模型 用二维表格结构来表示
35、实体以及实体之间联系的数据模型。用二维表格结构来表示实体以及实体之间联系的数据模型。2.2.层次模型层次模型 用树结构表示实体间联系的数据模型。用树结构表示实体间联系的数据模型。n 层次模型的特征是:层次模型的特征是:n有且仅有一个结点没有父结点,它就是根结点;有且仅有一个结点没有父结点,它就是根结点;n其他结点有且仅有一个父结点。其他结点有且仅有一个父结点。 在层次模型中,每个结点描述一个实体型,称为记录型。一在层次模型中,每个结点描述一个实体型,称为记录型。一个记录型可有许多记录值,个记录型可有许多记录值, 简称为记录。结点之间的有向边表简称为记录。结点之间的有向边表示记录之间的联系。如果
36、要存取某一记录型的记录,可以从根结示记录之间的联系。如果要存取某一记录型的记录,可以从根结点开始,按照有向树层次逐层向下查找,查找路径就是存取路径。点开始,按照有向树层次逐层向下查找,查找路径就是存取路径。 层次模型层次模型记录类型记录类型1: m的联系的联系R1R3R2R4R5层次模型层次模型网状模型网状模型3.3.网状模型网状模型 用用网网状状结结构构表表示示实实体体间间联联系系的的数数据据模模型型。网网中中的的每每一一个个结结点点代代表表一一个个记记录录类类型型,联联系系用用链链接接指指针针来来实实现现。广广义义地地讲讲,任任何何一一个个连连通通的的基基本本层层次次联联系系的的集集合合都
37、都是是网网状状模模型型。它它取取消消了了层层次次模型的两点限制。模型的两点限制。n 网状模型的特征是:网状模型的特征是:n允许结点有多于一个的父结点;允许结点有多于一个的父结点;n可以有一个以上的结点没有父结点。可以有一个以上的结点没有父结点。 1.6 关系数据库关系数据库 1.6.11.6.1 基本术语基本术语n 关系关系 - - 一个关系就是一张二维表,每个关系有一个关系名。一个关系就是一张二维表,每个关系有一个关系名。n 元元组组 - 表表中中的的行行称称为为元元组组。一一行行为为一一个个元元组组,对对应应存存储储文文件中的一个记录值。件中的一个记录值。n 属属性性 - 表表中中的的列列
38、称称为为属属性性,每每一一列列有有一一个个属属性性名名。属属性性值值相当于记录中的数据项或者字段值。相当于记录中的数据项或者字段值。n 域域 - - 属性的取值范围,即不同元组对同一个属性的值所限属性的取值范围,即不同元组对同一个属性的值所限定的范围。例如,逻辑型属性只能从逻辑真或逻辑假两个值中取定的范围。例如,逻辑型属性只能从逻辑真或逻辑假两个值中取值。值。n 关系模式关系模式 - - 关系结构的描述。关系结构的描述。 R(A1R(A1,A2A2,A3A3,An)An) 例:学生例:学生( (学号,姓名,年龄学号,姓名,年龄) ) 基本术语基本术语n 侯选关键字侯选关键字 - 属性或属性组合
39、,其值能惟一标识一个元组。属性或属性组合,其值能惟一标识一个元组。n 主关键字主关键字 - - 用户选作元组标识的一个侯选关键字。用户选作元组标识的一个侯选关键字。n 主属性主属性 - - 包含在任一侯选关键字中的属性。包含在任一侯选关键字中的属性。n 非主属性非主属性 - - 不包含在任一侯选关键字中的属性。不包含在任一侯选关键字中的属性。n 外关键字外关键字 - - 如果一个关系中的属性或属性组并非该关系的关键如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。 例:学生(例:学
40、生(学号学号,姓名,性别,姓名,性别,专业号专业号,年龄),年龄) 专业(专业(专业号专业号,专业名),专业名) “ “专业号专业号”是学生关系的外关键字。是学生关系的外关键字。n 全关键字全关键字 - - 由所有属性组成的侯选关键字。由所有属性组成的侯选关键字。基本术语基本术语 属性属性元组元组主主关键字关键字教师编号教师编号姓名姓名性别性别所在系名所在系名001001王丽华王丽华女女计算机系计算机系008008孙军孙军男男电子工程系电子工程系教师关系教师关系关系模型的特征关系模型的特征n 关系模型的特征:关系模型的特征:n描述的一致性。实体及实体之间的联系都是用关系来描述。描述的一致性。实
41、体及实体之间的联系都是用关系来描述。n可直接表示多对多关系。可直接表示多对多关系。n关系必须是规范化的关系。每个属性是不可分的数据项,不关系必须是规范化的关系。每个属性是不可分的数据项,不允许表中有表。允许表中有表。n有较强的理论基础。有较强的理论基础。例:有如下三个关系模式:例:有如下三个关系模式: 学生(学生(学号学号,姓名,性别,年龄),姓名,性别,年龄) 课程(课程(课程号课程号,课程名,学时,学分),课程名,学时,学分) 学习(学习(学号,课程号学号,课程号,成绩),成绩)其中:学生、课程关系是描述实体的,学习关系是描述学生和课其中:学生、课程关系是描述实体的,学习关系是描述学生和课
42、程之间存在的选课联系的。程之间存在的选课联系的。不符合关系模型规范的表不符合关系模型规范的表车间号车间号班组班组工资工资超额奖超额奖实实发发基本基本补助补助0101甲组甲组 5000 5000 200 200 500 50057005700乙组乙组 4500 4500 100 100 300 300490049000202甲组甲组 4800 4800 200+50 200+50 505050500303丙组丙组 3000 3000 300 300 500 50038003800关系运算关系运算1.6.2 1.6.2 关系运算关系运算 从一个或多个关系中找出所需要的数据,要使用关系运算。从一个或
43、多个关系中找出所需要的数据,要使用关系运算。 1. 1. 笛卡尔积笛卡尔积 RSR . . A1R . .A2R . .A3S . .A2S . .A3b2d2db2d3b b3b2d b3b3b c2d2dc2d3b d3b2d d3b3b S A2A3 2d3bR A1A2A3b2d b3b c2d d3b R RS S:R R是是m m元关系,元关系,S S是是n n元关系,则元关系,则R RS S是(是(m+nm+n)元关系,元关系,R RS S每个元每个元组的前组的前m m个分量是个分量是R R的一个元组,后的一个元组,后n n个分量是个分量是S S的一个元组。的一个元组。关系运算关
44、系运算2.2.选择选择F F(R)(R):在关系在关系R R中求取满足给定条件中求取满足给定条件F F的元组的元组组成的集合。组成的集合。n F F的组成:的组成:n运算对象:常数、元组分量(属性名或运算对象:常数、元组分量(属性名或列号)列号)n运算符运算符n算术比较符:算术比较符: 、 、 5A25A3A3“f f”( (R) ) 或或 252533“f f”( (R) )R A1A2A3a3fb2dc2de6fg6fA1A2A3b2dc2de6fg6f252533“f”“f”( (R) ) 关系运算关系运算3.3.投影运算投影运算 A A(R): (R): 在关系在关系R R中求指定的若
45、干个属性列组成的集合(消除重中求指定的若干个属性列组成的集合(消除重复元组)。复元组)。 A3A2 f3d2f63,2AA(R)RA1A2A3a3fb2dc2de6fg6f 关系运算关系运算4. 4. 连接运算连接运算(1 1)一般连接()一般连接(为关系比较符)为关系比较符) R R S S A A B B 含义:从含义:从R R X X S S中选取中选取R R关系在关系在A A属性组上的值与属性组上的值与S S关系在关系在B B属性组属性组上值满足上值满足关系的元组。关系的元组。(2 2)等值连接:)等值连接:为为“= =”的连接。的连接。 关系运算关系运算 (3 3)自然连接)自然连接
46、 R R S S:自然连接是在两个关系的公共属性上进行的等值连接,自然连接是在两个关系的公共属性上进行的等值连接,并且除去重复属性。并且除去重复属性。 n 计算过程:计算过程:nRSRSn 公共属性上的等值选择。公共属性上的等值选择。n 去掉重复属性去掉重复属性 连接运算之例连接运算之例 设有关系设有关系R R、S(S(如下表所示如下表所示) ),计算:,计算: (1) (1) R1=R R1=R S S (2) R2=R (2) R2=R S S ADAYX-Y,则称则称Y Y部分函数依赖于部分函数依赖于X X,记作:记作:X X P P Y Y。例:例:关系关系R R中有:中有:( (B,
47、D) B,D) P P C C,(A,D) (A,D) P P B B , (A,D) , (A,D) P P C Cn 完全函数依赖完全函数依赖: : 如果如果X XY Y,且对任何且对任何X X的真子集的真子集XX,都有都有XX+ +YY,则称则称Y Y完全函数依赖于完全函数依赖于X X,记作:记作:X X F F Y Y。例:例:关系关系R R中有:中有:A A F F B B,A A F F C C , B , B F F C C (C,D) (C,D) F F A A,(C,D) (C,D) F F B B , (B,D) , (B,D) F F A An 传递函数依赖传递函数依赖:
48、 : 如果如果X XY (YY (Y X)X),Y Y+ +X X ,而而Y YZ Z,则称则称Z Z传递传递函数依赖于函数依赖于X X,记作:记作:X X T T Z Z 。例:例:关系关系R R中有:中有: A A T T C C( A AB,BB,B+ + A,BA,BC C) 规范化设计理念和方法规范化设计理念和方法n 关系的规范化是将一个低级范式的关系模式,通过关系模式的分关系的规范化是将一个低级范式的关系模式,通过关系模式的分解转换为若干个高级范式的过程。解转换为若干个高级范式的过程。1.1.第一范式(第一范式(1 1NFNF) 若若R R的每个分量都是不可分的数据项,则的每个分量
49、都是不可分的数据项,则R R1NF1NF。 从型上看:不存在嵌套结构。从型上看:不存在嵌套结构。 从值上看:不存在重复组。从值上看:不存在重复组。 1 1NFNF是关系模式的最低要求。是关系模式的最低要求。非非1NF的二维表的二维表车间号车间号班组班组工资工资超额奖超额奖实实发发基本基本补助补助0101甲组甲组 5000 5000 200 200 500 50057005700乙组乙组 4500 4500 100 100 300 300490049000202甲组甲组 4800 4800 200+50 200+50 505050500303丙组丙组 3000 3000 300 300 500
50、50038003800转换后的转换后的1NF关系关系车间号车间号班组班组基本工资基本工资补助工资补助工资超额奖超额奖实发实发 01 01甲组甲组 5000 5000 200 200 500 50057005700 01 01乙组乙组 4500 4500 100 100 300 300490049000202甲组甲组 4800 4800 250 250505050500303丙组丙组 3000 3000 300 300 500 50038003800 学生关系学生关系s s是是1 1NFNF关系,但它存在数据冗余,插入异常和删除异关系,但它存在数据冗余,插入异常和删除异常等问题。常等问题。规范化
51、设计理念和方法规范化设计理念和方法2.2.第二范式(第二范式(2 2NFNF) 若关系若关系R R1NF1NF,且不且不存在任何非主属性对侯选关键字的部分函数存在任何非主属性对侯选关键字的部分函数依赖,则依赖,则R R2NF2NF。分析:分析:关系关系s s不是不是2 2NFNF。 因为,侯选关键字为因为,侯选关键字为(学号,课程号(学号,课程号) 非主属性:非主属性:姓名、课程名、教师号、教师名、教师地址、成绩姓名、课程名、教师号、教师名、教师地址、成绩 函数依赖有:函数依赖有:学号学号姓名,课程号姓名,课程号课程名,课程号课程名,课程号教师号,教师号,教师号教师号教师姓名,教师号教师姓名,
52、教师号教师地址教师地址 所以,(学号,课程号)所以,(学号,课程号) P P 姓名姓名 (学号,课程号(学号,课程号) P P 课程名课程名 (学号,课程号)(学号,课程号) P P 教师号教师号 (学号,课程号(学号,课程号) P P 教师名教师名 (学号,课程号(学号,课程号) P P 教师地址教师地址规范化设计理念和方法规范化设计理念和方法n 分解为分解为2 2NFNF的方法:的方法: 将满足部分函数依赖和满足完全函数依赖的属性分解到不同的关将满足部分函数依赖和满足完全函数依赖的属性分解到不同的关系中。系中。n 关系关系S S分解为分解为3 3个关系:个关系: s1(s1(学号,姓名学号
53、,姓名) ) s2(s2(课程号,课程名,教师号,教师名,教师地址课程号,课程名,教师号,教师名,教师地址) ) s3(s3(学号,课程号,成绩学号,课程号,成绩) )分解后,关系分解后,关系s1s1、s2s2、s3s3都为都为2 2NFNF。规范化设计理念和方法规范化设计理念和方法n 达到达到2 2NFNF的关系仍然可能存在问题。的关系仍然可能存在问题。例如,在例如,在关系关系s2s2中还存在以下问题:中还存在以下问题:(1 1)数数据据冗冗余余。一一个个教教师师承承担担多多门门课课程程时时,教教师师的的地地址址要要重重复复存存储。储。(2 2)插插入入异异常常。一一个个新新教教师师报报到到
54、,需需将将其其有有关关数数据据插插入入到到s2s2关关系系中中,但但该该教教师师暂暂时时还还未未承承担担任任何何教教学学任任务务,则则因因缺缺关关键键字字课课程程号号的的值而不能进行插入操作。值而不能进行插入操作。(3 3)删除异常。删除某门课程时,会丢失该课程任课教师的信息。)删除异常。删除某门课程时,会丢失该课程任课教师的信息。规范化设计理念和方法规范化设计理念和方法3.3.第三范式(第三范式(3 3NFNF) 若关系若关系R2NFR2NF,且不存在非主属性对侯选关键字的传递函数依赖,且不存在非主属性对侯选关键字的传递函数依赖,则则R3NFR3NF。分析:分析:关系关系s2s2不是不是3
55、3NFNF。 因为,侯选关键字为因为,侯选关键字为: : 课程号课程号 非主属性:非主属性:教师号、课程名、教师名、教师地址教师号、课程名、教师名、教师地址 课程号课程号教师号,教师号教师号,教师号+ + 课程号,教师号课程号,教师号教师地址教师地址 课程号课程号 T T 教师地址教师地址规范化设计理念和方法规范化设计理念和方法n 分解为分解为3 3NFNF的方法:的方法: 将涉及传递函数依赖中的两个依赖中的属性分解到不同的关系中。将涉及传递函数依赖中的两个依赖中的属性分解到不同的关系中。n 将将s2s2分解为:分解为: s21(s21(课程号,课程名,教师号课程号,课程名,教师号) ) s2
56、2(s22(教师号,教师名,教师地址教师号,教师名,教师地址) ) 则关系则关系s21s21和和s22s22都是都是3 3NFNF,关系关系s s中存在的问题得到了解决。中存在的问题得到了解决。 n3 3种范式的关系:种范式的关系:规范化设计理念和方法规范化设计理念和方法1NF非规范化的关系非规范化的关系2NF3NF消除组合数据项消除组合数据项消除非主属性对消除非主属性对关关键字键字的部分函数依的部分函数依赖赖消除非主属性对消除非主属性对关关键字键字的传递函数依的传递函数依赖赖范式的范式的转换关系:转换关系:1NF2NF3NF 1.7 数据库设计数据库设计n 数据库设计数据库设计: :是指对于
57、一个给定的应用环境,构造最优的数据模是指对于一个给定的应用环境,构造最优的数据模型,然后据此建立数据库及其应用系统,使之能够有效地存储数型,然后据此建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。据,满足各种用户的应用需求。 n 数据库设计的内容数据库设计的内容: :n结构特性设计结构特性设计n行为特性设计行为特性设计n 数据库设计的目标数据库设计的目标: :满足要求与模拟精确程度满足要求与模拟精确程度 良好的数据库性能良好的数据库性能数据库设计数据库设计步骤步骤需求分析需求分析概念结构设计概念结构设计逻辑结构设计逻辑结构设计数据库物理设计数据库物理设计数据库实施数据库
58、实施数据库数据库运行和维护运行和维护需求收集和分析需求收集和分析设计概念结构设计概念结构设计逻辑结构设计逻辑结构数据模型优化数据模型优化设计物理结构设计物理结构评价设计、性能预测评价设计、性能预测物理实现物理实现试运行试运行对数据库系统对数据库系统进行评价、调整与修改进行评价、调整与修改需求分析需求分析1.7.1 1.7.1 需求分析需求分析一、需求分析的任务一、需求分析的任务 收集与分析用户的信息及应用处理的要求,并将结果按照一收集与分析用户的信息及应用处理的要求,并将结果按照一定的格式形成需求说明书。定的格式形成需求说明书。二、需求分析的方法二、需求分析的方法 1. 1. 需求信息的收集需
59、求信息的收集 (1 1)了解组织的机构设置)了解组织的机构设置 (2 2)主要业务活动和职能)主要业务活动和职能 (3 3)了解系统的各种外部要求)了解系统的各种外部要求 (4 4)确定系统边界)确定系统边界需求分析需求分析 2. 2.需求信息的分析整理需求信息的分析整理 用数据流图和数据字典描述。用数据流图和数据字典描述。 三、数据流图三、数据流图( (DFDDFD-D Data ata F Flow low D Diagram)iagram) DFD DFD用来表示收集到的各业务流程中涉及到的数据和处理过程用来表示收集到的各业务流程中涉及到的数据和处理过程的关系。的关系。n 数据流图的基本
60、成分:数据流图的基本成分:表示同类数据的集中存放处,通常指数据文件表示同类数据的集中存放处,通常指数据文件表示对数据的处理表示对数据的处理表示不同处理过程之间传递的数据表示不同处理过程之间传递的数据表示数据的发送者和接收者表示数据的发送者和接收者需求分析需求分析四、数据字典四、数据字典(DDDD-Data -Data D Dictionary)ictionary)n 数据库应用系统的数据字典包括:数据库应用系统的数据字典包括:数据项、数据结构、数据流、数据项、数据结构、数据流、数据存储、处理过程。数据存储、处理过程。n 例:例:下图给出了某机器制造厂的零配件采购子系统的数据流图。下图给出了某机
61、器制造厂的零配件采购子系统的数据流图。该子系统要处理的工作是生产部门提出的生产计划根据零配件当前该子系统要处理的工作是生产部门提出的生产计划根据零配件当前价格计算成本送主管部门审批,对已批准生产计划制定采购计划,价格计算成本送主管部门审批,对已批准生产计划制定采购计划,准备好订货单给供应商。准备好订货单给供应商。 零配件采购子系统零配件采购子系统DFD核对核对预算预算确定采确定采购计划购计划编制编制定货单定货单供应商供应商零配件采购记录零配件采购记录生产计划生产计划批准批准/不批准不批准批准批准/不批准不批准核对核对预算预算产品产品预算预算零件零件价格价格零件零件库存库存量量报价单报价单供应商
62、报价供应商报价采购采购计划计划订单细节订单细节订货单订货单零配件采购子系统的数据字典零配件采购子系统的数据字典数据项数据项描述数据项名,数据项含义说明,别名,数据类型,长描述数据项名,数据项含义说明,别名,数据类型,长度,度, 取值范围,取值含义,与其他数据项的逻辑关系取值范围,取值含义,与其他数据项的逻辑关系例:数据项名:订货单号例:数据项名:订货单号 类型:类型: CHARCHAR 长度:长度: 8 8 别名:别名: 采购单号采购单号 取值范围:取值范围:10000000-9999999910000000-99999999零配件采购子系统的数据字典零配件采购子系统的数据字典 数据结构是若干
63、数据项有意义的集合。数据结构是若干数据项有意义的集合。数据结构数据结构描述数据结构名,含义说明,组成描述数据结构名,含义说明,组成: :数据项或数据数据项或数据结构结构例:例: 数据结构:采购细节数据结构:采购细节 说明:作为采购计划的组成部分,说明对某个产品要说明:作为采购计划的组成部分,说明对某个产品要 采购哪些零件,哪种零件采购多少数量。采购哪些零件,哪种零件采购多少数量。 组成:零件号、零件名、数量组成:零件号、零件名、数量 零配件采购子系统的数据字典零配件采购子系统的数据字典 数据流表示加工处理过程的输入或输出数据。数据流表示加工处理过程的输入或输出数据。数据流数据流描述数据流名,说
64、明,数据流来源,数据流去向,描述数据流名,说明,数据流来源,数据流去向, 组成组成: :数据结构,平均流量,高峰期流量数据结构,平均流量,高峰期流量例:数据流名:采购计划例:数据流名:采购计划 说明:由各产品所需零件数、选定的供应商、审核情况说明:由各产品所需零件数、选定的供应商、审核情况 组成采购零配件计划。组成采购零配件计划。 来源:确定采购计划来源:确定采购计划 去向:编制订货单去向:编制订货单 数据结构:数据结构:-采购细节采购细节 - -采购审核采购审核零配件采购子系统的数据字典零配件采购子系统的数据字典 数据存储是处理过程中要存取的数据。数据存储是处理过程中要存取的数据。数据存储数
65、据存储描述数据存储名,说明,编号,流入的数据流,描述数据存储名,说明,编号,流入的数据流, 流出的数据流,组成流出的数据流,组成: :数据结构,数据量,存取方式数据结构,数据量,存取方式例:数据存储名:产品例:数据存储名:产品 说明:对每种产品的品名、规格的描述,并对每种产说明:对每种产品的品名、规格的描述,并对每种产 品做成本预算。在核对生产计划书的成本时用。品做成本预算。在核对生产计划书的成本时用。 输出数据流:预算输出数据流:预算 组成:产品号、产品名、预算组成:产品号、产品名、预算 数据量:每月数据量:每月30-4030-40件件 存取方式:随机存取存取方式:随机存取零配件采购子系统的
66、数据字典零配件采购子系统的数据字典 处理过程是对加工处理过程的描述。处理过程是对加工处理过程的描述。处理过程处理过程描述处理过程名,说明,输入描述处理过程名,说明,输入: :数据流,数据流, 输出输出: :数据流,处理数据流,处理: :简要说明简要说明例:处理过程:确定采购计划例:处理过程:确定采购计划 说明:对要采购的每一零件,根据零件库存量确定采购数量,说明:对要采购的每一零件,根据零件库存量确定采购数量, 再根据每位供应商的报价选择适当的供应商,制定采购再根据每位供应商的报价选择适当的供应商,制定采购 计划。计划。 输入:供应商报价、零件库存、已批准生产计划输入:供应商报价、零件库存、已
67、批准生产计划 输出:采购计划输出:采购计划 简要说明简要说明:(:(1 1)对应采购的每种零件查找供应商报价表,选)对应采购的每种零件查找供应商报价表,选 择报价最低的供应商号。择报价最低的供应商号。 (2 2)将此供应商号填入应采购零件表的相应列中。将此供应商号填入应采购零件表的相应列中。概念结构设计概念结构设计1.7.2 1.7.2 概念结构设计概念结构设计 将需求分析得到的用户需求抽象为概念模型的过程就是概将需求分析得到的用户需求抽象为概念模型的过程就是概念结构设计。念结构设计。 在进行数据库设计时,如果将现实世界中的客观对象直接转换在进行数据库设计时,如果将现实世界中的客观对象直接转换
68、为机器世界中的对象,就会感到比较复杂,注意力往往被牵扯到更为机器世界中的对象,就会感到比较复杂,注意力往往被牵扯到更多的细节限制方面,而不能集中在最重要的信息的组织结构和处理多的细节限制方面,而不能集中在最重要的信息的组织结构和处理模式上。因此通常是将现实世界中的客观对象首先抽象为不依赖任模式上。因此通常是将现实世界中的客观对象首先抽象为不依赖任何何DBMSDBMS和具体机器的信息结构,即概念模型,然后再把概念模型转和具体机器的信息结构,即概念模型,然后再把概念模型转换成具体机器上换成具体机器上DBMSDBMS支持的数据模型。支持的数据模型。 常用的概念结构的设计方法是常用的概念结构的设计方法
69、是自底向上自底向上的设计方法。下面就介的设计方法。下面就介绍采用这种设计方法的设计步骤。绍采用这种设计方法的设计步骤。 概念结构设计概念结构设计一一. . 数据抽象与局部视图设计数据抽象与局部视图设计 根据需求分析的结果(数据流图、数据字典等)对现实世界的根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图,即分数据进行抽象,设计各个局部视图,即分E-RE-R图。图。1. 1. 选择局部应用选择局部应用 可利用机构职能关系进行局部处理。可利用机构职能关系进行局部处理。2. 2. 逐一设计分逐一设计分E-RE-R图图 设计时注意:设计时注意: (1 1)实体与属性
70、的划分原则)实体与属性的划分原则n 属性应是系统中最小的信息单位,不再具有描述性质。属性应是系统中最小的信息单位,不再具有描述性质。n 属性不能与其他实体有联系。属性不能与其他实体有联系。 概念结构设计概念结构设计例:有职工、部门及其相关信息。例:有职工、部门及其相关信息。enoeno职工职工E E部门部门D DE-DE-Dageagenamenamednodnodnamedname部门部门D Ddnodno部门名部门名.职工职工E Eenoeno部门部门.概念结构设计概念结构设计病人病人住院号住院号姓名姓名病房号病房号病人病人住院号住院号姓名姓名住在住在1 1n n医疗医疗病房号病房号病房病
71、房医生医生级别级别床位数床位数医生号医生号医生名医生名1 1m m职称职称概念结构设计概念结构设计二二. . 视图集成(全局视图设计)视图集成(全局视图设计)1. 1. 合并分合并分E-RE-R图,生成初步图,生成初步E-RE-R图图 合并的过程实际上是一个发现冲突和解决冲突的过程。合并的过程实际上是一个发现冲突和解决冲突的过程。 冲突主要有:冲突主要有: (1 1)属性冲突)属性冲突 属性值类型、取值范围等发生冲突。属性值类型、取值范围等发生冲突。 (2 2)命名冲突)命名冲突 同名异义、异名同义。同名异义、异名同义。 (3 3)结构冲突)结构冲突 同一对象在不同视图中有不同抽象。同一对象在
72、不同视图中有不同抽象。同一实体在不同视图中属性组成不同。同一实体在不同视图中属性组成不同。相同实体间联系在不同视图中呈现不同类型。相同实体间联系在不同视图中呈现不同类型。 概念结构设计概念结构设计2.2.消除不必要的冗余,设计基本消除不必要的冗余,设计基本E-RE-R图图 冗余的数据是指可由基本数据导出的数据,冗余的联系是指可冗余的数据是指可由基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。由其他联系导出的联系。例:实发工资、应发工资例:实发工资、应发工资 逻辑结构设计逻辑结构设计1.7.3 1.7.3 逻辑结构设计逻辑结构设计n 逻辑结构设计的主要任务:逻辑结构设计的主要任务:将基
73、本将基本E-RE-R模型转换为模型转换为DBMSDBMS所支持所支持的数据模型。的数据模型。n 关系型逻辑结构设计的步骤:关系型逻辑结构设计的步骤:1) 1) 将概念结构转换为关系模型将概念结构转换为关系模型2) 2) 优化模型优化模型3) 3) 设计适合设计适合DBMSDBMS的子模式的子模式逻辑结构设计逻辑结构设计一、一、E-RE-R模型向关系模型的转换模型向关系模型的转换1.1.实体的转换实体的转换 每一个实体型转换为一个关系模式,实体的属性就是关系的属每一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的关键字就是关系的关键字。性,实体的关键字就是关系的关键字。 2.2.联系
74、的转换联系的转换(1)(1)一一般般1:11:1和和1:1:m m联联系系不不产产生生新新的的关关系系模模式式,而而是是将将一一方方实实体体的的关关键键字字加加入入到到多多方方实实体体对对应应的的关关系系模模式式中中,若若有有联联系系的的属属性性也也一一并并加加入。入。(2) (2) m:nm:n联联系系要要产产生生一一个个新新的的关关系系模模式式,该该关关系系模模式式由由联联系系涉涉及及实实体的关键字加上联系的属性体的关键字加上联系的属性( (若有若有) )组成。组成。逻辑结构设计逻辑结构设计之例之例职职 工工商商 品品商商 店店店号店号店址店址店名店名产地产地单价单价品名品名工资工资性别性
75、别姓名姓名工号工号店经理店经理商品号商品号开始时间开始时间月销售量月销售量经经营营隶隶属属1 1n nm mm m将百货公司的将百货公司的E-RE-R模型转换为关系模型。模型转换为关系模型。转换的关系模型如下:转换的关系模型如下:商店商店( (店号店号,店名,店址,店经理,店名,店址,店经理) )商品商品( (商品号商品号,品名,单价,产地,品名,单价,产地) )职工职工( (工号工号,姓名,性别,工资,店号,开始时间,姓名,性别,工资,店号,开始时间) )经营经营( (店号,商品号店号,商品号,月销售量,月销售量) )逻辑结构设计逻辑结构设计二、数据模型的优化二、数据模型的优化 1. 1.
76、分析函数依赖。分析函数依赖。 2. 2. 确定各关系模式的范式。确定各关系模式的范式。 3. 3. 按照处理要求,对某些模式进行合并或分解。按照处理要求,对某些模式进行合并或分解。 4. 4. 为提高效率和利用率,对关系模式进一步分解。为提高效率和利用率,对关系模式进一步分解。常用的两种分解方法:常用的两种分解方法:垂直分解垂直分解水平分解水平分解三、设计用户子模式三、设计用户子模式 n考虑:系统的使用安全、简便、用户习惯。考虑:系统的使用安全、简便、用户习惯。R R1 R2r1r2R物理结构设计物理结构设计1.7.4 1.7.4 物理结构设计物理结构设计n 数据库物理设计:数据库物理设计:是
77、指对给定的数据模型选取一个最适合应是指对给定的数据模型选取一个最适合应用要求的物理结构的过程。用要求的物理结构的过程。n 物理设计步骤:物理设计步骤:n确定确定DBDB的物理结构的物理结构 ( (存取方法、存储结构存取方法、存储结构) )n评价结构的时、空效率评价结构的时、空效率 ( (取决于取决于DBMS)DBMS)n 物理设计目标:物理设计目标:n设计优化的物理设计优化的物理DBDB结构,使得响应时间短、空间利用率高。结构,使得响应时间短、空间利用率高。 物理结构设计物理结构设计关系数据库物理设计的主要内容:关系数据库物理设计的主要内容:1. 1. 为关系模式选择存取方法为关系模式选择存取
78、方法n索引方法索引方法n聚簇方法聚簇方法n建立索引的一般原则是:建立索引的一般原则是: 主关键字和外关键字上一般建立索引。主关键字和外关键字上一般建立索引。 可在经常按某列的顺序访问记录的列上建立索引。可在经常按某列的顺序访问记录的列上建立索引。 在经常作为连接操作的连接条件中出现的列上建立索引。在经常作为连接操作的连接条件中出现的列上建立索引。物理结构设计物理结构设计n不适合建立索引的情况有:不适合建立索引的情况有: 太小的表。太小的表。 不出现或很少出现在查询条件中的属性。不出现或很少出现在查询条件中的属性。 属性值可能取值的个数很少的属性(如:性别)。属性值可能取值的个数很少的属性(如:
79、性别)。 属性值分布严重不均的属性(如:年龄)。属性值分布严重不均的属性(如:年龄)。 经常更新的属性和表。经常更新的属性和表。 属性的值过长。属性的值过长。物理结构设计物理结构设计n 聚簇聚簇是将相关数据集中存放的物理存储技术。是将相关数据集中存放的物理存储技术。 把某属性组把某属性组( (聚簇码聚簇码) )上具有相同值的元组集中存放在连续的物理上具有相同值的元组集中存放在连续的物理块上称为块上称为聚簇聚簇。n 建立聚簇的一般原则是:建立聚簇的一般原则是: 通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码无通过聚簇码进行访问或连接是该关系的主要应用,与聚簇码无关的其他访问很少或者是次要的
80、关的其他访问很少或者是次要的 。 对应每个聚簇码值的平均元组数既不太少,也不太多。太少了,对应每个聚簇码值的平均元组数既不太少,也不太多。太少了,聚簇效益不明显,甚至浪费块的空间;太多了,就要采用多个连接聚簇效益不明显,甚至浪费块的空间;太多了,就要采用多个连接块,同样对提高性能不利。块,同样对提高性能不利。 聚簇码值相对稳定,以减少修改聚簇码值所引起的维护开销。聚簇码值相对稳定,以减少修改聚簇码值所引起的维护开销。 物理结构设计物理结构设计2. 2. 确定系统的存储结构确定系统的存储结构 (1 1)确定数据的存放位置)确定数据的存放位置 减少访问磁盘时的冲突,提高减少访问磁盘时的冲突,提高I
81、/OI/O的并行性。的并行性。 分散热点数据,均衡分散热点数据,均衡I/OI/O负载。负载。 保证关键数据的快速访问,缓解系统的瓶颈。保证关键数据的快速访问,缓解系统的瓶颈。 (2 2)确定系统的配置参数)确定系统的配置参数 DBMSDBMS产品一般都提供了一些存储分配参数,供设计人员和产品一般都提供了一些存储分配参数,供设计人员和DBADBA对数据库进行物理优化。初始情况下,系统为这些变量都赋予对数据库进行物理优化。初始情况下,系统为这些变量都赋予了合理的默认值。但是这些值不一定适合每一种应用环境,在进行了合理的默认值。但是这些值不一定适合每一种应用环境,在进行物理设计时,需要重新对这些变量
82、赋值以改善系统的性能。物理设计时,需要重新对这些变量赋值以改善系统的性能。数据库实施数据库实施1.7.5 1.7.5 数据库实施数据库实施数据库实施阶段主要任务:数据库实施阶段主要任务: (1 1)定义数据库结构)定义数据库结构 (2 2)组织数据入库)组织数据入库 (3 3)编制与调试应用程序)编制与调试应用程序 (4 4)数据库试运行)数据库试运行 数据库运行维护数据库运行维护1.7.6 1.7.6 数据库运行维护数据库运行维护数据库运行维护阶段主要任务:数据库运行维护阶段主要任务: (1 1)数据的转储与恢复)数据的转储与恢复 (2 2)数据库的安全性、完整性控制)数据库的安全性、完整性
83、控制 (3 3)数据库的性能监督、分析和改造)数据库的性能监督、分析和改造 (4 4)数据库的重组织与重构造)数据库的重组织与重构造 练习题练习题1.1.什么是数据冗余?数据库系统与文件系统相比怎样减少数据冗余什么是数据冗余?数据库系统与文件系统相比怎样减少数据冗余?2.2.什么是数据库?什么是数据库?3.3.什么是什么是DBMS? DBMSDBMS? DBMS有哪些功能?有哪些功能? 4.4.已已知知一一个个软软件件开开发发管管理理的的关关系系是是:每每个个软软件件公公司司有有若若干干个个软软件件工工程程师师,每每个个软软件件工工程程师师只只属属于于一一个个软软件件公公司司;一一个个软软件件
84、公公司司可可以以同同时时开开发发多多个个项项目目,每每个个项项目目只只属属于于一一个个软软件件公公司司,一一个个项项目目可可以以有有多个软件工程师参加,一个软件工程师可以同时参加多个项目。多个软件工程师参加,一个软件工程师可以同时参加多个项目。所涉及的实体是:所涉及的实体是:工程师:职工号,姓名,性别,职称工程师:职工号,姓名,性别,职称公司:公司号,公司名称,经理,地址,电话公司:公司号,公司名称,经理,地址,电话项目:项目号,项目名称,经费,完成日期项目:项目号,项目名称,经费,完成日期试画出该系统的试画出该系统的E-RE-R图,并将其转换为关系模型。图,并将其转换为关系模型。 5.5.试
85、试述述数据库设计的基本步骤,各设计阶段的主要任务。数据库设计的基本步骤,各设计阶段的主要任务。练习题练习题6. 6. 下下面面给给出出的的关关系系R R为为第第几几范范式式? ?是是否否存存在在操操作作异异常常? ?若若存存在在,则则将将其其分分解解为为高高一一级级范范式式。分分解解完完成成的的高高级级范范式式中中是是否否可可以以避避免分解前关系中存在的操作异常免分解前关系中存在的操作异常? ? 关系关系R R 工程号工程号材料号材料号数量数量开工日期开工日期完工日期完工日期价格价格p1p1I1I14 49805980599029902250250p1p1I2I26 69805980599029902300300p1p1I3I315159805980599029902180180p2p2I1I16 69811981199129912250250p2p2I4I418189811981199129912350350