电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《SQLServer教案》PPT课件.ppt

108页
  • 卖家[上传人]:m****
  • 文档编号:577692135
  • 上传时间:2024-08-22
  • 文档格式:PPT
  • 文档大小:370.50KB
  • / 108 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第第1章章 数据库基础数据库基础数据库系统概述数据库系统概述1.1数据管理技术的发展数据管理技术的发展1.2数据数据模型模型1.3关系数据库关系数据库1.4数据库系统的体系结构数据库系统的体系结构1.5数据库系统设计简介数据库系统设计简介1.61 随着科学技术和社会经济的飞速发展,人们掌随着科学技术和社会经济的飞速发展,人们掌握的信息量急剧增加,要充分地开发和利用这些信握的信息量急剧增加,要充分地开发和利用这些信息资源,就必须有一种新技术能对大量的信息进行息资源,就必须有一种新技术能对大量的信息进行识别、存储、处理与传播。随着计算机软硬件技术识别、存储、处理与传播。随着计算机软硬件技术的发展,的发展,20世纪世纪60年代末,数据库技术应运而生,年代末,数据库技术应运而生,并从并从70年代起得到了迅速的发展和广泛的应用。数年代起得到了迅速的发展和广泛的应用。数据库技术主要研究如何科学地组织和存储数据,如据库技术主要研究如何科学地组织和存储数据,如何高效地获取和处理数据。数据库技术作为数据管何高效地获取和处理数据。数据库技术作为数据管理的最新技术,目前已广泛应用于各个领域。对于理的最新技术

      2、,目前已广泛应用于各个领域。对于一个国家来说,数据库的建设规模、数据库信息量一个国家来说,数据库的建设规模、数据库信息量的大小和使用频度已经成为衡量这个国家信息化程的大小和使用频度已经成为衡量这个国家信息化程度的重要标志。度的重要标志。21.1 数据库系统概述数据库系统概述1. 信息信息:信息是人脑对现实世界中的客观事物以及:信息是人脑对现实世界中的客观事物以及事物之间联系的抽象反映,它向我们提供了关于事物之间联系的抽象反映,它向我们提供了关于现实世界实际存在的事物及其联系的有用知识。现实世界实际存在的事物及其联系的有用知识。2. 数据数据:数据是人们用各种物理符号,把信息按一:数据是人们用各种物理符号,把信息按一定格式记载下来的有意义的符号组合。数据不仅定格式记载下来的有意义的符号组合。数据不仅仅是数字,还可以是文字、图象、声音等各种表仅是数字,还可以是文字、图象、声音等各种表现形式。数据经数字化后可以存入计算机中,是现形式。数据经数字化后可以存入计算机中,是数据库中存储的基本对象。数据和它的语义是不数据库中存储的基本对象。数据和它的语义是不可分割的。可分割的。31.1 数据库系统概

      3、述数据库系统概述数据的形式不能完全表达其内容。例如:数据的形式不能完全表达其内容。例如:n(李明,李明,78) 我们可以赋予它一定的语义,它表示李明的期末我们可以赋予它一定的语义,它表示李明的期末考试平均成绩为考试平均成绩为78分。如果不了解其语义,则无分。如果不了解其语义,则无法对其进行解释,甚至解释为李明的年龄为法对其进行解释,甚至解释为李明的年龄为78。n99:8179,7954 舅舅:不要吃酒,吃酒误事舅舅:不要吃酒,吃酒误事n111 一成不变一成不变n10002100100100 千方百计千方百计n78 七上八下七上八下n72 不三不四不三不四41.1 数据库系统概述数据库系统概述3. 数据处理数据处理:指对各种形式的数据进行收集、整理、:指对各种形式的数据进行收集、整理、加工、存储和传播的一系列活动的总和。其目加工、存储和传播的一系列活动的总和。其目的之一是从大量的原始数据中提取出对人们有的之一是从大量的原始数据中提取出对人们有价值的信息,作为行动和决策的依据;目的之价值的信息,作为行动和决策的依据;目的之二是为了借助计算机科学地保存和管理大量的二是为了借助计算机科学地保存

      4、和管理大量的复杂的数据,以便人们能方便地充分利用这些复杂的数据,以便人们能方便地充分利用这些信息资源。信息资源。4. 数据库数据库(DB):以一定的方式保存在计算机存储:以一定的方式保存在计算机存储设备上的设备上的相互关联相互关联的数据的集合。的数据的集合。51.1 数据库系统概述数据库系统概述5. 数据库管理系统数据库管理系统 (DBMS) : 用于帮助我们管理输用于帮助我们管理输入到计算机中的大量数据。如用于创建数据库,入到计算机中的大量数据。如用于创建数据库,向数据库中存储数据,修改数据库中的数据,从向数据库中存储数据,修改数据库中的数据,从数据库中提取信息等。一个数据库中提取信息等。一个DBMS应具备如下功应具备如下功能:能: (1)数据定义功能数据定义功能 (2)数据操纵功能数据操纵功能 (3)数据查询功能数据查询功能 (4)数据控制功能数据控制功能 (5)数据库通信功能数据库通信功能61.1 数据库系统概述数据库系统概述6. 数据库管理员数据库管理员:数据库的建立、使用和维护只:数据库的建立、使用和维护只靠靠DBMS是不够的,还需要有专门的人员来完是不够的,还需要有专门的人

      5、员来完成,这些人员称为数据库管理员成,这些人员称为数据库管理员7. 数据库系统数据库系统(DBS):在计算机系统中引入数据库:在计算机系统中引入数据库的系统。除了相关的硬件之外,数据库系统还的系统。除了相关的硬件之外,数据库系统还包括数据库、数据库管理系统、应用系统、数包括数据库、数据库管理系统、应用系统、数据库管理员和用户。据库管理员和用户。71.2 数据管理技术的发展数据管理技术的发展n什么是数据管理什么是数据管理? 对数据进行分类、组织、编码、存储、检索和维对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。护,是数据处理的中心问题。n数据管理技术的发展动力数据管理技术的发展动力 应用需求的推动应用需求的推动 计算机硬件的发展计算机硬件的发展 计算机软件的发展计算机软件的发展n 数据管理技术的发展过程数据管理技术的发展过程 人工管理阶段人工管理阶段(40年代中年代中-50年代中年代中) 文件系统阶段文件系统阶段(50年代末年代末-60年代中年代中) 数据库系统阶段数据库系统阶段(60年代末年代末-现在现在)81.2 数据管理技术的发展数据管理技术的发展1. 人工人

      6、工管理阶段管理阶段 在计算机发展的初级阶段,计算机硬件本身还不在计算机发展的初级阶段,计算机硬件本身还不具备象磁盘这样的可直接存取的存储设备,因此也具备象磁盘这样的可直接存取的存储设备,因此也无法实现对大量数据的保存,也没有用来管理数据无法实现对大量数据的保存,也没有用来管理数据的相应软件,计算机主要用于科学计算。这个阶段的相应软件,计算机主要用于科学计算。这个阶段的数据管理是以人工管理的方式进行的,人们还没的数据管理是以人工管理的方式进行的,人们还没有形成一套数据管理的完整的概念有形成一套数据管理的完整的概念。91.2 数据管理技术的发展数据管理技术的发展人工管理阶段人工管理阶段的主要特点:的主要特点:(1) 数据不保存。计算机主要用于科学计算,计算数据不保存。计算机主要用于科学计算,计算时输入数据,用完就撤走数据。时输入数据,用完就撤走数据。(2) 还没有文件的概念。数据由每个程序的程序员还没有文件的概念。数据由每个程序的程序员自行组织和安排。自行组织和安排。(3) 数据不共享:每组数据和一个应用程序相对应,数据不共享:每组数据和一个应用程序相对应,因此可能导致大量的数据重复。因此

      7、可能导致大量的数据重复。(4) 没有形成完整的数据管理的概念,更没有对数没有形成完整的数据管理的概念,更没有对数据进行管理的软件系统。每个程序都要包括数据进行管理的软件系统。每个程序都要包括数据存取方法、输入据存取方法、输入/输出方法和数据组织方法,输出方法和数据组织方法,程序直接面向存储结构,因此存储结构的任何程序直接面向存储结构,因此存储结构的任何修改都将导致程序的修改。程序和数据不具有修改都将导致程序的修改。程序和数据不具有独立性。独立性。101.2 数据管理技术的发展数据管理技术的发展人工管理阶段的特点可以用下图来描述:人工管理阶段的特点可以用下图来描述:应用程序应用程序1数据集数据集1应用程序应用程序2数据集数据集2应用程序应用程序n数据集数据集n111.2 数据管理技术的发展数据管理技术的发展2. 文件系统阶段文件系统阶段 随着计算机软硬件技术的发展,如直接存储设随着计算机软硬件技术的发展,如直接存储设备的产生,操作系统、高级语言及数据管理软件的备的产生,操作系统、高级语言及数据管理软件的出现,计算机不仅用于科学计算,也开始大量用于出现,计算机不仅用于科学计算,也开始大量用

      8、于信息管理。数据可以以文件的形式长期独立地保存信息管理。数据可以以文件的形式长期独立地保存在磁盘上,且可以由多个程序反复使用;操作系统在磁盘上,且可以由多个程序反复使用;操作系统及高级语言或数据管理软件提供了对数据的存取和及高级语言或数据管理软件提供了对数据的存取和管理功能,这就是文件系统阶段。管理功能,这就是文件系统阶段。121.2 数据管理技术的发展数据管理技术的发展文件系统阶段的主要特点:文件系统阶段的主要特点:(1) 数据数据可以长期保存在磁盘上,因此可以重复使用。数据可以长期保存在磁盘上,因此可以重复使用。数据不再属于某个特定的程序,可以由多个程序反复使用。不再属于某个特定的程序,可以由多个程序反复使用。(2) 数据数据的物理结构和逻辑结构有了区别,但较简单。程序的物理结构和逻辑结构有了区别,但较简单。程序开始通过文件名和数据打交道,不必关心数据的物理存放开始通过文件名和数据打交道,不必关心数据的物理存放位置,对数据的读位置,对数据的读/写方法由写方法由文件系统文件系统提供。提供。(3) 程序程序和数据之间有了一定的独立性。应用程序通过文件和数据之间有了一定的独立性。应用程序

      9、通过文件系统对数据文件中的数据进行存取和加工,程序员不必过系统对数据文件中的数据进行存取和加工,程序员不必过多地考虑数据的物理存储细节,并且,数据在存储上的改多地考虑数据的物理存储细节,并且,数据在存储上的改变不一定反映在程序上变不一定反映在程序上,节省了维护工作。,节省了维护工作。(4) 出现出现了多种文件存储形式了多种文件存储形式及相应的访问方式;但文件之及相应的访问方式;但文件之间是独立的,它们之间的联系要通过程序去构造,文件的间是独立的,它们之间的联系要通过程序去构造,文件的共享性也还比较差。数据的存取基本上以记录为单位。共享性也还比较差。数据的存取基本上以记录为单位。131.2 数据管理技术的发展数据管理技术的发展 文件系统阶段程序和数据之间的关系可以用下图文件系统阶段程序和数据之间的关系可以用下图来描述:来描述:应用程序应用程序1文件文件1应用程序应用程序2文件文件2应用程序应用程序n文件文件n文件文件系统系统141.2 数据管理技术的发展数据管理技术的发展 虽然文件系统比人工管理有了长足的进步,但虽然文件系统比人工管理有了长足的进步,但是文件系统所能提供的数据存取方法和操

      10、作数据的是文件系统所能提供的数据存取方法和操作数据的手段还是非常的有限。手段还是非常的有限。数据的存储结构和程序之间数据的存储结构和程序之间的依赖关系的依赖关系并未根本改变;数据并未根本改变;数据冗余冗余大;数据的重大;数据的重复以及复以及数据之间没有建立起相互联数据之间没有建立起相互联系还会造成数据系还会造成数据的不一致性的不一致性。 随着信息时代的到来,人们要处理的信息量急随着信息时代的到来,人们要处理的信息量急剧增加,对数据的处理要求也越来越复杂,文件系剧增加,对数据的处理要求也越来越复杂,文件系统的功能已经不能适应新的需求,而数据库技术也统的功能已经不能适应新的需求,而数据库技术也正是在这种需求的推动下逐步产生的正是在这种需求的推动下逐步产生的。151.2 数据管理技术的发展数据管理技术的发展 3. 数据库系统阶段数据库系统阶段 数据库系数据库系统阶段统阶段使用数据库技术来管理数据。它使用数据库技术来管理数据。它克服了文件系统的不足,并增强了许多新功能。在克服了文件系统的不足,并增强了许多新功能。在这一阶段,数据由数据库管理系统统一控制,数据这一阶段,数据由数据库管理系统统一控

      11、制,数据不再面向某个应用而是面向整个系统,因此数据可不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享。以被多个用户、多个应用共享。 161.2 数据管理技术的发展数据管理技术的发展数据库系统阶段的特点:数据库系统阶段的特点:(1) 能根据不同的需要按不同的方法组织数据,以最大限度能根据不同的需要按不同的方法组织数据,以最大限度地提高用户或应用程序访问数据的效率。地提高用户或应用程序访问数据的效率。(2) 数据库不仅能够保存数据本身,还能保存数据之间的相数据库不仅能够保存数据本身,还能保存数据之间的相互联系,保证了对数据修改的一致性。互联系,保证了对数据修改的一致性。(3) 相同的数据可以共享,降低了数据的冗余度。相同的数据可以共享,降低了数据的冗余度。(4) 数据具有较高的独立性,数据的组织和存储方法与应用数据具有较高的独立性,数据的组织和存储方法与应用程序相互独立,互不依赖,大大降低了应用程序的开发代程序相互独立,互不依赖,大大降低了应用程序的开发代价和维护代价。价和维护代价。(5) 提供了一整套的安全机制来保证数据的安全、可靠。提供了一整套的安全机制来保证数据

      12、的安全、可靠。(6) 可以给数据定义一些约束条件来保证数据的正确性。可以给数据定义一些约束条件来保证数据的正确性。171.2 数据管理技术的发展数据管理技术的发展 数据库系统阶段应用程序和数据库之间的关系可数据库系统阶段应用程序和数据库之间的关系可以用下图来表示:以用下图来表示:应用程序应用程序1应用程序应用程序2应用程序应用程序n数据库数据库管理系管理系统统数据库数据库181.3 数据模型数据模型 数据库是某个企业、组织或部门所涉及的数据数据库是某个企业、组织或部门所涉及的数据的综合,它不仅要反映数据本身的内容,而且要反的综合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。由于计算机不可能直接处理现映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以人们必须事先把具体事实世界中的具体事物,所以人们必须事先把具体事物转换成计算机能够处理的数据。在数据库技术中物转换成计算机能够处理的数据。在数据库技术中使用数据模型来抽象、表示现实世界中的数据和信使用数据模型来抽象、表示现实世界中的数据和信息。息。 模型模型:对现实世界特征的模拟和抽象。对现实世界特征的模拟和抽象。

      13、 数据模型数据模型:对现实世界数据特征的模拟和抽象。:对现实世界数据特征的模拟和抽象。191.3 数据模型数据模型 现实世界中的数据要进入到数据库中,需要经过现实世界中的数据要进入到数据库中,需要经过人们的认识、理解、整理、规范和加工。可以把这人们的认识、理解、整理、规范和加工。可以把这一过程划分成三个主要阶段,即一过程划分成三个主要阶段,即现实世界阶段现实世界阶段、信信息世界阶段息世界阶段和和机器世界阶段机器世界阶段。 现实世界中的数据经过人们的认识和抽象,形成现实世界中的数据经过人们的认识和抽象,形成信息世界;在信息世界中用概念模型来描述数据及信息世界;在信息世界中用概念模型来描述数据及其联系,概念模型按用户的观点对数据和信息进行其联系,概念模型按用户的观点对数据和信息进行建模,独立于具体的机器和建模,独立于具体的机器和DBMS;根据所使用的根据所使用的具体机器和具体机器和DBMS,需要对概念模型进行进一步转需要对概念模型进行进一步转换,形成在具体机器环境下可以实现的数据模型。换,形成在具体机器环境下可以实现的数据模型。201.3 数据模型数据模型 三个阶段之间的相互关系:三个阶段

      14、之间的相互关系:不不依赖于具体依赖于具体机器和机器和DBMS依赖于具体依赖于具体机器和机器和DBMS现实世界现实世界信息世界:概念模型信息世界:概念模型机机 器器 世世 界:界:某某DBMS支持的数据模型支持的数据模型抽象抽象转换转换211.3.1 现实世界现实世界1. 实体实体:现实:现实世界中客观存在并可以相互区分的事物世界中客观存在并可以相互区分的事物称。如学生、课程、零件、案件等都是实体。称。如学生、课程、零件、案件等都是实体。2. 实体的特征实体的特征:每一:每一个实体具有的特征。如个实体具有的特征。如 “学生学生”实体具有学号、姓名、性别等特征;实体具有学号、姓名、性别等特征; “零件零件”实体实体具有名称、规格型号、生产日期、单价等特征。具有名称、规格型号、生产日期、单价等特征。3. 实体集实体集:具有:具有相同特征的一类实体的集合构成了实相同特征的一类实体的集合构成了实体集。例如,所有的学生构成了体集。例如,所有的学生构成了“学生学生”实体集。实体集。4. 标识特征标识特征:在一个:在一个实体集中,用于区分实体的特征实体集中,用于区分实体的特征称。例如,对于学生实体,学

      15、号可以作为其标识特称。例如,对于学生实体,学号可以作为其标识特征,而性别则不能作为其标识特征。征,而性别则不能作为其标识特征。221.3.2 信息世界信息世界 人们对现实世界的对象进行抽象,并对其进行命名、人们对现实世界的对象进行抽象,并对其进行命名、分类,在信息世界用分类,在信息世界用概念模型概念模型来对其进行描述。来对其进行描述。 信息世界涉及的主要概念:信息世界涉及的主要概念:1. 实体实体:对应:对应于现实世界的实体。如一个学生、一于现实世界的实体。如一个学生、一门课等。门课等。2. 属性属性:对应:对应于实体的特征。一个实体可以由若干于实体的特征。一个实体可以由若干个属性来刻画。例如,学生实体可以有学号、姓名、个属性来刻画。例如,学生实体可以有学号、姓名、性别、班级、年龄等属性。性别、班级、年龄等属性。3. 码码:对应于实体的标识特征。例如,学生实体可对应于实体的标识特征。例如,学生实体可以用学号来唯一标识,因此学号可以作为学生实体以用学号来唯一标识,因此学号可以作为学生实体的码。的码。231.3.2 信息世界信息世界4. 域域:属性的:属性的取值范围称为该属性的域。例如,姓

      16、取值范围称为该属性的域。例如,姓名的域为字符串集合;年龄的域为不小于零的整数;名的域为字符串集合;年龄的域为不小于零的整数;性别的域为性别的域为(男,女男,女)。5. 实体型实体型:用实体:用实体名及其属性名集合来描述实体,名及其属性名集合来描述实体, 例如,学生实体型描述为:例如,学生实体型描述为: 学生学生(学号,姓名,性别,年龄学号,姓名,性别,年龄) 例如,课程实体型可以描述为:例如,课程实体型可以描述为: 课程课程(课程号,课程名,学分课程号,课程名,学分)6. 实体集实体集:同型:同型实体的集合构成了实体集。实体的集合构成了实体集。 例如,全体学生构成了学生实体集。例如,全体学生构成了学生实体集。241.3.2 信息世界信息世界7. 联系联系:现实:现实世界中的事物之间通常都是有联系的,世界中的事物之间通常都是有联系的,这些联系在信息世界中反映为实体内部的联系和实这些联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常指组成实体的体之间的联系。实体内部的联系通常指组成实体的各属性之间的联系;实体之间的联系通常指不同实各属性之间的联系;实体之间的联系通常指

      17、不同实体集之间的联系。这些联系总的来说可以划分为三体集之间的联系。这些联系总的来说可以划分为三种种:n一对一联系一对一联系n一对多一对多(或多对一或多对一)联系联系n 多对多联系。多对多联系。这里讨论实体之间的联系这里讨论实体之间的联系251.3.2 信息世界信息世界(1)一对一联系一对一联系:如果实体集:如果实体集A与实体集与实体集B之间存在之间存在联系,并且对于实体集联系,并且对于实体集A中的任意一个实体,在实中的任意一个实体,在实体集体集B中至多只有一个实体与之对应;而对于实体中至多只有一个实体与之对应;而对于实体集集B中的任意一个实体,在实体集中的任意一个实体,在实体集A中也至多只有中也至多只有一个实体与之对应,则称实体集一个实体与之对应,则称实体集A和实体集和实体集B之间之间存在着一对一的联系存在着一对一的联系(表示为表示为1:1)。261.3.2 信息世界信息世界 例如,例如,“公司公司”是一种实体,是一种实体,“总经理总经理”也是一也是一种实体。如果按照语义,一个公司只能有一个总经种实体。如果按照语义,一个公司只能有一个总经理,而一个总经理只能管理某一个公司,则理,而一个

      18、总经理只能管理某一个公司,则“公司公司”和和“总经理总经理”实体之间的联系就是一对一的联系实体之间的联系就是一对一的联系。如下图:如下图:公司公司管理管理总经理总经理11271.3.2 信息世界信息世界(2) 一对多联系一对多联系:如果实体集:如果实体集A与实体集与实体集B之间存在之间存在联系,并且对于实体集联系,并且对于实体集A中的任意一个实体,在实体中的任意一个实体,在实体集集B中可以有多个实体与之对应;而对于实体集中可以有多个实体与之对应;而对于实体集B中中的任意一个实体,在实体集的任意一个实体,在实体集A中至多只有一个实体与中至多只有一个实体与之对应,则称实体集之对应,则称实体集A到实体集到实体集B的联系是一对多的的联系是一对多的联系联系(表示为表示为1:n)。281.3.2 信息世界信息世界 例如,例如,“部门部门”是一种实体,是一种实体,“职工职工”也是一种也是一种实体。如果按照语义,一个部门可以有多个职工,实体。如果按照语义,一个部门可以有多个职工,而一个职工只能归属于一个部门,则而一个职工只能归属于一个部门,则“部门部门”实体实体到到“职工职工”实体的联系就是一对多的联

      19、系,如实体的联系就是一对多的联系,如下下图图:部门部门属于属于职工职工1n291.3.2 信息世界信息世界 (3) 多对多联系多对多联系:如果实体集:如果实体集A与实体集与实体集B之间存在之间存在联系,并且对于实体集联系,并且对于实体集A中的任意一个实体,在实中的任意一个实体,在实体集体集B中可以有多个实体与之对应;而对于实体集中可以有多个实体与之对应;而对于实体集B中的任意一个实体,在实体集中的任意一个实体,在实体集A中也可以有多个实中也可以有多个实体与之对应,则称实体集体与之对应,则称实体集A到实体集到实体集B的联系是多对的联系是多对多的联系多的联系(表示为表示为m:n)。301.3.2 信息世界信息世界 例如例如,“学生学生”是一种实体,是一种实体,“课程课程”也是一种实也是一种实体。体。“学生学生”实体到实体到“课程课程”实体的联系就是多对实体的联系就是多对多的联系。因为一个学生可以学习多门课程,而一多的联系。因为一个学生可以学习多门课程,而一门课程又可以有多个学生来学习。如门课程又可以有多个学生来学习。如下下图图:学生学生选修选修课程课程mn311.3.2 信息世界信息世界两

      20、个以上的实体之间也存在一对一、一对多和多两个以上的实体之间也存在一对一、一对多和多对多的联系。例如对多的联系。例如“邮局邮局”是一种实体,是一种实体,“邮票邮票”是一种实体,是一种实体,“顾客顾客”是一种实体,这三个实体之是一种实体,这三个实体之间存在着一种关系,这里称之为间存在着一种关系,这里称之为“购买购买”。它表示,。它表示,一个顾客可以在多个邮局中买多种邮票;一个邮局一个顾客可以在多个邮局中买多种邮票;一个邮局可以把多种邮票出售给多个顾客;一种邮票可以在可以把多种邮票出售给多个顾客;一种邮票可以在多个邮局中被多个顾客所购买。这样的三元关系可多个邮局中被多个顾客所购买。这样的三元关系可以表示成以表示成:321.3.2 信息世界信息世界邮局邮局购购买买顾客顾客m邮票邮票Pn331.3.2 信息世界信息世界8.8.概念模型概念模型:概念模型是对信息世界的建模,因此,:概念模型是对信息世界的建模,因此,概念模型应该能够方便、准确地表示出信息世界中概念模型应该能够方便、准确地表示出信息世界中的常用概念。概念模型有多种表示方法,其中最常的常用概念。概念模型有多种表示方法,其中最常用的是用的

      21、是“实体联系方法实体联系方法”(Entity Relationship (Entity Relationship Approach)Approach),简称,简称E-RE-R方法,方法,E-RE-R方法用方法用E-RE-R图图来描述来描述现实世界的概念模型,现实世界的概念模型,E-RE-R图提供了表示实体、属性图提供了表示实体、属性和联系的方法。和联系的方法。341.3.2 信息世界信息世界(1) 实体型实体型:用矩形表示,在矩形内写明实体名。:用矩形表示,在矩形内写明实体名。例如,学生实体和课程实体用例如,学生实体和课程实体用E-R图表示如下:图表示如下:学生学生课程课程(2) 属性属性:用椭圆形表示,并用无向边将其与实体:用椭圆形表示,并用无向边将其与实体连接起来。连接起来。 例如,学生实体及其属性用例如,学生实体及其属性用E-R图表示如下:图表示如下:学生学生学号学号姓名姓名性别性别年龄年龄351.3.2 信息世界信息世界(3) (3) 联系联系:用菱形表示,在菱形框内写明联系的名:用菱形表示,在菱形框内写明联系的名称,并用无向边将其与有关的实体连接起来,同时称,并用无向边将其与

      22、有关的实体连接起来,同时在无向边旁标上联系的类型。在无向边旁标上联系的类型。注意:联系本身也是一种实体型,也可以有属性。注意:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。与该联系连接起来。361.3.2 信息世界信息世界例如,下图表示了学生实体和课程实体之间的联例如,下图表示了学生实体和课程实体之间的联系系“选修选修”,每个学生选修某一门课程会产生一个,每个学生选修某一门课程会产生一个成绩,因此,成绩,因此,“选修选修”联系有一个属性联系有一个属性“成绩成绩”,学生和课程实体之间是多对多的联系。学生和课程实体之间是多对多的联系。课程号课程号课程名课程名m学生学生选修选修课程课程n学分学分学号学号姓名姓名性别性别年龄年龄成绩成绩371.3.2 信息世界信息世界用用E-RE-R图表示的概念模型独立于具体的图表示的概念模型独立于具体的DBMSDBMS所支持的数据模型,是各种数据模型的共同所支持的数据模型,是各种数据模型的共同基础,因此比数据模型更一般、更抽象、更基础,因此比数据模型更一般、更抽

      23、象、更接近现实世界。接近现实世界。381.3.3 机器世界机器世界概念模型是独立于机器的,需要转换成具体的概念模型是独立于机器的,需要转换成具体的DBMSDBMS所能识别的数据模型,才能将数据和数据之间所能识别的数据模型,才能将数据和数据之间的联系保存到计算机上。在计算机中可以用不同的的联系保存到计算机上。在计算机中可以用不同的方法来表示数据与数据之间的联系,把表示数据与方法来表示数据与数据之间的联系,把表示数据与数据之间的联系的方法称为数据模型。数据库领域数据之间的联系的方法称为数据模型。数据库领域常见的数据模型有常见的数据模型有4 4种:种: (1) (1) 层次模型层次模型(Hierarchical Model)(Hierarchical Model) (2) (2) 网状模型网状模型(Network Model)(Network Model) (3) (3) 关系模型关系模型(Relational Model)(Relational Model) (4) (4) 面向对象的模型面向对象的模型(Object Oriented Model)(Object Oriented Mode

      24、l)其中,关系模型是目前使用最广泛的数据模型。其中,关系模型是目前使用最广泛的数据模型。391.4 关系数据库关系数据库这里介绍的关系模型是用户观点下的数据模型,这里介绍的关系模型是用户观点下的数据模型,实际上关系模型是可以在某种实际上关系模型是可以在某种DBMSDBMS的支持下、用某的支持下、用某种语言进行描述的,通过种语言进行描述的,通过DBMSDBMS提供的功能实现对其提供的功能实现对其进行存储和实施各种操作。进行存储和实施各种操作。把支持关系模型的数据库管理系统称为关系数据把支持关系模型的数据库管理系统称为关系数据库管理系统,简称库管理系统,简称RDBMSRDBMS。401.4.1 关系模型关系模型关系模型的组成:关系模型的组成:n关系数据结构关系数据结构n关系操作集合关系操作集合n关系完整性约束关系完整性约束411.4.1 关系模型关系模型1. 关系数据结构关系数据结构在用户观点下,关系模型中数据的逻辑结构是一在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。张二维表,它由行和列组成。 例如,学生信息表:例如,学生信息表:学号学号姓名姓名性别性别年龄年龄98

      25、0010101张涛涛男男18980010102李明李明男男18980010103刘心刘心女女19421.4.1 关系模型关系模型(1) 关系关系: 一个关系对应于一张二维表。一个关系对应于一张二维表。(2) 关系名关系名: 如如“学生信息学生信息” 。(3) 元组元组: 表中的一行,对应于存储文件中的一个表中的一行,对应于存储文件中的一个记录。记录。(4) 属性属性: 表中的一列。表中的一列。(5) 属性名属性名: 给每个属性起一个名字。对应于存储给每个属性起一个名字。对应于存储文件中的字段。文件中的字段。431.4.1 关系模型关系模型(6) 候选码:如果在一个关系中,存在多个属性候选码:如果在一个关系中,存在多个属性(或或属性组合属性组合)都能用来唯一标识该关系的元组,这都能用来唯一标识该关系的元组,这些属性些属性(或属性组合或属性组合)都称为该关系的候选码都称为该关系的候选码(或或候选关键字候选关键字)。 例如,假设例如,假设 “学生信息学生信息”关系中的姓名没有重关系中的姓名没有重名现象,则学号和姓名都是候选码。名现象,则学号和姓名都是候选码。(7) 主码:在若干个候选码中指定

      26、作为码的属性主码:在若干个候选码中指定作为码的属性(或或属性组合属性组合)称为该关系的主码称为该关系的主码(或主关键字或主关键字)。 例如,学号可以作为例如,学号可以作为“学生信息学生信息”关系的主码。关系的主码。441.4.1 关系模型关系模型(8) 全码全码: 如果一个关系模型的所有属性一起构成如果一个关系模型的所有属性一起构成该该关系的码,则称为全码。关系的码,则称为全码。(9) 主属性主属性: 包含在候选码中的属性。如学号。包含在候选码中的属性。如学号。(10) 非主属性非主属性: 不包含在任何候选码中的属性称为不包含在任何候选码中的属性称为非码属性或非主属性。如性别和年龄。非码属性或非主属性。如性别和年龄。(11) 域:属性的取值范围域:属性的取值范围。 如如,性别域,性别域: (男、女男、女),年龄域,年龄域: 大于大于0的整数。的整数。(12) 分量:元组中的一个属性值。如分量:元组中的一个属性值。如“李明李明”。451.4.1 关系模型关系模型(13) 关系模式:对关系的描述。一般表示为:关系模式:对关系的描述。一般表示为:关系名关系名(属性属性1,属性,属性2,属性,

      27、属性n)例如,例如, “学生信息学生信息”表表示为:表表示为:学生信息学生信息(学号,姓名,性别,年龄学号,姓名,性别,年龄)461.4.1 关系模型关系模型 在关系模型中,实体和实体之间的联系都是用关在关系模型中,实体和实体之间的联系都是用关系来表示的,例如,学生、课程和选修关系可以表系来表示的,例如,学生、课程和选修关系可以表示为示为: 学生信息学生信息(学号,姓名,性别,年龄学号,姓名,性别,年龄) 课程课程(课程号,课程名,学分课程号,课程名,学分) 选修选修(学号,课程号,成绩学号,课程号,成绩)m学生学生选修选修课程课程n471.4.1 关系模型关系模型2. 关系操作关系操作n 关系操作主要包括关系操作主要包括:查询查询插入插入修改修改 删除数据删除数据n 特点特点: 集合操作集合操作 操作对象和操作结果都是关系,即元组的集合。操作对象和操作结果都是关系,即元组的集合。481.4.1 关系模型关系模型3. 关系的完整性约束关系的完整性约束 主要包括三类主要包括三类:n 实体完整性实体完整性n 参照完整性参照完整性n 用户定义的完整性。用户定义的完整性。 其中,实体完整性和参

      28、照完整性是关系模型必须其中,实体完整性和参照完整性是关系模型必须满足的完整性约束条件,用户定义的完整性是指针满足的完整性约束条件,用户定义的完整性是指针对具体应用需要自行定义的约束条件。对具体应用需要自行定义的约束条件。491.4.1 关系模型关系模型(1) 实体完整性实体完整性 现实世界中的实体是可区分的,即它们具有某现实世界中的实体是可区分的,即它们具有某种唯一性标识。相应地,关系模型中以主码作为唯种唯一性标识。相应地,关系模型中以主码作为唯一性标识。主码中的属性即主属性不能取空值。所一性标识。主码中的属性即主属性不能取空值。所谓空值就是谓空值就是“不知道不知道”或或“无意义无意义”的值。如果主的值。如果主属性取空值,就说明存在某个不可标识的实体,即属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与现实世界的应用环境相存在不可区分的实体,这与现实世界的应用环境相矛盾,因此这个实体一定不是一个完整的实体。这矛盾,因此这个实体一定不是一个完整的实体。这就是实体的完整性规则。就是实体的完整性规则。 实体完整性定义:若属性实体完整性定义:若属性A是基本关系是基本关系R的主

      29、属的主属性,则属性性,则属性A不能取空值。不能取空值。501.4.1 关系模型关系模型(2) 参照完整性参照完整性 在关系模型中,实体及实体间的联系都是用关系在关系模型中,实体及实体间的联系都是用关系来描述的,这样就需要在关系与关系之间通过某些来描述的,这样就需要在关系与关系之间通过某些属性建立起它们之间的联系。属性建立起它们之间的联系。例如,对于以下三个关系模式:例如,对于以下三个关系模式:学生信息学生信息(学号学号,姓名,性别,年龄,姓名,性别,年龄) 主码主码:学号学号课程课程(课程号课程号,课程名,学分,课程名,学分) 主码主码: 课程号课程号选修选修(学号,课程号学号,课程号,成绩,成绩) 主码主码 (学号,课程号学号,课程号) 选修关系的学号必须在学生信息关系中存在的学选修关系的学号必须在学生信息关系中存在的学号,而选修关系的课程号也必须是一个在课程关系号,而选修关系的课程号也必须是一个在课程关系中存在的课程号中存在的课程号。511.4.1 关系模型关系模型 参照完整性定义参照完整性定义:设:设F是基本关系是基本关系R的一个或一组的一个或一组属性,但不是关系属性,但不是关系

      30、R的码,如果的码,如果F与基本关系与基本关系S的主的主码码Ks相对应,则称相对应,则称F是基本关系是基本关系R的外码,并称基的外码,并称基本关系本关系R为参照关系,基本关系为参照关系,基本关系S为被参照关系为被参照关系。 关系关系R和和S不一定是不同的关系。不一定是不同的关系。521.4.1 关系模型关系模型 例如,设有以下两个关系模式:例如,设有以下两个关系模式: 职工职工(职工编号职工编号,姓名,性别,姓名,性别,部门编号部门编号) 部门部门(部门编号部门编号,名称,地址,简介,名称,地址,简介) 在在“职工职工”关系中,主码为职工编号,在关系中,主码为职工编号,在“部门部门”关系中,主码为部门编号,所以关系中,主码为部门编号,所以“职工职工”关系中关系中的部门编号是该关系的外码。的部门编号是该关系的外码。 “职工职工”关系为参照关系;关系为参照关系; “部门部门”关系为被参照关系。关系为被参照关系。531.4.1 关系模型关系模型 参照完整性规则:参照完整性规则:若属性若属性(或属性组或属性组)F是基本关是基本关系系R的外码,它与基本关系的外码,它与基本关系S的主码的主码Ks相对

      31、应,则相对应,则对于对于R中每个元组在中每个元组在F上的值必须为:上的值必须为:n 空值空值(F的每个属性值均为空值的每个属性值均为空值);n 等于等于S中某个元组的主码值。中某个元组的主码值。 参照完整性规则就是定义外码与主码之间的引用参照完整性规则就是定义外码与主码之间的引用规则。规则。541.4.1 关系模型关系模型(3) 用户定义的完整性用户定义的完整性 针对某一具体应用所涉及的数据必须满足的语义针对某一具体应用所涉及的数据必须满足的语义要求,对关系数据库中的数据定义的约束条件。要求,对关系数据库中的数据定义的约束条件。 例如:对于关系模式:例如:对于关系模式: 学生信息学生信息(学号,姓名,性别,年龄学号,姓名,性别,年龄) 可以定义可以定义: 性别字段的值只能为性别字段的值只能为“男男”和和“女女” 年龄字段的值只能为大于的整数年龄字段的值只能为大于的整数551.4.1 关系模型关系模型 4. 对关系的限制对关系的限制(1) 表中的每一个数据项必须是单值的,每一个属表中的每一个数据项必须是单值的,每一个属性必须是不可再分的基本数据项性必须是不可再分的基本数据项。 例如例如,

      32、下表下表就是一个不满足该要求的表就是一个不满足该要求的表。职工编号职工编号姓名姓名工资工资基本工资基本工资职务工资职务工资 工龄工资工龄工资001赵军2000500500002刘娜刘娜1800400300003李李东2300700800561.4.1 关系模型关系模型(2) 每一列中的数据项具有相同的数据类型,来自每一列中的数据项具有相同的数据类型,来自同一个域。例如,姓名都是字符类型,成绩都是同一个域。例如,姓名都是字符类型,成绩都是整数类型。整数类型。(3) 每一列的名称在一个表中是唯一的。每一列的名称在一个表中是唯一的。(4) 列次序可以是任意的。列次序可以是任意的。(5) 表中的任意两行表中的任意两行(即元组即元组)不能相同。不能相同。(6) 行次序可以是任意的。行次序可以是任意的。571.4.2 关系数据库的规范化理论关系数据库的规范化理论要把一组数据存储到数据库中,如何为这些数据要把一组数据存储到数据库中,如何为这些数据设计一个合适的逻辑结构呢?如在关系数据库系统设计一个合适的逻辑结构呢?如在关系数据库系统中,针对一个具体问题,应该构造几个关系?每个中,针对一个具体问题,应

      33、该构造几个关系?每个关系由哪些属性组成?使数据库系统无论是在数据关系由哪些属性组成?使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。存储方面,还是在数据操纵方面都有较好的性能。这就是关系数据库规范化理论要研究的主要问题。这就是关系数据库规范化理论要研究的主要问题。E-R模型的方法讨论了模型的方法讨论了实体与实体之间的数据联实体与实体之间的数据联系系,而关系规范化理论主要讨论,而关系规范化理论主要讨论实体内部属性与属实体内部属性与属性之间的数据的联系性之间的数据的联系,其目标是要设计一个,其目标是要设计一个“好好”的关系数据库模型。的关系数据库模型。581.4.2 关系数据库的规范化理论关系数据库的规范化理论1. 问题的提出问题的提出关系:学生关系:学生(学号学号,姓名姓名,性别性别,课程号课程号,课程名称课程名称,成成绩绩)学号学号姓名姓名性别性别课程号课程号课程名称课程名称成绩成绩0601001张军男男001数据数据库应用用780601002李李辉男男002程序程序设计890601003赵心心女女003管理信息系管理信息系统850601004林梅林梅女女004数据

      34、数据结构构790601004林梅林梅女女001数据数据库应用用900601004林梅林梅女女002程序程序设计78591.4.2 关系数据库的规范化理论关系数据库的规范化理论“学生学生”关系存在以下问题关系存在以下问题:(1) 数据冗余数据冗余 所谓数据冗余就是所谓数据冗余就是数据的重复出现数据的重复出现。当一个学生选修多门。当一个学生选修多门课程时,学生信息重复出现,导致了数据冗余的现象。例如,课程时,学生信息重复出现,导致了数据冗余的现象。例如,以上关于以上关于“林梅林梅”的信息就出现了三次;同样,一门课程有的信息就出现了三次;同样,一门课程有多个学生选修,也导致了该课程信息的冗余。例如,多个学生选修,也导致了该课程信息的冗余。例如,“数据数据库应用库应用”课程被课程被“林梅林梅”和和“张军张军”选修了,因此,其课程选修了,因此,其课程名称出现了两次。显然,数据冗余会导致数据库存储性能的名称出现了两次。显然,数据冗余会导致数据库存储性能的下降,同时还会带来数据的不一致性问题。下降,同时还会带来数据的不一致性问题。601.4.2 关系数据库的规范化理论关系数据库的规范化理论(2) 不

      35、一致性不一致性 由于存在着数据冗余,因此,如果某个数据需要修改,则由于存在着数据冗余,因此,如果某个数据需要修改,则可能会可能会因为其多处存在而导致在修改时不能全部修改过来因为其多处存在而导致在修改时不能全部修改过来,产生数据的不一致。产生数据的不一致。 例如,假设有例如,假设有40名学生选修了名学生选修了“数据库应用数据库应用”这门课,这门课,则在关系表中就会有则在关系表中就会有40条记录包含有课程名称条记录包含有课程名称“数据库应用数据库应用”,如果该课程名称需要改成,如果该课程名称需要改成“数据库原理及应用数据库原理及应用”,则可,则可能会只修改了其中的一些记录而其他记录没有修改。这就是能会只修改了其中的一些记录而其他记录没有修改。这就是数据的不一致,也叫数据的不一致,也叫更新异常更新异常。611.4.2 关系数据库的规范化理论关系数据库的规范化理论(3) (3) 插入异常插入异常 如果新生刚刚入校,还没有选修课程,则学生信息就无如果新生刚刚入校,还没有选修课程,则学生信息就无法插入到表中,因为课程号为空,而主码为(学号,课程号)法插入到表中,因为课程号为空,而主码为(学号,课程

      36、号),根据关系模型的实体完整性规则,主码不能为空或部分为,根据关系模型的实体完整性规则,主码不能为空或部分为空,因此无法插入新生数据,这就是插入异常。又如,学校空,因此无法插入新生数据,这就是插入异常。又如,学校计划下学期开一门新课计划下学期开一门新课“计算机组成原理计算机组成原理”,该课程信息也,该课程信息也不能马上添加到表中,因为还没有学生选修该课程,无法知不能马上添加到表中,因为还没有学生选修该课程,无法知道学生的信息。简单来说,道学生的信息。简单来说,插入异常就是该插入的数据不能插入异常就是该插入的数据不能正常插入正常插入。621.4.2 关系数据库的规范化理论关系数据库的规范化理论(4) 删除异常删除异常 当学生毕业时,需要删除相关的学生记录,于是当学生毕业时,需要删除相关的学生记录,于是就会删除对应的课程号、课程名信息。这就是删除就会删除对应的课程号、课程名信息。这就是删除异常。例如,在异常。例如,在“学生学生”关系表中要删除学生记录关系表中要删除学生记录(060103,赵心,女,赵心,女,003,管理信息系统,管理信息系统,85),),则会丢失课程号为则会丢失课程号为“0

      37、03”,课程名为,课程名为“管理信息管理信息系统系统”的课程信息。简单来说,的课程信息。简单来说,删除异常就是不该删除异常就是不该删除的数据被异常地删除了删除的数据被异常地删除了。631.4.2 关系数据库的规范化理论关系数据库的规范化理论 为了克服以上问题,可以将为了克服以上问题,可以将“学生学生”关系分解为关系分解为:n 学生基本信息学生基本信息(学号学号,姓名,性别),姓名,性别)n 课程(课程(课程号课程号,课程名称,课程名称)n 选修(选修(学号,课程号学号,课程号,成绩,成绩) 分解后的关系分解后的关系n 在一定程度上解决了数据冗余在一定程度上解决了数据冗余n 解决了插入异常问题解决了插入异常问题n 解决了删除异常的问题解决了删除异常的问题641.4.2 关系数据库的规范化理论关系数据库的规范化理论 为什么对为什么对“学生学生”关系进行以上分解之后,可以关系进行以上分解之后,可以消除异常呢?这是因为消除异常呢?这是因为“学生学生”关系中的某些属性关系中的某些属性之间存在数据依赖,这种数据依赖会造成数据冗余、之间存在数据依赖,这种数据依赖会造成数据冗余、插入异常、删除异常等问

      38、题。插入异常、删除异常等问题。 数据依赖是对属性间数据的相互关系的描述。数据依赖是对属性间数据的相互关系的描述。651.4.2 关系数据库的规范化理论关系数据库的规范化理论2. 2. 函数依赖函数依赖 函数依赖是数据依赖的一种描述形式。函数依赖是数据依赖的一种描述形式。 定义定义1 1:设设R(U)R(U)是属性集是属性集U U上的关系模式。上的关系模式。X X,Y Y是是U U的子集。的子集。如果对于如果对于R(U)R(U)的任意一个可能的关系的任意一个可能的关系r r,r r中不可能存在两个中不可能存在两个元组在元组在X X上的属性值相等,而在上的属性值相等,而在Y Y上的属性值不等,则称上的属性值不等,则称“X X函数确定函数确定Y Y”或或“Y Y函数依赖于函数依赖于X X”,记作,记作XYXY。 简单地说,如果属性简单地说,如果属性X X的值决定属性的值决定属性Y Y的值(如果知道的值(如果知道X X的值就可以获得的值就可以获得Y Y的值),则属性的值),则属性Y Y函数依赖于属性函数依赖于属性X X。 若若XYXY,并且,并且YXYX,则记为,则记为XYXY。 若若Y Y不

      39、函数依赖于不函数依赖于X X,则记为,则记为XYXY661.4.2 关系数据库的规范化理论关系数据库的规范化理论例如例如:1) 设有关系模式:商品设有关系模式:商品(商品名称商品名称,价格价格) 如果知道商品名称,就可以知道该商品的价格,如果知道商品名称,就可以知道该商品的价格,也就是,不存在商品名称相同,而价格不同的记录,也就是,不存在商品名称相同,而价格不同的记录,则可以说则可以说: 商品名称商品名称价格价格。2) 设有关系模式设有关系模式: 学生学生(学号学号,姓名姓名,年龄年龄,性别性别,专业专业) 学生关系中有唯一的标识号学生关系中有唯一的标识号“学号学号”,每个学生,每个学生有且只有一个专业,则学号决定专业的值,因此:有且只有一个专业,则学号决定专业的值,因此:学号学号专业专业。3) 对于选修关系:选修对于选修关系:选修(学号学号,课程号课程号,成绩成绩) 可以看出可以看出:(学号学号,课程号课程号)成绩成绩。671.4.2 关系数据库的规范化理论关系数据库的规范化理论 需要注意的是,函数依赖是语义范畴的概念。只需要注意的是,函数依赖是语义范畴的概念。只能根据数据的语义来确

      40、定函数依赖。例如能根据数据的语义来确定函数依赖。例如“姓名姓名年龄年龄”这个函数依赖只有在不允许有同名人的条件这个函数依赖只有在不允许有同名人的条件下才成立。下才成立。681.4.2 关系数据库的规范化理论关系数据库的规范化理论 定义定义2: 在关系模式在关系模式R(U)中,对于中,对于U的子集的子集X和和Y,如果,如果XY,但,但Y X,则称,则称XY是非平凡的函数是非平凡的函数依赖依赖。若。若XY,但,但Y X,则称,则称XY是是平凡的函数平凡的函数依赖依赖。 例如,对于关系:选修例如,对于关系:选修(学号学号,课程号课程号,成绩成绩) 存在非平凡函数依赖存在非平凡函数依赖: (学号学号,课程号课程号)成绩成绩 存在平凡函数依赖存在平凡函数依赖: (学号,课程号学号,课程号)学号;学号;(学号,课程号学号,课程号)课程课程号号 若不特别声明,一般总是讨论非平凡的函数依赖若不特别声明,一般总是讨论非平凡的函数依赖691.4.2 关系数据库的规范化理论关系数据库的规范化理论 定义定义3:在关系模式:在关系模式R(U)中,如果中,如果XY,并且对,并且对于于X的任何一个真子集的任何一个真

      41、子集X,都有,都有XY,则称,则称Y完全完全函数依赖于函数依赖于X,记作,记作XY。若。若XY,但,但Y不完全函不完全函数依赖于数依赖于X,则称,则称Y部分函数依赖于部分函数依赖于X,记作,记作XY。 例如,对于关系:选修例如,对于关系:选修(学号学号,课程号课程号,成绩成绩) 由于由于: 学号学号成绩,课程号成绩,课程号成绩成绩 而而: (学号学号,课程号课程号)成绩成绩 因此因此: (学号,课程号学号,课程号)成绩成绩fpf701.4.2 关系数据库的规范化理论关系数据库的规范化理论 又如,对于关系:又如,对于关系: 学生学生(学号学号,姓名姓名,性别性别,课程号课程号,课程名称课程名称,成绩成绩) 由于有由于有: (学号,课程号学号,课程号)姓名,姓名, 同时有:学号同时有:学号姓名,姓名, 因此存在部分函数依赖:因此存在部分函数依赖: (学号,课程号学号,课程号)姓名姓名fp711.4.2 关系数据库的规范化理论关系数据库的规范化理论 定义定义4:在关系模式:在关系模式R(U)中,如果中,如果XY,YZ,且且Y X,YX,则称,则称Z传递函数依赖于传递函数依赖于X。 注注: 如

      42、果如果YX, 即即XY,则则Z直接函数依赖于直接函数依赖于X 例如,设有关系模式:例如,设有关系模式: 学生信息学生信息(学号,姓名,所在系,系主任学号,姓名,所在系,系主任) 经分析有经分析有: 学号学号所在系,所在系所在系,所在系系主任,系主任, 因此因此: “系主任系主任”传递函数依赖于传递函数依赖于“学号学号”。p721.4.2 关系数据库的规范化理论关系数据库的规范化理论3. 范式和规范化范式和规范化 规范化理论用于改造关系模式,通过分解关系模规范化理论用于改造关系模式,通过分解关系模式来消除其中不合适的数据依赖,以解决数据冗余、式来消除其中不合适的数据依赖,以解决数据冗余、插入异常、删除异常等问题。插入异常、删除异常等问题。 所谓规范化,就是用形式更为简洁、结构更加规所谓规范化,就是用形式更为简洁、结构更加规范的关系模式取代原有关系的过程。范的关系模式取代原有关系的过程。731.4.2 关系数据库的规范化理论关系数据库的规范化理论 要设计一个好的关系,必须使关系满足一定的约要设计一个好的关系,必须使关系满足一定的约束条件,这种约束条件已经形成规范,分成几个等束条件,这种约束

      43、条件已经形成规范,分成几个等级,一级比一级要求更严格。满足最低一级要求的级,一级比一级要求更严格。满足最低一级要求的关系称为属于第一范式(关系称为属于第一范式(1NF),在此基础上如果),在此基础上如果进一步满足某种约束条件,达到第二范式标准,则进一步满足某种约束条件,达到第二范式标准,则称该关系属于第二范式称该关系属于第二范式(2NF),等等,直到第五,等等,直到第五范式。范式。 一个较低的范式,可以通过一个较低的范式,可以通过关系的无损分解关系的无损分解转换转换为若干个较高级范式的关系,这一过程叫做为若干个较高级范式的关系,这一过程叫做关系的关系的规范化规范化。741.4.2 关系数据库的规范化理论关系数据库的规范化理论(1) 第一范式(第一范式(1NF) 定义:定义:如果一个关系模式如果一个关系模式R的所有属性都是不可的所有属性都是不可分的基本数据项,则分的基本数据项,则R属于属于1NF。 第一范式是对关系模式的最起码的要求。不满足第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。第一范式的数据库模式不能称为关系数据库。751.4.2 关系数据库的

      44、规范化理论关系数据库的规范化理论例如例如,以下以下“学生学生”关系满足第一范式。关系满足第一范式。学号学号姓名姓名性别性别课程号课程号课程名称课程名称成绩成绩0601001张军男男001数据数据库应用用780601002李李辉男男002程序程序设计890601003赵心心女女003管理信息系管理信息系统850601004林梅林梅女女004数据数据结构构790601004林梅林梅女女001数据数据库应用用900601004林梅林梅女女002程序程序设计78761.4.2 关系数据库的规范化理论关系数据库的规范化理论以下以下“工资工资”表具有组合数据项,不属于第一范式。表具有组合数据项,不属于第一范式。职工编号职工编号姓名姓名工资工资基本工资基本工资 职务工资职务工资 工龄工资工龄工资001赵军2000500500002刘娜刘娜1800400300003李李东2300700800771.4.2 关系数据库的规范化理论关系数据库的规范化理论将将“工资工资”表规范化为第一范式:表规范化为第一范式:职工编号职工编号姓名姓名基本工资基本工资职务工资职务工资工龄工资工龄工资001赵军20005005

      45、00002刘娜刘娜1800400300003李李东2300700800满足第一范式的关系模式不一定就是一个好的关系满足第一范式的关系模式不一定就是一个好的关系模式。例如,对于前面的模式。例如,对于前面的“学生学生”关系,已经分析过,关系,已经分析过,它存在数据冗余、插入异常、删除异常等问题。它存在数据冗余、插入异常、删除异常等问题。781.4.2 关系数据库的规范化理论关系数据库的规范化理论(2) 第二范式第二范式(2NF) 定义定义:若关系模式:若关系模式R是是1NF,并且每一个非主属,并且每一个非主属性都完全函数依赖于性都完全函数依赖于R的码,则的码,则R属于属于2NF。 例如,对于学生关系:例如,对于学生关系: 学生学生(学号学号,姓名姓名,性别性别,课程号课程号,课程名称课程名称,成绩成绩) 码码:(学号,课程号)(学号,课程号) 因此因此: 学号、课程号是主属性,性别、课程名称、学号、课程号是主属性,性别、课程名称、成绩是非主属性。成绩是非主属性。 存在部分函数依赖:存在部分函数依赖: 学号学号姓名姓名 学号学号性别性别 课程号课程号课程名称课程名称存在非主属性对码的部分函数

      46、依赖,因此不是存在非主属性对码的部分函数依赖,因此不是2NF791.4.2 关系数据库的规范化理论关系数据库的规范化理论改进方法:改进方法:对该关系进行分解,生成若干关系,以消除部分对该关系进行分解,生成若干关系,以消除部分函数依赖。分解为以下三个关系:函数依赖。分解为以下三个关系:学生基本信息(学生基本信息(学号学号,姓名,性别),姓名,性别)课程(课程(课程号课程号,课程名称),课程名称)选修(选修(学号,课程号学号,课程号,成绩),成绩)可以看出,在这三个关系中不存在部分函数依赖,可以看出,在这三个关系中不存在部分函数依赖,因此问题得到了解决。因此问题得到了解决。实际上,实际上,这里就是把描述不同主题的内容分别用这里就是把描述不同主题的内容分别用不同的关系来表示。不同的关系来表示。801.4.2 关系数据库的规范化理论关系数据库的规范化理论(3) 第三范式第三范式(3NF) 定义定义:如果关系模式:如果关系模式R是第二范式,且每个非主是第二范式,且每个非主属性都非传递函数依赖于主码,则属性都非传递函数依赖于主码,则R属于属于3NF。也可以说,如果关系也可以说,如果关系R的每一个非

      47、主属性既不部分的每一个非主属性既不部分函数依赖于主码,也不传递函数依赖于主码,则函数依赖于主码,也不传递函数依赖于主码,则R属于属于3NF。811.4.2 关系数据库的规范化理论关系数据库的规范化理论例如,关系例如,关系Housing是学生住宿收费表,是学生住宿收费表,SID为学生为学生编号,编号,Sname为学生姓名,为学生姓名,Building为楼的编号,为楼的编号,Fee为每季度需支付的费用。假设一个学生只住在一为每季度需支付的费用。假设一个学生只住在一个大楼里,一个大楼只有一种收费标准。个大楼里,一个大楼只有一种收费标准。SIDSnameBuildingFee10TomA110011JerryA110012KateB120013TonyB120014JohnC130015MaryD1400821.4.2 关系数据库的规范化理论关系数据库的规范化理论 主码主码: SID 存在函数依赖:存在函数依赖: SIDBuilding BuildingFee 即存在非主属性即存在非主属性Fee对码对码SID的传递函数依赖,因的传递函数依赖,因此关系此关系Housing不是第三范式。不是第三范

      48、式。831.4.2 关系数据库的规范化理论关系数据库的规范化理论 该关系存在插入异常、删除异常等问题。例如,该关系存在插入异常、删除异常等问题。例如,如果如果SID为为15的学生退学了,则不仅删除了该学生的学生退学了,则不仅删除了该学生的信息,同时删除了的信息,同时删除了D楼的收费信息,出现了删除楼的收费信息,出现了删除异常。如果新建了一个大楼,还没有学生入住,则异常。如果新建了一个大楼,还没有学生入住,则该新楼的信息也无法插入到表中,也就是出现了插该新楼的信息也无法插入到表中,也就是出现了插入异常。同样,如果有入异常。同样,如果有400名学生住在同一个楼里,名学生住在同一个楼里,则该楼的信息就要重复则该楼的信息就要重复400次,因此也存在数据冗余次,因此也存在数据冗余问题。问题。841.4.2 关系数据库的规范化理论关系数据库的规范化理论 改进方法:将关系改进方法:将关系Housing分解为两个关系。分解为两个关系。SIDSnameBuilding10TomA11JerryA12KateB13TonyB14JohnC15MaryD“Stu-Housing”关系:关系:851.4.2

      49、关系数据库的规范化理论关系数据库的规范化理论“Housing-Fee”关系:关系:BuildingFeeA1100B1200C1300D1400分解后的关系解决了插入异常、删除异常、分解后的关系解决了插入异常、删除异常、数据冗余的问题数据冗余的问题861.4.2 关系数据库的规范化理论关系数据库的规范化理论n规范化的本质是把表示不同主题的信息分解到不规范化的本质是把表示不同主题的信息分解到不同的关系中,如果某个关系包含有两个或两个以同的关系中,如果某个关系包含有两个或两个以上的主题,就应该将它分解为多个关系,使每个上的主题,就应该将它分解为多个关系,使每个关系只包含一个主题。关系只包含一个主题。n在分解关系之后,需要注意建立起关系之间的关在分解关系之后,需要注意建立起关系之间的关联约束(参照完整性约束)。联约束(参照完整性约束)。n关系变得更加复杂,对关系的使用也会变得复杂,关系变得更加复杂,对关系的使用也会变得复杂,因此并不是分解得越细越好。一般来说,用户的因此并不是分解得越细越好。一般来说,用户的目标是第三范式(目标是第三范式(3NF)数据库,因为在大多数)数据库,因为在大多数情况

      50、下,这是进行规范化功能与易用程度的最好情况下,这是进行规范化功能与易用程度的最好平衡点。在理论上和一些实际使用的数据库中,平衡点。在理论上和一些实际使用的数据库中,有比有比3NF更高的等级。更高的等级。871.5 数据库系统的体系结构数据库系统的体系结构数据库系统的体系结构是数据库系统的一个总的数据库系统的体系结构是数据库系统的一个总的框架。尽管实际的数据库系统软件产品多种多样,框架。尽管实际的数据库系统软件产品多种多样,它们支持的数据模型也不一定不同,使用不同的数它们支持的数据模型也不一定不同,使用不同的数据库语言,建立在不同的操作系统之上,数据的存据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但是绝大多数数据库系统在总储结构也各不相同,但是绝大多数数据库系统在总的体系结构上都具有三级模式的结构特征。的体系结构上都具有三级模式的结构特征。881.5.1 数据库系统的三级模式结构数据库系统的三级模式结构三级模式结构:外模式、模式和内模式三级模式结构:外模式、模式和内模式外模式外模式/模式映像模式映像应用应用A应用应用B应用应用C应用应用D应用应用E外模式外模式1外模式外

      51、模式2外模式外模式3模式模式内模式内模式数据库数据库模式模式/内模式映像内模式映像891.5.1 数据库系统的三级模式结构数据库系统的三级模式结构三级模式是对数据的三个抽象级别,它把数据三级模式是对数据的三个抽象级别,它把数据的具体组织留给的具体组织留给DBMS管理,使用户能逻辑地抽象管理,使用户能逻辑地抽象地处理数据,而不必关心数据在计算机中的表示和地处理数据,而不必关心数据在计算机中的表示和存储。为了实现这三个抽象层次的联系和转换,数存储。为了实现这三个抽象层次的联系和转换,数据库系统在这三级模式中提供了两层映像:外模式据库系统在这三级模式中提供了两层映像:外模式模式映像;模式内模式映像。模式映像;模式内模式映像。901.5.1 数据库系统的三级模式结构数据库系统的三级模式结构1. 模式模式(逻辑模式逻辑模式)n是数据库中全体数据的逻辑结构和特性的描述,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。是所有用户的公共数据视图。n以某一种数据模型为基础。不仅要定义数据的逻以某一种数据模型为基础。不仅要定义数据的逻辑结构,而且要定义与数据有关的安全性、完整辑结构,而

      52、且要定义与数据有关的安全性、完整性要求;不仅要定义记录内部的结构,而且要定性要求;不仅要定义记录内部的结构,而且要定义数据以及不同记录之间的联系。义数据以及不同记录之间的联系。n模式既不涉及数据的物理存储细节和硬件环境,模式既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序和开发工具无关。也与具体的应用程序和开发工具无关。nDBMS提供模式数据描述语言描述模式。提供模式数据描述语言描述模式。911.5.1 数据库系统的三级模式结构数据库系统的三级模式结构2. 外模式外模式(子模式或用户模式子模式或用户模式)n是数据库用户看到的数据视图,是与某一应用有是数据库用户看到的数据视图,是与某一应用有关的数据的逻辑表示。关的数据的逻辑表示。n通常是模式的子集,由于不同的用户其需求不同,通常是模式的子集,由于不同的用户其需求不同,看待数据的方式不同,对数据的要求不同,使用看待数据的方式不同,对数据的要求不同,使用的程序设计语言也可以不同,因此不同用户的外的程序设计语言也可以不同,因此不同用户的外模式描述是不同的。即使对模式中同一数据,在模式描述是不同的。即使对模式中同一数据,在外模式中的结构

      53、、类型、长度、保密级别等都可外模式中的结构、类型、长度、保密级别等都可以不同。以不同。nDBMS提供外模式数据描述语言来描述外模式。提供外模式数据描述语言来描述外模式。921.5.1 数据库系统的三级模式结构数据库系统的三级模式结构3. 内模式内模式n是全体数据库数据的内部表示或者低层描述,用是全体数据库数据的内部表示或者低层描述,用来定义数据的存储方式和物理结构。来定义数据的存储方式和物理结构。n通常用内模式数据描述语言来描述和定义。通常用内模式数据描述语言来描述和定义。931.5.2 数据库的二级映像与数据的独立性数据库的二级映像与数据的独立性1. 外模式外模式/模式映像模式映像 定义某一个外模式和模式之间的对应关系。当模定义某一个外模式和模式之间的对应关系。当模式改变时,外模式式改变时,外模式/模式的映像要作相应的改变模式的映像要作相应的改变(由由DBA负责负责)以保证外模式保持不变。以保证外模式保持不变。 对应于同一个模式,可以有任意多个外模式对应于同一个模式,可以有任意多个外模式。2. 模式模式/内模式映像内模式映像 定义数据的逻辑结构和存储结构之间的对应关系,定义数据的逻辑

      54、结构和存储结构之间的对应关系,说明逻辑记录和字段在内部是如何表示的。这样说明逻辑记录和字段在内部是如何表示的。这样,当数据库的存储结构改变时,可相应修改模式内当数据库的存储结构改变时,可相应修改模式内模式的映像,从而使模式保持不变。模式的映像,从而使模式保持不变。941.5.2 数据库的二级映像与数据的独立性数据库的二级映像与数据的独立性n模式(全局逻辑结构)应该首先定义,因为它独模式(全局逻辑结构)应该首先定义,因为它独立于数据库的其他所有结构描述。立于数据库的其他所有结构描述。n 内模式(内模式(存储模式)存储模式)依赖于全局逻辑结构,独立依赖于全局逻辑结构,独立于任何一个外模式(用户的局部逻辑结构)。于任何一个外模式(用户的局部逻辑结构)。n 外模式独立于存储模式和存储设备,它必须在数外模式独立于存储模式和存储设备,它必须在数据库的全局逻辑结构描述(模式)的基础上定义。据库的全局逻辑结构描述(模式)的基础上定义。 二级映像功能使数据库系统中的数据具有较高二级映像功能使数据库系统中的数据具有较高的的逻辑独立性逻辑独立性和和物理独立性物理独立性。说明:说明:951.5.2 数据库的二

      55、级映像与数据的独立性数据库的二级映像与数据的独立性n一个子模式一旦被定义,则除非模式结构的变化一个子模式一旦被定义,则除非模式结构的变化使得子模式中的某些数据无法再从数据库中导出,使得子模式中的某些数据无法再从数据库中导出,否则不必改变子模式。通过调整外模式否则不必改变子模式。通过调整外模式/模式映像模式映像可实现这一点。这就是子模式对于模式的相对独可实现这一点。这就是子模式对于模式的相对独立性,即立性,即逻辑数据独立性逻辑数据独立性。n应用程序是在子模式的数据结构上编制的,因此,应用程序是在子模式的数据结构上编制的,因此,它必然依赖于特定的子模式。但是,在一个完善它必然依赖于特定的子模式。但是,在一个完善的数据库系统中,它是独立于存储设备和存储模的数据库系统中,它是独立于存储设备和存储模式的,并且只要数据库全局逻辑模式的变化不导式的,并且只要数据库全局逻辑模式的变化不导致其对应的子模式的改变,则应用程序也是独立致其对应的子模式的改变,则应用程序也是独立于数据库模式的。于数据库模式的。961.6 数据库系统设计简介数据库系统设计简介n数据库系统的设计包括数据库系统的设计包括:数据库的设

      56、计数据库的设计数据库应用系统设计数据库应用系统设计n数据库设计数据库设计是指设计数据库的结构特性,即为特是指设计数据库的结构特性,即为特定的应用环境构造最优的数据模型;定的应用环境构造最优的数据模型;n数据库应用系统设计数据库应用系统设计是指设计出满足各种用户对是指设计出满足各种用户对数据库应用需求的应用程序。用户通过应用程序数据库应用需求的应用程序。用户通过应用程序来访问和操作数据库。来访问和操作数据库。971.6 数据库系统设计简介数据库系统设计简介 将数据库设计分为将数据库设计分为6个阶段:个阶段:n 需求分析阶段需求分析阶段n 概念结构设计阶段概念结构设计阶段n 逻辑结构设计阶段逻辑结构设计阶段n 物理结构设计阶段物理结构设计阶段n 数据库实施阶段数据库实施阶段n 数据库运行和维护阶段数据库运行和维护阶段 以上步骤既是数据库设计的过程,也包括数据库以上步骤既是数据库设计的过程,也包括数据库应用系统的设计过程。在设计过程只有将这两方面应用系统的设计过程。在设计过程只有将这两方面有机地结合起来,互相参照、互为补充,才可以设有机地结合起来,互相参照、互为补充,才可以设计出性能良好的数

      57、据库应用系统。计出性能良好的数据库应用系统。981.6 数据库系统设计简介数据库系统设计简介1 1. . 需求分析阶段需求分析阶段 任务:任务:准确了解并分析用户对系统的要求,确定准确了解并分析用户对系统的要求,确定所要开发的应用系统的目标,重点调查用户的信息要所要开发的应用系统的目标,重点调查用户的信息要求、处理要求、安全性与完整性要求求、处理要求、安全性与完整性要求 结果:结果:产生用户和设计者都能接受的需求说明书,产生用户和设计者都能接受的需求说明书,做为下一步数据库概念结构设计的基础。做为下一步数据库概念结构设计的基础。 需求分析主要是考虑需求分析主要是考虑“做什么做什么”,而不是考虑,而不是考虑“怎怎么做么做”。 需求分析做得是否充分、准确,将决定以后各设计需求分析做得是否充分、准确,将决定以后各设计步骤能否顺利进行。如果需求分析做得不好,会影响步骤能否顺利进行。如果需求分析做得不好,会影响整个系统的性能,甚至会导致整个数据库设计的返工整个系统的性能,甚至会导致整个数据库设计的返工991.6 数据库系统设计简介数据库系统设计简介 2. 概念结构设计阶段概念结构设计阶段 将需求

      58、分析得到的用户需求抽象为信息结构即概将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构是独立念模型的过程就是概念结构设计。概念结构是独立于支持数据库的于支持数据库的DBMS和使用的硬件环境的。和使用的硬件环境的。 人们提出了多种概念结构设计的表达工具,其中人们提出了多种概念结构设计的表达工具,其中最常用、最有名的是最常用、最有名的是E-R模型。模型。1001.6 数据库系统设计简介数据库系统设计简介 在概念结构设计阶段,首先要对需求分析阶段收在概念结构设计阶段,首先要对需求分析阶段收集到的数据进行分类、组织,形成实体、实体的属集到的数据进行分类、组织,形成实体、实体的属性,标识实体的码,确定实体之间的联系类型性,标识实体的码,确定实体之间的联系类型(1:1,1:n,m:n), 针对各个局部应用设计局部视图(如分针对各个局部应用设计局部视图(如分E-R图)。图)。合并局部视图,通过消除各局部视图的属性冲突、合并局部视图,通过消除各局部视图的属性冲突、命名冲突、结构冲突、数据冗余等,最终集成为一命名冲突、结构冲突、数据冗余等,最终集成为一个全局视图(如整体的个

      59、全局视图(如整体的E-R图)。图)。 概念模型是数据库逻辑设计的依据,是整个数据概念模型是数据库逻辑设计的依据,是整个数据库设计的关键。库设计的关键。1011.6 数据库系统设计简介数据库系统设计简介3. 逻辑结构设计阶段逻辑结构设计阶段 任务是将概念结构进一步转化为某一任务是将概念结构进一步转化为某一DBMS支持支持的数据模型。包括数据库模式和外模式。的数据模型。包括数据库模式和外模式。 首先需要将概念结构转化为一般的关系、网状、首先需要将概念结构转化为一般的关系、网状、层次模型;然后将转化后的关系、网状、层次模型层次模型;然后将转化后的关系、网状、层次模型向特定向特定DBMS支持下的数据模型转换,转换的主要支持下的数据模型转换,转换的主要依据是所选用的依据是所选用的DBMS的功能及限制,没有通用规的功能及限制,没有通用规则。对于关系模型来说,这种转换通常都比较简单;则。对于关系模型来说,这种转换通常都比较简单;最后对数据模型进行优化。最后对数据模型进行优化。1021.6 数据库系统设计简介数据库系统设计简介 逻辑结构设计逻辑结构设计阶段可能还需要设计用户子模式阶段可能还需要设计用户

      60、子模式(外模式),即用户可直接访问的数据模式。同一(外模式),即用户可直接访问的数据模式。同一系统中,不同用户可以有不同的外模式。定义用户系统中,不同用户可以有不同的外模式。定义用户外模式时应该更注重考虑用户的习惯与方便,主要外模式时应该更注重考虑用户的习惯与方便,主要包括以下三个方面包括以下三个方面:(1) 使用更符合用户习惯的别名使用更符合用户习惯的别名。(2) 针对不同级别的用户定义不同的外模式,以满针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求足系统对安全性的要求。(3) 如果某些局部应用中经常要使用某些很复杂的如果某些局部应用中经常要使用某些很复杂的查询,为了方便用户,可以将这些复杂查询定义为查询,为了方便用户,可以将这些复杂查询定义为外模式(视图),以简化用户对系统的使用外模式(视图),以简化用户对系统的使用。1031.6 数据库系统设计简介数据库系统设计简介 4. 物理结构设计阶段物理结构设计阶段 用于为逻辑数据模型选取一个最适合应用环境的用于为逻辑数据模型选取一个最适合应用环境的物理结构,包括数据库在物理设备上的存储结构和物理结构,包括数据库在物理设备上的

      61、存储结构和存取方法。存取方法。 由于不同的数据库产品所提供的物理环境、存取由于不同的数据库产品所提供的物理环境、存取方法和存储结构各不相同,供设计人员使用的设计方法和存储结构各不相同,供设计人员使用的设计变量、参数范围也各不相同,所以物理结构设计没变量、参数范围也各不相同,所以物理结构设计没有通用的设计方法可以遵循。有通用的设计方法可以遵循。 主要考虑问题:主要考虑问题:物理数据库结构物理数据库结构应应能满足事务在能满足事务在数据库上运行时数据库上运行时响应时间少响应时间少、存储空间利用率高存储空间利用率高和和事务吞吐率大事务吞吐率大的要求的要求。1041.6 数据库系统设计简介数据库系统设计简介 5. 数据库实施阶段数据库实施阶段 完成数据库物理设计之后,设计人员就要用完成数据库物理设计之后,设计人员就要用DBMS提供的数据定义语言和其他实用程序将数据提供的数据定义语言和其他实用程序将数据库逻辑设计和物理设计结果严格地描述出来,成为库逻辑设计和物理设计结果严格地描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模可以接受的源代码,再经过调试产生目标模式,然后就可以组织数据入库

      62、了,这就是数据库实式,然后就可以组织数据入库了,这就是数据库实施阶段施阶段。1051.6 数据库系统设计简介数据库系统设计简介(1) 用用DBMS提供的数据定义语言(提供的数据定义语言(DDL)描述数)描述数据库结构。据库结构。(2) 组织数据入库。组织数据入库。(3) 编制与调试应用程序。数据库应用程序的设计编制与调试应用程序。数据库应用程序的设计应该与数据库设计并行进行。因此,在部分数据应该与数据库设计并行进行。因此,在部分数据录入到数据库中之后,就可以开始对应用程序进录入到数据库中之后,就可以开始对应用程序进行调试了。行调试了。这这时由于数据入库尚未完成,可以先时由于数据入库尚未完成,可以先使用模拟数据,模拟数据应该具有一定的代表性,使用模拟数据,模拟数据应该具有一定的代表性,足够测试系统的多数功能。应用程序的设计、编足够测试系统的多数功能。应用程序的设计、编码和调试方法、步骤应遵循软件工程的规范。码和调试方法、步骤应遵循软件工程的规范。(4) 数据库试运行:功能测试数据库试运行:功能测试;性能测试性能测试1061.6 数据库系统设计简介数据库系统设计简介6. 数据库运行和维护阶

      63、段数据库运行和维护阶段 数据库试运行结果符合设计目标后,数据库就可数据库试运行结果符合设计目标后,数据库就可以投入正式运行了。数据库投入运行标志着开发任以投入正式运行了。数据库投入运行标志着开发任务的基本完成和维护工作的开始。由于应用环境在务的基本完成和维护工作的开始。由于应用环境在不断变化,数据库运行过程中物理存储会不断变化,不断变化,数据库运行过程中物理存储会不断变化,因此,对数据库设计进行评价、调整、修改等维护因此,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务,也是设计工作的继续和提工作是一个长期的任务,也是设计工作的继续和提高。高。1071.6 数据库系统设计简介数据库系统设计简介 在数据库运行阶段,对数据库经常性的维护工作在数据库运行阶段,对数据库经常性的维护工作主要是由主要是由DBA完成的。工作主要包括:完成的。工作主要包括:(1) 数据库的转储和恢复。数据库的转储和恢复。(2) 数据库的安全性、完整性控制数据库的安全性、完整性控制: DBA需要应用环需要应用环境的变化修改原有的安全性控制和完整性约束。境的变化修改原有的安全性控制和完整性约束。(3) 数据库性能的监督、分析和改进。数据库性能的监督、分析和改进。(4) 数据库的重组织和重构造。数据库运行一段时数据库的重组织和重构造。数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率物理存储变坏,从而降低数据库存储空间的利用率和数据的存取效率,使数据库的性能下降,因此需和数据的存取效率,使数据库的性能下降,因此需要对数据库进行重新组织。要对数据库进行重新组织。108

      《《SQLServer教案》PPT课件.ppt》由会员m****分享,可在线阅读,更多相关《《SQLServer教案》PPT课件.ppt》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.