第1章 数据库系统概述iam sure_第1页
第1章 数据库系统概述iam sure_第2页
第1章 数据库系统概述iam sure_第3页
第1章 数据库系统概述iam sure_第4页
第1章 数据库系统概述iam sure_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章 数据库系统概述第一节 信息、数据、数据处理红色表示强调,灰蓝表示注释。1信息和数据(1) 信息:客观事物属性的反映。是客观事物某一方面或某一时刻的表现形式或属性。如:桌子的长、宽、高、颜色,反映的都是桌子的信息。(2) 数据:描述事物的符号记录称为数据。 可以是数字,也可以是文字、图形、图象、声音、语言等等。如,电话中处理的数据就是语言。注意:(1) 从计算机角度说,数据泛指可以被计算机接受并能够被计算机处理的符号。(2) 信息和数据的区别:信息是有用的数据。数据是信息的表现形式。信息是通过数据符号传播的。数据是信息的载体。如,明天要下雨。语言是数据,是载体。信息是明天的天气。2数据处

2、理(1) 概念:就是利用计算机对各种类型的数据这里的数据不一定是数值型数据进行处理。包括:数据的采集、整理、存储、分类、排序检索等一系列操作过程。(2) 数据处理的目的是获取有用的信息,核心是数据。工厂里的职工的人事资料档案等都是数据,则要进行数据处理,使得这些复杂、杂乱无章的数据能够准确的、快速的显示其中包含的信息。以便我们进行工作利用。第二节 数据模型1 数据模型1.1 什么是模型?模型:现实世界的模拟和抽象。特别是具体模型,同学们并不陌生,一张地图,地球仪都是模型。如航空模型、航海模型等,它可以帮助人们对客观事物进行学习和理解。为什么把这部分详细讲 ?因为这个建立、设计数据库的一个重要阶

3、段。就是建立模型阶段。1.2 为什么引入数据模型?由于计算机不可能直接处理现实世界中的具体事物,为了对客观事物及其联系进行有效的描述与刻画,需要引入模型的概念。但是,航海模型等并不能直接让计算机处理,尽管它也是模型我们知道模型是对现实世界特征的模拟和抽象。因此我们说,如果处理地球的一些信息,你直接把地球仪这个模型放入计算机内处理,那不可能,也是荒谬的但和我们计算机处理的模型不同,计算机处理的模型是数据模型或数学模型因为我们计算机处理的都是数据。因此只能把现实世界的事物抽象成一个个的数据来让计算机处理。数据模型也是一种模型。它是现实世界数据特征的抽象,是用来描述数据的一组概念和定义。1.3 什么

4、是数据模型?数据模型:反映的是对客观世界的事物以及事物之间联系的形式化描述。这种描述的表现形式是具有联系性的相关数据总是按照一定组织关系排列,从而构成一定的结构,对这种结构的描述就是数据模型。1.4 数据模型的层次(1)概述不同的数据模型实际上是提供模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型划分为3类,它们分属于3个不同的层次。第一类模型是概念数据模型,简称概念模型。是世界在人的头脑中的反映,是世界的逻辑抽象模型,但此模型的各种抽象实体等不以计算机能处理的形式出现。比如,此模型仅仅指出了事物与事物之间的联系,但为能表现为计算机可处理的形式。它是按用户的观点来对数据和信息

5、建模,不涉及DBMS的具体技术,主要用于数据库设计。存在于人的头脑里,是一种人对世界,对事物,对系统的理解。当然可以写到纸上,是在设计阶段的,概要设计第二类模型是逻辑数据模型,简称逻辑模型。此模型中具体了数据与数据间的关系,组织形式等,将其表现为计算机可处理的数据形式。所谓计算机可处理,就是可用DBMS处理。它是按计算机系统的观点对数据建模,主要用于DBMS的实现。不同的DBMS提供不同的逻辑数据模型,常用的有层次模型、网状模型、关系模型和面向对象模型等。具体了数据与数据间的关系,组织形式等。第三类是物理数据模型,简称物理模型。它是对数据最底层的抽象,它描述数据在物理存储介质上的组织结构和存取

6、方法,是面向计算机系统的,与具体的DBMS、操作系统和计算机硬件密切相关。物理模型的具体实现是DBMS的任务,DBMS为了保证物理模型的独立性与可移植性,大部分的实现工作由系统自动完成,数据库设计人员只需要设计索引、聚集等特殊结构。注释:从现实世界到概念数据模型的抽象是由数据库设计人员来完成的; 从概念数据模型到逻辑数据模型的转换可以由数据库设计人员来完成,也可以用数据库设计工具协助设计人员完成;从逻辑数据模型到物理数据模型的转换一般由DBMS来完成。工具系统自动完成。三个世界现实世界;信息世界;机器世界(数据世界),两次抽象。注意:概念模型必须转换为逻辑模型,才能在DBMS中实现。听完后面的

7、就明白了(2) 第一层次概念数据模型1)什么是概念模型?概念数据模型(Conceptual Data Model)也称为信息模型。它是对客观事物及其联系的抽象,用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具。 Peter Pin-Shan Chen在1976年提出的实体-联系方法,简称E-R模型(Entity-Relationship Model),是最为著名的一种概念模型的表示方法。该方法用E-R图来描述现实世界的概念模型。E-R模型能够清楚地表达被描述对象的语义,用图形化方式描述数据及其之间的关系,简单、容易理解掌握、且易被转换成关系数据模型

8、。2) 概念模型的基本概念(1) 实体(Entity)客观存在并可相互区分的事物称为实体。实体可以是具体的人、事和物,也可以是抽象的概念或联系。例如,学生是一个实体。(2) 属性(Attribute)实体所具有的若干特征称为属性,其中每一个特征就成为实体的一个属性。属性必须相对实体而存在。例如,学生实体可以由学号、姓名、性别、出生年份、所属院系、入学年份等属性组成(94002268,张山,男,1976,计算机系,1994),这些属性组合起来表征了某一个学生。(3) 码(Key)唯一标识实体的属性集称为码。例如,学号是学生实体的码。(4) 域(Domain)属性的取值范围称为该属性的域。例如,学

9、号的域为6位整数,姓名的域为字符串集合,年龄的域为小于28的整数,性别的域为(男,女)。(5) 实体型(Entity Type)实体型由实体名称和属性名称集合组成的形式来抽象和刻画同一类实体。例如,学生(学号,姓名,性别,出生年份,所属院系)就是一个实体型。(6) 实体集(Entity Set)同一类型实体的集合称为实体集。例如,全体学生就是一个实体集。(7) 联系(Relationship)就是现实世界中事物之间的联系在概念模型中必然要加以反映。一般存在两类联系:一是实体内部的联系,通常是指组成实体的各属性之间的联系;二是实体之间的联系,通常是指不同实体之间的联系。3) 联系l 二元联系:两

10、个实体型之间的联系称为二元联系,是现实世界大量存在的联系,可以分为3类,如图2-2所示。(1) 一对一(1:1)联系对于两个实体集A和B,若A中的每一个值在B中至多有一个实体值与之对应,反之亦然,则称实体集A和B具有一对一的联系,记为1:1。例如,一个学校只有一个正校长,而一个校长只在一个学校中任职,则学校与校长之间具有一对一联系。(2) 一对多(1:n)联系对于两个实体集A和B,若A中的每一个值在B中有多个实体值与之对应,反之B中每一个实体值在A中至多有一个实体值与之对应,则称实体集A和B具有一对多的联系,记为1:n。例如,一个专业中有若干名学生,而每个学生只在一个专业中学习,则专业与学生之

11、间具有一对多联系。(3) 多对多(m:n)联系对于两个实体集A和B,若A中每一个实体值在B中有多个实体值与之对应,反之亦然,则称实体集A与实体集B具有多对多联系,记为m:n。例如,一个教师可以有很多学生,一个学生也可以有很多个老师,则教师与学生之间具有多对多联系。l 多元联系: 3个以上的实体型之间也存在着一对一、一对多、多对多的联系,称为多元联系。4) 概念模型的表示方法E-R方法(实体联系方法):用E-R图来描述现实世界的概念模型。E-R方法也称为E-R模型。E-R图的主要成分是实体型、属性和联系。(1) 实体型:用矩形表示,矩形框内写明实体名。(2) 属性:用椭圆形表示,并用无向边把实体

12、与属性连接起来。(3) 联系:用菱形表示,菱形框内写明联系名,并用无向边分别把菱形与有关实体相连接,在无向边旁标上联系的类型(1:1、1:n或m:n)。需要注意的是,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。例如,学校中有一个校长和若干个班级,每个班级有若干个教师和学生,每个教师教授许多学生,每个学生都有学号、姓名、性别、班级、入学时间属性。则此学校的E-R图如下图所示。另一种概念模型,展实体联系模型(Extend Entity-Relationship Model),简称为“EER模型”。是在ER模型基础上发展的。这种模型能表示更多的语义,扩充了子类型的概念,为面向对象的

13、数据库设计提供了有效工具。(3) 第二层次逻辑数据模型1、什么是逻辑模型?逻辑数据模型(Logic Data Model)又称为结构数据模型(Structure Data Model)。它是按计算机系统的观点组织数据,关注数据结构,是严格定义的一组概念的集合,这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。2、逻辑模型的作用,能干什么?为什么引入逻辑模型?逻辑数据模型的任务是描述计算机世界中数据与数据之间的关系及数据存储、处理的特征。3、逻辑模型的组成:逻辑数据模型通常由数据结构、数据操作和完整性约束三部分组成,也称为数据模型的三要素。(1) 数据结构数据结构是对实体型和实体间联

14、系的计算机可实现的表达和实现,是所研究的对象类型的集合。这些对象是数据库的组成部分,它们包括两类,一类是与数据类型、内容、性质有关的描述,例如网状模型中的数据项、记录,关系模型中的域、属性、关系等;另一类是与数据之间联系有关的描述,如关系模型中的外键。数据结构是对数据模型静态特性的描述。数据结构是刻画一个数据模型性质最重要的方面,因此,在数据库系统中,人们通常按照数据结构的类型来命名数据模型。例如,层次结构、网状结构和关系结构的数据模型分别命名为层次模型、网状模型和关系模型。(2) 数据操作数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及相应的操作规则。数据库主

15、要有数据查询和数据更新两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则以及实现操作的语言。数据操作是对数据模型动态特性的描述。(3) 数据的约束条件数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用于限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确性、有效性和相容性。数据模型必须遵守基本的、通用的完整性约束条件。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。另外,数据模型还应该提供用户自定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的、特定的语义约束条件。例如,在学校的数据库

16、中规定大学生入学年龄不得超过30岁,学生累计成绩不得有3门以上不及格等。4. 逻辑数据模型的分类逻辑数据模型有层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Model)和面向对象模型(Object Oriented Model),其中层次模型和网状模型统称为非关系模型。现在主要是关系模型,我们主要说它1.6 数据模型应满足的要求l 能比较真实的模拟现实世界l 容易为人理解l 便于计算机实现。小结现实世界客观对象的抽象过程也就是抽象数据模型的过程三个世界现实世界;信息世界;机器世界(数据世界),两次抽象。(1) 现实世界

17、:人们头脑之外的客观世界。(2) 信息世界(概念模型):是现实世界在人们头脑中的反映。用到的术语:实体:客观存在的事物 实体集:客观事物的结合 属性:实体的特性。 实体键:能唯一表示每一个实体的属性或属性集注意:实体的型和值实体型是用实体名及其属性名集合来抽象和刻画同类实体,表示同类实体的属性构成。实体值是每个实体的实际取值。型是值的抽象。值是型的实例。举例给同学说人/具体记录(3) 机器世界(逻辑模型关系模型):信息世界的信息在机器世界中以数据形式存储。就是计算机中的世界。DBMS支持的数据模型。用到的术语:字段:标识实体属性的命名单位记录:字段的有序集合称为记录文件:同一类记录的有序集合关

18、键码:能唯一表示记录的字段或字段集。举例说2 关系模型2.1. 关系模型的概念2.1.1 关系的引入来历:关系模型是目前最重要的、应用最广泛的一种数据模型。目前,主流的数据库系统大部分都是基于关系模型的关系数据库系统(Relational DataBase System,简称RDBS)。1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出数据库系统的关系模型。理论基础:关系模型的数据结构建立在集合论中“关系”数学概念的基础之上,有着严格的数学定义。在用户观点来看,关系模型的数据结构非常简单。2.1.1 什么是关系?关系(Relation):那种具有相关性而非从属性的平

19、行的数据之间按照某种序列排列的集合关系。每个关系的数据结构是一张二维表,由行和列组成。这张表既可以用来描述实体,也可以用来描述实体间的联系关系的作用。其实就是二维表。一个关系就是一张二维表 。一个关系通常对应一张二维表,如表2-1所示的学生表。其中,表中的每条记录是平行的,并列的,非从属性的,但它们都是一个学校的学生,这就是他们的相关性。表2-2不符合关系模型要求(2) 关系模型的术语以学生表(如表2-1所示)为例,介绍关系模型中的一些术语。关系(Relation):一个关系通常对应一张二维表,如表2-1所示的学生表。表中的每一个横行,就是一个记录,也就是一个元组。表中的每一个竖列,就是一个属

20、性,也就是一个字段。元组(Tuple):表中的一行即为一个元组,也称为记录。属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称,即属性名。如表2-1有5列,对应5个属性(学号,姓名,性别,年龄,系名)。码(Key)(键):码是指表中的某个属性组,它可以唯一确定一个元组。如表2-1中的学号可以唯一确定一个学生记录,也就成为本关系的码。Ø 关键字:若某一个字段或几个字段的组合值能够表示一个记录,则称其是关键字。如SC(S#,C#,G),其中S#,C#是主键。Ø 主关键字(主键,主码):当一个数据表有多个关键字时,选一个作为主关键字。Ø 外键:两

21、个数据表,父表中的主关键字字段在子表中称为外键。数据表之间的关联就是通过主键和外键作为纽带实现关联的。如, 表一(姓名,专业,成绩),表二(学号,姓名,年龄,性别) 无重名时,主键 主键 无重名时,候选键,外键域(Domain):域是指属性的取值范围,如人的年龄域是(l150),大学生年龄属性的域是(1438),性别的域是(男,女),系别的域是一个学校所有系名的集合。分量(Component):分量是指元组中的一个属性值。关系模式(Relational schema):关系模式是指对关系的描述,一般表示为关系名(属性l,属性2,属性n)。例如,表2-1的关系可描述为学生(学号,姓名,性别,年龄

22、,系名)。2.2 关系的特点不是任何二维表都可以成为关系。关系特点如下:(1) 关系中的每一列属性都是原子属性,即属性列不能再分。就是每一个分量必须去原子值,不能再分。(2) 关系中的同一列属性都是同质的,即每一个原子的该属性取值都表示同类信息。(3) 关系中的属性间没有先后顺序。(4) 关系中的元组没有先收顺序。(5) 关系中不能有相同的元组。(有些DBMS中不加限制,但如果关系中定义了主键,则每个元组的主键值不允许重复)(6) 不同的列允许出自同一个域。如评估价格,采购价格,都是价格,可以定义同一个域。第二节 数据库系统1 什么是数据库?定义: 就是以一定的组织方式将相关的数据组织在一起,

23、存放在计算机上形成的能为多个用户共享的与应用程序彼此独立的一组相关数据的集合。有的说是数据的仓库。此处强调数据库与应用程序彼此独立,是当应用程序发生变化,如更新版本,应用软件更改,但是底层的数据库并不发生改变。底层的数据库发生变化也不会影响应用软件的使用。简言之,就是计算机上存储的数据的集合。数据库特点:1、有规则,有组织,长期存储。数据库中的数据按一定的数据模型组织、描述和储存2、具有较小的冗余度3、较高的数据独立性4、易扩展性5、共享性,可为各种用户共享。是指不同的用户可以按各自的用法使用数据库中的数据,多个用户可以同时共享数据库中的数据资源。6、数据整体性, 数据整体性是指数据库是一个单

24、位或一个应用领域的通用数据处理系统,它存储的是属于企业和事业单位、团体和个人的有关数据的集合,是面向全组织的,具有整体的结构化特征。2 数据库管理系统database management system DBMS2.1定义:科学地组织和存储数据,高效地获取和维护数据的系统软件。就是数据库管理系统。表现形式是位于用户和操作系统之间的一层数据管理软件。DBMS是一种系统软件,常用的数据库管理系统有SQL Server、Oracle等数据库软件。2.2 组成:(1) 数据描述语言(DDL)及其编译程序用于定义数据库的各级模式(内,概念,外模式)(2) 数据操纵语言(DML)或查询语言及其编译或解释程

25、序Ø 提供对数据库数据存取、检索、插入、修改和删除等基本操作。Ø 数据操纵语言的分类:宿主型语言,自主型语言(Foxpro,C语言等(3) 数据库管理例行程序包括系统运行控制程序和数据库服务程序。2.3 DBMS功能数据库定义功能:数据描述语言DDL定义数据库的模式、内模式、外模式,实现模式间映射,定义各种数据库对象等。数据库操纵功能:数据操纵语言DML实现数据库操作。四种基本操作:查询、插入、修改和删除。支持程序设计语言:DBMS均支持程序语言。宿主型的DBMS将DML嵌入主语言中使用;自主型DML的DBMS本身带有程序语言。另外通过通用的数据库连接接口,DBMS与持续之

26、间可以实现数据交换。.数据库运行控制功能:数据安全性和完整性检验、故障恢复和并发操作等。安全性是指具备创建用户账户、相应口令、权限设置等。故障恢复则是具备一定的数据备份功能和故障处理机制。.数据库维护功能:初始装入、转储、重组、登记工作日志等,保证数据的正确与完整。.通信功能:网络环境下的DBMS能够与网络中的其他软件系统进行通信。一个DBMS能与另一个DBMS或文件系统进行数据转换,完成异构数据库之间的访问和互操作。.数据字典:管理数据库中的元数据,即对于数据库本身的描述信息,用于系统运行管理。3 数据库系统3.1 什么是数据库系统?数据库应用系统又简称为数据库系统(DataBase Sys

27、tem,简称DBS),一般由数据库、操作系统、数据库管理系统及其开发工具、应用开发工具、应用系统、数据库管理员和用户构成。 1. 数据库数据库是一个单位或组织需要管理的全体相关数据的集合,是长期存储在计算机内的有组织、可共享、可统一管理的数据集合。可独立于应用,由DBMS单独创建和维护,创建的数据库存储在磁盘等物理存储介质上,向应用系统提供数据支持。2. 硬件平台硬件是存储数据库和运行DBMS的物质基础。由于数据库系统中数据量很大,并且DBMS丰富的功能使得自身的规模也越来越大,因此,硬件资源配置要满足如下要求。(1) 有足够大的内存以存放操作系统、DBMS例行程序、应用程序、数据库表等。(2

28、) 有大容量的磁盘等外部存取设备存放数据库,有足够大的磁盘或磁带作数据备份。(3) 有较强的数据通信能力,以提高数据传送率。3. 软件数据库系统中的软件主要包括以下几项。(1) 数据库管理软件DBMSDBMS是数据库系统的核心,是实现数据库的建立、使用和维护配置的软件。目前常用的DBMS有Oracle、SQL Server、DB2、Sybase和Informix等。(2) 支持DBMS运行的操作系统目前常用的操作系统有Windows、UNIX和Linux等。(3) 具有与DBMS接口的高级语言及其编译系统有与DBMS接口的高级语言及其编译系统便于开发应用程序。目前大多数关系数据库系统支持的数据

29、库语言是SQL语言。(4) 以DBMS为核心的应用开发工具应用开发工具是系统为应用开发人员和最终用户提供的高效率、多功能的应用生成器、第四代语言等各种软件工具。它们为数据库系统的开发和应用提供了良好的环境。目前,典型的数据库应用开发工具有Visual Basic、Delphi等。(5) 为某种应用环境开发的数据库应用系统例如,适用于各高校图书馆管理系统、学生管理系统以及科研管理系统等。4. 人员数据库系统涉及的人员主要有三大类:数据库管理员、应用程序员和最终用户。不同的人员涉及不同的数据抽象级别,具有不同的数据视图,各自的职责也有所区别。(1) 数据库管理员(DataBase Administ

30、rator,简称DBA)在数据库系统环境下,有两类共享资源。一类是数据库,另一类是数据库管理系统软件,因此需要有专门的管理机构来监督和管理数据库系统。DBA则是这个机构的一个(组)人员,负责全面管理和控制数据库系统,具体职责包括:决定数据库中的信息内容和结构、决定数据库的存储结构和存取策略、定义数据的安全性要求和完整性约束条件、监控数据库的使用和运行、数据库的改进和重组重构等。DBA还有一个重要职责是在系统运行期间监视系统的空间利用率、处理效率等性能指标,对运行情况进行记录、统计分析,依靠工作实践并根据实际应用环境,不断改进数据库设计。为此,DBA要定义和实施适当的后备和恢复策略,如周期性的转

31、储数据、维护日志文件等。另外,DBA要定期对数据库进行重组织,以提高系统的性能。当用户的需求增加或改变时,DBA还要对数据库进行较大的改造,包括修改部分设计,即数据库的重构造。(2) 应用程序员应用程序员是指软件开发人员,包括系统分析员、系统设计员及程序设计员,主要负责设计和编写应用系统的程序模块,并进行调试和安装。(3) 最终用户(End User)最终用户是指数据库系统的使用者,通过应用系统的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示和报表书写等,给用户提供简明直观的数据表示。数据库的多数最终用户都是简单用户,其主要工作是查询和修改数据库,一般都是通过应用程序

32、员精心设计的具有友好界面的应用程序来存取数据库,如银行职员、各企事业单位的工作人员等。3.2 数据库系统的体系结构一般看来,同数据库接触的人员有三类:用户,程序员,系统管理员。有这三类人员对数据库的接触范围,认识和理解的不同,从而形成各自的数据库视图。3.2.1 什么是视图?(1) 定义:观察,认识和理解数据的范围,角度和方法。(2) 分类:由三种人员的不同,视图也就分成三类:内视图系统管理员角度,概念视图程序员角度,外视图用户角度3.2.2 数据库系统的三级模式体系结构图 SQL支持关系数据库三级模式(1) 外模式:外模式是概念模式的子集,也称子模式或用户模式。外模式是与某一具体应用有关的数

33、据的逻辑结构和特征的描述,是数据库用户(包括应用程序员和最终用户)所看到的数据视图。一个数据库可以有多个外模式。由于不同的用户在应用需求、看待数据的方式、对数据保密的要求等方面存在差异,其外模式描述也有所差异。即使对模式中同一数据,在外模式中的结构、类型、长度、保密级别等方面都可以不同。另一方面,同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。外模式是保证数据库安全性的一个有力措施,每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据不可见。DBMS提供子模式描述语言(子模式DDL)来严格地定义子模式。简言之:是数据库用户能够看见,使用的局部数据的

34、逻辑结构和特征描述,对应用户的数据视图,也就是外视图。(2) 模式(概念模式)概念模式简称模式,又称数据库模式、逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是全体用户的公共数据视图。它是数据库系统三级模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的应用开发工具及高级程序设计语言无关。模式实际上是数据库数据在概念级上的视图。一个数据库只有一个概念模式,数据库概念模式以某一种数据模型为基础,统一综合地考虑所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义模式,其一要定义数据的逻辑结构,例如,数据记录由哪些数据项构成、数据项的名字、类型、取值范围等

35、,其二要定义数据之间的联系,定义与数据有关的安全性、完整性要求。DBMS提供模式描述语言(模式DDL)来严格地定义模式。简言之:是数据库中全局数据的逻辑结构和特征描述。是所有用户的公共数据视图,是应用程序员所看到的数据库。对应程序员视图(3) 内模式(存储模式)内模式也称存储模式或物理模式,它是数据库的物理存储结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式,在内模式中规定了数据项、记录、键、索引和存取路径等所有数据的物理组织以及优化性能、响应时间和存储空间需求等信息,还规定了记录的位置、块的大小和溢出区等。例如,记录的存储方式是顺序存储、按照B树结构存储还是按ha

36、sh方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。内模式是DBMS管理的最低层。虽然称其为物理模式,但它不涉及物理记录的形式,如物理块或页、具体设备的柱面与磁道大小等,内部视图仍然不是物理层,是最接近物理存储的数据存储方式,是物理存储设备上存储数据时的物理抽象。DBMS提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格地定义内模式。简言之:一个数据库只有一个内模式,是数据的物理结构和存储方式的描述,是数据在数据库内部的表示方式。是系统管理员所应用的模式。对应系统管理员视图。如,记录的存储方式按顺序存储,索引按什么方式组织,数据是否压缩存储等

37、等。3.2.3 数据库的二级映像与数据独立性1)为什么搞两个映像?数据库系统的三级模式是对数据的3个级别的抽象视图的描述。使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这3个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两级映像:外模式/模式映像和模式/内模式映像,正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。1. 外模式/模式映像模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构,对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它存在于外部

38、级和概念级之间,用于定义用户的外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。2. 模式/内模式映像数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据库全局逻辑结构与存储结构之间的对应关系,该映像定义通常包含在概念模式的定义描述中。当数据库的内模式存储结构改变了(如选用了另一种存储结构),由数据库管理

39、员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据的物理独立性。简言之:数据库的二级映像保证了数据库外模式的稳定性,从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改。数据库的三级模式与二级映像实现了数据与程序之间的独立性,使数据的定义和描述可以从应用程序中分离出来。另外,由于数据的存取由DBMS管理,用户不必考虑存取路径等细节,从而简化了应用程序的编制,大大降低了应用程序的维护和修改成本3.3 数据库应用架构目前数据库应用架构可分称5类:单用户数据应用架构、集中式数据库应用架构、客户机/服务器C/

40、S应用架构、多层数据库应用架构和Internet数据库应用架构。3.2.1 单用户数据应用架构单用户结构的整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据,数据冗余度大,是早期的最简单的数据库系统。例如,一个企业的各个部门都使用本部门的机器来管理本部门的数据,各个部门间的机器是相互独立的。由于不同部门之间不能共享数据,因此企业内部存在大量的冗余数据。该架构下的数据库系统只适合个人计算机用户。如Access、Visual foxpro 图 单用户数据库应用结构 3.3.2 集中式数据库应用架构在这种结构中,包括应用程序、DBMS、数据,都集中存

41、放在主机上,所有处理任务都由主机来完成。各个用户通过主机的终端可同时或并发地存取数据库,共享数据资源。主从式结构的优点是结构简单,易于管理、控制与维护,缺点是当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。终端都是非智能终端。该架构中的数据存储层和业务处理层放在主机上,界面表示层放在终端上。所有的处理都由主机完成,对主机的配置及性能的要求事较高的。图 集中式数据库应用结构3.3.3 客户机/服务器应用架构客户机/服务器结构也称为C/S结构。两部分组成,一个服务器(后端)和一组客户(前端)。服务器指DBM

42、S本身,客户指在DBMS上运行的各种应用程序,包括用户编写的应用程序和内置的应用程序(由DBMS厂商或第三方厂商提供)。在C/S结构的数据库系统中:客户端具有一定的数据处理、数据表示和数据存储能力,客户端不统一,比如同一个公司,不同部门的客户端可能不同,财务部,人事部不同,或者医院里不同部门。服务器端完成数据库管理系统的核心功能。客户机和服务器两者都参与一个应用程序的处理,可以有效地降低网络通信量和服务器运算量,从而降低系统的通信开销,可以称之为一种特殊的协作式处理模式。在该体系结构中,客户机向服务器发送请求,服务器响应客户机发出的请求并返回客户机所需要的结果,简言之:是当前最广泛使用的架构形

43、式。客户机、服务器都是独立的计算机。客户机向服务器提出请求,服务器时刻侦听客户机请求,并解释,并在服务器上进行数据查询与处理。最后将结果返回给客户机端。图 客户机服务器式3.3.4 多层数据库应用架构是由多个服务器作为数据库服务器或应用服务器。在该架构中,数据存储层放在数据库服务器上,主要业务处理层在应用服务器上,简单的业务处理功能和界面表示层放在客户机上进行。3.3.5 浏览器/服务器式数据库应用架构浏览器/服务器结构也称为B/S结构,实质是一个三层结构的客户机/服务器体系。该结构是一种以Web技术为基础的新型数据库应用系统体系结构。它把传统C/S模式中的服务器分解为一个数据服务器和多个应用

44、服务器(Web服务器),统一客户端为浏览器。在B/S结构的数据库系统中,作为客户端的浏览器并非直接与数据库相连,而是通过应用服务器(Web服务器)与数据库进行交互。这样减少了与数据库服务器的连接数量,而且应用服务器(Web服务器)分担了业务规则、数据访问、合法校验等工作,减轻了数据库服务器的负担,如图1-13所示。简言之:B/S数据库应用架构核心是Web服务器,它负责接受远程或本地浏览器的Http请求,然后根据查询条件到数据库服务器获取相关数据,并通过浏览器向用户显示结果。此架构形式是,把应用程序安装在服务器端,而客户机端只安装作为前端运行环境的浏览器。客户客户客户客户数据库服务器数据库服务器

45、应用服务器客户图 多层数据库应用结构Internet客户端/brow客户端/browWeb服务器数据库服务器图 浏览器/服务器应用结构3.4 数据管理技术的发展在应用需求的推动下,在计算机硬件、软件发展的基础上,计算机数据管理技术经历了人工管理、文件系统、数据库系统3个发展阶段。人工管理阶段:20世纪50年代中期以前,计算机主要用于科学计算。在这一阶段,计算机除硬件外,没有管理数据的软件,数据处理方式是批处理。数据的组织和管理完全靠程序员手工完成,此阶段数据的管理效率很低,其特点如下。数据不保存只是在计算某一课题时将数据批量输入,数据处理完后不保存原始程序和数据。计算机断电之后计算结果也会随之

46、消失。数据不共享文件系统阶段:有专门的数据管理软件,一般称为文件系统。这时的计算机不仅用于科学计算,也大量用于数据处理。数据可以长期保存,数据的共享性差,冗余度高数据库系统阶段:4 数据库系统的结构(1) 结构视图: (2) 数据库系统的构成计算机硬件,软件,数据库,人员四部分构成。(3) 不同层次的术语对照表 实体联系模型关系模型DBMS 实体集 关系 表 实体型 关系模式 表结构 实体 元组 记录(行) 属性 属性 字段(列) 域 域 数据类型 键 候选键 主键 唯一索引 主键索引作业题:1. 试述数据、数据库、数据管理、数据库管理系统、数据库系统、模式、概念模式、外模式、内模式的概念。2

47、. 试述数据库系统三级模式结构,这种结构的优点是什么?3. 什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么数据库系统具有数据与程序的独立性?4. 对比分析C/S,B/S体系结构的优缺点。5. 学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生。每个学生选修若干课程,每门课可由若干学生选修。请用E-R图画出此学校的概念模型。6. 某工厂生产若干产品,每种产品由不同的零件组成。有的零件可用在不同的产品上,这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照

48、类别放在若干仓库中。请用E-R图画出此工厂产品,零件,材料,仓库的概念模型。第三节 关系数据库设计1关系数据库1.1 什么是关系数据库支持关系模型的数据库系统,是由若干张完成关系模型设计的二维表组成。1.2 关键字前面讲过。1.3关系数据库的特点(1) 数据冗余度小,支持复杂的数据结构。(2) 数据和程序的独立性高,程序和数据的逻辑结构和数据物理存储方式无关。(3) 数据具有共享性。(4) 数据的安全性,完整性,并发性强。1.4关系模式的简化表示关系模式的完整表示是一个五元组:R(U,D,Dom,F)其中:R为关系名;U为关系的属性集合;D为属性集U中属性的数据域;Dom为属性到域的映射;F为

49、属性集U的数据依赖集。由于D和Dom对设计关系模式的作用不大,在讨论关系规范化理论时可以把它们简化掉,从而关系模式可以用三元组来表示为:R(U,F)从上式可以看出,数据依赖是关系模式的重要要素。数据依赖(Data Dependency)是同一关系中属性间的相互依赖和相互制约。数据依赖包括函数依赖(Functional Dependency,简称FD)、多值依赖(Multivalued Dependency,简称MVD)和连接依赖(Join Dependency,简称JD)。1.5 函数依赖1)定义4.1设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关

50、系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。函数依赖和其他数据依赖一样,是语义范畴的概念。我们只能根据数据的语义来确定函数依赖。例如,知道了学生的学号,可以惟一地查询到其对应的姓名、性别等,因而,可以说“学号函数确定了姓名或性别”,记作“学号姓名”、“性别”等。这里的惟一性并非只有一个元组,而是指任何元组,只要它在X(学号)上相同,则在Y(姓名或性别)上的值也相同。如果满足不了这个条件,就不能说它们是函数依赖了。例如,学生姓名与年龄的关系,当只有在没有同名人的情况下可以说函数依赖“姓名年龄”成立,如果允许有相同

51、的名字,则“年龄”就不再依赖于“姓名”了。当XY成立时,则称X为决定因素(Determinant),称Y为依赖因素(Dependent)。当Y不函数依赖于X时,记为XY。如果XY,且YX,则记其为XY。2函数依赖的三种基本情形2)函数依赖的基本情形:1完全函数依赖与部分函数依赖定义4.2在关系模式R(U)中,如果XY,并且对于X的任何一个真子集X,都有X Y,则称Y完全函数依赖(Full Functional Dependency)于X,记作XFY。若XY,但Y不完全函数依赖于X,则称Y部分函数依赖(Partial Functional Dependency)于X,记作XPY。如果Y对X部分函

52、数依赖,X中的“部分”就可以确定对Y的关联,从数据依赖的观点来看,X中存在“冗余”属性。2 传递函数依赖定义4.3在关系模式R(U)中,如果XY,YZ,且YX,则称Z传递函数依赖(Transitive Functional Dependency)于X,记作ZTX。传递函数依赖定义中之所以要加上条件YX,是因为如果YX,则XY,这实际上是Z直接依赖于X,而不是传递函数了。按照函数依赖的定义,可以知道,如果Z传递依赖于X,则Z必然函数依赖于X,如果Z传递依赖于X,说明Z是“间接”依赖于X,从而表明X和Z之间的关联较弱,表现出间接的弱数据依赖。因而亦是产生数据冗余的原因之一。2 关系的规范化怎样设计

53、一个关系?达到什么样的标准的关系才是一个合理的优化的关系呢?这就是关系的规范化,现在来说明这个问题。2.1 关系规范化的标准六个等级:第一、第二、第三、修正的第三、第四、第五 1NF、2NF、3NF、BCNF、4NF、5NF NF= Nomal form一般问题达到3NF即可。2.2 三个范式规范化的原则(1) 第一范式:在一个关系中,消除重复字段,且各字段都是不可分的基本数据项。同学们还记得前面讲过的关系的特点么?我们提到,不是所有的二维表都是关系,我们强调,关系的属性列是不能再分的。因此说,第一范式是关系的基本范式。(2) 第二范式:若关系模式属于第一范式,且所有非主属性都完全依赖于主关键

54、字段的每一部分不能是只依赖于其中一部分,而另一部分不依赖。也就是小出了部分依赖。如下例问题提出:关系模式SLC(Sno,Sdept,Sloc,Cno,G)关键字:(SNO,CNO)因为只有SNO,CNO都确定了,则G才能定。问题分析:此关系模式中,依赖关系有(Sno,Cno)-àG;SnoàSdept;SnoàSloc;(Sno,Cno)àSdept;(Sno,Cno)àSloc说明:同学们可以看到Sdept,Sloc并不依赖于主关键字的每一部分,他们是依赖于主关键字中的Sno部分,并不依赖于Cno,因此该关系模式不符合第二范式2NF。问题解决

55、:分解。SLC模式分解为SC(Sno,Cno,G);主键(Sno,Cno)SL(Sno,Sdept,Sloc);主键(Sno)课堂练习:有关系模式订购(订单号,制单日期,商品号,商品名,价格,供应商号,供应商名,订购数量)是不是第二范式,若不是,为什么?该怎么办?(3) 第三范式:若关系模型属于第二范式,且关系中所有非主属性都直接依赖于主键字段(消除了非主关键字段对关键字段的传递依赖)。如下例问题提出:关系模式SC(Sno,Cno,G);关系模式SL(Sno,Sdept,Sloc)问题分析:关系模式SC中(Sno,Cno)àG;关系模式SL中SnoàSdept;Sdept&

56、#224;Sloc;从而有SnoàSloc结论:SC中没有传递依赖,SL中有传递依赖,问题解决:分解SL,SD(Sno,Sdept);DL(Sdept,Sloc)最终达到第三范式。课堂练习:有关系模式商品(商品号,商品名,价格,供应商号,供应商名)是不是第三范式,若不是,为什么?怎么办?3关系的关联关系的关联是通过主键和外键来关联的。一对一,一对多,多对一。多对多可以引入中间表,分解成一对多和多对一。4关系的完整性完整性约束规则是关系数据库中的关系及其相关关系之间的一种约束,也就是说,我们要对某个关系作出一些规定,要求其必须满足这些规则;对一些相关的关系,也作出一些规定,要它们必须满足。这些规则就是所谓的完整信约束。下面是四类完整性约束。3.1 实体完整性规则(1) 实体完整性规则:定义了主键的关系中,不允许任何元组的主键属性值取空值,或部分取空值。即是主键不能为空且不能有相同值。空值(null value)就是“不知道”或“不存在”的值。实体完整性强调基本关系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论