版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统原理与应用教师:凯定吉联系方式:11706865@Weibo:@swjtu_kai网址:
课程与上机安排课程安排:1-2周X22313-17周X7308课程考核平时作业与出勤30半期考试20期末测验50教学大纲本课程以具体的数据库系统为背景,系统讲解数据库的系统概念、关系数据库概念,Access概述、表的创建和使用,查询,窗口的创建和使用,报表的创建和使用;SQL语言、数据库保护,数据库设计及数据库的一些新技术。通过本课程的学习,使同学掌握数据库技术的理论知识及应用开发方法,为同学今后利用计算机管理信息、利用信息打下基础。教材与参考书《数据库原理和应用(Access2007)》(郭晔,王浩鸣著,电子工业出版社)Access数据库应用技术(王娟等,清华大学出版社)《数据库系统》(第三版)ThomsConnolly,CarolynBegg著,电子工业出版社第1章数据库系统概述本章主要内容
本章先回顾数据管理技术的发展过程,然后介绍数据库中的基本概念。(1)数据库技术的产生与发展
人工管理阶段、文件系统阶段、数据库系统阶段等阶段。(2)数据库系统基本概念
DB、DBMS和DBS的定义(3)数据库系统的特点
1.1数据库技术的产生与发展1963年,美国Honeywell公司的IDS(IntegratedDataStore)系统投入运行,揭开了数据库技术的序幕。20世纪70年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。20世纪80年代,关系系统代替网状系统和层次系统占领了市场。20世纪90年代,关系数据库已成为数据库技术的主流。进入21世纪以后,无论是市场的需求还是技术条件的成熟,对象数据库技术、网络数据库技术的推广和普及已成定局。1.1.1数据与数据管理技术1)数据(1)数据的含义:是载荷信息的媒体对现实世界中客观事物的符号表示可以是数值数据,也可以是非数值数据,如声音、图像等计算机中数据能输入计算机,并能为其处理的符号序列
(2)数据与信息区别与联系
信息与数据之间存在着固有的联系:数据是信息的符号表示或称为载体;信息则是数据的内涵,是对数据语义的解释。2)数据管理技术数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据处理是指从某些已知的数据出发,推导加工出一些新的数据,这些新的数据又表示了新的信息。数据处理是与数据管理相联系的,数据管理技术的优劣,将直接影响数据处理的效率。3)数据管理技术的发展
数据管理技术的发展,与计算机硬件、系统软件及计算机应用的范围有着密切的联系。数据管理技术的发展经历了人工管理、文件系统、数据库阶段等阶段。(1)
人工管理阶段20世纪50年代中期以前,计算机主要用于科学计算,数据管理处于人工管理阶段,数据处理的方式基本上是批处理。背景计算机主要用于科学计算数据量小、结构简单,如高阶方程、曲线拟和等。外存为顺序存取设备磁带、卡片、纸带,没有磁盘等直接存取设备。没有操作系统,没有数据管理软件用户用机器指令编码,通过纸带机输入程序和数据,程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作。(1)
人工管理阶段(续)特点:
没有专用的软件对数据进行管理,由应用程序管理数据。数据面向应用程序。即一组数据对应一个应用程序,数据不能共享。应用程序完全依赖于数据,数据与程序没有独立性。数据不保存在计算机内。
(2)文件系统阶段20世纪50年代后期至60年代中期,数据管理进入文件系统阶段。这里将数据组织成若干个相互独立的文件,用户通过操作系统对文件进行打开、读写、关闭等操作。背景计算机不但用于科学计算,还用于信息管理外存有了磁盘、磁鼓等直接存取设备有了专门管理数据的软件,即文件系统文件存储空间的管理目录管理文件读写管理文件保护向用户提供操作接口(2)文件系统阶段(续)特点:数据以“文件”形式可长期保存在外部存储器的磁盘上。数据的逻辑结构与物理结构有了区别,但比较简单。文件组织已多样化。有索引文件、链接文件和直接存取文件等。数据不再属于某个特定的程序,可以重复使用,即数据面向应用。对数据的操作以记录为单位。随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷:数据冗余(redundancy)数据不一致(inconsistency)数据联系弱(poordatarelationship)
(3)数据库阶段背景计算机管理的数据量大,关系复杂,共享性要求强外存有了大容量磁盘,光盘软件价格上升,硬件价格下降数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事:1968年美国IBM公司推出层次模型的IMS系统。1969年美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。1970年美国IBM公司的E.F.Codd连续发表论文,提出关系模型,奠定了关系数据库的理论基础。
(3)数据库阶段(续)特点:采用数据模型表示复杂的数据结构。有较高的数据独立性。数据库系统为用户提供了方便的用户接口。数据库系统提供以下四方面的数据控制功能:数据库的并发控制,数据库的恢复,数据的完整性和数据安全性。增加了系统的灵活性。1.2.2数据库系统三个发展阶段1)第一代数据库系统
20世纪70年代,以层次型数据库和网状型数据库第一代数据库系统得到广泛应用。它们基本实现了数据管理中的“集中控制与数据共享”这一目标2)第二代数据库系统
20世纪80年代出现了以关系型数据库为代表的第二代数据库系统。如Oracle、Sybase、Informix、Ingres等关系数据库系统已广泛用于大型信息管理系统。1.2.2数据库系统三个发展阶段3)第三代数据库系统
20世纪80年代末,90年代初,新一代数据库技术的研究和开发已成为数据库领域学术界和工业界的研究热点。如:多媒体数据库、时态数据库、空间数据库、面向对象数据库、分布式数据库、并行数据库系统、数据仓库、移动数据库、XML数据管理技术等。
几个典型的高级数据库技术分布式数据库系统数据库的数据物理上分布在各个场地,但逻辑上是一个整体。每个场地既可以执行局部应用(访问本地DB),也可以执行全局应用(访问异地DB)。各地的计算机由数据通信网络相联系。本地计算机单独不能胜任的处理任务,可以通过通信网络取得其它DB和计算机的支持。
面向对象数据库系统对象数据模型能完整地描述现实世界的数据结构,能表达数据间嵌套、递归的联系。具有面向对象技术的封装性和继承性的特点,提高了软件的可重用性。并行数据库系统数据仓库XML数据管理技术1.2数据库系统基本概念1)数据库(Database,简记为DB)
是长期存储在计算机内、有组织的、统一管理的相关数据的集合。
DB能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数据独立性等特点。2)数据库系统(DatabaseSystem,简记为DBS)
DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统。它是采用数据库技术的计算机系统。其结构如下图:图1-1数据库系统结构应用程序1应用程序2应用程序n数据库管理系统(DBMS)数据库管理员(DBA)数据库3)数据库管理系统(DatabaseManagementSystem,简记为DBMS)
DBMS是位于用户与操作系统(OS)之间的一层数据管理软件。
它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等。DBMSOSDB
用户DBMS的基本功能现代DBMS一般必须具备以下基本功能:提供高级的用户接口查询处理和优化数据目录管理并发控制恢复功能完整性约束功能访问控制1.3数据库系统的特点1)实现数据的集中化控制2)数据的冗余度小,易扩充3)采用一定的数据模型实现数据结构化4)避免了数据的不一致性5)实现数据共享6)提供数据库保护7)数据独立性
数据逻辑独立性、数据物理独立性8)数据由DBMS统一管理和控制
数据的安全性保护、完整性保护、并发控制、数据库恢复数据库独立性程序和数据间的联系
文件系统阶段信息处理的传统方式数据库阶段信息处理方式的演变小结数据管理技术经历了人工管理、文件系统、数据库等阶段。数据库系统是在文件系统的基础上发展而成的,同时又克服了文件系统的三个缺陷:数据的冗余、不一致性和联系弱。第2章数据模型
本章主要内容
着重介绍一下概念模型、层次模型、网状模型、关系模型、面向对象模型等数据库系统的数据模型的基本概念和设计方法,为后面的数据库设计打下基础。(1)数据描述
概念设计、逻辑设计和物理设计等各阶段中数据描述的术语,概念设计中实体间二元联系的描述(1:1,1:N,M:N)。(2)数据模型
数据模型的定义,两类数据模型,逻辑模型的形式定义,ER模型,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。数据模型2.1数据模型概述2.2E-R数据模型2.3关系数据模型2.4面向对象数据模型本章小结2.1数据模型概述
数据模型(DataModel)是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。现实世界中的客观对象抽象为概念模型;然后把概念模型转换为DBMS支持的数据模型。其转换过程如右图。数据模型的分类:
概念数据模型(又称概念模型)逻辑数据模型(又称数据模型)现实世界概念数据模型:信息世界逻辑数据模型:DBMS支持的数据模型认识抽象转换2.1.1数据模型的基本组成
数据模型是现实世界中的事物及其间联系的一种抽象表示,是一种形式化描述数据、数据间联系以及有关语义约束规则的方法。它通常由以下三个部分组成:
(1)数据结构
指对实体类型和实体间联系的表达实现。
数据模型最基本的组织部分,规定了数据模型的静态特性。(2)数据操作
对数据库进行的检索和更新两类操作。(3)数据的约束条件数据的约束条件是一组完整性规则的集合。
定义了给定数据模型中数据及其联系应具有的制约和依赖规则。
2.1.2数据模型的发展
20世纪60年代后期,在文件系统基础上发展起来的层次模型、网状模型和关系模型等传统数据模型;20世纪70年代后期产生的E-R数据模型
;20世纪80年代以来又相继推出面向对象数据模型、基于逻辑的数据模型等新的模型。2.2E-R数据模型
2.2.1基本概念2.2.2E-R图2.2.3扩充E-R数据模型2.2.1基本概念
E-R数据模型(即Entity-Relationshipdatamodel,实体-联系数据模型)是P.Chen(PeterPin-Shan
Chen)于1976年提出的一种语义数据模型。E-R数据模型不同于传统数据模型,它不是面向实现,而是面向现实世界。1)实体(Entity)实体是客观存在的且可以区别的事物。
2)联系(Relationship)实体与实体间的关系抽象为联系。
(1)二元联系
只有两个实体参与的联系称为二元联系。
在二元联系中,E-R数据模型又把联系区分为一对一(1:1)、一对多(1:n)、和多对多(m:n)三种。一对一(1:1)联系若两个实体集中E1、E2中的每一个实体至多和另一个实体集中的一个实体有联系,则称E1和E2是一对一的联系,记为1:1。例如,学校实体集与校长实体集间的联系是一对一联系。一对多(1:n)联系
设两个实体集E1、E2,若E1中每一个实体与E2中任意个实体(包括零个)相联系,而E2中每个实体至多和E1中一个实体有联系,则称E1和E2是一对多的联系,记为1:n。
多对多(m:n)联系
设两个实体集E1、E2,若E1中每一个实体都和另一个实体集中任意个实体(包括零个)有联系,则称E1和E2是多对多的联系,记为m:n。它们三者之间是包含关系。如右图所示。
m:n1:n1:1二元联系数据联系的描述(1:1)联系实体集E1实体集E2座位E1乘客E2
实体集E1实体集E2E1E2车间工人实体集E1实体集E2E1E2学生课程(1:n)联系(m:n)联系3)属性
实体或联系所具有的特征称为属性。实体是由特征来表征和区分的,通常一个实体可以由多个属性来描述。例如,学生具有姓名、学号等属性。一个实体可以有若干个属性,但在数据库设计中通常只选择部分数据管理需要的属性。属性往往是不可再细分的原子属性,如姓名、性别等。属性有型和值的区别。例如,学生实体中的学号、姓名等属性名是属性型,而“021231142”、“李定”等具体数据称为属性值。每个属性值都有一定的变化范围,通常称属性取值的变化范围为属性值的域。例如,性别属性域是{男、女},年龄属性域是1~200。能唯一标识实体集中某一实体的属性或属性组称为实体集的标识关键字或称关键字。2.2.2E-R图
E-R图是E-R数据模型的图形表示法,是一种直观表示现实世界的有力工具,目前E-R图已用于数据库的概念设计。1)E-R图的表示方法实体集名联系属性上述提到的几种联系的E-R简图如下:
系部聘任教师1n教师教学学生mn教师领导1n课程预选mn校长负责学校11二元联系E-R简图人夫妻11自反联系E-R简图2)E-R图的构成规则(1)画出实体集及它们之间的联系
如果实体集A中实体之间有联系A-A,则实体间联系如下图:AA-A11AA-A1nAA-Amn
如果实体集A和实体集B之间有联系A-B,则实体间联系如下图:AA-BB11AA-BB1nAA-BBmn
如果三个上实体集A、B、C之间有联系A-B-C,则实体间联系如下图:AA-B-CC11B1AA-B-CC1pB1AA-B-CCnpB1AA-B-CCnpBm(2)画出实体集及联系的属性
用无向边把属性框连向与其相关的实体集或联系。例如学校和教师实体集间存在聘任联系,联系有“聘任日期”属性,则一个描述学校和教师实体集及其联系的E-R图如下图所示。学校聘任学校代码学校名称地址聘任日期教师教师代码教师姓名性别职称1n几个E-R事例部门E-R
医院病房管理E-R
图1学生选课的局部E-R图图2教师任课的局部E-R图系系教师属于讲授1mnm图3合并的全局E-R图系学生课程开课选修拥有1mmn1m2.3关系数据模型
2.3.1基本概念2.3.2关系数据模型的数据结构2.3.3数据操作2.3.4数据约束2.3.5关系数据模型的优缺点2.3.1
基本概念
1)属性和域
在现实世界中,要描述一个事物,常常取其若干特征来表示。这些特征称为属性。例如,大学生可用姓名、学号、性别、系别等属性来描述。
每个属性对应一个值的集合,作为其可以取值的范围,称为属性的域。例如姓名的域是所有合法姓名的集合;性别的域是{男,女}等。
2)关系和元组
一个对象可以用一个或多个关系来表示。关系就是定义在它的所有属性域上的多元关系。设为R,它有属性A1、A2、…、An,其对应的域分别为D1、D2、…、Dn,则关系R可表示为:
R=(A1/D1,A2/D2,…,An/Dn)或R=(A1,A2,…,An)
元组是关系中各个属性的一个取值的集合。
3)键
关系中的某一属性或属性组的值唯一地决定其他所有属性的值,也就是唯一决定一个元组,而其任何真子集无此性质,则称这个属性或属性组为该关系的候选键,简称键。2.3.2
关系数据模型的数据结构
1)关系数据模型的描述功能(1)用二维表格表示实体集及其属性
设实体集R有属性A1、A2、…、An,实体集的型可用一个二维表的框架表示。见表(a)。表中每一元组表示实体集的值,见表(b)A1A2A3…Ana11…am1a12…am2a13…am3………a1n…amnA1A2A3…An
(a)关系R的型(b)关系R的值学号姓名年龄性别系部号S1程宏19男9S2王盟20女9S3刘莎莎18女10学生情况表(2)用二维表描述实体集间的联系
关系模型不仅可用二维表表示实体集,而且可用二维表描述实体集间的联系。例如,在图书管理中经常用“借书人统计表”和“图书登记表”如下表所示。姓名借书证号单位张三10001计算机系刘一10002自动化系…
总编号分类号书名作者200001TP101数据库导论C.J.DATE400002TP102自动化理论周明德…
借书证号总编号借阅日期100012000012003.9.1100014000022003.9.1100024000022003.10.9
…由于借书人与图书之间是m:n联系,在前面用层次模型或网状模型将是一项复杂的事情。在这里用二维表――“借书登记表”来表示借书人和图书两个实体集之间的联系则十分简便,如下表所示。
2)关系的性质关系是一个二维表,表中的每一行对应一个元组,表中的每一列有一个属性名且对应一个域。列是同质的,即每一列的值来自同一域。关系中的每一个属性是不可再分解,即所有域都应是原子数据的集合。关系中任意两个元组不能完全相同。关系中行的排列顺序、列的排列顺序是无关紧要的。每个关系都有关键字的属性集唯一标识各个元组。学号姓名年龄性别系部号S1程宏19男9S2王盟20女9S4李刚
20男10关系是一个简单的二维表,其主要性质为:3)关系模式
关系模式是关系中信息内容结构的描述。它包括关系名、属性名、每个属性列的取值集合、数据完整性约束条件以及各属性间固有的数据依赖关系等。可以表示为:
R(U,D,DOM,I,∑)其中:R为关系名;U为组成关系的全部属性的集合;D是U中属性取值的值域;DOM是属性列到域的映射,即DOM:U→D;I是一组完整性约束条件;∑是属性集间的一组数据依赖。通常,可用R(U)来简化地表示关系模式。例如,描述大学生的关系模式表示为:
STUDENT(学号,姓名,性别,年龄,所在系,籍贯,入学年份)2.3.3数据操作
1)关系代数关系代数是由一组以关系作为运算对象的特定的关系运算所组成,用户通过这组运算对一个或多个关系进行“组合”与“分割”,从而得到所需要的新关系。
关系代数又分为传统的集合运算和专门的关系运算。(1)传统的集合运算主要包括并运算、差运算、交运算和笛卡儿乘积运算等。(2)专门的关系运算包括选择运算、投影运算、连接运算、自然连接运算、半连接运算、自然半连接运算和除运算等。
其中:{σ,Π,∪,-,×}五种运算为关系代数的基本运算,组成了一个完备的操作集,任何其他关系代数操作都可以用这五种操作来表示。2)关系演算除了用关系代数表示关系操作外,还可以用谓词演算来表达关系的操作,称为关系演算。关系演算又可分为元组关系演算和域关系演算。2.3.4数据约束1)域完整性约束域完整性约束限定了属性值的取值范围,并由语义决定一个属性值是否允许为空值NULL。学号姓名年龄性别系部号S1程宏19男9S2王盟20女9S4李刚
20男11学生情况表系部号系名系主任地点9计算机系李远科技大楼10电子系张立电子大楼院系情况2)实体完整性约束每个关系应有一个主键,每个元组的主键的值应是唯一的。主键的值不能为NULL,否则无法区分和识别元组。3)参照完整性约束参照完整性约束是不同关系间的约束,当存在关系间的引用时,要求不能引用不存在的元组。2.3.5关系数据模型的优缺点1)关系数据模型的优点
关系模型有坚实的理论基础。在关系模型中,二维表不仅能表示实体集,而且能方便地表示实体集间的联系。关系数据模型中数据的表示方法统一、简单,便于计算机实现,使用用户使用。数据独立性高。2)关系数据模型的缺点:
关系数据模型的主要缺点是查询效率常常不如非关系数据模型。关系数据模型等传统数据模型还存在不能以自然的方式表示实体集间的联系、语义信息不足、数据类型过少等弱点。
因此自20世纪80年代后期以来,陆续出现了以面向对象数据模型为代表的新的数据模型。2.4面向对象数据模型
面向对象数据模型(Object-OrientedDataModel,简称OO数据模型)是面向对象程序设计方法与数据库技术相结合的产物,用以支持非传统应用领域对数据模型提出的新需求。
2.4.1对象和对象标识符2.4.2属性和方法2.4.3封装和消息传递2.4.4类和实例2.4.5类层次结构和继承2.4.6持久性和版本2.4.7多态、重载、重定义与动态联编2.4.8与关系数据模型的比较2.4.1
对象和对象标识符
1)对象在面向对象数据模型中,所有现实世界中的实体都模拟为对象,小至一个整数、字符串,大至一个公司、一部电影,都可以看成对象。
2)对象标识符在OO数据模型中,每个对象都有一个系统内唯一不变的标识符,称为对象标识符(OID)。
OID一般是由系统产生,用户不得修改。OID是区别对象的唯一标志,与对象的属性值无关。如果两对象的属性值和方法一样,但OID不同,则仍认为是两个“相等”而不同的对象。如果一个对象的属性值修改了,只要其标识符不变,则仍认为是同一对象。因此,OID可看成是对象的替身,以构造更复杂的对象。2.4.2
属性和方法
1)属性每个对象包含若干属性,用以描述对象的状态、组成和特性。
2)方法除了属性外,对象还包含若干方法,用以描述对象的行为特性。方法又称为操作,它可以改变对象的状态,对对象进行各种数据库操作。方法的定义与表示包含两个部分:一是方法的接口,说明方法的名称、参数和结果的类型;二是方法的实现部分,是用程序编写的一个过程,以实现方法的功能。一个对象一般是由一组属性、一组方法,再冠以一个OID组成。CPU主板计算机AA属性也是对象,它又可能包含其他对象作为其属性。这种递归引用对象的过程可以继续下去,从而组成各种复杂的对象。右图是一个事例:学生学号班级专业…选课2.4.3
封装和消息传递
1)封装在OO数据模型中,系统把一个对象的属性和方法封装成一个整体。对象的封装性体现在以下几个方面:对象具有清晰的边界;对象具有统一的外部接口;对象的内部实现是不公开的。对象i属性1…属性n方法1…方法m对象j属性1…属性n方法1…方法m消息(调用)消息(结果)消息一般由操作者、接收者、操作参数三个部分组成。对象、消息之间的关系如右图所示。2)消息传递
对象是封装的,对象与外界、对象之间的通信一般只能借助于消息。消息传送给对象,调用对象的相应方法,进行相应的操作,再以消息形式返回操作的结果。这种通信机制称为消息传递。对象标识符属性1…属性n方法1…方法m消息(调用)消息(结果)2.4.4
类和实例
1)类类是具有共同属性和方法的对象的集合,这些属性和方法可以在类中统一说明。同类对象在数据结构和操作性质方面具有共性。
例如大学生、研究生是一些有共同性质有对象,可能抽象为一个学生类。学生研究生本科生2)实例类中每个对象称为该类的一个实例。同一个类中对象的属性名虽然是相同的,但这些属性的取值会因各个实例而异。3)元类在一些OO数据模型中,把类也看做对象,因此由类可以组成新的类。这种由类组成的类称为元类,元类的实例是类。学生学号姓名年龄籍贯…籍贯省市…S1程宏19计算机2.4.5
类层次结构和继承
1)类层次结构在类层次结构中,一个类的下层可以是多个子类;一个类的上层也可以有多个超类。下图是一个类学校层次结构的例子。教职工教师职员工人学生研究生本科生教授讲师助教在职研究生学校人员类层次结构教师研究生在职研究生学校人员学生教职工子类与超类2)继承
在类继承时,可能发生属性名和方法名的同名冲突:(1)各超类之间的冲突(2)子类与超类之间的冲突学校人员姓名……研究生学号班级专业……教职工职称专业……在职研究生在职单位……在职研究生姓名…学号班级研究专业…职称专业…在职单位……2.4.8
与关系数据模型的比较
在关系数据模型中基本数据结构是表,这相当于OO数据模型中的类;而关系中的数据元组相当于OO数据模型中的实例。在关系数据模型中,对数据库的操作都归结为对关系的运算,而在OO数据模型中,对类层次结构的操作分为两部分:
一是封装在类内的操作即方法;二是类间相互沟通的操作即消息。在关系数据模型中有域、实体和参照完整性约束,完整性约束条件可以用逻辑公式表示,称为完整性约束方法。在OO数据模型中这些用于约束的公式可以用方法或消息表示,称为完整性约束消息。本章小结
数据模型是对现实世界进行抽象的工具,用于描述现实世界的数据、数据联系、数据语义和数据约束等的方面的内容。E-R模型是最常用的概念模型,关系模型是当前的主流模型,面向对象(OODB)是今后发展的方向。
下面以前面的学生成绩管理为例,来对本章的E-R模型、层次数据模型、网状数据模型、关系数据模型、面向对象数据模型进行总结。E-R模型选修mn成绩学号姓名性别年龄所在系课程号课程名所在系学分学生课程E-R图m:n联系学生课程mn学生实体学号姓名年龄性别所在系S1程宏19男计算机S9王敏20女计算机课程实体课程号课程名所在系学分C1计算机基础计算机3C2C语言计算机3E-R合并图1学生选课的局部E-R图图2教师任课的局部E-R图系系教师属于讲授1mnm图3合并的全局E-R图系学生课程开课选修拥有1mmn1mE-R合并教师管理
局部E-R图学生管理
局部E-R图
导师班级学生组成管理班主任档案材料宿舍住宿归档指导系有参加学会1N111NNN11NMN1具有社会关系1N课程管理
局部E-R图1教室M1教科书教师担任课程系开设N1学生选修NMN上课PN三个局部ER图合并成一个ER图11N1P1N1N1N1MMNNNN社会关系具有1NNM1系聘用承接项目参加设置院长学院主管NN111教师评定职称分配工作量111N档案材料归档参加学会1宿舍住宿教科书担任指导课程选修教室上课有1班级学生组成N开设N管理11教师管理11层次数据模型
(分解法)
按课程进行分解课程学生S1程宏19男计算机C1计算机基础计算机3S9王敏20女计算机S1程宏19男计算机C2C语言计算机3S9王敏20女计算机按学生进行分解学生课程S1程宏19男计算机C1计算机基础计算机3C2C语言计算机3S9王敏20女计算机C1计算机基础计算机3C2C语言计算机3m:n联系学生课程mn
层次数据模型
(虚拟记录法)
S1
程宏19男计算机S9
王敏20女计算机C1
计算机基础计算机3C2
C语言计算机3学生(课程)v课程(学生)v虚拟记录法PC1PC2PC1PC2m:n联系学生课程mnPS1PS2PS1PS2网状数据模型
1m学生选课SL1nCLm:n联系学生课程mn选课1选课2选课3CLCLC1计算机基础计算机3C2C语言计算机3学生课程型S1程宏19男计算机S9王敏20女计算机SLSL值关系数据模型
学号课程号成绩S1C188S1C276S9C183S9C278成绩表课程情况表课程号课程名所在系学分C1计算机基础计算机3C2C语言计算机3学生情况表学号姓名年龄性别所在系S1程宏19男计算机S9王敏20女计算机选修mn成绩学号姓名性别年龄所在系课程号课程名所在系学分学生课程面向对象数据模型学生类学号姓名年龄性别所在系…课程类课程号课程名所在系学分…选课类学号课程号成绩…**面向对象数据模型的概念对象:由一组变量、消息和方法组成类:本质相同的对象的抽象继承性:类的子类继承父类的所有性质对象标识:OID,唯一标识对象对象包含:一个对象由几个对象组成,则该对象包含它的成员对象personcustomeremployeeofficertellersecretary3.类继承层次图personfacultyfaculty_studentstudent4.多重继承性层次1.一个对象2.对象、对象和实体间的对应关系以及对象和外界的联系对象属性1属性2方法消息实体属性1属性2飞机引擎机身5.对象之间的包含层次尾翼机翼第3章数据库系统的体系结构
本章主要内容本章主要讨论数据库系统的三级模式结构、DBMS、客户/服务器结构、基于Web的数据库系统等内容。(1)DB的体系结构
三级结构,两级映像,两级数据独立性,体系结构各个层次中记录的联系。(2)DBMS
DBMS的工作模式、主要功能和模块组成。(3)DBS
DBS的组成,DBA,DBS的全局结构,DBS结构的分类。
数据库系统的体系结构3.1数据库的体系结构3.2数据库系统(DBS)3.3数据库管理系统(DBMS)3.4DBMS的系统结构3.5几种典型结构的DBMS本章小结3.1
数据库的体系结构3.1.1三级模式结构3.1.2两级映像和两级数据独立性3.1.3数据库的抽象层次3.1.4数据模式与数据模型的关系3.1.1
三级模式结构…用户A1用户A2用户B1用户B2用户N1用户Ni…外部模式A外部模式B外部模式N概念模式内部模式数据库用户的局部逻辑结构数据库的整体逻辑结构数据库的物理结构外部级(单个用户的视图)概念级(全局视图)内部级(存储视图)1)概念模式(ConceptualSchema)定义:概念模式(简称模式,也称逻辑模式)是对数据库全局逻辑结构的描述,是数据库所有用户的公共数据视图。概念模式描述:所有实体、实体的属性和实体间的联系。数据的约束。数据的语义信息。安全性和完整性信息。2)外部模式(ExternalSchema)定义:外部模式(也称子模式或用户模式)是用户观念下局部数据结构的逻辑描述,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。设置外部模式有如下优点:方便用户使用,简化了用户接口。保证数据的独立性。有利于数据共享。有利于数据安全和保密。3)内部模式(InternalSchema)定义:内部模式(也称存储模式)是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。定义了所有内部记录类型、索引和文件的组织方式,以及所有数据控制方面的细节。内部模式与下面的工作相关:
数据和索引的存储空间分配。用于存储的记录描述(数据项的存储大小)。记录放置。数据压缩和数据加密技术。数据的三级抽象术语数据模型用数据定义语言描述的称呼DBTG报告中的称呼外部级外模型外模式子模式概念级概念模型概念模式模式内部级内模型内模式物理模式分层抽象的数据库结构(1)一个数据库的整体逻辑结构和特征的描述(概念结构)是独立于数据库其他层次结构(内/外模式)的描述。(2)一个数据库的内部存储模式依赖于概念模式。存储模式独立于外部模式,也独立于具体的存储设备。(3)用户逻辑结构(外部模式)是在全局逻辑结构描述的基础上定义的,它独立于内部模式和存储设备。(4)特定的应用程序是在外模式描述的逻辑结构上编写的,它依赖于特定的外模式。(5)关系数据库系统中的视图与三模式结构的外模式相对应。视图增加了用户界面的友好性。用户通过视图看到的只是他所关心的数据,可以减轻用户负担,提高数据独立性和安全性。3.1.2两级映像和两级数据独立性
为了提高数据库系统中的数据独立性,数据库系统在这三级模式间提供了两层映像:外部模式/概念模式映像和概念模式/内部模式映像。所谓映像是一种对应规则,它指出了映像双方是如何进行转换的。…外部模式A外部模式B外部模式N概念模式内部模式逻辑数据独立性物理数据独立性外部模式/概念模式映像概念模式/内部模式映像1)两级映像(1)外部模式/概念模式映像外部模式/概念模式映像定义了各个外部模式与概念模式间的映像关系。这些映像定义通常在各自的外部模式中加以描述。(2)概念模式/内部模式映像概念模式/内部模式映像定义了数据库全局逻辑结构与存储结构之间的对应关系。这个映像定义通常内部模式中加以描述。2)两级数据独立性定义:数据独立性是指应用程序和数据库的数据结构之间相互独立,不受影响。数据独立性又分为:
(1)逻辑数据独立性逻辑数据独立性指的是外部模式不受概念模式变化的影响。(2)物理数据独立性物理数据独立性指的是概念模式不受内部模式变化的影响。数据逻辑独立性与数据物理独立性统称为数据独立性。数据库的三级体系结构3.1.3数据库的抽象层次
1)物理数据库以内部模式为框架的数据库称为物理数据库。它是数据库中最里面的一个层次,是物理存储设备上实际存储着的数据集合。2)概念数据库
以概念模式为框架的数据库称为概念数据库。它是数据库结构中的一个中间层次,是数据库的整体逻辑表示,它描述了每一个数据的逻辑定义及数据间的逻辑联系。
3)逻辑数据库
以外部模式为框架的数据库称为逻辑数据库。它是数据库结构的最外一层,是用户所看到和使用的数据库,因而也称为用户数据库或用户视图。3.1.4数据模式与数据模型的关系
数据模式与数据模型有着密切联系,通常概念模式和子模式是建立在一定的逻辑数据模型(如层次模型、网状模型、关系模型等)上。另一方面数据模式与数据模型在概念上是有区别的,数据模式是一个数据库的基于特定数据模型的结构定义,它是数据模型中有关数据结构及其相互关系的描述,所以仅是数据模型的一部分。由于数据模式在数据库设计中的重要性,因此将它作为一个专门术语提出。3.2
数据库系统(DBS)3.2.1DBS的组成3.2.2DBS的全局结构3.2.3DBS结构的分类3.2.1DBS的组成
DBS由数据库、数据库管理系统、应用开发工具软件和应用程序、数据库的软/硬件支撑环境、数据库管理员等部分构成。
1)数据库(DB)
一是应用数据的集合,称为物理数据库,它是数据库的主体。
二是各级数据结构的描述,称为描述数据库。它们是存放在数据字典(DataDictionary)中各级模式的描述信息。关系数据库的数据字典主要包括对基表、视图的定义以及存取路径(索引、散列等)、访问权限和用于查询优化的统计数据等的描述。
数据字典
(1)表示数据库文件的文件每条记录对应一个数据库文件定义,记录了文件的名字、键属性名、文件类型等。(2)表示数据库中属性的文件每条记录对应一个属性定义,指出该属性所在文件的文件名、数据类型、长度及取值范围、是否可为空值等。(3)视图定义文件每条记录对应一个视图定义,有视图名、定义语句等元属性。(4)同义词文件每条记录对应一个同义词定义,指出所代表的一个数据库文件。(5)授权关系文件每条记录对应一个数据库文件的一次授权关系定义,含有授权种类(读、写等)、授权人和被授权人等元属性。(6)索引关系文件每条记录对应一个索引定义,记录索引对象、性质等。2)硬件这一部分主要包括CPU、内存、外存、输入输出设备等硬件设备。3)软件系统(1)数据库管理系统(DBMS)(2)支持DBMS运行的操作系统(OS)(3)具有与数据库接口的高级语言及其编译系统(4)以DBMS为核心的应用开发工具软件(5)为某种应用环境开发的数据库应用程序4)数据库管理员(简称DBA)
DBA是一个组织中负责整个数据库系统的建立、管理、维护、协调工作的专门人员。一个高水平的DBA小组通常由操作专家、系统分析和设计专家、应用专家、数据库管理专家、查询语言专家和数据库审计专家等组成。
DBA的主要职责有:参与数据库系统的设计与建立。
对系统的运行实行监控。
定义数据的安全性要求和完整性约束条件。
负责数据库性能的改进和数据库的重组及重构工作。
3.2.2
DBS的全局结构
终端用户应用程序员专业用户DBA
应用界面应用程序查询数据库模式数据库管理系统(DBMS)用户界面磁盘存储器查询处理器存储管理器索引统计数据数据文件日志数据字典程序目标代码嵌入式DML预编译器DML编译器DDL编译器查询运行核心程序缓冲区管理器事务管理器权限和完整性管理器文件管理器3.2.3DBS结构的分类
1)集中式DBS2)客户机/服务器式DBS3)分布式DBS4)并行式DBS(ParallelDBS)1)集中式DBS
如果DBS运行在单个计算机系统中,并与其他的计算机系统没有联系,这种DBS称为集中式DBS。磁盘控制器CPU打印机控制器磁带机控制器磁盘(DB)磁带机打印机内存控制器内存系统总线2)客户机/服务器式DBSC/S结构的关键在于功能的分布,一些功能放在前端机(即客户机)上执行,另一些功能放在后端机(即服务器)上执行。3)分布式DBS
分布式DBS(DistributedDBS,简记为DDBS)是一个用通信网络连接起来的场地(Site,也称为节点)的集合,每个场地都可以拥有集中式DBS的计算机系统。
DDBS的数据具有“分布性”特点,数据在物理上分布在各个场地。这是DDBS与集中式DBS的最大区别。
DDBS的数据具有“逻辑整体性”特点,分布在各地的数据逻辑上是一个整体,用户使用起来如同一个集中式DBS。这是DDBS与非分布式DBS的主要区别。物理上分布,逻辑上集中4)并行式DBS(ParallelDBS)
现在数据库的数据量急剧提高,巨型数据库的容量已达到“太拉”级(1太拉为1012,记作T),此时要求事务处理速度极快,每秒达数千个事务才能胜任系统运行。集中式和C/S式DBS都不能应付这种环境。并行计算机系统能解决这个问题。并行系统使用多个CPU和多个磁盘进行并行操作,提高数据处理和I/O速度。并行处理时,许多操作同时进行,而不是采用分时的方法。在大规模并行系统中,CPU不是几个,而是数千个。即使在商用并行系统中,CPU也可达数百个。3.3数据库管理系统(DBMS)3.3.1DBMS的工作模式应用程序DBMSDB数据请求数据(处理结果)低层指令数据(查询结果)DBMS的工作模式如下:(1)接受应用程序的数据请求和处理请求。(2)将用户的数据请求转换成复杂的机器代码。(3)实现对数据库的操作。(4)从对数据库的操作中接受查询结果。(5)对查询结果进行处理(格式转换)。(6)将处理结果返回给用户。用户访问数据库的示意图用户对数据库进行操作,是由DBMS把操作从应用程序带到外部级、概念级,再导向内部级,进而通过OS操纵存储器中的数据。同时,DBMS为应用程序在内存开辟一个DB的系统缓冲区,用于数据的传输和格式的转换。而三级结构定义存放在数据字典中。应用程序DBMSDBDB的系统缓冲区OS外模式模式内模式数据字典3.3.2DBMS的主要功能
1)数据库定义外部模式、概念模式、内部模式及模式间映像的定义数据库完整性定义安全性定义存取路径等的定义。2)数据库管理功能实现数据库的控制功能控制数据库的操作3)数据库的建立和维护功能数据库的建立功能数据库的维护功能数据库的恢复功能4)数据组织、存储和管理功能5)通信功能3.4DBMS的系统结构3.4.1DBMS的进程结构和多线索结构1)一个应用进程对应一个DBMS核心进程
当每个应用进程访问数据库时需要创建一个DBMS核心进程,并在完成应用进程所委托的访问数据库任务后撤销该核心进程。
应用程序代码DBMS核心(函数)SQL语句运行结果多个DBMS核心进程在操作系统调度下并发地执行,从而实现多个事务的并发执行。这种方式实现较容易,但存在如下缺点:进程的创建、撤销、通信和切换的开销较大;随着并发执行事务的增加,进程数目也相应增加,当需求的内存等资源受到限制时,其性能会下降。不利于事务共享内存空间。2)多线索单进程DBMS结构
在基于单进程多线索结构的DBMS中,系统只创建一个DBMS进程。在DBMS进程中,有常驻的公共服务线索和根据用户的需求而创建的非常驻用户线索。DBMS的各个线索能在逻辑上并行执行,它们共存于一个进程中,共享DBMS的资源。这种多线索机制可以减少每个用户需要的系统资源,从而可以增加并发执行的用户数,提高系统的运行效率。采用多线索单进程结构的DBMS具有占用资源少,线索调度灵活,线索切换开销小、线索间通信简便等特点。因而这种DBMS具有运行效率高、消耗系统资源少等优点。数据目录锁表缓冲DaemonDBMS进程应用进程1DBMS核心线程1pipe/socketSQL语句查询结果pipe/socket应用进程2DBMS核心线程2SQL语句查询结果pipe/socket应用进程nDBMS核心线程nSQL语句查询结果┇┇3.4.2DBMS的组成系统控制程序授权检查程序并发控制程序数据存取控制程序数据存储管理程序完整性控制程序通信控制程序DML翻译程序DML处理程序终端查询语言解释程序DB控制语言解释程序定义公用程序维护公用程序系统运行控制程序数据库管理系统(DBMS)语言翻译处理程序公用程序模式定义公用程序子模式定义公用程序保密定义公用程序信息格式定义公用程序装入程序DB重构公用程序DB恢复公用程序统计分析公用程序信息格式维护公用程序工作日志公用程序转储、编辑、打印公用程序3.4.3DBMS的层次结构
DBMS应用层语言翻译处理层数据存取层数据存储层操作系统(OS)数据库(DB)几种典型结构的DBMS
3.5.1Client/Server结构的DBMS
1)Client/Server结构的DBMS的功能划分
(1)方案一:基本的C/S体系结构。该方案的应用处理(包括实现用户界面等)由Client完成,数据访问和事务管理由Server完成。(2)方案二:是在Server上主要执行一些底层的操作,如封锁、页面读写,而由Client来完成查询优化和查询处理。(3)方案三:是每个Client通过对查询数据进行缓存建立其局部数据库,且在Client端都有一个功能完善的DBMS,它与Server上DBMS协同工作完成对数据库的访问。2)数据存取的工作过程
1)Client端在Client端包括:应用处理逻辑、显示和数据表示及用户交互界面等部分。2)Server端在Server端包括:数据存取管理、完整性控制及并发控制等部分。服务器提供查询、更新、事务管理、索引、高速缓存、查询优化、安全及多用户存取控制等服务。用户数据库客户应用API连接软件网络协议数据库服务器软件连接软件网络协议操作系统网络客户机服务器数据存取的工作过程3)Client/Server结构中数据库服务器的优点与网络文件服务器相比,数据库服务器的优点如下:(1)提高了应用开发生产率
由于数据库服务器具有数据管理任务,客户机上的应用程序无须编写这些数据管理程序,减少了软件开发量,提高了应用开发效率。(2)数据库服务器提供可靠的数据安全性
用户在授权范围内使用数据库服务器和数据库中的数据。(3)数据库服务器提供了有效的方法保证数据库的可靠性(4)数据库服务器能充分利用计算机资源,降低网络开销、提供查询优化机制和并发控制功能,从而提高了整个系统的性能。(5)数据库服务器把分布处理和集中控制结合在一起,便于系统扩充。4
)三层Client/Server结构
客户端…数据库数据服务器(服务器层)实施企业规则的中间层用户使用的前台应用程序(客户层)3.5.2基于Web的数据库系统1)基于Web的数据库系统的体系结构(1)在Web服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年全科医师定期考核试题题库(含答案)
- 粮食检测员资格考试试题及答案
- 2026年公务员考试行政职业能力测验真题试题及答案
- 2026法考民诉模拟试题答案及解析
- 2025年体育单招文化考试及答案(仅供参考)真题
- 2025年软考中级数据库系统工程师试题及答案
- 河北广电面试常见问题及答案
- 科技园区新建锅炉水质处理设备生产厂房项目可行性研究报告
- 连镇铁路可行性研究报告
- 水箱拆除项目可行性研究报告
- 造价工程师识图算量课件
- 冷轧高性能取向电工钢带-编制说明-
- DZ/T 0223-2011矿山地质环境保护与恢复治理方案编制规范
- 集成电路布图设计委托开发合同
- 装修隔音合同协议
- 砌筑工考试试题及答案
- 店面租赁订金合同范例
- 高职高专建筑材料与检测课件第二章
- 机电总承包管理方案超算中心
- 粉尘防爆知识培训试题
- 2023年全国研究生考试英语二真题及详细答案
评论
0/150
提交评论