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