《数据库原理课件第1章.ppt》由会员分享,可在线阅读,更多相关《数据库原理课件第1章.ppt(98页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1数据库原理2教材课时:24(6)教材王珊,陈红.数据库系统原理教程M.北京:清华大学出版社,20103参考书l萨师煊,王珊.数据库系统概论(第四版).高等教育出版社,2006l何玉洁.数据库原理与应用教程.机械工业出版社,2008l王珊,朱青.数据库系统概论学习指导与习题解答.高等教育出版社,2003lDate C J,An Introduction to Database System(Ed.7),Addison-Wesley,2000l A First Course in Database Systems Jeffrey.D.Ullman,Jennifer Widom Dept.Of C
2、omputer Science Stanford University 4第一章 绪论1.1 数据库系统概述数据库系统概述1.2 数据模型1.3 数据库系统结构1.4 数据库系统的组成1.5 数据库工程与应用小结5硬件平台硬件平台基础软件平台基础软件平台软件基础构架平台软件基础构架平台应用软件平台应用软件平台软件产品软件产品协同软件协同软件办公软件办公软件数据库系统数据库系统数据库系统数据库系统操作系统操作系统操作系统操作系统 中间件中间件 应用服务器应用服务器数据库在计算机系统中的位置6数据库的地位数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支。数据库系统与操作系统
3、一样是计算机系统的基础软件(也称为系统软件、平台软件),它的出现极大地促进了计算机技术在向各行各业的应用。数据库技术是信息系统的核心和基础,是信息化建设的基础设施数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志。7数据库技术回顾经历了三代演变 层次/网状系统、关系系统、新一代数据库系统家族造就了三位图灵奖turing award得主 、James Gray发展了一门计算机基础学科(即数据库)以数据模型和DBMS核心技术为主,内容丰富,领域宽广形成了一个巨大的软件产业 DBMS及相关工具产品,应用解决方案8三位图灵奖得主Edgar F.CoddJames Gr
4、ay9Charles.W.Bachman网状数据库之父1960年为通用电气公司制造了世界上第一个网状数据库系统积极推动与促成了数据库标准的制定IDS:DBTG报告在数据库的产生、发展与推广应用方面都发挥了巨大的作用由于他在数据库方面的杰出成就1973年获图灵奖1983年成立自己的公司Bachman Information System10Edgar F.Codd关系数据库之父博士,美国工程院院士原来是英国人,1923生于英格兰中部波特兰 第二次世界大战时应征入伍,在皇家空军服役,1942-1945年担任机长,参与了许多惊心动魄的空战英国牛津大学数学专业理学士及硕士学位,毕业后到IBM公司工作从
5、事操作系统和自动机理论研究年近40重返密歇根大学进修计算机与通信专业,1963年获硕士学位,1965年又获得博士学位60年代后期开始数据库研究,1970年博士提出关系模型概念1981获图灵奖,1984年从IBM公司退休还创办了一个研究所,关系研究所(The Relational Institute)和一个公司,Codd&Associations,进行关系数据库产品的研发、销售、咨询等业务11James Gray数据库技术和事务处理专家1944年生,美国加州大学伯克利分校计算机科学系的博士先后在贝尔实验室、IBM、Tandem、DEC等公司工作,后来研究方向转向数据库领域由于他在数据库和事务处理
6、研究方面的原创性贡献以及在将研究原型转化为商业产品的系统实现方面的技术领袖地位,1998年获得了图灵奖(时任微软研究员)。1213课程内容 系统、完整地讲述当前数据库技术的基本原理和应用实践。主要内容包括:1.数据模型2.数据库系统结构3.关系数据库(重点)4.SQL语言(重点)5.关系数据库设计理论(重点、难点)6.数据库保护14第一章 绪论1.1 数据库系统概述数据库系统概述 1.1.1 四个基本概念四个基本概念 1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 151.1.1 四个基本概念数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS)
7、16一、数据数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等数据的特点数据与其语义是不可分的17数据举例数据的含义称为数据的语义,数据与其语义是不可分的例如 93是一个数据语义1:学生某门课的成绩语义2:某人的体重语义3:计算机系2003级学生人数语义4:请同学给出。18数据举例学生档案中的学生记录 (李明,男,197205,江苏南京市,计算机系,1990)数据的形式不能完全表达其内容数据的解释:语义:学生姓名、性别、出生年月、籍贯、所在院系、入学时间解释:李明是个大学生,1972年5月出生,江苏南京市
8、人,1990年考入计算机系请给出另一个解释和语义19二、数据库数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库的基本特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展20三、数据库管理系统什么是DBMS(Database Management System)位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统 DBMS的用途 科学地组织和存储数据、高效地获取和维护数据DBMS的功能数据库管理系统使用户能方便地定义数据和操纵数据,并能够保证数据的安全性、完整性、多用户对数据
9、的并发使用及发生故障后的系统恢复。21四、数据库系统什么是数据库系统 (Database System,简称DBS),指在计算机系统中引入数据库后的系统构成,在不引起混淆的情况下常常把数据库系统简称为数据库数据库系统的构成数据库数据库管理系统(及其开发工具)应用系统数据库管理员(DBA)和用户 22 数据库数据库 应用系统应用系统应用开发工具 操 作 系统 数数据据库库管管理理系系统统 数据库管理员数据库管理员用户用户用户 数据库系统构成数据库系统构成231.1 数据库系统概述 1.1.1 四个基本概念四个基本概念 1.1.2 数据管理技术的产生和发展数据管理技术的产生和发展 24数据管理技术
10、的产生和发展什么是数据管理什么是数据管理对数据进行分类、组织、编码、存储、检索和维护对数据进行分类、组织、编码、存储、检索和维护数据处理的中心问题数据处理的中心问题数据管理技术的发展过程数据管理技术的发展过程人工管理阶段人工管理阶段(20世纪世纪40年代中年代中-50年代中年代中)文件系统阶段文件系统阶段(20世纪世纪50年代末年代末-60年代中年代中)数据库系统阶段数据库系统阶段(20世纪世纪60年代末年代末-现在现在)25数据管理技术的产生和发展(续)数据管理技术的发展动力应用需求的推动应用需求的推动计算机硬件的发展计算机硬件的发展计算机软件的发展计算机软件的发展26一、人工管理阶段应用程
11、序与数据的对应关系 应用程序应用程序1数据集数据集1应用程序应用程序2数据集数据集2应用程序应用程序数据集数据集n.人工管理阶段应用程序与数据之间的对应关系 27二、文件系统阶段应用程序与数据的对应关系应用程序应用程序文件文件应用程序应用程序文件文件2应用程序应用程序文件文件n存取存取方法方法.文件系统阶段应用程序与数据之间的对应关系 28三、数据库系统阶段时期时期20世纪世纪60年代末以来年代末以来产生的背景产生的背景应用背景应用背景大规模管理大规模管理硬件背景硬件背景大容量磁盘、磁盘阵列大容量磁盘、磁盘阵列软件背景软件背景有数据库管理系统有数据库管理系统处理方式处理方式联机实时处理联机实时
12、处理,分布处理分布处理,批处理批处理29为解决多用户、多应用共享数据的需求,为解决多用户、多应用共享数据的需求,使数据为尽可能多的应用服务,出现了使数据为尽可能多的应用服务,出现了数数据库技术据库技术,出现了统一管理数据的专门软,出现了统一管理数据的专门软件系统件系统数据库管理系统数据库管理系统。30数据库系统的特点数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制31应用程序与数据的对应关系(数据库系统)DBMS应用程序应用程序1应用程序应用程序2数据库数据库数据库系统阶段应用程序与数据之间的对应关系 32(1)数据结构化整体数据的结构化整体数据的结构化是数据
13、库的主要特征之一是数据库的主要特征之一 整体结构化整体结构化不再仅仅针对某一个应用,而是面向全组织不再仅仅针对某一个应用,而是面向全组织不仅数据内部结构化,整体是结构化的,数据之间具有联系不仅数据内部结构化,整体是结构化的,数据之间具有联系数据库中实现的是数据的真正结构化数据库中实现的是数据的真正结构化数据的结构用数据的结构用数据模型数据模型描述,无需程序定义和解释描述,无需程序定义和解释数据可以数据可以变长变长数据的最小存取单位是数据的最小存取单位是数据项数据项数据结构化是数据库与文件系统的根本区别数据结构化是数据库与文件系统的根本区别33操作系统操作系统8088信息系统信息系统数据结构数据
14、结构92数据库数据库9085数学数学IS19男男张立张立95004MA18女女王名王名95003IS19女女刘晨刘晨95002CS20男男李勇李勇95001所在系所在系年龄年龄性别性别姓名姓名学号学号文件:文件:学生成绩表学生成绩表8039500290295002883950018529500192195001成绩成绩课程号课程号学号学号IS19男男张立张立95004MA18女女王名王名95003IS19女女刘晨刘晨95002CS20男男李勇李勇95001所在系所在系年龄年龄性别性别姓名姓名学号学号数据库:数据库:学生基本信息表学生基本信息表成绩表成绩表数据结构数据结构5操作系统操作系统4信息
15、系统信息系统3数学数学2数据库数据库1课程名课程名课程号课程号课程表课程表34(2)数据的共享性高,冗余度低,易扩充数据库系统从整体角度看待和描述数据,数据面向整数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。个系统,可以被多个用户、多个应用共享使用。数据共享的好处数据共享的好处减少数据冗余,节约存储空间减少数据冗余,节约存储空间避免数据之间的不相容性与不一致性避免数据之间的不相容性与不一致性 使系统易于扩充使系统易于扩充35(3)数据独立性高物理独立性物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是指用户的应用程序与存储在磁盘上的数据库中数据是
16、相互独立的。当数据的物理存储改变了,应用程序不相互独立的。当数据的物理存储改变了,应用程序不用改变。用改变。逻辑独立性逻辑独立性指指用用户户的的应应用用程程序序与与数数据据库库的的逻逻辑辑结结构构是是相相互互独独立立的的。数据的逻辑结构改变了,用户程序也可以不变。数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由数据独立性是由DBMS的二级映像功能来保证的的二级映像功能来保证的36(4)数据由DBMS统一管理和控制DBMS提供的数据控制功能提供的数据控制功能(1)数据的安全性(数据的安全性(Security)保护)保护保护数据,以防止不合法的使用造成的数据的泄密和破坏。保护数据,以防止不
17、合法的使用造成的数据的泄密和破坏。(2)数据的完整性(数据的完整性(Integrity)检查)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。将数据控制在有效的范围内,或保证数据之间满足一定的关系。(3)并发(并发(Concurrency)控制)控制对对多多用用户户的的并并发发操操作作加加以以控控制制和和协协调调,防防止止相相互互干干扰扰而而得得到到错错误误的的结果结果(4)数据库恢复(数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。将数据库从错误状态恢复到某一已知的正确状态。37表1-1数据管理三个阶段的比较38第一章 绪论1.1 数据库系统概述1.2
18、数据模型数据模型1.3 数据库系统结构1.4 数据库系统的组成1.5 数据库工程与应用小结39 1.2 数据模型1.2.1 数据模型的组成要素数据模型的组成要素1.2.2 概念模型概念模型1.2.2 数据模型数据模型 40数据模型在数据库中用数据模型这个工具来在数据库中用数据模型这个工具来抽象、表示和处理抽象、表示和处理现实世界中的数据和信息。现实世界中的数据和信息。通俗地讲数据模型就是通俗地讲数据模型就是现实世界的模拟现实世界的模拟。数据模型应满足三方面要求数据模型应满足三方面要求能比较能比较真实真实地模拟现实世界地模拟现实世界容易容易为人所为人所理解理解便于在计算机上便于在计算机上实现实现
19、41两大类数据模型数据模型分为两类(分属两个不同的层次)数据模型分为两类(分属两个不同的层次)(1)概念模型概念模型 也称信息模型,它是按用户的观点来对数据和信息建也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。模,用于数据库设计。(2)逻辑模型和物理模型逻辑模型和物理模型 逻逻辑辑模模型型主主要要包包括括网网状状模模型型、层层次次模模型型、关关系系模模型型、面面向向对对象象模型等,按计算机系统的观点对数据建模,用于模型等,按计算机系统的观点对数据建模,用于DBMS实现。实现。物物理理模模型型是是对对数数据据最最底底层层的的抽抽象象,描描述述数数据据在在系系统统内内部部的的表
20、表示示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。方式和存取方法,在磁盘或磁带上的存储方式和存取方法。42两大类数据模型(续)DBMS支持的数据模型支持的数据模型概念模型概念模型认识认识抽象抽象信息世界信息世界机器世界机器世界现实世界中客观对象的抽象过程现实世界中客观对象的抽象过程现实世界现实世界现实世界现实世界 概念模型概念模型数据库设计人员完成数据库设计人员完成逻辑模型逻辑模型 物理模型物理模型由由DBMS完成完成概念模型概念模型 逻辑模型逻辑模型数据库设计人员完成数据库设计人员完成客观对象的抽象过程客观对象的抽象过程-两步抽象两步抽象现实世界中的客观现实世界中的客观对象抽象为对象
21、抽象为概念模概念模型型;把概念模型转换为把概念模型转换为某一某一DBMS支持的支持的数据模型数据模型43 1.2 数据模型1.2.1 数据模型的组成要素数据模型的组成要素1.2.2 概念模型概念模型1.2.2 数据模型数据模型 44 1.2.1 数据模型的组成要素数据结构数据结构 数据操作数据操作 完整性约束条件完整性约束条件451.数据结构数据结构数据结构是所研究的对象类型的集合。数据结构是所研究的对象类型的集合。例如,关系模型中的例如,关系模型中的域、属性、关系域、属性、关系等;等;数据结构用于描述系统的静态特性。数据结构用于描述系统的静态特性。462.数据操作数据操作数据操作是指对数据库
22、中各种对象的实数据操作是指对数据库中各种对象的实例允许执行的操作的集合。例允许执行的操作的集合。数据库主要有数据库主要有检索检索和和更新更新(包括包括插入、删插入、删除和修改除和修改)两大类操作。两大类操作。数据操作用于描述系统的动态特性。数据操作用于描述系统的动态特性。473.数据的约束条件数据的约束条件数据的约束条件是一组完整性规则的集数据的约束条件是一组完整性规则的集合。合。完整性规则:给定的数据模型中数据及完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则其联系所具有的制约和储存规则用以限定符合数据模型的数据库状态以用以限定符合数据模型的数据库状态以及状态的变化,以保证数据
23、的正确、有效、及状态的变化,以保证数据的正确、有效、相容。相容。48 1.2 数据模型1.2.1 数据模型的组成要素数据模型的组成要素1.2.2 概念模型概念模型1.2.3 数据模型数据模型 49 1.2.2 概念模型信息世界中的基本概念概念模型的一种表示方法实例50一、信息世界中的基本概念(1)实体(实体(Entity)(重点)(重点)客观存在并可相互区别的事物称为实体。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。可以是具体的人、事、物或抽象的概念。(2)属性(属性(Attribute)(重点)(重点)实体所具有的某一特性称为属性。实体所具有的某一特性称为属性。一
24、个实体可以由若干个属性来刻画。一个实体可以由若干个属性来刻画。(3)码(码(Key)(重点)(重点)唯一标识实体的属性集称为码。唯一标识实体的属性集称为码。51信息世界中的基本概念(续)(4)域(域(Domain)属性的取值范围称为该属性的域。属性的取值范围称为该属性的域。(5)实体型(实体型(Entity Type)用用实实体体名名及及其其属属性性名名集集合合来来抽抽象象和和刻刻画画同同类类实实体称为实体型体称为实体型(6)实体集(实体集(Entity Set)同一类型实体的集合称为实体集同一类型实体的集合称为实体集52信息世界中的基本概念(续)(7)联系(联系(Relationship)(
25、重点)(重点)现实世界中事物内部以及事物之间的联系在信息世界现实世界中事物内部以及事物之间的联系在信息世界 中反映为实体内部的联系和实体之间的联系。中反映为实体内部的联系和实体之间的联系。实体内部实体内部的联系通常是指组成实体的各属性之间的联系的联系通常是指组成实体的各属性之间的联系实体之间实体之间的联系通常是指不同实体集之间的联系的联系通常是指不同实体集之间的联系 两个实体型之间的联系可以分为三类:两个实体型之间的联系可以分为三类:532.概念模型的表示方法概念模型的表示方法(重点重点)概念模型的表示方法很多,其中最为常用的是概念模型的表示方法很多,其中最为常用的是实实体体-联系方法,联系方
26、法,该方法用该方法用E-R图图来描述现实世界的概来描述现实世界的概念模型:念模型:实体型实体型:用矩形表示,矩形内写明实体名。:用矩形表示,矩形内写明实体名。属性属性:用椭圆形表示,并用无向边将其与相应的:用椭圆形表示,并用无向边将其与相应的实体连接起来。实体连接起来。班级班级学生学生学号学号姓名姓名性别性别年龄年龄54实体型实体型A联系名联系名实体型实体型B111:1联系联系实体型实体型A联系名联系名1n1:n联系联系实体型实体型A实体型实体型B联系名联系名mnm:n联系联系实体型实体型B联系联系:用棱形表示,棱形框内写明联系名,:用棱形表示,棱形框内写明联系名,并用无向边分别与有关实体连接
27、起来,同时并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型。在无向边旁标上联系的类型。55两个实体型之间的联系(续)一对一联系(一对一联系(1:1)实例实例一个班级只有一个正班长一个班级只有一个正班长一个班长只在一个班中任职一个班长只在一个班中任职定义:定义:如如果果对对于于实实体体集集A中中的的每每一一个个实实体体,实实体体集集B中中至至多多有有一一个个(也也可可以以没没有有)实实体体与与之之联联系系,反反之之亦亦然然,则则称称实实体体集集A与与实实体体集集B具具有有一一对对一联系一联系,记为记为1:1 班级班级班级班级-班长班长班长班长111:1联系联系56两个实体型之间的联
28、系(续)一对多联系(一对多联系(1:n)实例实例一个班级中有若干名学生,一个班级中有若干名学生,每个学生只在一个班级中学习每个学生只在一个班级中学习定义:定义:如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实体)与之联系,反之,对于实体集集B中的每一个实体,实体集中的每一个实体,实体集A中至多只有一个中至多只有一个实体与之联系,则称实体与之联系,则称实体集实体集A与实体集与实体集B有一对有一对多联系,记为多联系,记为1:n班级班级组成组成学生学生1n1:n联系联系57两个实体型之间的联系(续)多对多联系(多对多联
29、系(m:n)实例实例课程与学生之间的联系:课程与学生之间的联系:一门课程同时有若干个学生选修一门课程同时有若干个学生选修一个学生可以同时选修多门课程一个学生可以同时选修多门课程定义:定义:如果对于实体集如果对于实体集A中的每一个实体,实体集中的每一个实体,实体集B中中有有n个实体(个实体(n0)与之联系,反之,对于实)与之联系,反之,对于实体集体集B中的每一个实体,实体集中的每一个实体,实体集A中也有中也有m个实个实体(体(m0)与之联系,则称实体集)与之联系,则称实体集A与实体与实体B具有多对多联系,记为具有多对多联系,记为m:n课程课程选修选修学生学生mnm:n联系联系58联系的属性课程课
30、程选修选修学生学生mn成绩成绩v联系的属性联系的属性:联系本身也是一种实体型,也联系本身也是一种实体型,也 可以有属性。如果一个联系具可以有属性。如果一个联系具有属性,则这些属性也要用无有属性,则这些属性也要用无向边与该联系连接起来向边与该联系连接起来 59两个以上实体型之间的联系实例 课程、教师与参考书三个实体型课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,一门课程可以有若干个教师讲授,使用若干本参考书,使用若干本参考书,每一个教师只讲授一门课程,每一个教师只讲授一门课程,每一本参考书只供一门课程使用每一本参考书只供一门课程使用课程课程讲授讲授教师教师1m两个以上实体型间两个以上
31、实体型间1:n联系联系参考书参考书n60单个实体型内的联系一对多联系实例 职工实体型内部具有领导与被领导的联系职工实体型内部具有领导与被领导的联系某一职工(干部)某一职工(干部)“领导领导”若干名职工若干名职工一个职工仅被另外一个职工直接领导一个职工仅被另外一个职工直接领导这是一对多的联系这是一对多的联系职工职工领导领导1n单个实体型内部单个实体型内部1:n联系联系61例、例、某工厂生产若干产品,每种产品由不同的零件组成,有某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材
32、料可以相同。这些零件按所属的不同产品不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中。试用分别放在仓库中。试用E-R图画出此工厂产品、零件、材料、图画出此工厂产品、零件、材料、仓库的仓库的概念模型概念模型。三、实例产品产品零件零件材料材料仓库仓库组成组成使用使用存放存放mn1nn162作业P36:7、96364 1.2 数据模型 1.2.1 数据模型的组成要素数据模型的组成要素 1.2.2 概念模型概念模型 1.2.3 数据模型数据模型 65 1.2.3 数据模型 1.2.3.1 层次数据模型层次数据模型 1.2.3.2 网状数据模型网状数据模型 1.2.3.3 关系数据模型
33、(重点)关系数据模型(重点)66最常用的数据模型非关系模型层次模型层次模型(Hierarchical Model)网状模型网状模型(Network Model)关系模型(Relational Model)面向对象模型(Object Oriented Model)对象关系模型(Object Relational Model)671.2.3.3 关系模型(重点)1970年美国年美国IBM公司公司San Jose研究室的研究员首次提出了研究室的研究员首次提出了数据库系统的关系模型数据库系统的关系模型 计算机厂商新推出的数据库管理系统几乎都支持关系模型计算机厂商新推出的数据库管理系统几乎都支持关系模型
34、 关系模型是目前最重要的一种模型关系模型是目前最重要的一种模型关系数据库系统是支持关系模型的数据库系统关系数据库系统是支持关系模型的数据库系统关系模型的组成:关系模型的组成:关系数据结构、关系操作集合、关系完整性约束关系数据结构、关系操作集合、关系完整性约束68一、关系数据模型的数据结构 在在用用户户观观点点下下,关关系系模模型型中中数数据据的的逻逻辑辑结结构构是是一一张张二二维维表表,它由行和列组成。它由行和列组成。学 号姓 名年 龄性 别系 名年 级2005004王小明19女社会学20052005006黄大鹏20男商品学20052005008张文斌18女法律2005学生登记表学生登记表属性
35、属性元组元组69关系数据模型的数据结构(续)关系(关系(Relation)一个关系对应通常说的一张表元组(元组(Tuple)表中的一行即为一个元组属性(属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名70关系数据模型的数据结构(续)主码(主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(域(Domain)属性的取值范围。分量分量元组中的一个属性值。关系模式关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级)71关系数据模型的数据结构(续)例例1:学生、系、系与学生之间的一对多联系:学生、系、系与学生之间的一对多联
36、系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)系系(系号,系名,办公地点系号,系名,办公地点)例例2:系、系主任、系与系主任间的一对一联系:系、系主任、系与系主任间的一对一联系例例3:学生、课程、学生与课程之间的多对多联系:学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)课程(课程号,课程名,学分)选修(学号,课程号,成绩)选修(学号,课程号,成绩)72课程课程选修选修学生学生mn成绩成绩课程(课程号,课程名,学分)课程(课程号,课程名,学分)学生(
37、学号,姓名,所在系)学生(学号,姓名,所在系)选修(课程号,学号,成绩)选修(课程号,学号,成绩)01数据结构402C语言303数据库304编码原理303001张三CS03123李四MA02010王五CS02221郑六IE0103001010312301020100203001800202010980202221890303123030222104030019204020108873关系数据模型的数据结构(续)关系必须是规范化的,满足一定的规范条件关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。图图1.27中工资和扣除是可分中
38、工资和扣除是可分的数据项的数据项,不符合关系模型要求不符合关系模型要求。职工号姓名职 称工 资扣 除实 发基 本津 贴职务房 租水 电86051陈 平讲 师13051200501601122283图图 一个工资表一个工资表(表中有表表中有表)实例实例 74关系数据模型的数据结构(续)关系术语关系术语一般表格的术语一般表格的术语关系名关系名表名表名关系模式关系模式表头(表格的描述)表头(表格的描述)关系关系(一张)二维表(一张)二维表元组元组记录或行记录或行属性属性列列属性名属性名列名列名属性值属性值列值列值分量分量一条记录中的一个列值一条记录中的一个列值非规范关系非规范关系表中有表(大表中嵌有
39、小表)表中有表(大表中嵌有小表)术语对比术语对比 75二、关系数据模型的操纵与完整性约束数据操作:数据操作:查询、插入、删除、更新查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合存取路径对用户隐蔽,用户只要指出存取路径对用户隐蔽,用户只要指出“干什么干什么”,不必详细说明,不必详细说明“怎么干怎么干”关系的完整性约束条件关系的完整性约束条件 实体完整性实体完整性参照完整性参照完整性用户定义的完整性用户定义的完整性76三、关系数据模型的存储结构实体及实体间的联系都用表来表示表以文件形式存储有的D
40、BMS一个表对应一个操作系统文件有的DBMS自己设计文件结构77四、关系数据模型的优缺点优点优点建立在严格的数学概念的基础上建立在严格的数学概念的基础上概念单一概念单一实体和各类联系都用实体和各类联系都用关系关系来表示来表示对数据的检索结果也是对数据的检索结果也是关系关系关系模型的存取路径对用户透明关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作简化了程序员的工作和数据库开发建立的工作缺点缺点存取路径对用户透明导致查询效率往往不如非存取路径对用户透明导致查询效率往往不如非 关系数据模型关系数据模型为
41、提高性能,必须对用户的查询请求进行优化为提高性能,必须对用户的查询请求进行优化 增加了开发增加了开发DBMS的难度的难度78第一章 绪论1.1 数据库系统概述数据库系统概述1.2 数据模型数据模型1.3 数据库系统结构数据库系统结构1.4 数据库系统的组成数据库系统的组成1.5 数据库工程与应用数据库工程与应用小结小结791.3 数据库系统结构数据库系统结构从从DBMS角度看,数据库系统通常采用角度看,数据库系统通常采用三级模式结构;三级模式结构;从数据库最终用户角度看,数据库系统从数据库最终用户角度看,数据库系统结构分为结构分为单用户结构、主从式结构、分布式单用户结构、主从式结构、分布式结构
42、、客户结构、客户/服务器结构服务器结构。801.数据库系统的三级模式结构数据库系统的三级模式结构数据库系统的三级模式结构是指数据库数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级构成。系统是由外模式、模式和内模式三级构成。81应用应用A外模式外模式1数据库数据库应用应用B应用应用C应用应用D外模式外模式2外模式外模式3模式模式内模式内模式图图1-24 数据库系统的模式结构数据库系统的模式结构模式模式/内模式映像内模式映像外模式外模式/模式映像模式映像外模式外模式(也称子(也称子模式或用模式或用户模式),户模式),是模式的是模式的子集,是子集,是用户的数用户的数据视图,据视图,
43、与某一应与某一应用有关的用有关的数据的逻数据的逻辑表示辑表示模式(也称逻辑模式),模式(也称逻辑模式),是所有用户的公共数据视图,是所有用户的公共数据视图,与应用开发工具、与应用无关;与应用开发工具、与应用无关;与物理存储细节和硬件环境无关与物理存储细节和硬件环境无关内模式(也称存储模式),内模式(也称存储模式),是数据在数据库内部的表示方式是数据在数据库内部的表示方式一个数据库只有一个模式一个数据库只有一个模式一个数据库只有一个内模式一个数据库只有一个内模式主要描述存储方式:顺序存储,主要描述存储方式:顺序存储,B树存储,树存储,hash存储以及如何存储以及如何进行索引、压缩、加密等进行索引
44、、压缩、加密等8283第一章 绪论1.1 数据库系统概述数据库系统概述1.2 数据模型数据模型1.3 数据库系统结构数据库系统结构1.4 数据库系统的组成数据库系统的组成1.5 数据库工程与应用数据库工程与应用小结小结841.4 数据库系统的组成硬件平台及数据库硬件平台及数据库 -足够大的内存足够大的内存 -足够大的外存足够大的外存 -较高的通道能力,提高数据传送率较高的通道能力,提高数据传送率软件软件 -DBMS -支持支持DBMS运行的操作系统运行的操作系统 -具有与数据库接口的高级语言及其编译系统具有与数据库接口的高级语言及其编译系统 -以以DBMS为核心的应用开发工具为核心的应用开发工
45、具 -为特定应用环境开发的数据库应用系统为特定应用环境开发的数据库应用系统人人 员员 -数据库管理员数据库管理员 -系统分析员和数据库设计人员系统分析员和数据库设计人员 -应用程序员应用程序员 -用户用户8586 数据库管理系统的工作过程数据库管理系统数据库管理系统(DBMS)数据库数据库应用程序应用程序A用户工作区用户工作区用户用户A应用程序应用程序B用户工作区用户工作区用户用户B应用程序应用程序X用户工作区用户工作区用户用户X物理模式物理模式模式模式子模式子模式A系统缓冲区系统缓冲区子模式子模式B子模式子模式X.1.应用程序应用程序A向向DBMS发出从数据库中读发出从数据库中读数据记录的命
46、令;数据记录的命令;2.DBMS对该命令进行语法检查、语义检对该命令进行语法检查、语义检查,并调用应用程序查,并调用应用程序A对应的子模式,检对应的子模式,检查查A的存取权限,决定是否执行该命令。的存取权限,决定是否执行该命令。3.在决定执行该命令后,在决定执行该命令后,DBMS调用模式,调用模式,依据子模式依据子模式/模式映像的定义,确定应读模式映像的定义,确定应读入模式中的哪些记录;入模式中的哪些记录;4.DBMS调用物理模式,依据模式调用物理模式,依据模式/物理模物理模式映像的定义,决定应从哪个文件、用什式映像的定义,决定应从哪个文件、用什么存取方式、读入哪个或哪些物理记录;么存取方式、
47、读入哪个或哪些物理记录;5.DBMS向操作系统发出执行读取所需物向操作系统发出执行读取所需物理记录的命令;理记录的命令;6.操作系统执行读数据的有关操作;操作系统执行读数据的有关操作;7.操作系统将数据从数据库的存取区送至操作系统将数据从数据库的存取区送至系统缓冲区;系统缓冲区;8.DBMS依据子模式依据子模式/模式映像的定义,导模式映像的定义,导出应用程序出应用程序A所要读取的记录格式;所要读取的记录格式;9.DBMS将数据记录从系统缓冲区传送到将数据记录从系统缓冲区传送到应用程序应用程序A的用户工作区;的用户工作区;10.DBMS向应用程序向应用程序A返回命令执行情况返回命令执行情况的状态
48、信息。的状态信息。871、数据库管理员、数据库管理员(DBA)具体职责:具体职责:决定数据库中的信息内容和结构决定数据库中的信息内容和结构决定数据库的存储结构和存取策略决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件定义数据的安全性要求和完整性约束条件监控数据库的使用和运行监控数据库的使用和运行数据库的重构数据库的重构882.系统分析员和数据库设计人员 系统分析员系统分析员 负责应用系统的需求分析和规范说明负责应用系统的需求分析和规范说明与用户及与用户及DBA协商,确定系统的硬软件配置协商,确定系统的硬软件配置参与数据库系统的概要设计参与数据库系统的概要设计数据库设计人员数据
49、库设计人员参加用户需求调查和系统分析参加用户需求调查和系统分析确定数据库中的数据确定数据库中的数据设计数据库各级模式设计数据库各级模式893.应用程序员设计和编写应用系统的程序模块进行调试和安装904.用户 用户是指最终用户(用户是指最终用户(End User),最终用户通过应用系统的用户接口使用数据库。),最终用户通过应用系统的用户接口使用数据库。偶然用户偶然用户不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息不经常访问数据库,但每次访问数据库时往往需要不同的数据库信息 企业或组织机构的高中级管理人员企业或组织机构的高中级管理人员 简单用户简单用户主要工作是查询和更新数据库主要工
50、作是查询和更新数据库 银行的职员、机票预定人员、旅馆总台服务员银行的职员、机票预定人员、旅馆总台服务员复杂用户复杂用户工程师、科学家、经济学家、科技工作者等工程师、科学家、经济学家、科技工作者等直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的直接使用数据库语言访问数据库,甚至能够基于数据库管理系统的API编制自己的应用程序编制自己的应用程序91第一章 绪论1.1 数据库系统概述数据库系统概述1.2 数据模型数据模型1.3 数据库系统结构数据库系统结构1.4 数据库系统的组成数据库系统的组成1.5 数据库工程与应用数据库工程与应用小结小结921.5 数据库工程与应用数据库工程与应用大型