1、12教学参考书教学参考书 段丁凡,苏斌段丁凡,苏斌 数据库基础及应用数据库基础及应用 王珊,陈红王珊,陈红数据库系统原理教程数据库系统原理教程 汤庸,叶小平等汤庸,叶小平等数据库理论及应用基础数据库理论及应用基础 陶宏才陶宏才 数据库原理及设计数据库原理及设计 李俊山李俊山 数据库系统原理与设计数据库系统原理与设计 SQL Server 2000SQL Server 2000的相关辅导书籍的相关辅导书籍3课程目的课程目的 u 掌握数据库管理系统的基本原理掌握数据库管理系统的基本原理u 作为系统管理员管理数据库系统作为系统管理员管理数据库系统u 设计开发数据库应用系统设计开发数据库应用系统4课程
2、内容课程内容 u 数据库相关的一些基本概念数据库相关的一些基本概念u 关系数据库和关系运算关系数据库和关系运算u 关系数据库标准语言关系数据库标准语言SQL的使用的使用 u 关系数据库规范化理论关系数据库规范化理论u 数据库的恢复技术、并发控制、安全性和完整性数据库的恢复技术、并发控制、安全性和完整性u 数据库设计的基本概念和方法数据库设计的基本概念和方法 5学习要求学习要求u 理解数据库的基本概念理解数据库的基本概念u 了解数据管理技术的发展了解数据管理技术的发展u 理解数据模型的基本概念理解数据模型的基本概念u 掌握数据库系统的结构掌握数据库系统的结构 第一章第一章绪论绪论 61.1 数据
3、库系统概述数据库系统概述 数据库的地位数据库的地位 数据库技术产生于六十年代末,是数据管理的最新数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。技术,是计算机科学的重要分支。数据库技术是信息系统的核心和基础,它的出现极数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透。大地促进了计算机应用向各行各业的渗透。数据库的建设规模、数据库信息量的大小和使用频数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。度已成为衡量一个国家信息化程度的重要标志。71.1.1 四个基本概念四个基本概念 u 数据数据u数据库数据
4、库u数据库管理系统数据库管理系统u数据库系统数据库系统8四个基本概念四个基本概念 u 数据数据(Data):数据库中存储的基本对象,是描述事物数据库中存储的基本对象,是描述事物的符号记录,如的符号记录,如:数字、文字、图形、图像、数字、文字、图形、图像、声音等,数据与其语义是不可分的。声音等,数据与其语义是不可分的。如学生档案中的学生记录如学生档案中的学生记录(李明李明,男男,1972,1972,江苏江苏,计算机系计算机系,1990),1990)9四个基本概念四个基本概念 u 数据库数据库(Database(Database,DB)DB):是长期储存在计算机内、有组织的、可共是长期储存在计算机
5、内、有组织的、可共享的大量数据集合。其特征是:享的大量数据集合。其特征是:数据按一定的数据模型组织、描述和储存。可为各种用户共享。冗余度较小。数据独立性较高、易扩展。10四个基本概念四个基本概念 u 数据库管理系统数据库管理系统(Database Management System(Database Management System,DBMS)DBMS):是位于用户与操作系统之间的一层数据管理软件。是位于用户与操作系统之间的一层数据管理软件。DBMSDBMS的主的主要功能有:要功能有:数据管理功能数据管理功能:数据定义功能,数据组织、存储和管理,数数据定义功能,数据组织、存储和管理,数据操纵
6、功能,数据库的事物管理和运行管理,数据库的建立据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能和维护功能,其他功能 提供数据库的用户接口提供数据库的用户接口Oracle,Sybase,Informix,SQL Server,MySQL,Access11四个基本概念四个基本概念 u 数据库系统数据库系统(Database System,DBS):是:是指在计算机系统中引入数据库后的系统指在计算机系统中引入数据库后的系统 “DB+DBMS+DB+DBMS+应用系统应用系统+数据库管理员数据库管理员(DataBase Administration,DBA DataBase A
7、dministration,DBA)”在不引起混淆时常常把数据库系统简称为数据库。在不引起混淆时常常把数据库系统简称为数据库。12数据库数据库最终用户最终用户应用系统应用系统应用开发工具应用开发工具DBMS操作系统操作系统数据库管理员数据库管理员DBA应用程序员应用程序员13应用系统应用系统应用开发工具应用开发工具DBMS操作系统操作系统硬件硬件数据库系统环境示意图数据库系统环境示意图数据库在计算机系统中的地位数据库在计算机系统中的地位数据库管理系统数据库管理系统应用系应用系统统数据库数据库用户、数据库管理员用户、数据库管理员141.1.2 数据库技术的产生与发展数据库技术的产生与发展 z 人
8、工管理阶段人工管理阶段z 文件系统阶段文件系统阶段z 数据库系统阶段数据库系统阶段15数据库技术的产生与发展数据库技术的产生与发展 u 人工人工管理阶段管理阶段(40(40年代中年代中-50-50年代中年代中)应用需求:科学计算应用需求:科学计算 硬硬 件:无直接存取存储设备件:无直接存取存储设备 软软 件:无通用的操作系统件:无通用的操作系统 处理方式:批处理处理方式:批处理16数据库技术的产生与发展数据库技术的产生与发展人工管理阶段人工管理阶段 数据管理者:数据管理者:应用程序应用程序,数据不保存。,数据不保存。数据面向的对象:某一应用程序。数据面向的对象:某一应用程序。数据共享程度:数据
9、共享程度:无共享无共享、冗余度极大。、冗余度极大。数据独立性:数据独立性:不独立不独立,完全依赖于程序。,完全依赖于程序。数据结构化:无结构。数据结构化:无结构。数据控制能力:应用程序自己控制。数据控制能力:应用程序自己控制。17应用程序应用程序数据集数据集应用程序应用程序数据集数据集应用程序应用程序数据集数据集n.人工管理阶段应用程序与数据的对应关系人工管理阶段应用程序与数据的对应关系数据库技术的产生与发展数据库技术的产生与发展人工管理阶段人工管理阶段 18数据库技术的产生与发展数据库技术的产生与发展 u 文件系统阶段文件系统阶段(50年代末年代末-60年代中年代中)应用需求:科学计算、数据
10、处理应用需求:科学计算、数据处理 硬硬 件:出现磁盘、磁鼓等件:出现磁盘、磁鼓等 软软 件:操作系统、高级语言件:操作系统、高级语言 处理方式:批处理、共享的实时处理方式处理方式:批处理、共享的实时处理方式19 数据管理者:数据管理者:文件系统文件系统,数据长期保存。,数据长期保存。数据面向的对象:某一应用程序。数据面向的对象:某一应用程序。数据共享程度:数据共享程度:共享性差共享性差、冗余度大。、冗余度大。数据结构化:数据结构化:记录内有结构记录内有结构,整体无结构整体无结构。数据独立性:逻辑结构改变须修改应用程序。数据独立性:逻辑结构改变须修改应用程序。数据控制能力:应用程序自己控制。数据
11、控制能力:应用程序自己控制。数据库技术的产生与发展数据库技术的产生与发展文件系统阶段文件系统阶段 20文件管理阶段应用程序与数据的对应关系文件管理阶段应用程序与数据的对应关系应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法.数据库技术的产生与发展数据库技术的产生与发展文件系统阶段文件系统阶段 21数据库技术的产生与发展数据库技术的产生与发展 u 数据库系统阶段数据库系统阶段(60年代末以来年代末以来)应用需求:大规模管理应用需求:大规模管理 硬硬 件:出现大容量磁盘、磁盘阵列件:出现大容量磁盘、磁盘阵列 软软 件:数据库管理系统件:数据库管理系统 处
12、理方式:联机实时处理、分布处理和批处理处理方式:联机实时处理、分布处理和批处理22数据库技术的产生与发展数据库技术的产生与发展数据库系统阶段数据库系统阶段 数据管理者:数据管理者:DBMS 数据面向的对象:整个系统数据面向的对象:整个系统 数据高度结构化:数据库与文件系统的根本区别数据高度结构化:数据库与文件系统的根本区别 数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充 数据的独立性高:物理独立性和逻辑独立性数据的独立性高:物理独立性和逻辑独立性 数据控制能力:由数据控制能力:由DBMS统一管理和控制统一管理和控制23数据库管理阶段应用程序与数据的对应关系数据库管理阶段应用程
13、序与数据的对应关系DBMS应用程序应用程序1应用程序应用程序2数据库数据库数据库技术的产生与发展数据库技术的产生与发展数据库系统阶段数据库系统阶段 241.1.3 数据库系统的特点数据库系统的特点u数据结构化数据结构化u数据的共享性高,冗余度低,易扩充数据的共享性高,冗余度低,易扩充u数据独立性高数据独立性高u数据由数据由DBMS统一管理和控制统一管理和控制25数据结构化数据结构化l数据库系统:实现整体数据的结构话,这是数据库系统数据库系统:实现整体数据的结构话,这是数据库系统与文件系统的本质区别。与文件系统的本质区别。文件系统:文件由记录组成,文件内部有结构,文文件系统:文件由记录组成,文件
14、内部有结构,文件之间无结构。件之间无结构。数据库系统:数据之间整体有结构,是一个有机的数据库系统:数据之间整体有结构,是一个有机的整体。整体。26数据结构化数据结构化学生文件学生文件student的记录结构的记录结构学生学生编号编号姓名姓名性别性别年龄年龄系系家庭家庭住址住址联系联系电话电话课程文件课程文件course的记录结构的记录结构课程编号课程编号 课程名称课程名称学时数学时数教材名称教材名称学生选课文件学生选课文件sc的记录结构的记录结构学生编号学生编号 课程编号课程编号学期学期成绩成绩27数据结构化数据结构化学生基本记录学生基本记录学生学生编号编号姓名姓名性别性别年龄年龄系系学生学籍
15、记录学生学籍记录家庭出家庭出身身籍贯籍贯政治面政治面貌貌奖惩情况记录奖惩情况记录日期日期奖惩条奖惩条目目日期日期学校学校学历学历名名家庭成员记录家庭成员记录姓名姓名与本人与本人关系关系详细情详细情况况学生选课记录学生选课记录学号学号课程课程号号学期学期成绩成绩课程记录课程记录课程号课程号课程名称课程名称28数据库系统的特点数据库系统的特点共享性高共享性高 u数据共享性高,冗余度低,容易扩充数据共享性高,冗余度低,容易扩充数据库系统从整体角度来组织存储数据,数据不只是面向某数据库系统从整体角度来组织存储数据,数据不只是面向某一个应用,而是面向整个系统,因此具有很高的共享性。一个应用,而是面向整个
16、系统,因此具有很高的共享性。共享数据带来了低冗余性,也能避免数据之间的不相容性和共享数据带来了低冗余性,也能避免数据之间的不相容性和不一致性。不一致性。数据共享使得应用可以应需要而增加,容易扩充数据共享使得应用可以应需要而增加,容易扩充29数据库系统的特点数据库系统的特点数据独立性高数据独立性高 u物理独立性物理独立性:是指用户的应用程序与存储在磁盘上的数据库中:是指用户的应用程序与存储在磁盘上的数据库中的数据时相互独立的。数据的物理存储由的数据时相互独立的。数据的物理存储由DBMSDBMS负责,应用程序负责,应用程序不必了解,只需要处理数据的逻辑结构。这样当数据库的物理不必了解,只需要处理数
17、据的逻辑结构。这样当数据库的物理结构改变时,应用程序不用改变。结构改变时,应用程序不用改变。u逻辑独立性逻辑独立性:直指用户的应用程序与数据库的逻辑结构是相互:直指用户的应用程序与数据库的逻辑结构是相互独立的,数据库的逻辑结构改变了,用户程序可以不予改变。独立的,数据库的逻辑结构改变了,用户程序可以不予改变。u数据与程序的独立,把数据的定义和存储从程序中分离出去,数据与程序的独立,把数据的定义和存储从程序中分离出去,而存取数据的方法由而存取数据的方法由DBMSDBMS提供,从而大大简化了应用程序的编提供,从而大大简化了应用程序的编制,减少了应用程序的维护和修改。制,减少了应用程序的维护和修改。
18、30数据库系统的特点数据库系统的特点数据由数据由DBMS统一管理和控制统一管理和控制 u数据的安全性保护数据的安全性保护:保护数据不被不合法应用,不合法:保护数据不被不合法应用,不合法用户破坏。用户破坏。u数据的完整性检查数据的完整性检查:包括检查数据的正确性,有效性和:包括检查数据的正确性,有效性和相容性。相容性。u并发控制:并发控制:多个进程并发存取或修改数据库时的控制。多个进程并发存取或修改数据库时的控制。u数据库恢复:数据库恢复:计算机系统的硬件故障,软件故障,操作计算机系统的硬件故障,软件故障,操作员的操作错误或者故意破坏导致数据库丢失或破坏时,员的操作错误或者故意破坏导致数据库丢失
19、或破坏时,由由DBMSDBMS提供的功能让数据库恢复到正确状态。提供的功能让数据库恢复到正确状态。数据库中的数据是共享的,多个应用,多个用户可以同数据库中的数据是共享的,多个应用,多个用户可以同时存取数据库的数据,甚至同时存取统一数据,那么,时存取数据库的数据,甚至同时存取统一数据,那么,DBMS必须具有以下的基本功能:必须具有以下的基本功能:311.2 数据模型数据模型 数据模型数据模型就是对现实世界数据特征的抽象,是现实世界的模拟描述或就是对现实世界数据特征的抽象,是现实世界的模拟描述或表示。数据模型应满足的三个要求:表示。数据模型应满足的三个要求:比较真实地描述现实世界比较真实地描述现实
20、世界 易为用户所理解易为用户所理解 易于在计算机上实现易于在计算机上实现模型模型是所研究的系统、过程、事物或概念的一种表达形式,也可指根是所研究的系统、过程、事物或概念的一种表达形式,也可指根据实验、图样放大或缩小而制作的样品,一般用于展览或实验或铸造据实验、图样放大或缩小而制作的样品,一般用于展览或实验或铸造机器零件等用的模子。机器零件等用的模子。数据(数据(data)是描述事物的符号记录。是描述事物的符号记录。模型(模型(Model)是现实世界的抽象。是现实世界的抽象。321.2.1 两类数据模型两类数据模型 按照建立数据模型的目的不同,可以分为两类:按照建立数据模型的目的不同,可以分为两
21、类:u 按照用户的观点建模按照用户的观点建模u 按照计算机系统的观点建模按照计算机系统的观点建模 网状模型网状模型 层次模型层次模型 关系模型关系模型 概念模型(信息模型)概念模型(信息模型)逻辑模型逻辑模型 逻辑模型和物理模型逻辑模型和物理模型 用于设计数据库用于设计数据库 用于数据库的逻辑实现用于数据库的逻辑实现和物理实现和物理实现331.2.2 数据模型的组成要素数据模型的组成要素 u 数据结构数据结构系统的静态特性系统的静态特性数据结构不仅要描述数据库组成对象,还要描述对象之间的联数据结构不仅要描述数据库组成对象,还要描述对象之间的联系。通常所说的层状、网状和关系模型,就是按照此处的数
22、据系。通常所说的层状、网状和关系模型,就是按照此处的数据结构来进行划分的。结构来进行划分的。u 数据操作数据操作系统的动态特性系统的动态特性是指对数据库中的各种对象运行执行的操作的集合,包括操作及是指对数据库中的各种对象运行执行的操作的集合,包括操作及有关的操作规则。数据库的操作包括查询和更新。有关的操作规则。数据库的操作包括查询和更新。u 数据的完整性约束条件数据的完整性约束条件一组完整性规则的集合一组完整性规则的集合完整性规则是数据模型中数据及其联系所具有的约束规则,用完整性规则是数据模型中数据及其联系所具有的约束规则,用来限定数据库状态以及状态的变化,以保证数据的正确。来限定数据库状态以
23、及状态的变化,以保证数据的正确。34二、数据模型的组成要素二、数据模型的组成要素 u 数据结构数据结构系统的静态特性系统的静态特性u 数据操作数据操作系统的动态特性系统的动态特性u 数据的完整性约束条件数据的完整性约束条件一组完整性规则的集合一组完整性规则的集合同时数据模型还必须提供定义完整性约束条件的机制,以反映同时数据模型还必须提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。具体应用所涉及的数据必须遵守的特定的语义约束条件。例如,在全国英语等级考试中规定,要先考过四级才能考六例如,在全国英语等级考试中规定,要先考过四级才能考六级;四级要达到级;四级要达
24、到520分,才能参加口语考试。分,才能参加口语考试。351.2.3 概念模型(信息模型)概念模型(信息模型)u 概念概念 从用户的角度出发,将具体的现实世界抽象为一从用户的角度出发,将具体的现实世界抽象为一个具有某种信息结构的信息世界,这种信息结构只个具有某种信息结构的信息世界,这种信息结构只反映现实世界,与具体的反映现实世界,与具体的DMBSDMBS无关。无关。u 作用作用 对信息世界进行建模,是现实世界到信息世界对信息世界进行建模,是现实世界到信息世界的第一层抽象,是用户和数据库设计者进行交流的第一层抽象,是用户和数据库设计者进行交流的语言。最后将概念模型转换为计算机上某一的语言。最后将概
25、念模型转换为计算机上某一DBMSDBMS支持的数据模型,建立数据库。支持的数据模型,建立数据库。36信息世界中的基本概念信息世界中的基本概念 实体实体(Entity)(Entity):客观存在并可相互区别的事物。客观存在并可相互区别的事物。属性属性(Attribute)(Attribute):实体所具有的某一特性。实体所具有的某一特性。码码(Key):能唯一标识实体的属性集。能唯一标识实体的属性集。域域(Domain):属性的取值范围。属性的取值范围。实体型实体型(Entity Type):实体名和属性集表达的同类实体。实体名和属性集表达的同类实体。实体集实体集(Entity Set):同型实
26、体的集合。同型实体的集合。37信息世界中的基本概念信息世界中的基本概念 联系联系(Relationship):实体内部的联系和实体间的联系实体内部的联系和实体间的联系一对一联系(one-to-one,1:1)一对多联系(one-to-many,1:N)多对多联系(many-to-many,M:N)定义:定义:设联系型R关联实体型A和B。若对应A中的每个实体,B中有且仅有一个实体与之关联,则称R是一对一联系型一对一联系型。若对应A中的每个实体,B中有n个实体(n0)与之关联,则称R是一对多联系型一对多联系型。若对应A中的每个实体,B中有n个实体(n 0)与之关联,对应B中的每个实体,A中有m个实
27、体(m 0)与之关联,则称R是多对多联系型多对多联系型。38返回返回39返回返回4041概念模型的一种表示方法概念模型的一种表示方法 u 实体联系方法实体联系方法(E-R方法方法),也称,也称E-R模型。模型。实体型:实体型:用矩形表示,矩形框内写明实体名;实体的属性用椭圆形表示,以无向边将其与相应的实体连接起来。联系:联系:联系本身用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n、m:n),联系的属性也要用无向边与该联系连接。42丈夫夫妻妻子11父亲父子孩子1n课程选修学生mn学生学号姓名性别年龄43两个以上的实体型之间的联系课程
28、课程讲授讲授教师教师参考书参考书供应商供应商供应供应项目项目零件零件mnpmn1单个实体型之间一对多的联系职工职工领导领导1 1n n44(1)一个员工可以是多个部门的经理,而一个部门最多只能有一个经理,则该管理联系为1:N联系。(2)一个员工可以在多个部门工作,而一个部门有多个员工,则该工作联系为M:N联系。联系实例联系实例 N45联系实例联系实例工厂物资管理的概念模型工厂物资管理的概念模型 仓库仓库仓库号仓库号面积面积电话号码电话号码零件零件零件号零件号名称名称规格规格单价单价描述描述项目项目项目号项目号预算预算开工日期开工日期职工职工职工号职工号姓名姓名年龄年龄职称职称供应商供应商供应商
29、号供应商号姓名姓名地址地址电话号码电话号码帐号帐号实体及其属性图实体及其联系图供应商供应商供应供应项目项目零件零件库存库存仓库仓库职工职工工作工作领导领导供应量供应量库存量库存量m mn np pm mn n1 1n n1 1n n46联系实例联系实例工厂物资管理的概念模型工厂物资管理的概念模型 完整的实体联系图供应商供应商供应供应项目项目零件零件库存库存仓库仓库职工职工工作工作领导领导供应量供应量库存量库存量m mn np pm mn n1 1n n1 1n n仓库号仓库号面积面积电话号码电话号码供应商号供应商号姓名姓名地址地址电话号码电话号码帐号帐号职工号职工号姓名姓名年龄年龄职称职称预算
30、预算开工日期开工日期项目号项目号零件号零件号名称名称规格规格单价单价描述描述471.2.4 最常用的数据模型最常用的数据模型 根据数据结构形式的不同,数据模型分为:根据数据结构形式的不同,数据模型分为:层状模型层状模型 网状模型网状模型 关系模型关系模型 面向对象的关系模型面向对象的关系模型非关系模型非关系模型481、层状模型、层状模型 用树形结构表示各类实体以及实体之间的联系用树形结构表示各类实体以及实体之间的联系 按树的定义层次模型有以下两个限制:按树的定义层次模型有以下两个限制:有且仅有一个结点无双亲有且仅有一个结点无双亲根结点根结点 其它结点有且仅有一个双亲其它结点有且仅有一个双亲49
31、特点特点 优点:优点:简单,只需很少命令就可以操作数据库简单,只需很少命令就可以操作数据库 性能优于关系模型,不低于网状模型。性能优于关系模型,不低于网状模型。提供了良好的完整性支持。提供了良好的完整性支持。缺点:缺点:难以描述现实世界中的复杂联系。难以描述现实世界中的复杂联系。对插入和删除操作的限制多。对插入和删除操作的限制多。查询子女结点必须通过双亲结点。查询子女结点必须通过双亲结点。502、网状模型、网状模型 去掉了层次模型的两个限制:去掉了层次模型的两个限制:可以有一个以上的结点无双亲可以有一个以上的结点无双亲 至少有一个结点有多于一个的双亲至少有一个结点有多于一个的双亲51特点特点
32、优点:优点:能更为直接地描述现实世界能更为直接地描述现实世界具有良好的性能,存取效率较高。具有良好的性能,存取效率较高。缺点:缺点:结构比较复杂结构比较复杂 数据独立性差。数据独立性差。523、关系模型、关系模型 层状模型和网状模型在实际当中几乎不再层状模型和网状模型在实际当中几乎不再使用,而几乎所有的使用,而几乎所有的DBMSDBMS都支持关系模型,即都支持关系模型,即使不支持的,也加上了关系模型的接口。使不支持的,也加上了关系模型的接口。u 数据结构数据结构u 数据操作数据操作u 完整性约束完整性约束53数据结构数据结构 逻辑结构是一张二维表,它由行和列组成。逻辑结构是一张二维表,它由行和
33、列组成。学生登记表学生登记表 学学 号号 姓姓 名名 年年 龄龄 性性 别别 系系 名名 年年 级级 2005004 王小明王小明 22 女女 社会学社会学 2005 2006006 黄大鹏黄大鹏 20 男男 商品学商品学 20062006008 张文斌张文斌 21 女女 法律学法律学 2006 54常用术语常用术语 关系关系:描述数据本身、数据之间联系,一个关系对应一张二维表。描述数据本身、数据之间联系,一个关系对应一张二维表。列:列:有时也称有时也称“字段字段”、“属性属性”行:行:有时也称有时也称“元组元组”、“记录记录”关系模式:关系模式:对关系的描述,一般表示为对关系的描述,一般表示
34、为 关系名关系名(属性属性1,1,属性属性2,2,属性属性n)n),即,即R R(A A1 1,A A2 2,A,An n)。)。如学生如学生(学号学号,姓名姓名,年龄年龄,性别性别,系别系别,年级年级)。域:域:属性的取值范围。属性的取值范围。55常用术语常用术语 分量:分量:元组中的一个属性值。元组中的一个属性值。主码:主码:一个唯一识别关系实例的最小字段集合。个唯一识别关系实例的最小字段集合。关系必须是规范化的,满足一定的规范条件。最基本的规范条关系必须是规范化的,满足一定的规范条件。最基本的规范条件是关系的每一个分量必须是一个不可分的数据项。件是关系的每一个分量必须是一个不可分的数据项
35、。工工 资资扣扣 除除职职 工工号号姓姓名名职职称称基基 本本工工 龄龄职职 务务房房 租租水水 电电实实发发8 86 60 05 51 1陈陈 平平讲讲 师师1 10 05 59 9 5 51 15 56 61 12 21 11 15 5 5 5.56数据操作与完整性约束数据操作与完整性约束 u 数据操作数据操作 关系数据操作是集合操作关系数据操作是集合操作 关系模型将操作中的存取路径对用户屏蔽关系模型将操作中的存取路径对用户屏蔽u 完整性约束完整性约束 实体完整性、参照完整性、用户自定义完整性实体完整性、参照完整性、用户自定义完整性57特点特点 优点:优点:建立在严格的数学概念的基础上建立
36、在严格的数学概念的基础上 概念单一,实体和联系都用关系表示,数据操作概念单一,实体和联系都用关系表示,数据操作结果为关系结果为关系 数据的存取路径对用户是透明的。数据的存取路径对用户是透明的。缺点:缺点:由于存取路径透明,使得数据存取的效率不如非由于存取路径透明,使得数据存取的效率不如非关系模型关系模型584、面向对象的数据模型、面向对象的数据模型 用面向对象观点来描述现实世界实体(对用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间联系等的模型。象)的逻辑组织、对象间联系等的模型。对象:对象:现实世界中实体的模型化,每一个对象都有现实世界中实体的模型化,每一个对象都有它唯一的标识。它
37、唯一的标识。类:类:所有具有相同属性和方法集的对象构成一个对所有具有相同属性和方法集的对象构成一个对象类。任何一个对象都是某一对象类的一个实例。象类。任何一个对象都是某一对象类的一个实例。591.3 数据库系统结构数据库系统结构 u从从数据库管理系统角度数据库管理系统角度看数据库系统内部的模式结构。看数据库系统内部的模式结构。三级模式结构:外模式、模式三级模式结构:外模式、模式 、内模式、内模式u从从数据库最终用户角度数据库最终用户角度看数据库系统外部的体系结构。看数据库系统外部的体系结构。单用户模式、主单用户模式、主/从模式从模式 、分布模式、分布模式、C/SC/S模式模式601.3.1 数
38、据库系统模式的概念数据库系统模式的概念 u 型型(Type):对某一类数据的结构和属性的说明。对某一类数据的结构和属性的说明。u 值值(Value):是型的一个具体赋值。是型的一个具体赋值。例如:例如:学生记录学生记录记录型:记录型:(学号学号,姓名姓名,性别性别,系别系别,年龄年龄,籍贯籍贯)该记录型的一个记录值:该记录型的一个记录值:(900201,李明李明,男男,计算机计算机,22,江苏江苏)61数据库系统模式的概念数据库系统模式的概念 u 模式模式(Schema):数据中全体数据逻辑结构和特征数据中全体数据逻辑结构和特征的描述。的描述。模式只涉及型,不涉及具体的值。模式只涉及型,不涉及
39、具体的值。例如:例如:学生选课数据库,型包括学生记录、课程记学生选课数据库,型包括学生记录、课程记录和学生选课记录几个关系的模式,是相对稳定的,录和学生选课记录几个关系的模式,是相对稳定的,而里面的数据是动态的,而里面的数据是动态的,2010年某一刻的数据和年某一刻的数据和2009年某一刻的数据是不同的两个值。年某一刻的数据是不同的两个值。621.3.2 数据库系统的三级模式结构数据库系统的三级模式结构 应用应用A应用应用B应用应用C应用应用D应用应用E内模式内模式外模式外模式1外模式外模式3模式模式外模式外模式2数据库数据库外模式外模式/模式映象模式映象内模式内模式/模式映象模式映象63u
40、模式(逻辑模式)模式(逻辑模式)是数据库中是数据库中全体数据全体数据的逻辑结构和特征的描述,是所有用的逻辑结构和特征的描述,是所有用户的公共数据视图,综合了所有用户的需求。户的公共数据视图,综合了所有用户的需求。一个数据库只有一个模式。一个数据库只有一个模式。模式是数据库系统模式结构的中间层,与数据的物理存储模式是数据库系统模式结构的中间层,与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。程序设计语言无关。数据库系统的三级模式结构数据库系统的三级模式结构 64学生数据库模式结构 学生(学号,姓名,性别,班
41、级,系)学生(学号,姓名,性别,班级,系)课程(课号,课名,学分,任课教师,上课地课程(课号,课名,学分,任课教师,上课地点,上课时间)点,上课时间)选课(学号,课号,成绩)选课(学号,课号,成绩)学生数据库外模式结构 电科学生(学号,姓名,性别,班级)电科学生(学号,姓名,性别,班级)数据库课程(数据库课号,数据库,学分,任数据库课程(数据库课号,数据库,学分,任课教师,上课地点,上课时间)课教师,上课地点,上课时间)电科数据库选课(学号,课号,成绩)电科数据库选课(学号,课号,成绩)65u 外模式(子模式或用户模式)外模式(子模式或用户模式)数据库用户使用的数据库用户使用的局部数据局部数据
42、的逻辑结构和特征的描述,是的逻辑结构和特征的描述,是数据库用户的数据视图,是与数据库用户的数据视图,是与某一应用有关某一应用有关的数据的逻辑表示的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有多个外模式外模式通常是模式的子集,一个数据库可以有多个外模式 同一外模式可以为某一用户的多个应用系统所使用。同一外模式可以为某一用户的多个应用系统所使用。外模式是保证数据库安全性的一个有力措施外模式是保证数据库安全性的一个有力措施数据库系统的三级模式结构数据库系统的三级模式结构 外模式外模式1外模式外模式2应用应用1应用应用266u 内模式(存储模式)内模式(存储模式)数据物理结构和存储方式的描
43、述,是数据在数据库内部的数据物理结构和存储方式的描述,是数据在数据库内部的存储方式存储方式 一个数据库只能有一个内模式一个数据库只能有一个内模式数据库系统的三级模式结构数据库系统的三级模式结构 例如:学生记录表,按照不同方式存储时插入学生记录例如:学生记录表,按照不同方式存储时插入学生记录S3,年龄年龄16岁,存储方式会有不同。岁,存储方式会有不同。S10S5S1S6S7s9S1S5S6S7s9s10S1 15S6 16 S10 16S5 17S7 17s9 18堆存储方式堆存储方式学号升序存储方式学号升序存储方式按年龄升序存储方式按年龄升序存储方式S3S3S367u 三级模式是对数据库中数据
44、的三个抽象级别,两级映三级模式是对数据库中数据的三个抽象级别,两级映象是在象是在DBMS内部实现这三个抽象层次的联系和转换。内部实现这三个抽象层次的联系和转换。外模式外模式/模式模式 模式模式/内模式内模式 1.3.3 数据库的二级映象功能与数据独立性数据库的二级映象功能与数据独立性 广东同学粤语广东同学粤语福建同学闽南语福建同学闽南语西藏同学藏语西藏同学藏语粤语翻译粤语翻译闽南语翻译闽南语翻译藏语翻译藏语翻译普通话普通话书库书库库房库房管理员管理员教材科教材科微机登微机登记处记处外模式外模式模式模式内模式内模式68u 定义了外模式与模式之间的对应关系,每一个外模定义了外模式与模式之间的对应关
45、系,每一个外模式都对应一个外模式模式映象。式都对应一个外模式模式映象。u 保证了数据的逻辑独立性保证了数据的逻辑独立性外模式模式映象外模式模式映象 外模式外模式1模模 式式外模式外模式2外模式外模式n应用程序应用程序1应用程序应用程序2应用程序应用程序n模模 式式DBA69u 定义了数据全局逻辑结构与存储结构之间的对应定义了数据全局逻辑结构与存储结构之间的对应关系,数据库中模式内模式映象是唯一的。关系,数据库中模式内模式映象是唯一的。u 保证了数据的物理独立性保证了数据的物理独立性模式内模式映象模式内模式映象 模式模式内模式内模式映像映像内模式内模式DBA70应用应用1应用应用2应用应用3应用
46、应用4外模式外模式1外模式外模式2外模式外模式3模模 式式映映 像像内模式内模式映像映像1映像映像2映像映像3外模式外模式/模式映像模式映像数据库数据库模式模式/内模式映像内模式映像数据库系统的结构数据库系统的结构 71数据库系统的结构数据库系统的结构 u 小结小结 在数据库的三级模式中,在数据库的三级模式中,数据库模式数据库模式即全局逻辑结构是即全局逻辑结构是数据库的中心和关键,它独立于数据库的其他模式,数据库的中心和关键,它独立于数据库的其他模式,数据库的数据库的内模式内模式依赖于它的全局逻辑结构,但是独立于依赖于它的全局逻辑结构,但是独立于数据库的用户视图及外模式,也独立于具体的存储设备
47、。数据库的用户视图及外模式,也独立于具体的存储设备。数据库的数据库的外模式外模式面向具体的应用程序,它定义在逻辑模面向具体的应用程序,它定义在逻辑模式之上,独立于存储模式和存储设备。式之上,独立于存储模式和存储设备。通过通过DBMS的两级映像,保证了应用程序的稳定性和数的两级映像,保证了应用程序的稳定性和数据库中数据的物理独立性,从而便于进行数据库的独立管理据库中数据的物理独立性,从而便于进行数据库的独立管理和应用程序的开发和维护。和应用程序的开发和维护。72数据库系统的体系结构数据库系统的体系结构从最终用户角度看待从最终用户角度看待 u 单用户数据库系统单用户数据库系统DBDBDB 整个数据
48、库系统,包括应用程序、整个数据库系统,包括应用程序、DBMS和数和数据,都装在同一台计算机上,由一个用户独占,不据,都装在同一台计算机上,由一个用户独占,不同用户之间不能共享数据。同用户之间不能共享数据。缺点:缺点:数据不能共享,存在大量的数据冗余数据不能共享,存在大量的数据冗余73数据库系统的体系结构数据库系统的体系结构 u 主从式数据库系统主从式数据库系统 指一个主机带多个终指一个主机带多个终端的多用户结构。整个数端的多用户结构。整个数据库系统,包括应用程序、据库系统,包括应用程序、DBMS和数据,都装在主和数据,都装在主机上,所有处理任务都由机上,所有处理任务都由主机来完成,各个用户并主
49、机来完成,各个用户并发地存取数据库,数据可发地存取数据库,数据可共享。共享。缺点:缺点:当终端数增加到一定程度后,主机任务过于当终端数增加到一定程度后,主机任务过于繁重,系统性能大幅度下降。繁重,系统性能大幅度下降。74数据库系统的体系结构数据库系统的体系结构 u 分布式数据库系统分布式数据库系统逻辑上是一个整体数据库,各个场逻辑上是一个整体数据库,各个场地数据有相同部分,有不同部分。由分布式数据库管理系统地数据有相同部分,有不同部分。由分布式数据库管理系统统一管理控制,数据存储对用户透明。统一管理控制,数据存储对用户透明。网网 络络75DB数据库服务器数据库服务器客户机客户机接 口数据库系统
50、的体系结构数据库系统的体系结构 u 客户客户/服务器(服务器(C/S)式数据库系统)式数据库系统 用一个专门用一个专门的主机来执行的主机来执行DBMS功能,管功能,管理数据,称为数理数据,称为数据库服务器,而据库服务器,而其他结点计算机其他结点计算机安装应用程序,安装应用程序,用于访问服务器用于访问服务器上的数据库,称上的数据库,称为客户机。为客户机。76客户端客户端网网 络络服务器服务器DB请求请求结果结果 结果先在数据库服务器上进行处理,再传回结果先在数据库服务器上进行处理,再传回给客户机,可以给客户机,可以减少网络上的数据量减少网络上的数据量。数据库更加开放。数据库更加开放。客户和服务器