数据库原理与应用-课件副本.ppt
《数据库原理与应用-课件副本.ppt》由会员分享,可在线阅读,更多相关《数据库原理与应用-课件副本.ppt(248页珍藏版)》请在三一办公上搜索。
1、数据库系统原理及应用,2,第一章:绪论,主要内容 本章主要介绍数据库的基本概念,数据管理技术的产生和发展;数据模型的概念及组成,概念模型和三种主要的数据库模型;数据库系统结构。,3,第一节:数据库系统概述,一、数据库的基本概念1、数据(data)数据是描述事物的符号记录。2、数据库(database,简称DB)数据库是指长期存储在计算机内,有组织的、大量的、可共享的数据集合。3、数据库管理系统(Database Management System,简称DBMS)是用来帮助用户在计算机上建立、使用和管理数据库的软件系统。,4,第一节:数据库系统概述,其主要功能:数据定义功能(DDL)数据操纵功能
2、(DML):DML=Data Manipulation Language,数据操纵语言,命令使用户能够查询数据库以及操作已有数据库中的数据的计算机语言。具体是指是SELECT查询、UPDATE更新、INSERT插入、DELETE删除。其他管理:向数据库系统提供一组管理和控制程序,保障数据库的安全、通信与其它管理事务。4、数据库系统(Database system,简称DBS)数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员(DBA)和用户构成。,5,第一节:数据库系统概述,二、数据管理技术的产生和发展1、人工管理阶段(20世纪5
3、0年代中期以前)数据不保存数据需由应用程序自己管理数据不共享数据不具有独立性,6,第一节:数据库系统概述,2、文件系统阶段(20世纪50年代后期-60年代中期)数据可以长期保存由文件系统管理数据数据共享性差,冗余度大数据独立性低,7,第一节:数据库系统概述,3、数据库系统阶段(20世纪60年代后期)数据结构化数据的共享性高,冗余度低,易扩充数据独立性高数据由DBMS统一管理和控制 安全性、完整性、并发控制、数据库恢复,8,第二节:数据模型,一、数据模型1、概念数据模型是现实世界数据特征的抽象,通俗地讲就是现实世界的模拟。2、分类(应用目的)概念数据模型:按用户的观点对数据和信息建模。逻辑数据模
4、型:按计算机的观点对数据建模。,现实世界,概念模型,数据模型,认识抽象,转换,9,第二节:数据模型,二、数据模型的组成要素1、数据结构:是所研究的对象类型的集合。一类是与数据类型、内容、性质有关的对象。另一类是与数据之间联系有关的对象。2、数据操作:是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关的规则。3、数据的约束条件:完整性规则的集合。三、概念模型1、信息世界中的基本概念(1)实体:客观存在并可相互区别的事物。(2)属性:实体所具有的某一特性。(3)码:唯一标识实体的属性集。,10,第二节:数据模型,(4)域:属性的取值范围。(5)实体型:用实体名及其属性名集合来抽象和刻
5、画同类实体,称为实体型。(6)实体集:同型实体的集合。(7)联系:实体内部及实体间的联系。两个实体型之间的联系可以分为:一对一联系(1:1):如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然。一对多联系(1:n):如果对于实体集A中的每一个实体,实体集B中有n(n0)个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系。多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n(n0)个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m(m0)个实体与之联系。,11,第二节:数据模型,2、概念模型的表示方法(E-R
6、图)表示方法:实体型:用矩形表示属性:用椭圆形表示联系:用菱形表示例:学生(学号,姓名,性别,出生日期)班级(班号,所在专业)课程(课程号,名称,专业)教师(职工号,姓名,性别,职称),12,第二节:数据模型,这些实体之间的联系如下:一门课程可以有若干个教师讲授,而每一个教师只讲授一门课程。一门课程可以同时有若干个学生选修,一个学生也可以同时选修多门课程。一个班级中有若干名学生,而每个学生只在一个班级中学习。,13,第二节:数据模型,14,练习,某图书馆有多种图书,其中每一种图书仅由一家出版社出版,而每一个出版社可以出版多种图书。该馆规定:每位读者可以借阅多种图书,每种图书也可以被多人借阅。请
7、根据以上描述,构造出该图书馆的E-R图。,15,答案,16,第二节:数据模型,四、luoji数据模型非关系模型(层次、网状)、关系模型、面向对象模型非关系模型:实体:记录 属性:数据项(字段)联系:记录之间的联系非关系模型中数据结构的单位是基本层次联系。基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系。,Ri:双亲节点Rj:子女节点Lij:一对多(包括一对一)联系名,17,第二节:数据模型,1、层次数据模型(IMS)(1)层次数据模型的数据结构层次模型的两个条件:有且只有一个结点没有双亲结点(根结点)。根以外的其他节点有且只有一个双亲结点。,18,第二节:数据模型,多对多联系在层
8、次模型中的表示:冗余节点法、虚拟节点法,冗余节点法:浪费存储空间,有潜在的不一致性。虚拟节点法:改变节点的存储位置可能引起虚拟节点中指针的修改。,19,第二节:数据模型,(2)层次数据模型的数据操纵与完整性约束数据操纵:查询、插入、删除和修改插入:没有双亲节点,不能插入子女节点删除:删除双亲节点,相应子女节点也被删除。修改:应修改所有相应的记录,保证数据一致性。(3)层次模型的优缺点优点:a.数据模型简单,比较容易使用。b.提供了良好的完整性支持。,20,第二节:数据模型,c.对于实体间联系是固定的,且预先定义好的应用系统,性能优于关系模型,不次于网状模型。缺点:a.对于非层次联系表示方法笨拙
9、。b.对插入和删除的限制比较多。c.查询子女节点必须通过双亲节点。d.由于结构严密,层次命令趋于程序化。,21,第二节:数据模型,2、网状数据模型(DBTG)(1)网状模型的数据结构允许一个以上的结点无双亲。一个节点可以有多于一个的双亲。允许两个节点之间有多种联系。,22,第二节:数据模型,(2)网状数据模型的操纵与完整性约束数据操纵:查询、插入、删除和更新插入:允许插入尚未确定双亲节点值的子女节点。删除:允许只删除双亲节点值。(3)网状数据模型的优缺点优点a.更直接描述现实世界b.具有良好的性能,存取效率效高。缺点a.DLL语言极其复杂。b.数据独立性较差。,23,第二节:数据模型,3、关系
10、数据模型(1)关系数据模型的数据结构实体以及实体之间的联系都是用关系来表示的。关系:二维表(规范化的)元组:行属性:列(属性名唯一)主码:唯一确定一个元组的属性组。域:属性的取值范围。分量:元组中的一个属性值。关系模式:对关系的描述。关系名(属性名1,属性名2,),24,第二节:数据模型,学生,课程,选修,学生,课程,选修,m,n,25,第二节:数据模型,(2)关系数据模型的操纵与完整性约束操纵:select、insert、delete、update实体完整性:主码唯一且不为空。参照完整性自定义完整性(3)关系数据模型的优缺点优点a.数据结构简单、清晰,用户易懂易用。b.存取路径对用户透明,具
11、有更高的数据独立性。缺点查询效率不如非关系数据模型。,26,第二节:数据模型,4、面向对象数据模型与关系数据模型相比较:(1)数据结构关系数据模型:关系、元组面向对象数据模型:类、实例(2)数据操纵关系数据模型:关系的运算面向对象数据模型:方法和消息(3)完整性约束关系数据模型:完整性约束方法面向对象数据模型:完整性约束消息,27,第三节:数据库系统结构,一、数据库系统的模式结构1、数据库系统模式的概念是数据库中全体数据的逻辑结构和特征的描述。2、数据库系统的三级模式结构模式:也称逻辑模式,是数据库数据在逻辑级上的视图。外模式:也称子模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征
12、的描述。内模式:也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。,28,第三节:数据库系统结构,2、数据库的二级映象功能与数据独立性外模式/模式映象 保证了数据库系统的逻辑独立性。模式/内模式映象 保证了数据库系统的物理独立性。,29,第三节:数据库系统结构,二、数据库系统的体系结构1、单用户数据库系统整个数据库系统(应用程序、DBMS、数据)都装在一台机器上,由一个用户独占,不能共享使用。2、主从式结构的数据库系统一个主机带多个终端的多用户结构。3、分布式结构的数据库系统数据库系统中的数据在逻辑上是一个整体,但分布在计算机网络的不同节点上。4、客户/服务器结构的
13、数据库系统集中的服务器结构和分布的服务器结构。,30,练习,1、数据管理技术经历了()、()和()阶段。2、数据模型构成的三个要素为()、()和()。3、按照数据结构的类型命名来分,数据模型分为()、()、()和()。4、概念模型的表示方式,最为常用的是于1976年提出的()。5、数据库系统的三级模式结构包括()、()和(),在这三个级别之间提供了两层映像()和()。6、数据库系统中的数据独立性包括()和()。,31,作业,某医院病房计算机管理中需要如下实体:科室:科室名,电话,科室主任名病房:病房号,床位号,所属科室名医生:姓名,职称,工作证号,所属科室名病人:病历号,姓名,性别,诊断,主管
14、医生,病房号其中,一个科室可以有多个病房、多个医生,一个病房只能属于一个科室,一个医生只能属于一个科室,但可以负责多个病人的诊治,一个病人的主管医生只能有一个。试根据要求,用E-R图画出该系统的概念模型。,32,第2章 关系数据库,主要内容本章主要介绍关系模型的基本概念。即关系模型的数据结构、关系操作和关系的完整性。,33,第1节:关系模型概述,一、关系数据结构二、关系操作1、操作特点:采用集合操作方式,即操作的对象和结果都是 集合。这种操作方式被称为一次一集合的方式2、关系操作:选择、投影、连接、除、并、交、差等查询操 作和增、删、改操作。3、关系数据语言关系代数关系演算(元组关系演算、域关
15、系演算)SQL三、完整性约束 实体完整性、参照完整性和用户自定义完整性。,34,第2节:关系数据结构,一、域和笛卡尔积1、域:是一组具有相同数据类型的值的集合。2、笛卡尔积:给定一组域D1,D2Dn(可以完全不同,也可以部分或全部相同),D1,D2Dn的笛卡尔积为:D1 D2 Dn=(d1,d2dn)|diDi,i=1,2,n其中每一个元素(d1,d2dn)叫做一个n元组,简称为元组。di叫做一个分量。若Di(i=1,2,n)为有限集,其基数为mi(i=1,2,n),则D1 D2 Dn的基数为:m=,35,第2节:关系数据结构,例如:D1(导师集合)=王导、孙导 D2(研究生集合)=张三、李四
16、则笛卡尔积为:D1D2,36,第2节:关系数据结构,二、关系:1、基本概念是有意义的笛卡尔积的子集。用R(D1,D2,Dn)表示。R是关系的名字,n是关系的目或度。(单元关系,二元关系)。2、关系的码超码:若某一个关系R中某属性(组)能唯一将R中的各个元组区分开,则称该属性(组)为R的一个超码。侯选码:若某一个关系R中某属性(组)能唯一将R中的各个元组区分开,并不含多余的属性,则称该属性(组)为R的一个侯选码。,37,第2节:关系数据结构,主码:从关系R的侯选码中选定一个作为主码。全码:包含了关系中全部属性的侯选码,称为全码。外部码:设F是关系R的一个属性(组),但不是关系R的主码,如果F与关
17、系S的主码KS相对应,则称F为关系R的一个外部码。关系R被称为参照关系。关系S被称为被参照关系或目标关系。主属性:主码的各属性称为主属性。非码属性:不包含在任何侯选码中的属性。,38,第2节:关系数据结构,3、关系的性质:列是同质的。不同的属性要给予不同的属性名。列的顺序可以任意交换。任意两个元组不能完全相同。行的顺序可以任意交换。每一个分量都必须是不可分的数据项(规范化)。,39,第2节:关系数据结构,三、关系模式关系模式就是对关系的描述。其可以表示为:R(U,D,dom,F)R:关系名U:属性名集合D:属性的域Dom:属性向域的映象集合。F:属性间数据的依赖关系集合。关系模式可简记为:R(
18、U)或R(A1,A2An),40,第3节:关系的完整性,一、实体完整性 若属性A是基本关系R的主属性,则属性A不能取空值。二、参照完整性1、基本概念外码参照关系被参照关系2、参照完整性若属性(组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:,41,第3节:关系的完整性,或者取空值或者等于S中某个元组的主码值例1:学生(学号,姓名,专业号)专业(专业号,专业名)例2:学生(学号,姓名,专业号)课程(课程号,课程名称)选修(学号,课程号,成绩)三、用户自定义完整性反映某一具体应用所涉及的数据必须满足的语义要求。,42
19、,第4节:关系代数,一、关系代数运算的三个要素1、运算对象:关系2、运算符号:集合运算符:、专门的关系运算符:、算术比较符:、逻辑运算符:、3、运算结果:关系,43,第4节:关系代数,二、传统的集合运算1、并:RS由属于R或属于S的元组组成。要求:关系R和S具有相同的目。相应的属性取至同一个域。2、差:R-S(要求同上)由属于R而不属于S的所有元组组成。3、交:RS(要求同上)由既属于R又属于S的元组组成。交运算可用差来表示:RS=R-(R-S),44,假定有两个关系R与S是关系模式学生的实例,R与S如表2-8、2-9所示。,表2-8 关系R,表2-9 关系S,45,R与S的并集结果,46,R
20、与S的交集,R与S的交集,47,第4节:关系代数,4、广义笛卡尔积:R S两个分别具有n目和m目、k1 和 k2个元组的关系R和S的广义笛卡尔积是一个具有(n+m)列、(k1 k2)个元组的集合。该元组的前n列是关系R的一个元组,后m列是关系S的一个元组。,48,关系R与S笛卡尔积的结果,49,三、专门的关系运算1、选择选择又称为限制。它是在关系R中选择满足给定条件的诸元组。选择是从行的角度进行运算的。记作:F(R)F:表示选择条件,是一个逻辑表达式。例:查询学生关系中年龄为19岁的男生 性别=男AND年龄=19(学生),50,第4节:关系代数,2、投影投影是从R中选择出若干个属性列组成一个新
21、的关系。投影操作是从列的角度进行的运算。记作:A(R)A为R中的属性列。投影操作后,不仅取消了原有关系中的某些列,而且还可能取消某些元组。,51,例如:要查询学生关系在学号、姓名、年龄3个属性上的投影,可以表示为 学号,姓名,年龄(学生),52,3、连接连接是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。记作:R S AB,53,第4节:关系代数,两种最为常用的连接:等值连接:为“=”的连接运算称为等值连接。自然连接:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。,学生,选修,54,第4节:关系代数,4、除象集:给定一个关系R(X
22、,Z),x为R中属性组X上的一个分量。则x的象集表示为:R中属性组X上值为x的诸元组在Z上分量的集合。,学生 选修,55,第4节:关系代数,3的象集为(5,9),(9,5)4的象集为(6,8),(7,7)5的象集为(8,6),56,第4节:关系代数,除运算:给定关系R(X,Y)和S(Y,Z),R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上的投影的集合。,RS,R,S,57,第4节:关系代数,四、五种基本的关系运算并、差、笛卡尔积、选择和投影为基本的关系运算。其他三种运算:交、连接和除运算均可以用这5种运算来表达。例
23、1:查询姓名为“王一”的男生记录。姓名=“王一”性别=“男”(学生)例2:查询王一同学“0001”号课程成绩。成绩(姓名=“王一”(学生)课程号=“0001”(选修)例3:查询选修了全部课程的学生学号。学号,课程号(选修)课程号(课程),58,练 习,用关系代数语言完成下述查询操作:查询信息系所有男生查询所有男生的姓名查询“数据库”课程的选修学生名单查询所有学生的学号、姓名,课程名和成绩查询选修了全部课程的学生的学号查询所有“数据库”课程不及格的学生姓名和分数查询“王敏”同学选修了哪些课程,59,练 习,S,C,SC,60,答 案,系=“信 息”性别=“男”(s)姓名(性别=“男”(s)姓名(
24、课程名=“数据库”(c)sc s)学号,姓名,课程名,成绩(s sc c)学号,课程号(sc)课程号(c)姓名,成绩(课程名=“数据库”(c)成绩60(sc)s)课程名(姓名=“王敏”(s)sc c),61,第5节:查询优化,例:查询选修了1024号课程的学生姓名1、SNAME(s.学号=sc.学号 sc.课程号=“1024”(sc s)2、SNAME(课程号=“1024”(sc s)3、SNAME(s 课程号=“1024”(sc)上述三种关系代数运算中,查询效率为321查询优化的策略1、选择尽可能先做。2、连接前对关系进行预处理。(索引或排序)3、同一关系的投影和选择运算同时进行。4、把投影
25、同其前后的双目运算结合起来。5、把某些选择同在它前面要执行的笛卡尔积运算结合起来成为 一个连接运算。6、找出公共表达式。,62,第6节:关系数据库管理系统,一、关系数据库管理系统(RDBMS)1、关系数据库管理系统简称为关系系统。是指支持关系模型的系统。2、关系系统的必备条件满足关系模型的数据结构 数据库是由表构成的,且系统中只有表这种结构。支持选择、投影和连接运算,并且不需要定义任何物理存取路径。,63,第6节:关系数据库管理系统,二、关系系统的分类1、最小关系系统支持关系数据结构和选择、投影、连接三种操作。2、关系完备系统支持关系数据结构和所有的关系代数操作。3、全关系系统支持关系模型的所
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 应用 课件 副本
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6578435.html