理论教材 《数据库系统概论》王珊 萨师煊年第4版 高等教育_第1页
理论教材 《数据库系统概论》王珊 萨师煊年第4版 高等教育_第2页
理论教材 《数据库系统概论》王珊 萨师煊年第4版 高等教育_第3页
理论教材 《数据库系统概论》王珊 萨师煊年第4版 高等教育_第4页
理论教材 《数据库系统概论》王珊 萨师煊年第4版 高等教育_第5页
已阅读5页,还剩176页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库原理与应用 理论教材: 数据库系统概论 王珊 萨师煊 2006 年第4版 高等教育出版社课程概述主讲:刘莉1课程名称:数据库原理课 时:64+4实 习:16主讲教师:刘莉联系信息1:E-mail:联系信息2:E-mail: 2参考书目1.数据库系统原理 王能斌 电子工业出版社2002.8 第一版 2. 王珊,陈红. 数据库系统原理教程. 北京:清华大学出版社,19993岂有不识数据库之4学习方式听课 (启发式、讨论式)读书(预习、复习)报告(综合练习)5考试成绩平时成绩 (书面作业、综合练习、大作业30%)期末考试(70%)6内容安排(1)基础篇第一章:绪论第二章:关系数据库第三章:关系

2、数据库标准语言SQL第四章:数据库的安全性第五章:数据库的完整性设计与应用开发篇第六章:关系数据库理论7内容安排(2)第七章:数据库设计第八章:数据库编程(新增)系统篇第九章:关系查询处理和优化第十章:数据库恢复技术第十一章:并发控制8第1章 绪论:内容、提纲本章是后续各章的导引1.1 数据库系统概述基本概念;数据管理技术的发展;DBS的特点1.2 数据模型概念模型及E-R方法;三种常用的结构数据模型1.3 数据库系统结构模式结构(三级模式二级映象)1.4 数据库系统的组成DBS组成:硬件、软件(DBMS)、DB、人员1.5 小结9一 、数据与信息在数据处理中,我们最常用到的基本概念就是数据和

3、信息,信息与数据有着不同的含义。 信息(Information) 信息的定义信息是关于现实世界事物的存在方式或运动状态的反映的综合,具体说是一种被加工为特定形式的数据,但这种数据形式对接收者来说是有意义的,而且对当前和将来的决策具有明显的或实际的价值。 如“2000年硕士研究生将扩招30%”,对接受者有意义,使接受者据此作出决策。1.1.1 数据、数据库、数据库管理系统、数据库系统10 信息是维持生产活动、经济活动和社会活动必不可少的资源。计算机信息系统:用计算机对数据进行处理的应用系统。它是一个“由人、计算机等组成的能进行信息的收集、传递、存储、加工、维护、分析、计划、控制、决策和使用的系统

4、”。信息系统的核心是数据库。11数据数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录称为数据数据的种类数字、文字、图形、图象、声音、学生的档案记录、货物的运输情况、数据的特点数据与其语法、语义是不可分的数据的形式本身并不能完全表达其内容,需要经过语义解释。数据与其语义是不可分的。12数据举例学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)数据的形式不能完全表达其内容数据的解释语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系语法:数据中字段的属性称为语法,例如姓名是4个汉字字符,性

5、别是1个汉字字符等。 13数据:数据语义、信息信息: 数据的含义信息与数据的联系数据是信息的符号表示,或称载体信息是数据的内涵,是数据的语义解释数据是符号化的信息信息是语义化的数据如:500,什么意思?今年高考理科分数线为:500又如米?张红身高米。 再如,一幅黑白图象数据黑白点阵信息脸谱数据要符合其语义,数据与其语义是不可分的数据类型及其语义由设计者确定,交计算机处理,系统要保证数据库中的数据符合其语义。14可用多种不同的数据形式表示同一信息,而信息不随数据形式的不同而改变。如“2000年硕士研究生将扩招30%”,其中的数据可改为汉字形式“两千年”、“百分之三十”。上述所指的符号可以是数字、

6、文字、图形、图像、语音等,它们都是经过数字化后存入计算机中的。所以,信息和数据的关系可表示为:信息数据数据处理15二、数据库(举例)16二、数据库(续)人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息存放数据的仓库存放在计算机外存储器上按一定的格式(文件的形式)组织和存放具备一定特点、满足一定要求、统一由DBMS管理的数据集合数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合17二、数据库(续)数据库的特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展由DBM

7、S统一管理和控制18三、数据库管理系统什么是DBMS数据库管理系统(DataBase Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。DBMS的用途用于描述、管理和维护DB的一个程序系统对数据库进行统一管理和控制为用户和应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制是DBS的核心组成部分, 完成“科学地组织和存储数据,高效地获取和处理数据”的任务19DBMS的主要功能:数据定义1. 数据定义功能(描述数据库)提供数据定义语言DDL(Data Definition Language)及其翻译程序供用户定义数据库中的各种数据对象描

8、述DB的逻辑结构、存储结构、语义信息、保密要求模式翻译程序把源模式翻译成目标模式,存入数据字典中源模式模式翻译程序数据字典目标模式20DBMS的主要功能:数据定义例:学生档案数据定义 (学号 姓名 性别 年龄 籍贯 所属系别)C(7) C(8) C(2) N(2,0) C(10) C(20) (9901001 李明 男 苏州 计算机系)如学号: 7位数字,字符类型,各位含义,代表一个学生,不能重复,不能为NULL(空值)例:SQL数据定义语句:Create table 学生(学号 C(7) not null unique , 姓名 C(8), 性别 C(2), 年龄 N(2,0), 籍贯 C(

9、10), 所属系别 C(20)21DBMS的主要功能:数据操纵2. 数据操纵功能(操纵数据库)提供数据操纵语言DML(Data Manipulation Language)及其翻译程序供用户实现对数据库的基本操作: 检索查询、插入、修改、删除DML类型宿主型(嵌入式): DML不独立使用,须嵌入到高级语言(宿主语言)程序中使用自含型: 可独立使用,交互式命令方式, 解释执行例: SQL数据查询语句:Select * from 学生 Where 系别=“计科系” and left(学号,2)=“99”22DBMS的主要功能:运行管理3. 数据库的运行管理(管理数据库)数据库在建立、运行和维护时由

10、DBMS统一管理, 统一控制并发控制、存取控制、安全控制、完整性约束条件检查和执行,事务管理和发生故障后的系统恢复数据组织、存储和管理用户数据、索引、数据字典的组织、存储和管理,包括文件结构、存取方式、数据之间联系的实现等DBMS运行时的核心部分DBMS的功能随系统而异, 系统功能强弱主要体现在这部分一般, DBMS提供定义语句,用户进行设置,程序运行时由DBMS进行检查和控制23DBMS的主要功能:建立和维护4. 数据库的建立和维护功能(维护数据库)数据库初始数据的装入、转换、卸出,数据库的转储、恢复、性能监视和分析,数据库的重组织记录工作日志,维护系统表(即数据字典 DD Data Dic

11、tionary)24DBMS的层次结构操作系统数据存储层数据存取层语言翻译处理层数据库应用层数据文件,数据字典,索引,统计数据缓冲区,提供数据页操作DDL,DML,查询计算引擎,提供关系、视图接口事务,日志,封锁,存取路径,提供单元组接口执行物理文件的读写操作25四、数据库系统(DataBase System,DBS)数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。用户应用系统数据库用户用户操作系统DBMS应用开发工具数据库管理员管理维护26数据库在计算机系统中的地位, 即数据库系统软硬件层次结构, 参见P5 图

12、27数据库系统的软硬件层次结构硬件操作系统DBMS,编译系统应用开发工具软件应用系统PB,VB,VCDELPHIOracle,Db2,Sybase,SQL Server,Informix图1.2 DBS在计算机系统中的地位281.1.2 数据管理技术的产生和发展一些概念数据处理,数据管理数据的逻辑结构,数据的物理结构数据的逻辑独立性,数据的物理独立性计算机数据管理技术发展的三个阶段及特点人工管理阶段文件系统阶段数据库系统阶段29数据管理技术概念数据处理对各种数据进行收集、存储、加工和传播的一系列活动的总和数据管理对数据进行分类、组织、编码、存储、检索和维护数据管理是数据处理的中心问题数据库技术

13、是数据管理的最新技术,应数据管理任务的需要而产生30数据管理技术概念数据结构 逻辑结构数据在使用者面前所呈现的组织方式及逻辑关系表、树、图、数组物理结构数据在计算机内的存储方式, 存储结构, 存取方法顺序方式、链接方式如:课程号课程名学分先修课1001数据结构410031002数据库310011003PASCAL431数据管理技术概念数据独立性当数据的结构发生变化时,通过系统提供的映象(转换)功能,使应用程序不必改变数据的物理独立性当数据的存储结构改变时,应用程序不必改变数据的逻辑独立性当数据的逻辑结构改变时,应用程序不必改变32人工管理阶段(50年代中期以前)文件系统阶段(50年代后期-60

14、年代中期)数据库系统阶段(60年代后期开始)。数据管理技术发展的三个阶段3334一、人工管理阶段(50年代中期以前)这一阶段计算机主要用于科学计算。硬件中的外存只有卡片、纸带、磁带,没有磁盘等直接存取设备。软件只有汇编语言,没有操作系统和管理数据的软件。数据处理的方式基本上是批处理35人工管理阶段的特点如下:1. 数据不保存因为当时计算机主要用于科学计算,对于数据保存的需求尚不迫切。2. 系统没有专用的软件对数据进行管理每个应用程序都要包括数据的存储结构、存取方法、输入方式等,程序员编写应用程序时,还要安排数据的物理存储,因此程序员负担很重。3. 数据不共享数据是面向程序的,一组数据只能对应一

15、个程序。多个应用程序涉及某些相同的数据时,也必须各自定义,因此程序之间有大量的冗余数据。364. 数据不具有独立性程序依赖于数据,如果数据的类型、格式、或输入输出方式等逻辑结构或物理结构发生变化,必须对应用程序做出相应的修改。在人工管理阶段,程序与数据之间的关系可用图表示。 图1.1 人工管理阶段访问访问访问数据1数据2数据n程序1程序2程序n37二、 文件系统阶段(50年代后期至60年代中期)这一阶段,计算机不仅用于科学计算,还大量用于信息管理。大量的数据存储、检索和维护成为紧迫的需求。硬件有了磁盘、磁鼓等直接存储设备。在软件方面,出现了高级语言和操作系统。操作系统中有了专门管理数据的软件,

16、一般称为文件系统。处理方式有批处理,也有联机处理。38文件管理数据的特点如下:1. 数据以文件形式可长期保存下来用户可随时对文件进行查询、修改和增删等处理。2. 文件系统可对数据的存取进行管理程序员只与文件名打交道,不必明确数据的物理存储,大大减轻了程序员的负担。 3. 文件形式多样化有顺序文件、倒排文件、索引文件等,因而对文件的记录可顺序访问,也可随机访问,更便于存储和查找数据。 4. 程序与数据间有一定独立性由专门的软件即文件系统进行数据管理,程序和数据间由软件提供的存取方法进行转换,数据存储发生变化不一定影响程序的运行。39在文件系统阶段,程序与数据之间的关系可用图表示。 图1.2 文件

17、系统阶段 文件系统阶段:程序与数据的对应数据1数据2数据n存取方式程序1程序2程序n40文件系统阶段:缺点1. 数据与程序的独立性差文件系统的出现并没有从根本上改变数据与程序紧密结合的状况,数据的逻辑结构改变则必须修改应用程序-没有逻辑独立性文件系统只是解脱了程序员对物理设备存取的负担,它并不理解数据的语义,只负责存储数据的语义信息只能由程序来解释,也就是说,数据收集以后怎么组织,以及数据取出来之后按什么含义应用,只有全权管理它的程序知道。一个应用若想共享另一个应用生成的数据,必须同另一个应用沟通,了解数据的语义与组织方式41文件系统阶段:缺点2. 数据的共享性差,冗余度大数据面向应用即使不同

18、应用程序所需要的数据有部分相同时,也必须建立各自的文件,而不能共享相同的数据数据孤立数据分散管理,许多文件,许多数据格式,各个文件各自独立,文件与文件之间没有自然联系3. 数据的不一致性由于数据存在很多副本,给数据的修改与维护带来了困难,容易造成数据的不一致性42文件系统阶段:缺点4. 数据查询困难不同数据文件记录之间无自然联系程序员自己编程实现交叉查询对每个查询都重新编码5. 数据完整性难于保证同一数据在不同文件中难于保证其一致43文件系统阶段:学生管理系统例补贴系别姓名学号学管科住址系别性别姓名学号宿管科学位学分系别姓名学号学籍科学位出身年龄系别性别姓名学号学生科比较后例44三、数据库系统

19、阶段(60年代末开始)60年代后期,计算机应用于管理的规模更加庞大,数据量急剧增加;硬件方面出现了大容量磁盘,使计算机联机存取大量数据成为可能;硬件价格下降,而软件价格上升,使开发和维护系统软件的成本增加。文件系统的数据管理方法已无法适应开发应用系统的的需要。为解决多用户、多个应用程序共享数据的需求,出现了统一管理数据的专门软件系统,即数据库管理系统。45数据库系统管理数据的特点如下: 1. 数据共享性高、冗余少数据面向整个系统,而不是面向某一应用,数据集中管理,数据可为多个用户、多个应用程序共享使用,因此冗余度低节省存储空间,减少存取时间,且可避免数据之间的不相容性和不一致性每个应用选用数据

20、库的一个子集,只要重新选取不同子集或者加上一小部分数据,就可以满足新的应用要求,这就是易扩充性用图说明46学号姓名性别系别年龄住址出身学位学分补贴学籍科宿管科学生科学管科数据库系统的特点:例比较前例472. 数据结构化按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。面向全组织的复杂的数据结构-数据结构化数据结构化的思想还是来源于文件系统的进化,把文件记录内部有结构(联系)的思想扩大到文件记录之间,参见P9P10 图1.5, 图1.6, 图学生人事记录学号姓名性别系别年龄政治面貌家庭出身籍贯家庭成员奖惩情况每个记录等长,同格

21、式。会浪费大量的存储空间!48学号姓名性别系别年龄政治面貌家庭出身籍贯记录内部有联系的思想扩大到两个或多个记录之间!家庭成员与本人关系详细情况日期奖惩家庭成员记录奖惩情况记录49数据库系统的特点:数据结构化数据结构化,要求:从全组织整体出发看待各个应用系统的数据,综合考虑各种应用要求,进行平衡,以尽量减少数据冗余等原则来设计数据结构。在描述数据时,不仅要描述数据本身,还要描述数据之间的联系。不仅数据是结构化的,而且存取方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。而在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。503. 数据独立性高数据的独立性是指

22、逻辑独立性和物理独立性。数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。514.数据由DBMS统一管理和控制 数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数

23、据库中的数据,甚至可以同时存取数据库中的同一个数据,为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供下述四方面的数据控制功能。(1)数据的安全性(security)控制:防止不合法使用数据造成数据的泄露和破坏,保证数据的安全和机密;例如,系统提供口令检查或其他手段来验证用户身份,防止非法用户使用系统;也可以对数据的存取权限进行限制,只有通过检查后才能执行相应的操作。(2)数据的完整性(integrity)控制:系统通过设置一些完整性规则以确保数据的正确性、有效性和相容性。52正确性是指数据的合法性,如年龄属于数值型数据,只能含0,1,9,不能含字母或特殊符号;有效性是指数据

24、是否在其定义的有效范围,如月份只能用112之间的正整数表示;相容性是指表示同一事实的两个数据应相同,否则就不相容,如一个人不能有两个性别。(3)并发(concurrency)控制:多用户同时存取或修改数据库时,防止相互干扰而提供给用户不正确的数据,并使数据库受到破坏。53(4)数据恢复(recovery):当数据库被破坏或数据不可靠时,系统有能力将数据库从错误状态恢复到最近某一时刻的正确状态。数据库系统阶段,程序与数据之间的关系可用图表示。 图1.3 数据库系统阶段数据1统一存取数据2数据n程序2程序1程序n54示例: 数据设有如下信息数据: S(SNO, SNAME, STATUS, CIT

25、Y)P(PNO, PNAME, COLOR, WEIGHT, CITY)J(JNO, JNAME,CITY)SPJ(SNO, PNO, JNO, QTY)S表示供应商,它的各属性依次为供应商号,供应商名,供应商状态值,供应商所在城市;P表示零件,它的各属性依次为零件号,零件名,零件颜色,零件重量,零件存放的城市;J表示工程,它的各属性依次为工程号,工程名,工程所在城市;SPJ表示供货关系,它的各属性依次为供应商号,零件号,工程号,供货数量。供应商项目零件供应55示例: 要求查询“北京的所有工程”“供应红色零件给北京的工程的供应商号”维护“不允许供应不存在的零件”56示例: 组织基于文件系统文件

26、系统如何来组织?分别组织几个文件,存储各类对象的记录系统不支持文件间的联系,由应用程序负责查询表达及数据的维护57示例:组织基于数据库系统数据库系统(关系)数据统一按表结构存放,设为S,P,J,SPJ查询:只需提查询要求,由系统完成查询过程 如:查询“供应红色零件给北京的工程的供应商号”SELECT SNOFROM P, J, SPJ AND J.CITY = “北京” AND P.COLOR = “红色” 维护:用户提出定义完整性约束条件,系统自动检查 如:要求“不允许供应不存在的零件”CREATE TABLE SPJ(, FOREIGN KEY (PNO) REFERENCES P(PNO

27、), )58从文件系统管理发展到数据库系统管理是信息处理领域的一个重大变化。在文件系统阶段,人们关注的是系统功能的设计,因此程序设计处于主导地位,数据服从于程序设计;而在数据库系统阶段,数据的结构设计成为信息系统首先关心的问题。数据库技术经历了以上三个阶段的发展,已有了比较成熟的数据库技术,但随着计算机软硬件的发展,数据库技术仍需不断向前发展。 591.2 数据模型1.2.1 两大类数据模型 1.2.2 数据模型的组成要素 1.2.3 概念模型 1.2.4 最常用的数据模型 1.2.5 层次模型 1.2.6 网状模型 1.2.7 关系模型60数据描述的三个领域现实世界:存在于人们头脑以外的客观

28、世界信息世界:现实世界在人们头脑中的反映机器世界:信息世界的信息在机器世界中以数据形式存储信息世界:数据库系统是面向计算机的,而应用是面向现实世界的,两个世界存在着很大差异,要直接将现实世界中的语义映射到计算机世界是十分困难的,因此引入一个信息世界作为现实世界通向计算机世界的桥梁一方面,信息世界是对现实世界的抽象,从纷繁的现实世界中抽取出能反映现实本质的概念和基本关系;另一方面,信息世界中的概念和关系,要以一定的方式映射到计算机世界中去,在计算机系统上最终实现。信息世界起到了承上启下的作用数据抽象61数据抽象现实世界信息世界计算机世界概念化形式化用户计算机62数据抽象、数据描述现实世界(事物及

29、其联系)信息世界(实体及其联系)计算机世界(数据及其联系)概念化形式化用户计算机认识抽象转换数据描述有两种形式(形成两种数据模型):逻辑描述-形成概念数据模型物理描述-形成结构数据模型(逻辑模型和物理模型)63数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现64 1.2.1 两大类数据模型数据模型分为两类(分属两个不同的层次)(1) 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。 (2) 逻辑模型和物理模型 逻辑模型主要

30、包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。65两大类数据模型 (续)客观对象的抽象过程-两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。66两大类数据模型 (续)DBMS支持的数据模型概念模型认识抽象信息世界机器世界现实世界中客观对象的抽象过程现实世界现实世界 概念模型数据库设计人员完成逻辑模型 物理模型由DBMS完成概念模型 逻辑模型数据库设计人员完成67概念数据模型示例E-R模型学生课程选修

31、姓名学号系别课程名先修课主讲老师成绩实体联系属性mn681.2.2 数据模型的组成要素数据模型是严格定义的概念的集合,这些概念精确地描述系统的:一、静态特性 - 数据结构(数据及其联系)二、动态特性 - 数据操作(检索查询,更新存储)三、完整性约束条件 - 数据的约束条件(数据应满足的语义要求) -称数据模型组成的三要素69数据模型的组成要素:数据结构一、数据结构描述系统的静态特性,即组成数据库的对象类型的集合两大类对象:数据本身:数据类型、内容、性质如:网状模型中的数据项、记录;关系模型中的域、属性,关系等数据之间的联系例如网状模型中的系型,关系模型中的外码在数据库系统中一般按数据结构的类型

32、来命名数据模型70数据模型的组成要素: 操作、约束二、数据操作描述系统的动态特性,即对数据库中对象的实例允许执行的操作的集合,包括操作及操作规则一般有检索、更新(插入、删除、修改)操作数据模型要定义操作含义、操作符号、操作规则,以及实现操作的语言三、数据的约束条件数据的约束条件是完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确、有效、相容711.2.3 概念模型一、信息世界中的基本概念实体(Entity)属性(Attribute)码(Key)域(Domain)实体型(Entity Type)实体集(Entity Set)实体型之间的联系(Relationship)1:

33、1 , 1:n , m:n二、概念模型的表示方法实体-联系方法(E-R方法)72信息世界的基本概念:实体, 属性1. 实体(Entity)客观存在并可相互区分的事物叫实体可以是具体的人、事、物。如学生张三、工人李四、计算机系、借书可以是抽象的概念,如 “大学生”可以是事物之间的联系,如 “一次借书”实体型:抽象的实体,如 “大学生”实体值:具体的实体,如 “大学生张林”2.属性(Attribute)实体所具有的某一特性一个实体可以由若干个属性来刻画例如,学生实体可由学号、姓名、年龄、系别等属性组成属性(名,变量):刻画实体型的属性,抽象属性属性值:刻画实体值的属性,具体属性73信息世界的基本概

34、念:码, 域4.码(Key)、关键字、实体标识符能唯一标识实体的一个属性(或属性组)称作码实体是可区别的,用什么来区分?- 码一个实体集中任意两个实体在码上的取值不能相同如:学号是学生实体的码通讯录(姓名, ,地址, ,Email,BP)中,姓名可以作码3.域(Domain)属性的取值范围例如,性别的域为(男、女),月份的域为到的整数74信息世界的基本概念:实体型, 实体集5.实体型(Entity Type)具有相同属性的实体必然具有共同的特征和性质用实体名与其属性名集合共同构成实体型例,学生(学号、姓名、年龄、性别、系、年级)注意实体型与实体(值)之间的区别,后者是前者的一个特例如(9808

35、100,王平,21,男,计算机系,2)是一个实体6.实体集(Entity Set)同型实体的集合称为实体集如全体学生75信息世界的基本概念:例例:学生(学号 姓名 性别 年龄 系别) 9908001 王平 男 21 计算机系 9908002 李林 男 20 计算机系 9901100 马燕 女 20 中文系 : :实体型实体值属性属性值实体集 “性别”属性的域是“男”,“女” 76信息世界的基本概念:实体的联系7.实体的联系(Relationship):有两类:一类是实体内部(属性之间)的联系(第5章讨论)一类是实体集内部(实体和实体之间)的联系(本章讨论)例:学生的“学号”与“姓名”; 学生与

36、课程下面讨论实体间的联系,先介绍两个概念:元或度(Degree)映射的基数(Mapping Cardinalities)77实体间的联系:元或度元或度参与联系的实体集的个数称为联系的元(或度)如学生选修课程是二元联系,供应商向工程供应零件则是三元联系,双职工是一元联系元或度有几种(多少个实体集参与联系):同一实体集中的实体之间的联系-一元联系两个实体集中的实体之间的联系-二元联系三个实体集中的实体之间的联系-三元联系多个实体集中的实体之间的联系-多元联系78实体间的联系:映射的基数映射的基数实体之间的联系的数量即: 一个实体集的一个实体与另一个实体集的多少个实体相联系映射的基数(称实体间联系)

37、有三种情况:一对一(1:1)一对多(1:n)多对多(m:n)79二元联系映射的基数: 1:1两个实体集之间的联系:1:1;1:n;m:n设有两个实体集E1, E2 ,一对一 E1中的一个实体与E2中至多一个实体相联系,并且 E2中的一个实体与E1中至多一个实体相联系如“职工”与“部门”之间的“管理”联系(假定每个部门只有一个经理,一个职工不能兼任两个部门经理注意:一对一不是一一对应 “至多”的意思,可能一个都不联系职工部门管理1180二元联系映射的基数: 1:n一对多 E1中的一个实体与E2中n(n0)个实体相联系,并且 E2中的一个实体与E1中至多一个实体相联系如“教师”和“学生”之间的“班

38、主任”联系注意:n 0 “至多”的意思,可能一个都不联系教师学生班主任1n81三个实体集间联系的情况:1:1;1:n;m:n一对一多对多如“供应商”,“项目”,“零件”之间的“供应”联系问题:“供应商”,“项目”,“零件”三者之间两两有多对多联系,E-R图怎么画?三元联系映射的基数项目零件供应供应商mnp82E-R方法(模型) - 实体-联系方法用图形表示概念模型(E-R图)是美籍华人陈平山(P.P.S.Cen)于1976年提出来的本节仅介绍E-R图的要点。有关如何认识和分析现实世界,从中抽取实体和实体之间的联系,建立概念模型的方法,将在CH.6 数据库设计中介绍。概念模型的表示方法:E-R图

39、83E-R图实体型用矩形表示,矩形框内写明实体名。学生教师84E-R图(续)属性用椭圆形表示,并用无向边将其与相应的实体连接起来学生学号年龄性别姓名85E-R图(续)联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来 86-图:要点例:学生选修课程学生课程选修姓名学号系别课程名先修课学分成绩用矩形表示实体集,在框内写上实体名用椭圆表示实体的属性用无向边把实体与其属性连接起来用菱形表示实体间的联系将参与

40、联系的实体用线段连接mn联系的数量联系的属性87-图:要点码在E-R图中的表示实体集属性中作为码的一部分的属性用下划线来标明。学生课程选修姓名学号系别课程名先修课学分mn88-图:示例参见P19 例用E-R图表示某个工厂物资管理的概念模型物资管理涉及的实体及属性有:仓库 属性有仓库号、面积、 号码零件 属性有零件号、名称、规格、单价、描述供应商 属性有供应商号、姓名、地址、 号码、账号项目 属性有项目号、预算、开工日期职工 属性有职工号、姓名、年龄、职称89-图:示例用E-R图表示某个工厂物资管理的概念模型物资管理实体之间的联系有:仓库和零件具有多对多联系“库存”,该联系有属性“库存量”仓库和

41、职工具有一对多联系“工作”职工内部具有领导和被领导的一对多联系“领导”供应商、项目和零件三者具有多对多联系“供应”,该联系有属性“供应量” 某个工厂物资管理的E-R图:P1920 图901.2.4 最常用的数据模型数据模型按其数据结构的类型来命名目前,数据库领域最常用的四种数据模型:层次模型(Hierarchical Model)网状模型(Network Model)关系模型(Relational Model) - 本书主要介绍面向对象模型(Object Oriented Model) -CH13 中介绍非关系模型本节简要介绍91 1.2.5.层次模型1. 层次数据模型的数据结构 2. 层次数

42、据模型的数据操纵3. 层次数据模型的与完整性约束 4. 层次数据模型的存储结构 5. 层次数据模型的优缺点 6. 典型的层次数据库系统921. 层次数据模型的数据结构层次模型 满足下面两个条件的基本层次联系的集合为层次模型。1. 有且只有一个结点没有双亲结点,这个结点称为根结点2. 根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点93层次数据模型的数据结构(续) 1 根结点 2 兄弟结点 3 叶结点 4 兄弟结点 5 叶结点 叶结点94层次数据模型的数据结构(续)表示方法实体型:用记录类型描述。 每个结点表示一个记录类型。属性:用字段描述。每个记录类型

43、可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的 一对多的联系实例:教员-学生数据模型(P23)95层次模型: 示例地址系名系号教研室名教研室号年级姓名学号职称姓名职工号系教研室学生教员1 : N联系实体型层次模型:型树参见P23 图1.18 96层次模型: 示例R1101计算机D02数据库R01G1王明S001教授何璧E110G2郑直S002G3周密S019网络R02人工智能R03讲师刘新E372教授王恩E123助教付弈E372值树:参见P22 图 返回97层次数据模型的数据结构(续)特点结点的双亲是唯一的只能直接处理一对多的实体联系每个记录类型定义一个排序字段,也称为码字段任

44、何记录值只有按其路径查看时,才能显出它的全部意义没有一个子女记录值能够脱离双亲记录值而独立存在98层次数据模型的数据结构(续)多对多联系在层次模型中的表示用层次模型间接表示多对多联系方法将多对多联系分解成一对多联系分解方法冗余结点法虚拟结点法99层次模型: 冗余结点法表示m:n联系学生和课程是m:n联系S-CS姓名学号成绩课程号学号S-C成绩课程号学号C课程名课程号n课程Cm学生S课程名课程号姓名学号S-C成绩S-C是连接记录, 冗余结点100层次模型: 虚拟结点法表示m:n联系学生和课程是m:n联系n课程Cm学生S课程名课程号姓名学号S-C成绩S姓名学号C课程名课程号虚拟S-C 结点一些指针

45、S-C成绩课程号学号虚拟结点101层次模型:数据操纵与完整性二、层次模型的数据操纵与完整性约束层次模型的数据操纵查询、插入、删除、修改查询时,从根结点开始,一层层按事先设定好的路径查询进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除进行修改操作时,应修改所有相应记录,以保证数据的一致性层次模型的一个基本特点是:任何一个给定的记录值只有按其路径查看时,才能显出它的全部意义,没有一个子女记录值能够脱离双亲记录值而独立存在。参见102层次数据模型:存储结构三、层次数据模型的存储结构层次数据库中,不仅要存储数据本身(记录结点

46、对应的数据),还要存储数据之间的层次联系特点:数据的存储和数据之间联系的存储结合在一起实现方法邻接法: 按照层次树前序穿越的顺序把所有记录值依次邻接存放链接法: 用指引元反映数据之间的层次联系子女-兄弟链接法层次序列链接法(前序穿越的顺序)103层次模型-邻接法存储A1B1C3C5C7C14B4C2C9B6C4C6C8A2.ABC型树:A1B1B4B6C3C5C7C14C2C9C4C6C8A2值树:邻接存储:104层次模型-链接法存储ABC型树:A1B1B4B6C3C5C7C14C2C9C4C6C8A2值树:子女-兄弟链接存储,参见P26 图(a), 每个记录两个指引元, 一个指向最大的子女,

47、 一个指向最近的兄弟层次序列链接存储,参见P26 图(b), 每个记录只一个指引元, 指向前序穿越顺序(称层次序列)的下一个105层次模型的优缺点优点层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多查询子女结点必须通过双亲结点层次命令趋于程序化106典型的层次数据库系统IMS数据库管理系统第一个大型商用DBMS1968年推出IBM公司研制107网状模型:数据结构一、网状数据模型的数据结构是一个满足下面两个条件的基本层次联系的集合允许有一个以上的结点无双亲结点一

48、个结点可以有多于一个的双亲结点结点代表实体型有向边(从箭尾到箭头)表示两实体型间的一对多联系(包括1:1) 有向边在DBTG报告中称为“系”,箭尾记录称首记录, 箭头记录称属记录, “系”由一个首记录带上若干个属记录组成系要命名108 网状模型:简例网状模型简例1. 参见P28 图2. 下图:四个结点(记录型,实体型)四个一对多联系(基本层次联系,系)科室医生病房病人实体型1 : N联系领导管理医治住院109 网状模型:说明网状模型与层次模型:层次是网状的特例网状模型允许两个结点之间有多种联系-复合链,层次模型不能(参见P28 图(b)如工人使用、维护设备层次模型中,子女到双亲的联系是唯一的,

49、联系可以不命名,而网状模型子女到双亲的联系不唯一,要为每一个联系(DBTG系)命名,并指明首记录和属记录(参见P28 图)网状模型不能直接表达实体型之间的m:n联系,要引入连接记录,先将m:n联系转换为1:n联系,再转为基本层次联系110网状模型:示例(参见P28,29图1.25, 1.26)学生课程选课型:AC1S1AC2S1BC1S2A-C2S2CC1S3S1S2S3C1C2值:3个学生,2门课程,5个选课记录;实线表示S-SC系的系值,虚线表示C-SC系的系值年级姓名学号学分课程名课程号成绩课程号学号S-SCC-SC学生课程选课返回111网状模型:操纵与完整性二、网状数据模型的数据操纵与

50、完整性约束数据操纵:查询、插入、删除、修改完整性约束支持记录码的概念, 码即唯一标识记录的数据项的集合 例如:学生记录的码“学号”保证一个联系中双亲记录与子女记录之间是一对多联系支持双亲记录与子女记录之间某些约束条件 例如:要求双亲记录存在时才能插入子女记录 双亲记录删除时也连同删除子女记录112网状模型:存储结构三、网状数据模型的存储结构关键是实现记录及记录之间联系的存储常用链接法单向链接双向链接环状链接向首链接例:参见P29 图,学生/选课/课程的网状DB实例(单向环状链)113.网状模型的优缺点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲具有良好的性能,存取效率较高缺点结构比

51、较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。应用程序在访问数据时,必须选择适当的存取路径。不能直接表达实体之间的多对多联系DDL、DML语言复杂,用户不容易使用114 1.2.7 关系模型1. 关系数据模型的数据结构 2. 关系数据模型的操纵3. 关系数据模型的完整性约束 4. 关系数据模型的存储结构 5. 关系数据模型的优缺点6. 典型的关系数据库系统 115关系模型最重要的一种数据模型。也是目前主要采用的数据模型1970年由美国IBM公司San Jose研究室的研究员提出,他开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。他于19

52、81年获得ACM图灵奖。本课程的重点116关系数据模型的数据结构 在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。117关系模型的基本概念关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。118关系模型的基本概念主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级)119关系模型:简例学生关系模式:

53、学生(学号,姓名,年龄,性别,系别)属性元组男女男性别192221年龄D01李红S02D02王伟S03D01张军S01系号姓名学号学生关系主码分量属性值120关系模型实体及联系都用关系表示学生课程选修姓名学号系别课程名先修课主讲老师成绩mn关系模式: 学生(学号,姓名,系别) - 学生实体关系模式: 课程(课程名,先修课,主讲老师) - 课程实体关系模式: 选修(学号,课程名,成绩) - 选修联系121关系数据模型的数据结构(续)关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。1222.关系模型的数据操纵查询、插入、删除、更新数据操作是集合操作

54、,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”1233.关系模型的完整性约束实体完整性参照完整性用户定义的完整性 (具体含义后面介绍)1244.关系数据模型的存储结构表以文件形式存储有的DBMS一个表对应一个操作系统文件有的DBMS自己设计文件结构1255.关系模型的优缺点优点建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。对数据的检索结果也是关系。关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作126关系模型的优缺点(

55、续)缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度1276. 典型的关系数据库系统ORACLESYBASEINFORMIXDB/2COBASEPBASEEasyBaseDM/2OpenBase128四种结构数据模型的比较层次模型网状模型关系模型面向对象模型创始1968年美国IBM公司的IMS系统1969年CODASYL的DBTG报告1970年E.F.Codd提出关系模型20世纪80年代数据结构树结构有向图结构二维表嵌套、递归数据联系指针指针表间公共属性对象标识1291.3 数据库系统结构考察DBS的结构可以有多种不

56、同的层次或角度数据库管理系统内部的系统结构 - 从DBMS的角度看三级模式二级映象的模式结构数据库系统外部的体系结构 - 从DB最终用户的角度看集中式结构(单用户结构、主从式结构)分布式结构 - CH.14 有介绍客户/服务器结构WEB/服务器结构并行结构 - CH.15 有介绍本章介绍数据库系统的模式结构,即数据库管理系统内部的系统结构1301.3.1 数据库系统的模式结构数据库系统模式的概念数据库系统的三级模式结构数据库的二级映象功能与数据独立性小结131数据库系统模式的概念“型” 和“值” 的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如:学生记录

57、记录型: (学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值: (900201,李明,男,计算机,22,江苏)132型与值的区别型是相对稳定的值是随时间不断变化的,反映型在某一时刻的状态DB设计时关注型,DB使用时关注值133数据库系统模式的概念(续)模式(Schema)数据库逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的型的描述要用语言工具 - 模式最终是语句的集合模式的一个实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动模式和模型的区别: 模式只涉及模型的数据结构部分134数据库系统模

58、式的概念示例:从语言成分理解型和实例class personpublic:string name;string address;person TOM; person是型,TOM是变量,TOM在某时刻的值是实例135数据库系统的三级模式结构数据库内模式模 式外模式2外模式3外模式1应用A应用B应用C应用D应用E外模式/模式映象模式/内模式映象参见P34 图1361.3.2 数据库系统的三级模式结构模式的分级为了提高数据的物理独立性和逻辑独立性,使数据库的用户观点,即用户看到的数据库,与数据库的物理数据,即实际存储的数据库区分开来,数据库系统的模式是分级的数据库系统三级模式结构CODASYL(Co

59、nference On Data System Language,美国数据系统语言协商会)在DBTG报告中提出模式、外模式(子模式)、内模式(存储模式)三级模式的概念。三级模式之间有两级映象137数据库系统三级模式:模式一、模式(Schema) 结合P34 图理解所有用户的公共数据视图是数据库中全体数据的全局逻辑结构和特性的描述是DBS模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序和所使用的应用开发语言工具无关是DB数据在逻辑级上的视图一个DB只有一个模式DB模式以某一种数据模型为基础是装配具体数据(实例)的一个框架,不是数据本身138数据库系统三级模式:模式一、模

60、式(Schema) DBMS提供模式DDL来严格地定义模式,定义:数据的逻辑结构数据记录的名字、组成的数据项每个数据项的名字、类型、取值范围、约束条件,等等数据之间的联系定义与数据有关的安全性要求、完整性要求,等(源)模式是模式DDL语句的序列源模式模式翻译程序数据字典目标模式139数据库系统三级模式:外模式二、外模式(Sub-Schema),也称子模式、用户模式(结合P34 图理解)外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长

温馨提示

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

评论

0/150

提交评论