数据库技术及应用.ppt
1,数据库技术及应用,2023年3月27日6时58分,2,内容安排,第一章:绪论第二章:关系数据库第三章:SQL Server 2000第四章:关系数据库语言SQL第五章:数据库设计第六章:数据库保护第七章:数据库技术的新发展及国产数据库,2023年3月27日6时58分,3,第一章 绪论,1.1 数据库系统概述1.2 数据模型1.3 数据库系统结构1.4 数据库系统的组成1.5 小结,2023年3月27日6时58分,4,第一章 学习目标,对数据库技术的功能及实际应用有个整体认识;理解并掌握数据库的常用术语及基本概念(Data、DB、DBMS、DBS等)理解数据库系统的特点掌握常用数据模型、三级模式和二级映像,2023年3月27日6时58分,5,1.1 数据库系统概述,1.1.1 信息与社会 1.1.2 数据库的基本概念 1.1.3 数据库系统的特点 1.1.4 数据库管理系统的功能,2023年3月27日6时58分,6,1.1.1 信息与社会(自学),数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志,2023年3月27日6时58分,7,数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题数据库技术已经经历了三次演变:层次数据库和网状数据库 关系数据库 面向对象数据库和网络数据库,2023年3月27日6时58分,8,1.1.1 信息与社会,计算机能够处理的数据都是以二进制的形式存储在计算机中的,而我们在现实生活中所面对的所有事物都是能够实实在在看得见的,怎样把现实生活中的事物存储在计算机中?,2023年3月27日6时58分,9,2.信息世界中的基本概念,(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。(4)实体集(Entity Set)同型实体的集合称为实体集,如:全体学生,2023年3月27日6时58分,10,信息世界和机器世界的术语的对应关系:,信息世界,机器世界,2023年3月27日6时58分,11,学生,实体,属性,码,实体集,字段,记录,实例,2023年3月27日6时58分,12,1.1.2数据库的基本概念,数据(Data)数据库(Database)数据库管理系统(DBMS)数据库系统(DBS)数据库系统管理员(DBA),2023年3月27日6时58分,13,一、数据,数据(Data)是数据库中存储的基本对象定义记录现实世界的信息并可以被识别的符号表现形式文字、图形、图象、声音等数据的特点数据与其语义是不可分的,2023年3月27日6时58分,14,数据举例,学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)数据的解释语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系,2023年3月27日6时58分,15,二、数据库(举例),2023年3月27日6时58分,16,二、数据库(续),人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的数据集合,?思考:数据库中存储的是什么,2023年3月27日6时58分,17,三、数据库管理系统(DBMS),定义数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一系列以统一的方式管理和维护数据库中数据的软件集合。,DBMS的用途科学地组织和存储数据、高效地获取和维护数据,2023年3月27日6时58分,18,四、数据库系统,什么是数据库系统数据库系统(Database System,简称DBS)是指在计算机系统中引入数据库后的系统。注在不引起混淆的情况下常常把数据库系统简称为数据库。数据库系统的构成由数据库、数据库管理系统、应用系统、数据库的软硬件支撑环境、数据库管理员和用户构成。,2023年3月27日6时58分,19,数据库系统(续),数据库系统构成图示,?思考:数据库、数据库管理系统、数据库系统之间的联系,负责数据库的建立、使用和维护的专门的人员。,2023年3月27日6时58分,20,五、数据库系统管理员,定义 数据库系统管理员是指专门从事数据库的设计、建立、管理、维护和协调各用户对数据库的要求等工作的人员。,2023年3月27日6时58分,21,1.1.3数据库系统的特点,特点数据结构化 与文件系统的根本区别传统文件系统中数据最小单位是:记录;而数据库系统中能细化到数据项文件系统中,记录内部有了某些结构,但记录之间没有联系;数据库系统不仅要描述数据本身,还要描述数据之间的联系,2023年3月27日6时58分,22,数据库系统的特点(续),数据的共享性高,冗余度低,易扩充数据面向整个系统减少数据的不一致性易于扩充,适应不同用户的需求,2023年3月27日6时58分,23,数据库系统的特点(续),数据独立性高物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。,2023年3月27日6时58分,24,数据库系统的特点(续),DBMS对数据统一管理和控制数据的安全性(Security)保护数据的完整性(Integrity)检查 数据完整性:数据的正确性、有效性和相容性。并发(Concurrency)控制数据库恢复(Recovery),2023年3月27日6时58分,25,应用程序与数据的对应关系(数据库系统),2023年3月27日6时58分,26,1.1.4数据库管理系统的功能,DBMS的用途数据组织、存储和管理 数据库中存放的数据有数据字典、用户数据、存取路径等数据定义功能 提供数据定义语言(DDL),2023年3月27日6时58分,27,数据操纵功能:提供数据操纵语言(DML)manipulation 操纵数据实现对数据库的基本操作(查询、插入、删除和修改)数据库的运行管理 保证数据的安全性、完整性,多用户对数据的并发使用,系统恢复,2023年3月27日6时58分,28,数据库的建立和维护功能(实用程序)数据输入、转换、转储、恢复、重组及性能监视、分析功能等数据通信接口,2023年3月27日6时58分,29,1.2 数据(库)模型,1.2.1常用数据(库)模型 1.2.2概念模型与E-R方法 1.2.3 常用数据模型,2023年3月27日6时58分,30,1.2数据模型,数据(库)模型是数据库系统的核心和基础在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟数据(库)模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现,2023年3月27日6时58分,31,数据模型(续),数据(库)模型分成两个不同的层次(1)概念模型 也称信息模型,它是按用户的观点来对数据和信息建模。(2)数据模型 主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。,2023年3月27日6时58分,32,数据模型(续),客观对象的抽象过程-两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。概念模型是现实世界到机器世界的一个中间层次。(信息世界的模型),2023年3月27日6时58分,33,1.2.2 概念模型与E-R方法,1.概念模型2.信息世界中的基本概念3.概念模型的表示方法,2023年3月27日6时58分,34,1.概念模型,概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解。,2023年3月27日6时58分,35,2.信息世界中的基本概念,(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。(3)码(Key)唯一标识实体的属性集称为码。,2023年3月27日6时58分,36,信息世界中的基本概念(续),(4)域(Domain)属性的取值范围称为该属性的域。(5)实体型(Entity Type)用实体名及其属性名集合来抽象和刻画同类实体称为实体型(6)实体集(Entity Set)同型实体的集合称为实体集,如:全体学生,2023年3月27日6时58分,37,信息世界中的基本概念(续),(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系 两个实体型 一对一联系(1:1)三个实体型 一对多联系(1:n)一个实体型 多对多联系(m:n),概念模型实例,学生,课程号 课程名 选课学生,120101 数据结构 200133102,120102 组成原理 200133104,选课,实体,属性,码,域(男,女),实体型,实体集,联系,2023年3月27日6时58分,39,3.概念模型的表示方法,概念模型的表示方法很多实体联系方法(E-R方法)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型,实体型用矩形表示,矩形框内写明实体名。例:,2023年3月27日6时58分,40,E-R图(续),属性用椭圆形表示,并用无向边将其与相应的实体连接起来,2023年3月27日6时58分,41,E-R图(续),联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,2023年3月27日6时58分,42,联系属性的表示方法,2023年3月27日6时58分,43,一对一,一对多,多对多,两个实体型间的联系,2023年3月27日6时58分,44,多个实体型间的联系(续),多个实体型间的一对多联系,2023年3月27日6时58分,45,多个实体型间的联系(续),多个实体型间的一对一联系,多个实体型间的多对多联系,2023年3月27日6时58分,46,同一实体集内各实体间的联系,一对多联系实例,一对一联系(自己举例)多对多联系(自己举例),E-R图实例物资管理,(1)仓库:属性有仓库号、面积、电话,(2)零件:属性有零件号、名称、规格、单价、描述,(3)供应商:属性有供应商号、姓名、地址、电话、帐号,(4)项目:属性有项目号、预算、开工日期,(5)职工:属性有职工号、姓名、出生日期、职称,E-R图实例物资管理,联系1:仓库和零件,实体:仓库、零件、供应商、项目、职工,联系2:仓库和职工,联系3:零件、供应商、项目,联系4:职工之间,返回,2023年3月27日6时58分,49,1.2.3 常用数据模型,非关系模型层次模型(Hierarchical Model)网状模型(Network Model),数据结构:以基本层次联系为基本单位 基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系,关系模型(Relational Model)数据结构:表*面向对象模型(Object Oriented Model)数据结构:对象,2023年3月27日6时58分,50,一、层次数据模型,R1是R2,R3的双亲结点,R2是R4,R5的双亲结点,2023年3月27日6时58分,51,层次数据模型的数据结构,层次模型(树型模型)满足下面两个条件的基本层次联系的集合为层次模型。1.有且只有一个结点没有双亲结点,这个结点称为根结点2.根以外的其它结点有且只有一个双亲结点层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点,2023年3月27日6时58分,52,层次数据模型的数据结构(续),表示方法 实体型:用记录类型描述。每个结点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录(类)型之间的一对多的联系(1:n),2023年3月27日6时58分,53,层次模型示例,层次模型就是以记录为接点、以记录之间的联系为边的有向树。,2023年3月27日6时58分,54,层次模型的优缺点,优点 数据模型比较简单,操作简单。对于实体间联系是固定的,且预先定义好的应用系统,性能较高。提供良好的完整性支持。缺点 只允许自顶向下的查询,查询复杂,耗时,从而增加程序编写调试的负担。对数据记录之间多对多、多对一的联系,时间冗余大。,2023年3月27日6时58分,55,二、网状数据模型,表示方法(与层次数据模型相同),2023年3月27日6时58分,56,网状数据模型的数据结构,网状模型满足下面两个条件的基本层次联系的集合为网状模型。1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。,网状模型是层次模型的一般形式。,2023年3月27日6时58分,57,网状数据模型的数据结构(续),2023年3月27日6时58分,58,网状模型的优缺点,优点能够更为直接地描述现实世界,具有良好的性能,存取效率较高缺点结构比较复杂,数据独立性差,DDL、DML语言复杂,用户不容易使用,2023年3月27日6时58分,59,三、关系模型,最重要的一种数据模型。也是目前主要采用的数据模型1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出本课程的重点,2023年3月27日6时58分,60,关系数据模型的数据结构,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。,2023年3月27日6时58分,61,关系模型的基本概念,关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,属性n)例:学生(学号,姓名,年龄,性别,系,年级),2023年3月27日6时58分,62,关系,关系模型中,通常把二维表称为关系。一个关系如果有k个属性则称为k元关系。关系的性质1)没有两个元组在各个属性上的值是完全相同的2)行的次序无关3)列的次序无关,2023年3月27日6时58分,63,三个世界中的同一意义,不同概念的对照,200133102 张强 男 计算机,200133102 张强 男 计算机200133103 李丽 女 计算机200133104 王新 男 计算机,学号,姓名,性别等,学生(学号,姓名,性别,专业),注:再不引起混淆的情况下我们通常把信息世界中的实体型简称为实体。,2023年3月27日6时58分,64,关系数据模型的数据结构(续),实体及实体间的联系的表示方法实体型:直接用关系(表)表示。属性:用属性名表示。一对一、一对多联系:隐含在实体对应的关系中。多对多联系:直接用关系表示。,例如:学生与课程之间的多对多的联系表示如下:学生(学号,姓名,年龄,性别,系和年级)课程(课程号,课程名,学分)选课(学号,课程号,成绩),系、系主任、系与系主任间的一对一联系,学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点),2023年3月27日6时58分,65,关系数据模型的数据结构(续),关系必须是规范化的,满足一定的规范条件最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。,非关系模型,2023年3月27日6时58分,66,4.关系模型的优缺点,优点:关系模型是建立在严格的关系代数的基础上的。概念单一,其数据结构简单、清晰。关系模型的存取路径对用户透明,从而具有更高的数据独立性,更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。缺点:由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化。,2023年3月27日6时58分,67,1.2.4 数据模型三要素,数据结构 即所研究的对象类型的集合。是对系统静态特性的描述。数据操作 即对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则。分检索和更新(包括插入、删除、修改)两类。是对系统动态特性的描述。,数据模型是严格定义的一组概念的集合,由数据结构、数据操作和完整性约束三部分组成。,2023年3月27日6时58分,68,数据模型的组成要素(续),数据的约束条件即一组完整性规则的集合。完整性规则用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。,2023年3月27日6时58分,69,200133102 张强 男 计算机,学号 姓名 性别 专业,数据结构(静态特性),200133103 李丽 女 计算机,200133104 王新 男 计算机,添加、删除、修改、查询,不填或内容不为“男”或“女”则不允许写入,数据模型实例,2023年3月27日6时58分,70,1.3数据库系统结构,1.3.1数据库系统的三级模式结构1.3.2 数据库的二级映像与数据独立性,2023年3月27日6时58分,71,1.3.1数据库系统的三级模式结构,2023年3月27日6时58分,72,1模式(Schema),模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境、具体的应用程序、开发工具及高级程序设计语言无关模式的定义包括:数据的逻辑结构、数据之间的联系、数据有关的安全性、完整性要求,2023年3月27日6时58分,73,2.外模式(External Schema),外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述数据库用户的数据视图,是与某一应用有关的数据的逻辑表示通常是模式的子集,一个数据库可以有多个外模式外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式与应用的关系:一对多外模式的用途:保证数据库安全性的一个有力措施。,2023年3月27日6时58分,74,3内模式(Internal Schema),内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式,例如:记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式,2023年3月27日6时58分,75,1.3.2数据库的二级映像与数据独立性,三级模式是对数据的三个抽象级别二级映像在DBMS内部实现这三个抽象层次的联系和转换,三级模式与二级映像,二级映象,2023年3月27日6时58分,77,外模式模式映像的用途,保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式模式映像,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。,2023年3月27日6时58分,78,模式内模式映像的用途,保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式内模式映像,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。,2023年3月27日6时58分,79,1.4 数据库系统的组成,硬件平台及数据库数据库管理系统应用系统(及其开发工具)数据库管理员(用户),数据库管理员系统分析员数据库设计人员应用程序员(最终用户),2023年3月27日6时58分,80,小结,数据库系统概述数据库的基本概念数据库系统的特点数据模型数据模型的三要素概念模型,E-R 模型三种主要数据模型,2023年3月27日6时58分,81,小结(续),数据库系统的结构数据库系统三级模式结构数据库系统的二级映象功能数据库系统的组成,