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

下载本文档

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

文档简介

第一章数据库系统概述

1.1数据处理数据处理技术的发展阶段人工管理阶段文件系统阶段数据库系统阶段分布式数据库系统面向对象数据库系统1.2.1数据库数据库(Database,简称为DB)是长期存储在计算机内、有组织的、可共享的、统一管理的相关数据的集合。1.2数据库基本概念1.2.2数据库管理系统

1、数据库管理系统(DatabaseManagementSystem,简称DBMS)是位于用户与数据库之间的一个数据管理软件。即用户不能直接接触数据库,而只能通过DBMS来操作数据库。2.数据库管理系统的功能(1)数据定义功能

DBMS提供了数据描述语言(DataDescriptionLanguage,DDL)来定义数据库的结构、数据之间的联系等。(2)数据操纵功能DBMS提供了数据操纵语言(DataManipulationLanguage,DML)来完成用户对数据库提出的各种操作要求,实现数据的插入、检索、删除、修改等任务。(3)数据运行管理DBMS可以完成对数据库的安全性控制、完整性控制、多用户环境下的并发控制等。(4)数据库维护功能DBMS还可以对已经建立好的数据库进行维护,比如数据字典的自动维护,数据库的备份、恢复等。(5)数据库通信功能DBMS应提供网络环境的数据通信功能。1.数据库系统的概念数据库系统(DatabaseSystem,简称DBS)是指采用了数据库技术的计算机应用系统。它实际上是一个集合体,通常包括:

1.2.3数据库系统

(1)数据库。

(2)数据库管理系统,它是数据库系统的核心组成部分。

(3)计算机硬件环境、操作系统环境及各种实用程序。

(4)管理和使用数据库系统的各类人员,可以分为:终端用户(EndUser)。按照用户需求的信息以及获得信息的方式的不同,一般可将终端用户分为操作层、管理层和决策层,他们通过应用系统的用户接口使用数据库。应用程序员(ApplicationProgrammer)。应用程序员根据数据库系统的功能需求,设计和编写应用系统的程序模块,并参与对程序模块的测试。系统分析员。系统分析员是数据库系统建设期的主要参与人员,负责应用系统的需求分析和规范说明,确定系统的基本功能,数据库结构和应用程序的设计,以及软硬件的配置,并组织整个系统的开发。数据库管理员(DadabaseAdministrator,简称DBA)。全面负责建立、维护、管理和控制数据库系统。⑴数据低冗余、共享性高。⑵数据独立性高。数据的独立性包括逻辑独立性和物理独立性。2、数据库系统的特点

数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。⑶有统一的数据控制功能。数据的安全性(security)控制

数据的完整性(integrity)控制并发(concurrency)控制数据恢复(recovery)三个概念:数据库、数据库管理系统、数据库系统是三个不同的概念,数据库强调的是数据,数据库管理系统是管理数据库的工具软件,数据库系统强调的则是一个整体系统。根据美国标准化协会和标准计划与需求委员会(ANSI/SPARS)提出的建议,数据库系统的内部体系结构是三级模式结构,分别为模式、外模式和内模式。1.3数据库系统的体系结构1、模式也称为概念模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。定义模式时不仅要定义数据的逻辑结构(例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。2、外模式外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。3、内模式也称存储模式或物理模式,它是数据物理结构和存储结构的描述,是数据在存储介质上的保存方式(例如,记录的存储方式是顺序存储、还是按照B树结构存储;索引按照什么方式组织;数据是否压缩存储,是否加密等)。一个数据库只有一个内模式。

三个模式反映了数据库的三种不同的层面:模式表示了概念级数据库,体现了数据库操作的接口层;内模式表示了物理级数据库,体现了数据库操作的存储层;外模式表示了用户级数据库,体现了数据库操作的用户层。应用1应用2外模式1应用3应用4外模式2应用5应用6外模式3模式内模式用户级数据库概念级数据库物理级数据库外模式/模式映像模式/内模式映像这里以简单的职工管理数据库为例,进一步说明三级模式和数据库的三种层面,以此加深理解。

(1)某单位建立职工管理数据库,包含职工基本情况和工资情况,如表所示的两张二维表,把它们看作是从物理数据库中抽象出来的概念数据库。

(2)在数据库中,需了解“文化程度”是“大专”的职工基本情况,结果如左表;需了解职工的岗位工资情况,结果如右表。把它们看作是用户数据库,它们只不过是概念数据库的一个个子集。(3)存储在存储介质上的职工数据库便是物理数据库。4、模式间的映射三级模式之间的联系是通过二级映射来实现的,当然实际的转换工作是由数据库管理系统来完成的。(1)外模式/模式映射它定义了外模式与模式之间的对应关系。当模式改变时,由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。(2)模式/内模式映射模式/内模式映象是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构改变了(例如采用了更先进的存储结构),由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立性。

1.4数据模型模型是对客观世界中复杂对象的抽象描述,如航模、车模。在数据库中用数据模型这个工具来描述现实世界中数据的结构、数据的性质、数据之间的联系等。数据模型分成两个不同的层次:概念模型和实施模型(有的教材也称数据模型)计算机不能直接处理现实世界中的具体事物,首先将现实世界的事物及联系抽象成信息世界的概念模型;然后再抽象成计算机世界的数据模型。这一转换经历了现实世界、信息世界和计算机世界三个不同的世界。现实世界现实世界中的事物由它的性质来表征。例如,学校的教学管理系统中,学院、系部、教师、班级、学生、课程是主要构成元素。现实世界中事物与事物之间并非孤立,而是存在一定的联系。例如,教师授课、学生选课,教师、学生、课程是相互关联的。1.4.1现实世界、信息世界和计算机世界信息世界信息世界是对现实世界中事物及事物之间联系的抽象描述。例如,一个教师可以用编号、姓名、性别、职称、学历等来表征;一门课程可以用课程编号、课程名称、学时、学分、课程性质等来表征。计算机世界

计算机世界是将信息世界中的事物数据化后存入计算机系统。1.4.2概念模型

概念模型用于信息世界的建模,也称信息模型。它是按用户的观点,在概念上表示数据库中存储什么事物以及事物之间的联系,而不管事物和联系如何在数据库中存储。

1、概念模型中的基本概念

(1)实体客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。如一个学生,一门课,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。

(2)属性实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画,如一个学生实体有学号、姓名、年龄、性别、班级等方面的属性。属性有"型"和“值”之分,"型"即为属性名,如姓名、年龄是属性的型;“值”即为属性的具体内容。(3)键唯一标识实体的属性或属性集称为键。如学生的学号可以作为学生实体的键,但学生的姓名有可能有重名,因此不能作为学生实体的键。(4)域属性的取值范围称为该属性的域。如学号的域为10位整数,姓名的域为字符串集合,性别的域为男和女。(5)实体型若干个属性型组成的集合是一实体型,如学生(学号,姓名,年龄,性别,系)就是一个实体型。(6)实体集同型实体的集合称为实体集。如所有的学生、所有的课程等。(7)联系现实世界中事物内部以及事物之间是有联系的,在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系,而实体之间的联系通常是指不同实体集之间的联系。2、两个实体间联系的类型

(1)一对一联系(1:1)实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然,则称实体集A与实体集B为一对一的联系,记作1:1。如一个班级只有一个班长,一个班长只能管理一个班级。(2)一对多联系(1:n)如果对于实体集A中的每一个实体,实体集B中有多个实体与之对应,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应,则称实体集A与实体B有一对多联系,记为1:n。如学校的一个系有多名教师,而一个教师只属于一个系。(3)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有多个实体与之对应,反之,对于实体集B中的每一个实体,实体集A中也有多个实体与之对应,则称实体集A与实体B具有多对多联系,记为m:n。如一个学生可以选修多门课程,一门课程可以被多名学生选修。3、实体-联系(Entity-Relationship)方法实体-联系方法是最广泛使用的概念模型设计方法,该方法用E-R图来描述现实世界的概念模型。E-R图提供了表示实体型、属性和联系的方法:

(1)实体型:用矩形表示,矩形框内写明实体名。(2)属性:用椭圆形表示,并用连线将其与相应的实体连接起来。(3)联系:用菱形表示,菱形框内写明联系名,并用连线分别与有关实体连接起来,同时在连线旁标上联系的类型(1:1、1:n或m:n)。

编号姓名性别学历职称教师课程m教师讲授n教师1系部聘任n1.4.3实施模型概念模型是“概念”上的,而实施模型是按计算机系统的观点对数据建模,与具体的数据库管理系统有关,侧重于数据和联系的表示或存储方法。实施模型主要包括层次模型、网状模型、关系模型,这三种数据模型的区别在于数据结构不同,即实体之间联系的表示方式不同。

层次模型用“树结构”来表示实体之间的联系;网状模型是用“图结构”来表示实体之间的联系;关系模型是用“二维表”来表示实体之间的联系。关系模型建立在严格的数学概念基础上,结构简单、清晰,因此是数据模型的主流。1.5关系数据库1.5.1关系模型和基本术语

1、关系模型关系模型的数据结构是一个“二维表框架”组成的集合,每个二维表又可称为关系,由行和列组成。

2、关系术语(1)关系

一个关系就是一张二维表。(2)元组表中第二行开始的每一行称为“元组”,即通常所说的“记录”,是构成关系的一个个实体。所以说,“关系”是“元组”的集合,“元组”是属性值的集合,一个关系模型中的数据就是这样逐行逐列组织起来的。

(3)属性二维表中的一列即为一个属性,又称为字段,第一行列出的是属性名(字段名)。

(4)域属性的取值范围。

(5)分量元组中的一个属性值。关系模型要求关系必须是规范化的,最基本的条件就是,关系的每一个分量必须是一个不可分的数据项,即不允许表中还有表。(6)关系模式对关系的描述,一般表示为:关系名(属性1,属性2,…,属性n)(7)关系数据库对应于一个关系模型的所有关系的集合称为关系数据库。(8)候选关键字关系中的某个属性组(一个或几个属性的集合),它可以唯一标识一个元组,这个属性组称为候选关键字。(9)主关键字一个关系中有多个侯选关键字,可以选择其中一个作为主关键字,也称为主码或主键。(10)外部关键字如果一个属性组不是所在关系的关键字,但是是其他关系的关键字,则该属性组称为外部关键字,也称为外码或外键。(11)主属性包含在任一候选关键字中的属性称为主属性。1.5.2关系的数学定义

1、域域是一组具有相同数据类型的值的集合。例如教师职称的集合{助教,讲师,副教授,教授}就是一个域。2、笛卡儿积D1,D2,…,Dn为一组域,那么D1,D2,…,Dn的笛卡儿积为:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di

,i=1,2,…,n}

其中每一个元素(d1,d2,…,dn)叫做一个n元组或简称元组,元组中的每一个值di叫做一个分量。例如设:

D1={张三,李四,王五,赵六}D2={讲师,教授}则D1×D2={(张三,讲师),(张三,教授),(李四,讲师),(李四,教授),(王五,讲师),(王五,教授),(赵六,讲师),(赵六,教授)}

笛卡儿积实际上就是一张二维表。3、关系定义笛卡儿积D1×D2×…×Dn的任何一个子集称为D1,D2,…,Dn上的一个n元关系。关系是笛卡儿积的有限子集,所以关系也是一个二维表。4、关系的性质

关系是一个二维表,但并不是所有的二维表都是关系。关系应具有以下性质:(1)每一列中的分量是同一类型的数据,来自同一个域。(2)不同的列要给予不同的属性名。(3)列的顺序无所谓,即列的次序可以任意交换。(4)任意两个元组不能完全相同。(5)行的顺序无所谓,即行的次序可以任意交换。(6)每一个分量都必须是不可分的数据项。教师编号姓名性别工作时间01张乐男1969-11-1010赵希明女1983-1-2511李小平男1963-5-1912王新女1967-12-31.5.3关系模型的完整性约束

关系模型的完整性约束包括实体完整性、参照完整性和用户定义完整性。其中实体完整性和参照完整性统称为关系完整性规则,是对关系主键和外键的约束条件。1、实体完整性实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值。例如有学生关系:学生(学号,姓名,性别,班级)其中学号是主关键字,因此不能为空值,不能有重复值。再例如有学生选课关系:学生选课(学号,课程编号,学年,学期,成绩)其中学号和课程编号共同构成主关键字,因此学号和课程编号都不能为空值,而且学号和课程编号这个整体不能有重复值。教师编号姓名性别工作时间01张乐男1969-11-1010赵希明女1983-1-2511李小平男1963-5-1912王新女1967-12-32、参照完整性参照完整性规则:若属性(或属性组)F是基本关系R的外键,它与关系S的主关键字K相对应,则对于关系R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主关键字的值。

例如:学院代码是学院表的主键、系部表的外键。系部表中的学院代码必须是学院表中一个存在的值,或者是空值。3、用户定义的完整性实体完整性和参照完整性是关系数据模型必须要满足的,而用户定义的完整性是与应用密切相关的数据完整性的约束,不是关系数据模型本身所要求的。它的作用就是要保证数据库中数据的正确性,例如限定属性的取值范围,学生成绩的取值必须在0~100,学院代码的取值必须在00~99。1.6关系代数关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询要求的。关系代数的运算对象是关系,运算结果也是关系。关系代数的运算可以分为两大类:传统的集合运算和专门的关系运算。1.6.1传统的集合运算

设R和S均是n元关系(元数相同),且两个关系属性的性质相同。下面以教师A(如表1-5)和教师B(如表1-6)两个关系为例,来说明传统的集合运算:并运算、交运算和差运算。教师编号姓名性别工作时间01张乐男1969-11-1010赵希明女1983-1-2511李小平男1963-5-19教师编号姓名性别工作时间11李小平男1963-5-1930沈核男1957-10-1931李龙吟男1990-5-261、并运算两个关系的并运算可以记作R∪S,运算结果是将两个关系的所有元组组成一个新的关系,若有完全相同的元组,只留下一个。教师编号姓名性别工作时间01张乐男1969-11-1010赵希明女1983-1-2511李小平男1963-5-1930沈核男1957-10-1931李龙吟男1990-5-262、交运算两个关系的交运算可以记作R∩S,运算结果是两个关系中公共元组组成一个新的关系。

教师编号姓名性别工作时间11李小平男1963-5-193、差运算两个关系的差运算可以记作R-S,运算结果是由属于R,但不属于S的元组组成一个新的关系。教师编号姓名性别工作时间01张乐男1969-11-1010赵希明女1983-1-254、集合的广义笛卡儿积运算设R和S是两个关系,如果R是m元关系,有i个元组,S是n元关系,有j个元组,则笛卡儿积R×S是一个m+n元关系,有i×j个元组。学号姓名0302010115张智军0302010129梁宵课程名称学时高级语言程序设计68高等数学68学号姓名课程名称学时0302010115张智军高级语言程序设计680302010115张智军高等数学680302010129梁宵高级语言程序设计680302010129梁宵高等数学681.6.2专门的关系运算

在关系代数中,有4种专门的关系运算:选择、投影、连接和除运算。1、选择运算从指定的关系中选择出满足指定条件的元组组成一个新关系,通常选择运算符记作:

σ<条件表达式>(R),其中,σ是选择运算符,R是关系名。例如选出性别为“男”的教师名单,可以记成:σ性别=[男](教师A)2、投影运算从指定关

温馨提示

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

评论

0/150

提交评论