彭煜玮武汉大学计算机学院127

上传人:无*** 文档编号:172236776 上传时间:2022-12-02 格式:PPT 页数:92 大小:2MB
返回 下载 相关 举报
彭煜玮武汉大学计算机学院127_第1页
第1页 / 共92页
彭煜玮武汉大学计算机学院127_第2页
第2页 / 共92页
彭煜玮武汉大学计算机学院127_第3页
第3页 / 共92页
点击查看更多>>
资源描述
彭煜玮武汉大学计算机学院2009-1-27学习导读学习导读v 数据库技术是研究数据管理的技术,即如何妥善数据库技术是研究数据管理的技术,即如何妥善地保存和科学地管理数据。地保存和科学地管理数据。数据库技术是发展速度数据库技术是发展速度最快,应用最广泛的技术,它作为计算机科学和技最快,应用最广泛的技术,它作为计算机科学和技术的一个重要分支已成为多种计算机应用系统的核术的一个重要分支已成为多种计算机应用系统的核心。数据库技术主要延着数据模型、数据库应用、心。数据库技术主要延着数据模型、数据库应用、数据库管理系统开发技术三个方面发展。数据库管理系统开发技术三个方面发展。v 本章主要介绍数据管理技术的发展、数据模型、本章主要介绍数据管理技术的发展、数据模型、关系运算、关系规范化理论和数据库设计等内容。关系运算、关系规范化理论和数据库设计等内容。第1章 数据库基础知识21.1 1.1 信息、数据与数据处理信息、数据与数据处理1.1.1 1.1.1 数据与信息数据与信息 数据数据是人类活动的重要资源,数据库系统是人类活动的重要资源,数据库系统就是研究如何妥善地保存和科学地管理数据的就是研究如何妥善地保存和科学地管理数据的计算机系统。计算机系统。现代社会是信息的社会,信息以惊人的速现代社会是信息的社会,信息以惊人的速度增长,因此,如何有效地组织和利用它们成度增长,因此,如何有效地组织和利用它们成为急需解决的问题。数据库系统的目的就是为为急需解决的问题。数据库系统的目的就是为了高效地管理及共享大量的信息,而信息与数了高效地管理及共享大量的信息,而信息与数据是分不开的。据是分不开的。数据与信息数据与信息 信息:信息:是是现实世界各种事物的存在特征、运动形态以及不同现实世界各种事物的存在特征、运动形态以及不同事物间的相互联系等诸要素在人脑中的抽象反映,是经过加工事物间的相互联系等诸要素在人脑中的抽象反映,是经过加工的数据。例如,气象局每天从各地气象站收集到大量有关气象的数据。例如,气象局每天从各地气象站收集到大量有关气象的图形或文字记录后,对这些记录数据进行综合处理、分析、的图形或文字记录后,对这些记录数据进行综合处理、分析、判断后,就可告知当地温度、湿度、风力、阴晴等信息。信息判断后,就可告知当地温度、湿度、风力、阴晴等信息。信息对决策或行动是有价值的。例如,人们可以根据天气预报安排对决策或行动是有价值的。例如,人们可以根据天气预报安排生产和生活。生产和生活。数据:数据:是是对信息的符号化的表示,是数据库研究和处理的对对信息的符号化的表示,是数据库研究和处理的对象。象。信息与数据的信息与数据的关系:关系:数据数据是信息的载体,信息是数据的内涵。是信息的载体,信息是数据的内涵。即数据是信息的符号表示,而信息通过数据描述,又是数据语即数据是信息的符号表示,而信息通过数据描述,又是数据语义的解释。信息是有一定含义的、经过加工处理的、对决策有义的解释。信息是有一定含义的、经过加工处理的、对决策有价值的数据价值的数据。数据处理数据处理1.1.2 1.1.2 数据处理数据处理 数据处理:数据处理:是是指对数据进行收集、管理、加指对数据进行收集、管理、加工、传播等一系列工作,是将数据转换成信息工、传播等一系列工作,是将数据转换成信息的过程。目前在计算机的各类应用中,用于数的过程。目前在计算机的各类应用中,用于数据处理约占据处理约占80%80%。数据管理:数据管理:是是指对数据的组织、存储、检索、指对数据的组织、存储、检索、维护等工作,是数据处理的基本环节,是任何维护等工作,是数据处理的基本环节,是任何数据处理必有的共性部分。由于数据管理技术数据处理必有的共性部分。由于数据管理技术的优劣直接影响数据处理的效率,因此它是数的优劣直接影响数据处理的效率,因此它是数据处理的核心据处理的核心。1.2 1.2 计算机数据管理的计算机数据管理的3 3个阶段个阶段数据管理技术好坏评判的标准:数据管理技术好坏评判的标准:(1 1)数据冗余)数据冗余 数据冗余-是指同一数据多次存放。数据冗余带来的问题有:浪费存储空间 修改麻烦 潜在的数据不一致性(2 2)数据共享)数据共享 数据共享体现在:多个应用可以使用同一数据、记录、数据项。在同一时刻多个用户可存取同一数据。数据管理技术好坏评判的标准数据管理技术好坏评判的标准(3 3)数据独立性)数据独立性 数据独立性是指应用程序和数据之间相互独立,不受影响。即数据结构的修改不引起应用程序修改的特性。数据独立性包括:逻辑独立性 物理独立性(4 4)数据统一集中管理)数据统一集中管理 提供对数据进行安全性控制、完整性控制、并发性控制等功能。1.2 1.2 计算机数据管理的计算机数据管理的3 3个阶段个阶段1.2.1 1.2.1 人工管理阶段人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算,数据量不大,也没有专门的软件对数据进行管理。1.1.人工管理阶段的特点人工管理阶段的特点 数据是面向应用的,一组数据对应一个程序,数据冗余大,不能实现数据共享。数据不保存,数据与程序合在一起,数据独立性差。没有软件系统对数据管理,只能采用手工方式进行处理。程序员负担重,他必须自己编程实现数据的存储结构、存取方法和输入输出,迫使程序员直接与物理设备打交道,加大了程序设计难度,编程效率低。数据集数据集1应用程序应用程序1数据集数据集2应用程序应用程序2应用程序应用程序n数据集数据集n人工管理阶段人工管理阶段2.2.人工管理阶段应用程序与数据之间的关系人工管理阶段应用程序与数据之间的关系文件系统阶段文件系统阶段1.2.2 1.2.2 文件系统阶段文件系统阶段 20世纪50年代末,计算机不仅用于科学计算,而且大量用于数据管理,同时磁盘、磁鼓等大容量直接存储设备的出现,使存放大量数据成为可能。操作系统中的文件系统就是专门用来管理所存储数据的软件。1.1.文件系统阶段的特点文件系统阶段的特点 数据以文件形式组织,可以长期保存在磁盘上。数据有了逻辑结构和物理结构之分,由“存取方法”实现逻辑结构与物理结构的映射。数据是面向特定用途设计的,一个文件基本上对应一个应用程序,造成数据冗余大,数据共享性差;文件之间相互独立,数据联系弱。实现了数据的物理独立性,但未实现数据的逻辑独立性。文件系统阶段文件系统阶段文件文件系统系统文件文件1应用程序应用程序1文件文件2应用程序应用程序2文件文件n应用程序应用程序n2.2.文件系统阶段应用程序与数据之间的关系文件系统阶段应用程序与数据之间的关系数据库系统阶段数据库系统阶段1.2.3 1.2.3 数据库系统阶段数据库系统阶段 20世纪60年代后期,随着数据管理的规模日趋增大,数据量的急剧增加,文件系统已不能适应需要。为此,人们研制出了一种新的、先进的数据管理方法,即数据库系统。1.1.数据库系统阶段的特点数据库系统阶段的特点 实现了数据共享。面向全组织的数据结构化,数据不再面向特定的某个或多个应用,而是面向整个应用系统,减少了数据冗余。数据独立性高,实现了数据的逻辑独立性和物理独立性。统一数据控制功能,提供了数据安全性控制、数据完整性控制、并发控制和数据库恢复等数据控制功能。数据库系统阶段数据库系统阶段应用程序应用程序1应用程序应用程序2应用程序应用程序nDBMSDB2.2.数据库系统阶段应用程序与数据之间的关系数据库系统阶段应用程序与数据之间的关系思考题思考题问:文件系统中的文件与数据库系统中的文件问:文件系统中的文件与数据库系统中的文件有何本质的区别有何本质的区别?答:文件系统中的文件是面向应用的,一个文答:文件系统中的文件是面向应用的,一个文件基本对应一个应用程序,文件之间不存在联件基本对应一个应用程序,文件之间不存在联系系,数据冗余大。数据库系统中的文件是面向整数据冗余大。数据库系统中的文件是面向整个应用系统,文件之间相互联系,减少了数据个应用系统,文件之间相互联系,减少了数据冗余,实现了数据共享。冗余,实现了数据共享。例例例:某系统涉及人事、科研、教学、工资四个部门。假定每个部门只有一种登记表。其结构如下,试建立该系统的数据结构。序号序号姓名姓名性别性别年龄年龄职称职称单位单位工龄工龄工资工资人事文件人事文件科研文件科研文件序号序号姓名姓名性别性别年龄年龄职称职称单位单位科研名称科研名称经费经费教学文件教学文件序号序号姓名姓名性别性别年龄年龄职称职称单位单位课程名课程名 学时学时工资文件工资文件序号序号姓名姓名单位单位工资工资工龄补贴工龄补贴 房租房租 水电水电例例 文件系统:文件系统:建立与上述结构相同的四个文件。建立与上述结构相同的四个文件。存在的问题:存在的问题:数据冗余大。数据冗余大。文件是独立的、分散的,只反映文件文件是独立的、分散的,只反映文件本身的结构,而未反映文件间的联系,本身的结构,而未反映文件间的联系,因而不能进行文件交叉访问。因而不能进行文件交叉访问。例例 数据库系统:数据库系统:(分三步进行)(分三步进行)第一步:建立全局数据逻辑结构。第一步:建立全局数据逻辑结构。数据的组织、存储与应用程序相分离独立进行,全面综合数据的组织、存储与应用程序相分离独立进行,全面综合地考虑数据的组织,从整个系统的效率、性能出发来组织数据。地考虑数据的组织,从整个系统的效率、性能出发来组织数据。第二步:建立局部数据逻辑结构。第二步:建立局部数据逻辑结构。面向各个具体用户,从满足用户的需求出发,从全局数据面向各个具体用户,从满足用户的需求出发,从全局数据逻辑结构导出各自所需的基本结构。逻辑结构导出各自所需的基本结构。第三步:建立数据物理结构。第三步:建立数据物理结构。面向物理存储、在保证全局数据逻辑结构的前提下,权衡面向物理存储、在保证全局数据逻辑结构的前提下,权衡系统的空间利用、效率等,按物理存储的最佳形式来组织文件系统的空间利用、效率等,按物理存储的最佳形式来组织文件结构结构。例例第一层第一层水水电电房房租租学学时时课程课程名名经经费费科研科研名称名称工工资资工工龄龄单单位位职职称称年年龄龄性性别别姓姓名名序序号号第二层第二层单位单位职称职称年龄年龄性别性别姓名姓名序号序号经费经费科研名称科研名称序号序号学时学时课程名课程名序号序号水电水电房租房租工资工资工龄工龄序号序号第三层第三层1.3 1.3 什么是数据库系统什么是数据库系统 数据库系统数据库系统(DBSDBS-D Data ata B Base ase S System)ystem)是指是指具有管理数据库功能的计算机系统。它具有管理数据库功能的计算机系统。它由数据由数据库、用户、软件和硬件四部分组成。库、用户、软件和硬件四部分组成。1.3.1 1.3.1 数据库数据库 数据库数据库(DBDB-D Data ata B Base)ase):按一定结构组织存:按一定结构组织存储的、集成的、可共享的数据的集合。这里的储的、集成的、可共享的数据的集合。这里的结构是指数据库的结构要依据结构是指数据库的结构要依据DBMSDBMS所支持的数所支持的数据模型来建立。据模型来建立。数据库系统中的用户数据库系统中的用户1.3.2 1.3.2 用户用户1.1.数据库管理员(数据库管理员(DBADBA-D Data ata B Base ase A Administratordministrator)DBADBA是指组织数据库的计划、设计、建立、运行监视、维护以及重开发是指组织数据库的计划、设计、建立、运行监视、维护以及重开发的全部技术工作的专业人员。的全部技术工作的专业人员。DBADBA的职责:的职责:(1 1)决定数据库中的信息内容和结构。)决定数据库中的信息内容和结构。(2 2)决定数据库的存储结构和存储策略。)决定数据库的存储结构和存储策略。(3 3)定义数据的安全性要求和完整性约束条件。)定义数据的安全性要求和完整性约束条件。(4 4)监控数据库的使用和运行。)监控数据库的使用和运行。(5 5)数据库的重组和重构。)数据库的重组和重构。2.2.应用程序员应用程序员 是是指负责设计和编制应用程序的人员。指负责设计和编制应用程序的人员。3.3.终端用户终端用户 是是指从计算机终端存取数据库的人员指从计算机终端存取数据库的人员。1.4 1.4 数据库管理系统数据库管理系统 DBMSDBMS是数据库系统的核心,是为数据库建立、使是数据库系统的核心,是为数据库建立、使用和维护而配置的系统软件。它建立在操作系统的基用和维护而配置的系统软件。它建立在操作系统的基础之上,是位于操作系统与用户之间的一层数据管理础之上,是位于操作系统与用户之间的一层数据管理软件,负责对数据库进行统一的管理和控制。软件,负责对数据库进行统一的管理和控制。nDBMSDBMS的软件地位:的软件地位:用户、应用软件用户、应用软件DBMSDBMSOSOSDBDBDBMSDBMS的主要功能的主要功能1.4.1 DBMS1.4.1 DBMS的主要功能的主要功能 1.1.数据定义数据定义 提供数据定义语言提供数据定义语言(DDLDDL-D Data ata D Definition efinition L Language)anguage)定义数据库结构及其相互之间的映象,定义数据的完整性、安定义数据库结构及其相互之间的映象,定义数据的完整性、安全性控制等约束。全性控制等约束。2.2.数据操纵数据操纵 提供数据操纵语言提供数据操纵语言(DMLDML-D Data ata M Manipulation anipulation L Language)anguage)实现对数据库中数据的检索、插入、删除和修改。实现对数据库中数据的检索、插入、删除和修改。3.3.数据库运行管理数据库运行管理 提供数据安全性控制、并发控制、和数据提供数据安全性控制、并发控制、和数据完整性控制等数据控制功能。完整性控制等数据控制功能。4.4.数据库的建立和维护数据库的建立和维护 数据库初始数据的装入,数据库的转数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。储、恢复、重组织,系统性能监视、分析等功能。5.5.数据通信数据通信 实现用户程序与实现用户程序与DBMSDBMS之间的通信之间的通信。DBMSDBMS的组成的组成1.4.2 DBMS1.4.2 DBMS的组成的组成 1.1.语言翻译处理程序语言翻译处理程序 主要包括数据定义语言编译程序、数据操纵语言编译程序、终端主要包括数据定义语言编译程序、数据操纵语言编译程序、终端命令解释程序、数据库控制命令解释程序等。命令解释程序、数据库控制命令解释程序等。2.2.系统运行控制程序系统运行控制程序 主要包括系统总控程序、存取控制程序、并发控制程序、完整性主要包括系统总控程序、存取控制程序、并发控制程序、完整性控制程序、安全性控制程序、数据存取和更新程序、通信控制程序控制程序、安全性控制程序、数据存取和更新程序、通信控制程序等。等。3.3.系统建立、维护程序系统建立、维护程序 主要包括数据装入程序、数据库重组程序、数据库恢复程序、性主要包括数据装入程序、数据库重组程序、数据库恢复程序、性能监督程序等。能监督程序等。4.4.数据字典数据字典 数据字典是对数据库中数据的描述信息的集合。通过数据字典数据字典是对数据库中数据的描述信息的集合。通过数据字典DBMSDBMS能快速查询有关对象,能快速查询有关对象,DBADBA能掌握整个系统运行的情况。能掌握整个系统运行的情况。数据库系统中的软件和硬件数据库系统中的软件和硬件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 硬件硬件 要求有足够大的内存,以存放要求有足够大的内存,以存放OSOS、DBMSDBMS、系统缓、系统缓冲区、应用程序等;配有高速的、大容量的直接存取冲区、应用程序等;配有高速的、大容量的直接存取的外存;要有较高的通道能力,以提高数据的传输速的外存;要有较高的通道能力,以提高数据的传输速度。度。1.5 1.5 数据模型数据模型 数据库数据库是一个结构化的数据集合,这个结构要使用数据模是一个结构化的数据集合,这个结构要使用数据模型来描述型来描述。数据模型数据模型 是是表示数据及其联系的模型。表示数据及其联系的模型。数据模型分类数据模型分类概念模型(也称语义模型)概念模型(也称语义模型)(常用(常用E-RE-R模型)模型)结构数据模型(简称数据模型)结构数据模型(简称数据模型)(层次模型、网状模(层次模型、网状模型、关系模型型、关系模型)概念模型是按用户的观点来对数据和信息建模,它强调语义概念模型是按用户的观点来对数据和信息建模,它强调语义表达能力,建模容易、方便、概念简单、清晰,易于用户理解,表达能力,建模容易、方便、概念简单、清晰,易于用户理解,它是一种独立于计算机系统的模型;它是一种独立于计算机系统的模型;结构数据模型是按计算机结构数据模型是按计算机系统的观点对数据建模,它着重于具体描述数据的数据结构。系统的观点对数据建模,它着重于具体描述数据的数据结构。思考题思考题 问:能否一步到位,只建立结构数据模型呢?问:能否一步到位,只建立结构数据模型呢?答:可以,但更多是采用分二步的设计方法。答:可以,但更多是采用分二步的设计方法。因为建立数据模型不是件简单的事,它既要模因为建立数据模型不是件简单的事,它既要模拟现实世界,又要考虑数据结构,存取效率等拟现实世界,又要考虑数据结构,存取效率等一系列因素,使问题变得复杂,对此,人们通一系列因素,使问题变得复杂,对此,人们通过一个中间步骤,先用过一个中间步骤,先用E-RE-R模型反映实体及其联模型反映实体及其联系,再从系,再从E-RE-R模型出发结合具体数据模型进行转模型出发结合具体数据模型进行转换。换。概念模型概念模型1.5.1 1.5.1 概念模型概念模型 概念概念模型是对客观事物及其联系的抽象,用于信息世界的模型是对客观事物及其联系的抽象,用于信息世界的建模。建模。概念模型的主要概念:概念模型的主要概念:实体实体-客观存在并可相互区别的事物。客观存在并可相互区别的事物。属性属性-实体所具有的某一特性。实体所具有的某一特性。关键字关键字(码,(码,keykey)-实体的某一属性或属性组合,其实体的某一属性或属性组合,其值能惟一标识某一实体。值能惟一标识某一实体。域域-属性的取值范围。属性的取值范围。实体型实体型-用实体名及其属性名集合来抽象和刻画的同类用实体名及其属性名集合来抽象和刻画的同类实体。实体。例:学生(学号,姓名,性别,班号)例:学生(学号,姓名,性别,班号)实体集实体集-同一类型的实体集合称为实体集。同一类型的实体集合称为实体集。实体之间的联系实体之间的联系实体间的联系实体间的联系 一对一联系(一对一联系(1:11:1)一对多联系(一对多联系(1:m1:m)多对多联系(多对多联系(m:nm:n)例:例:系系 -系主任系主任 (1:11:1)学生学生 -座位座位 (1:11:1)班级班级 -学生学生 (1:m1:m)公司公司 -职员职员 (1:m1:m)学生学生 -课程课程 (m:nm:n)运动员运动员 -项目项目 (m:nm:n)n设实体集:设实体集:n E1 E2E1 E2实体联系模型实体联系模型 E-R E-R模型模型(E Entity ntity R Relationshipelationship),也称为实体),也称为实体联系模型,是概念模型最常用的表示方法。联系模型,是概念模型最常用的表示方法。E-RE-R模型的基本成分模型的基本成分:实体集实体集 用长方形表示用长方形表示属性属性 用椭圆表示用椭圆表示联系联系 用菱形表示用菱形表示联系名联系名实体型实体型A实体型实体型B11nm实体联系模型之例实体联系模型之例sumsum?总分总分:sum:sum?成绩成绩:score:scorescorescoren 注意:注意:联系也有属性。联系也有属性。例:例:nono学生学生s s课程课程c cS-CS-Cageagenamenamecnocnocnamecnamem mn n实体联系模型之例实体联系模型之例 例:例:为某百货公司数据库系统设计一个为某百货公司数据库系统设计一个E-RE-R模型。百货公司模型。百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。商店的属性有:店号、职工,但每个职工只能服务于一家商店。商店的属性有:店号、店名、店址、店经理。商品的属性有:商品号、品名、单价、店名、店址、店经理。商品的属性有:商品号、品名、单价、产地。职工的属性有:工号、姓名、性别、工资。在联系中应产地。职工的属性有:工号、姓名、性别、工资。在联系中应反映出职工参加某商店工作的开始时间,商店销售商品的月销反映出职工参加某商店工作的开始时间,商店销售商品的月销售量。售量。E-RE-R模型设计的一般步骤:模型设计的一般步骤:确定实体集确定实体集确定实体集之间的联系和联系的类型确定实体集之间的联系和联系的类型确定属性(实体属性、联系属性)确定属性(实体属性、联系属性)实体联系模型之例实体联系模型之例职职 工工商商 品品商商 店店店号店号店址店址店名店名产地产地单价单价品名品名工资工资性别性别姓名姓名工号工号店经理店经理商品号商品号开始时间开始时间月销售量月销售量经营经营隶属隶属1 1n nm mm m百货公司的百货公司的E-RE-R图图常用的数据模型常用的数据模型1.5.2 1.5.2 常用的数据模型常用的数据模型1.1.关系模型关系模型 用用二维表格结构来表示实体以及实体之间联系的数据模型。二维表格结构来表示实体以及实体之间联系的数据模型。2.2.层次模型层次模型 用用树结构表示实体间联系的数据模型。树结构表示实体间联系的数据模型。层次模型的特征是:层次模型的特征是:有且仅有一个结点没有父结点,它就是根结点;有且仅有一个结点没有父结点,它就是根结点;其他结点有且仅有一个父结点。其他结点有且仅有一个父结点。在在层次模型中,每个结点描述一个实体型,称为记录型。层次模型中,每个结点描述一个实体型,称为记录型。一个记录型可有许多记录值,一个记录型可有许多记录值,简称为记录。结点之间的有向简称为记录。结点之间的有向边表示记录之间的联系。如果要存取某一记录型的记录,可以边表示记录之间的联系。如果要存取某一记录型的记录,可以从根结点开始,按照有向树层次逐层向下查找,查找路径就是从根结点开始,按照有向树层次逐层向下查找,查找路径就是存取路径。存取路径。层次模型层次模型记录类型记录类型1:m的联系的联系R1R3R2R4R5层次模型层次模型网状模型网状模型3.3.网状模型网状模型 用用网状结构表示实体间联系的数据模型。网状结构表示实体间联系的数据模型。网中的每一个结点代表一个记录类型,联系用网中的每一个结点代表一个记录类型,联系用链接指针来实现。广义地讲,任何一个连通的链接指针来实现。广义地讲,任何一个连通的基本层次联系的集合都是网状模型。它取消了基本层次联系的集合都是网状模型。它取消了层次模型的两点限制。层次模型的两点限制。网状模型的特征是:网状模型的特征是:允许结点有多于一个的父结点;允许结点有多于一个的父结点;可以有一个以上的结点没有父结点。可以有一个以上的结点没有父结点。1.6 1.6 关系数据库关系数据库1.6.1 1.6.1 基本术语基本术语 关系关系 -一个关系就是一张二维表,每个关系有一个关系名。一个关系就是一张二维表,每个关系有一个关系名。元组元组 -表中的行称为元组。一行为一个元组,对应存储文表中的行称为元组。一行为一个元组,对应存储文件中的一个记录值。件中的一个记录值。属性属性 -表中的列称为属性,每一列有一个属性名。属性值表中的列称为属性,每一列有一个属性名。属性值相当于记录中的数据项或者字段值。相当于记录中的数据项或者字段值。域域 -属性的取值范围,即不同元组对同一个属性的值所限属性的取值范围,即不同元组对同一个属性的值所限定的范围。例如,逻辑型属性只能从逻辑真或逻辑假两个值中定的范围。例如,逻辑型属性只能从逻辑真或逻辑假两个值中取值。取值。关系模式关系模式 -关系结构的描述。关系结构的描述。R(A1R(A1,A2A2,A3A3,An)An)例:学生例:学生(学号,姓名,年龄学号,姓名,年龄)基本术语基本术语 侯选侯选关键字关键字 -属性或属性组合,其值能惟一标识一个属性或属性组合,其值能惟一标识一个元组。元组。主关键字主关键字 -用户选作元组标识的一个侯选关键字。用户选作元组标识的一个侯选关键字。主属性主属性 -包含在任一侯选关键字中的属性。包含在任一侯选关键字中的属性。非主属性非主属性 -不包含在任一侯选关键字中的属性。不包含在任一侯选关键字中的属性。外关键字外关键字 -如果一个关系中的属性或属性组并非该关如果一个关系中的属性或属性组并非该关系的关键字,但它们是另外一个关系的关键字,则称其为系的关键字,但它们是另外一个关系的关键字,则称其为该关系的外关键字。该关系的外关键字。例:学生(例:学生(学号学号,姓名,性别,姓名,性别,专业号专业号,年龄),年龄)专业(专业(专业号专业号,专业名),专业名)“专业号专业号”是学生关系的外关键字。是学生关系的外关键字。全关键字全关键字 -由所有属性组成的侯选关键字。由所有属性组成的侯选关键字。基本术语基本术语 属性属性元组元组主关键字主关键字教师编号教师编号姓名姓名性别性别所在系名所在系名001001王丽华王丽华女女计算机系计算机系008008孙军孙军男男电子工程系电子工程系教师关系教师关系关系模型的特征关系模型的特征 关系模型的特征:关系模型的特征:描述的一致性。实体及实体之间的联系都是用关系来描描述的一致性。实体及实体之间的联系都是用关系来描述。述。可直接表示多对多关系。可直接表示多对多关系。关系必须是规范化的关系。每个属性是不可分的数据项,关系必须是规范化的关系。每个属性是不可分的数据项,不允许表中有表。不允许表中有表。有较强的理论基础。有较强的理论基础。例:有如下三个关系模式:例:有如下三个关系模式:学生(学生(学号学号,姓名,性别,年龄),姓名,性别,年龄)课程(课程(课程号课程号,课程名,学时,学分),课程名,学时,学分)学习(学习(学号,课程号学号,课程号,成绩),成绩)其中:学生、课程关系是描述实体的,学习关系是描述学生和其中:学生、课程关系是描述实体的,学习关系是描述学生和课程之间存在的选课联系的。课程之间存在的选课联系的。不符合关系模型规范的表不符合关系模型规范的表车间号车间号班组班组工资工资超额奖超额奖实发实发基本基本补助补助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 关系运算关系运算 从一个或多个关系中找出所需要的数据,要使用关系运算。从一个或多个关系中找出所需要的数据,要使用关系运算。1.1.笛卡尔积笛卡尔积 RSR .A1 R.A2 R.A3 S.A2 S.A3 b 2 d 2 d b 2 d 3 b b 3 b 2 d b 3 b 3 b c 2 d 2 d c 2 d 3 b d 3 b 2 d d 3 b 3 b S A2 A3 2 d 3 b R A1 A2 A3 b 2 d b 3 b c 2 d d 3 b 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的一个元组。的一个元组。关系运算关系运算2.2.选择选择F F(R)(R):在关系:在关系R R中求取满足给定条件中求取满足给定条件F F的元的元组组成的集合。组组成的集合。F F的组成:的组成:运算对象:常数、元组分量(属性名或列运算对象:常数、元组分量(属性名或列号)号)运算符运算符算术比较符:算术比较符:、5A25A3“f”A3“f”(R)或或 25253“f”3“f”(R)R A1 A2 A3 a 3 f b 2 d c 2 d e 6 f g 6 f A1 A2 A3 b 2 d c 2 d e 6 f g 6 f253253“f f”(R)关系关系运算运算3.3.投影运算投影运算 A A(R):(R):在关系在关系R R中求指定的若干个属性列组成的集合(消除中求指定的若干个属性列组成的集合(消除重复元组)。重复元组)。A3 A2 f 3 d 2 f 63,2AA(R)R A1 A2 A3 a 3 f b 2 d c 2 d e 6 f g 6 f 关系关系运算运算4.4.连接运算连接运算(1 1)一般连接()一般连接(为关系比较符)为关系比较符)R R S S A B A B 含义:从含义:从R R X X S S中选取中选取R R关系在关系在A A属性组上的属性组上的值与值与S S关系在关系在B B属性组上值满足属性组上值满足关系的元组。关系的元组。(2 2)等值连接:)等值连接:为为“=”=”的连接。的连接。关系运算关系运算(3 3)自然连接)自然连接 R R S S:自然连接是在两个关系的公共属:自然连接是在两个关系的公共属性上进行的等值连接,并且除去重复属性。性上进行的等值连接,并且除去重复属性。计算过程:计算过程:R RS S 公共属性上的等值选择。公共属性上的等值选择。去掉重复属性去掉重复属性 连接连接运算之例运算之例 设有关系设有关系R R、S(S(如下表所示如下表所示),计算:,计算:(1)R1=R(1)R1=R S S(2)R2=R (2)R2=R S S ADAYY,则称,则称Y Y部分函数依赖于部分函数依赖于X X,记作:,记作:X X P P Y Y。例:例:关系关系R R中有:中有:(B,D)(B,D)P P C C,(A,D)(A,D)P P B B ,(A,D),(A,D)P P C C 完全函数依赖完全函数依赖:如果如果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 A 传递函数依赖传递函数依赖:如果如果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)规范化设计理念和方法规范化设计理念和方法 关系的规范化是将一个低级范式的关系模式,关系的规范化是将一个低级范式的关系模式,通过关系模式的分解转换为若干个高级范式的通过关系模式的分解转换为若干个高级范式的过程。过程。1.1.第一范式(第一范式(1NF1NF)若若R R的每个分量都是不可分的数据项,则的每个分量都是不可分的数据项,则R1NFR1NF。从型上看:不存在嵌套结构。从型上看:不存在嵌套结构。从值上看:不存在重复组。从值上看:不存在重复组。1NF1NF是关系模式的最低要求。是关系模式的最低要求。非非1NF1NF的二维表的二维表车间号车间号班组班组工资工资超额奖超额奖实发实发基本基本补助补助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转换后的转换后的1NF1NF关系关系车间号车间号班组班组基本工资基本工资补助工资补助工资超额奖超额奖实发实发 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是是1NF1NF关系,但它存在数据冗余,插入异常和删除异关系,但它存在数据冗余,插入异常和删除异常等问题。常等问题。规范化设计理念和方法规范化设计理念和方法2.2.第二范式(第二范式(2NF2NF)若关系若关系R1NFR1NF,且不存在任何非主属性对侯选关键字的部分函数,且不存在任何非主属性对侯选关键字的部分函数依赖,则依赖,则R2NFR2NF。分析:分析:关系关系s s不是不是2NF2NF。因为,侯选关键字为因为,侯选关键字为(学号,课程号)(学号,课程号)非主属性:非主属性:姓名、课程名、教师号、教师名、教师地址、成绩姓名、课程名、教师号、教师名、教师地址、成绩 函数依赖有:函数依赖有:学号学号姓名,课程号姓名,课程号课程名,课程号课程名,课程号教师号,教师号,教师号教师号教师姓名,教师号教师姓名,教师号教师地址教师地址 所以,(学号,课程号)所以,(学号,课程号)P P 姓名姓名 (学号,课程号)(学号,课程号)P P 课程名课程名 (学号,课程号)(学号,课程号)P P 教师号教师号 (学号,课程号)(学号,课程号)P P 教师名教师名 (学号,课程号)(学号,课程号)P P 教师地址教师地址规范化设计理念和方法规范化设计理念和方法 分解为分解为2NF2NF的方法:的方法:将满足部分函数依赖和满足完全函数依赖的属性分将满足部分函数依赖和满足完全函数依赖的属性分解到不同的关系中。解到不同的关系中。关系关系S S分解为分解为3 3个关系:个关系:s1(s1(学号,姓名学号,姓名)s2(s2(课程号,课程名,教师号,教师名,教师地址课程号,课程名,教师号,教师名,教师地址)s3(s3(学号,课程号,成绩学号,课程号,成绩)分解后,关系分解后,关系s1s1、s2s2、s3s3都为都为2NF2NF。规范化设计理念和方法规范化设计理念和方法 达到达到2NF2NF的关系仍然可能存在问题。的关系仍然可能存在问题。例如,在例如,在关系关系s2s2中还存在以下问题:中还存在以下问题:(1 1)数据冗余。一个教师承担多门课程时,教师的)数据冗余。一个教师承担多门课程时,教师的地址要重复存储。地址要重复存储。(2 2)插入异常。一个新教师报到,需将其有关数据)插入异常。一个新教师报到,需将其有关数据插入到插入到s2s2关系中,但该教师暂时还未承担任何教学任关系中,但该教师暂时还未承担任何教学任务,则因缺关键字课程号的值而不能进行插入操作。务,则因缺关键字课程号的值而不能进行插入操作。(3 3)删除异常。删除某门课程时,会丢失该课程任)删除异常。删除某门课程时,会丢失该课程任课教师的信息。课教师的信息。规范化设计理念和方法规范化设计理念和方法3.3.第三范式(第三范式(3NF3NF)若关系若关系R2NFR2NF,且不存在非主属性对侯选关键字的,且不存在非主属性对侯选关键字的传递函数依赖,则传递函数依赖,则R3NFR3NF。分析:分析:关系关系s2s2不是不是3NF3NF。因为,侯选关键字为因为,侯选关键字为:课程号课程号 非主属性:非主属性:教师号、课程名、教师名、教师地址教师号、课程名、教师名、教师地址 课程号课程号教师号,教师号教师号,教师号+课程号,教师号课程号,教师号教教师地址师地址 课程号课程号 T T 教师地址教师地址规范化设计理念和方法规范化设计理念和方法 分解为分解为3NF3NF的方法:的方法:将将涉及传递函数依赖中的两个依赖中的属涉及传递函数依赖中的两个依赖中的属性分解到不同的关系中。性分解到不同的关系中。将将s2s2分解为:分解为:s21s21(课程号,课程名,教师号课程号,课程名,教师号)s22 s22(教师号,教师名,教师地址教师号,教师名,教师地址)则则关系关系s21s21和和s22s22都是都是3NF3NF,关系,关系s s中存在的中存在的问题得到了解决。问题得到了解决。3 3种范式的关系:种范式的关系:规范化设计理念和方法规范化设计理念和方法1NF1NF非规范化的关系非规范化的关系2NF2NF3NF3NF消除组合数据项消除组合数据项消除非主属性对关消除非主属性对关键字的部分函数依键字的部分函数依赖赖消除非主属性对关消除非主属性对关键字的传递函数依键字的传递函数依赖赖范式的范式的转换关系:转换关系:1NF1NF2NF2NF3NF3NF 1.7 1.7 数据库数据库设计设计 数据库设计数据库设计:是指对于一个给定的应用环境,构造是指对于一个给定的应用环境,构造最优的数据模型,然后据此建立数据库及其应用系统,最优的数据模型,然后据此建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。使之能够有效地存储数据,满足各种用户的应用需求。数据库设计的内容数据库设计的内容:结构特性设计结构特性设计行为特性设计行为特性设计 数据库设计的目标数据库设计的目标:满足要求与模拟精确程度满足要求与模拟精确程度 良好的数据库性能良好的数据库性能数据库设计步骤数据库设计步骤需求分析需求分析概念结构设计概念结构设计逻辑结构设计逻辑结构设计数据库物理设计数据库物理设计数据库实施数据库实施数据库数据库运行和维护运行和维护需求收集和分析需求收集和分析设计概念结构设计概念结构设计逻辑结构设计逻辑结构数据模型优化数据模型优化设计物理结构设计物理结构评价设计、性能预测评价设计、性能预测物理实现物理实现试运行试运行对数据库系统对数据库系统进行评价、调整与修改进行评价、调整与修改需求分析需求分析1.7.1 1.7.1 需求分析需求分析一、需求分析的任务一、需求分析的任务 收集与分析用户的信息及应用处理的要求,并将收集与分析用户的信息及应用处理的要求,并将结果按照一定的格式形成需求说明书。结果按照一定的格式形成需求说明书。二、需求分析的方法二、需求分析的方法 1.1.需求信息的收集需求信息的收集 (1 1)了解组织的机构设置)了解组织的机构设置 (2 2)主要业务活动和职能)主要业务活动和职能 (3 3)了解系统的各种外部要求)了解系统的各种外部要求 (4 4)确定系统边界)确定系统边界需求分析需求分析 2.2.需求信息的分析整理需求信息的分析整理 用数据流图和数据字典描述。用数据流图和数据字典描述。三、数据流图三、数据流图(DFDDFD-D Data ata F Flow low D Diagram)iagram)DFD DFD用来表示收集到的各业务流程中涉及到的数据和处理过程的用来表示收集到的各业务流程中涉及到的数据和处理过程的关系。关系。数据流图的基本成分:数据流图的基本成分:表示同类数据的集中存放处,通常指数据文件表示同类数据的集中存放处,通常指数据文件表示对数据的处理表示对数据的处理表示不同处理过程之间传递的数据表示不同处理过程之间传递的数据表示数据的发送者和接收者表示数据的发送者和接收者需求分析需求分析四、数据字典四、数据字典(DDDD-Data-Data D Dictionary)ictionary)数据库应用系统的数据字典包括:数据项、数据库应用系统的数据字典包括:数据项、数据结构、数据流、数据存储、处理过程。数据结构、数据流、数据存储、处理过程。例:例:下图给出了某机器制造厂的零配件采购下图给出了某机器制造厂的零配件采购子系统的数据流图。该子系统要处理的工作是子系统的数据流图。该子系统要处理的工作是生产部门提出的生产计划根据零配件当前价格生产部门提出的生产计划根据零配件当前价格计算成本送主管部门审批,对已批准生产计划计算成本送主管部门审批,对已批准生产计划制定采购计划,准备好订货单给供应商。制定采购计划,准备好订货单给供应商。零配件采购子系统零配件采购子系统DFDDFD核对核对预算预算确定采确定采购计划购计划编制编制定货单定货单供应商供应商零配件采购记录零配件采购记录生产计划生产计划批准批准/不批准不批准批准批准/不批准不批准核对核对预算预算产品产品预算预算零件零件价格价格零件零件库存量库存量报价单报价单供应商报价供应商报价采购采购计划计划订单细节订单细节订货单订货单零配件采购子系统的数据字典零配件采购子系统的数据字典数据项数据项描述数据项名,数据项含义说明,描述数据项名,数据项含义说明,别名,数据类型,长度,别名,数据类型,长度,取值范围,取值含义,取值范围,取值含义,与其他数据项的逻辑关系与其他数据项的逻辑关系例:数据项名:订货单号例:数据项名:订货单号 类型:类型:CHARCHAR 长度:长度:8 8 别名:别名:采购单号采购单号 取值范围:取值范围:10000000-9999999910000000-99999999零配件采购子系统的数据字典零配件采购子系统的数据字典 数据结构是若干数据项有意义的集合。数据结构是若干数据项有意义的集合。数据结构数据结构描述数据结构名,含义说明,组成描述数据结构名,含义说明,组成:数据项或数据结构数据项或数据结构例例:数据结构数据结构:采购细节:采购细节含义说明含义说明:作为采购计划的组成部分,说明对某个产:作为采购计划的组成部分,说明对某个产品品要采购要采购哪些零件,哪种零件采购多少数量。哪些零件,哪种零件采购多少数量。组成组成:零件号、零件名、:零件号、零件名、数量数量零配件采购子系统的数据字典零配件采购子系统的数据字典 数据流表示加工处理过程的输入或输出数据。数据流表示加工处理过程的输入或输出数据。数据流数据流描述数据流名,说明,数据流来源,数据流去向,描述数据流名,说明,数据流来源,数据流去向,组成组成:数据结构,平均流量,高峰期流量数据结构,平均流量,高峰期流量例例:数据流数据流名:采购计划名:采购计划说明说明:由各产品所需零件数、选定的供应商、审核:由各产品所需零件数、选定的供应商、审核情况组成情况组成采采购零配件计划。购零配件计划。来源来源:确定采购计划:确定采购计划去向去向:编制订货单:编制订货单数据结构数据结构:-采购细节采购细节 -采购审核采购审核零配件采购子系统的数据字典零配件采购子系统的数据字典 数据数据存储是处理过程中要存取的数据。存储是处理过程中要存取的数据。数据存储数据存储描述数据存储名,说明,编号,流入的数据流,描述数据存储名,说明,编号,流入的数据流,流出的数据流,组成流出的数据流,组成:数据结构,数据量,存取方式数据结构,数据量,存取方式例例:数据数据存储名:产品存储名:产品说明说明:对每种产品的品名、规格的描述,并对每种:对每种产品的品名、规格的描述,并对每种产品产品做成本做成本预算。在核对生产计划书的成本时用。预算。在核对生产计划书的成本时用。输出数据输出数据流:预算流:预算组成组成:产品号、产品名、预算:产品号、产品名、预算数据数据量:每月量:每月30-4030-40件件存取存取方式:随机存取方式:随机存取零配件采购子系统的数据字典零配件采购子系统的数据字典 处理过程是对加工处理过程的描述。处理过程是对加工处理过程的描述。处理过程处理过程描述处理过程名,说明,输入描述处理过程名,说明,输入:数据流,数据流,输出输出:数据流,处理数据流,处理:简要说明简要说明例例:处理处理过程:确定采购计划过程:确定采购计划说明说明:对要采购的每一零件,根据零件库存量确定采购数量:对要采购的每一零件,根据零件库存量确定采购数量,再再根据每位供应商的报价选择适当的供应商,制定根据每位供应商的报价选择适当的供应商,制定采购计划采购计划。输入输入:供应商报价、零件库存、已批准生产计划:供应商报价、零件库存、已批准生产计划输出输出:采购计划:采购计划简要简要说明说明:(:(1 1)对应采购的每种零件查找供应商报价表,选)对应采购的每种零件查找供应商报价表,选 择择报价最低的供应商号。报价最低的供应商号。(2 2)将此供应商号填入应采购零件表的相应列中。)将此供应商号填入应采购零件表的相应列中。概念结构设计概念结构设计1.7.2 1.7.2 概念结构设计概念结构设计 将将需求分析得到的用户需求抽象为概念模型的过程就是概需求分析得到的用户需求抽象为概念模型的过程就是概念结构设计。念结构设计。在进行数据库设计时,如果将现实世界中的客观对象直接在进行数据库设计时,如果将现实世界中的客观对象直接转换为机器世界中的对象,就会感到比较复杂,注意力往往被转换为机器世界中的对象,就会感到比较复杂,注意力往往被牵扯到更多的细节限制方面,而不能集中在最重要的信息的组牵扯到更多的细节限制方面,而不能集中在最重要的信息的组织结构和处理模式上。因此通常是将现实世界中的客观对象首织结构和处理模式上。因此通常是将现实世界中的客观对象首先抽象为不依赖任何先抽象为不依赖任何DBMSDBMS和具体机器的信息结构,即概念模型,和具体机器的信息结构,即概念模型,然后再把概念模型转换成具体机器上然后再把概念模型转换成具体机器上DBMSDBMS支持的数据模型。支持的数据模型。常用的概念结构的设计方法是常用的概念结构的设计方法是自底向上自底向上的设计方法。下面的设计方法。下面就介绍采用这种设计方法的设计步骤。就介绍采用这种设计方法的设计步骤。概念结构设计概念结构设计一一.数据抽象与局部视图设计数据抽象与局部视图设计 根据需求分析的结果(数据流图、数据字典等)对现实世根据需求分析的结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图,即分界的数据进行抽象,设计各个局部视图,即分E-RE-R图。图。1.1.选择局部应用选择局部应用 可利用机构职能关系进行局部处理。可利用机构职能关系进行局部处理。2.2.逐一设计分逐一设计分E-RE-R图图 设计时注意:设计时注意:(1 1)实体与属性的划分原则)实体与属性的划分原则 属性应是系统中最小的信息单位,不再具有描述性质。属性应是系统中最小的信息单位,不再具有描述性质。属性不能与其他实体有联系属性不能与其他实体有联系。概念结构设计概念结构设计例:有职工、部门及其相关信息。例:有职工、部门及其相关信息。enoeno职工职工E E部门部门D DE-DE-Dageagenamenamednodnodnamedname部门部门D Ddnodno部门名部门名.职工职工E Eenoeno部门部门.概念结构设计概念结构设计病人病人住院号住院号姓名姓名病房号病房号病人病人住院号住院号姓名姓名住在住在1 1n n医疗医疗病房号病房号病房病房医生医生级别级别床位数床位数医生号医生号医生名医生名1 1m m职称职称概念结构设计概念结构设计二二.视图集成(全局视图设计)视图集成(全局视图设计)1.1.合并分合并分E-RE-R图,生成初步图,生成初步E-RE-R图图 合并的过程实际上是一个发现冲突和
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!