数据库原理与开发第1章_第1页
数据库原理与开发第1章_第2页
数据库原理与开发第1章_第3页
数据库原理与开发第1章_第4页
数据库原理与开发第1章_第5页
已阅读5页,还剩115页未读 继续免费阅读

下载本文档

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

文档简介

课程名称:

数据库系统原理与开发

课时:32

上机:36

学分:3

教材及参考书教材赵明砚,单世民,赵凤强:数据库系统原理与开发,人民邮电出版社,2008教材及参考书(2)参考书王珊,萨师煊:数据库系统概论(第四版),高等教育出版社,2006上机软件SQLServer2005学习方式听课(启发式、讨论式)读书(预习、复习)报告考试成绩平时成绩(40%)期末考试(60%)内容安排(1)基础篇第一章:数据库系统概述第二章:关系数据库理论第三章:关系模型数据操作标准语言第四章:数据库的物理存储第五章:数据库设计第六章:关系数据库管理系统应用篇第七章:SQLServer2005应用基础内容安排(2)第八章:存储过程及触发器第九章:数据库安全性管理第十章:数据恢复与数据转移实战篇第十一章:数据库访问第十二章:.NET2005与SQLServer2005数据库系统开发实例第一章数据库系统概述1.1数据管理的形成和发展1.2数据库系统的基本概念1.3数据库系统结构1.4数据库开发人员及研究领域1.5小结数据库的地位数据库技术产生于六十年代末,是数据管理的最新技术,是计算机科学的重要分支数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志数据管理对数据进行分类、组织、编码、存储、检索和维护数据管理技术的发展过程人工管理阶段(40年代中--50年代中)文件系统阶段(50年代末--60年代中)数据库系统阶段(60年代末--现在)1.1数据管理的形成和发展数据管理技术的产生和发展(续)数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展一、人工管理时期40年代中--50年代中产生的背景应用需求 科学计算 硬件水平 无直接存取存储设备 软件水平 没有操作系统 处理方式 批处理 人工管理(续)特点数据不保存数据的无共享、冗余度大数据不独立,完全依赖于程序数据无结构应用程序自己控制数据应用程序与数据的对应关系(人工管理)

应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…二、文件系统时期50年代末--60年代中产生的背景应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理

文件系统(续)特点数据可长期保存数据共享共享性差、冗余度大数据记录内有结构,整体无结构数据独立性差,数据的逻辑结构改变必须修改应用程序应用程序自己控制数据应用程序与数据的对应关系(文件系统)应用程序1文件1应用程序2文件2应用程序n文件n存取方法...…...…三、数据库系统时期60年代末以来产生的背景应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 有数据库管理系统 处理方式 联机实时处理,分布处理,批处理 数据库系统(续)特点DBMS管理数据 数据的共享程度高 数据高度的物理独立性和一定的逻辑独立 数据整体结构化由DBMS统一管理和控制数据能实现并发操作数据有安全保护机制应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库…数据的高共享性的好处降低数据的冗余度,节省存储空间避免数据间的不一致性使系统易于扩充数据独立性物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。数据结构化整体数据的结构化是数据库的主要特征之一。数据库中实现的是数据的真正结构化数据的结构用数据模型描述,无需程序定义和解释。数据可以变长。数据的最小存取单位是数据项。DBMS对数据的控制功能数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。DBMS对数据的控制功能并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。第一章数据库系统概述1.1数据管理的形成和发展1.2数据库系统的基本概念1.3数据库系统结构1.4数据库开发人员及研究领域1.5小结1.2数据库系统的基本概念

1.2.1信息及信息模型

1.2.2数据及数据模型

1.2.3数据库、数据库管理系统及数据库系统1.2.1信息及信息模型信息(1)“姚明身高为2.29m。”(2)“在对小牛的比赛中姚明得到19分,8个篮板。”信息是数据在人脑中的反映。数据来源于现实世界,因此信息是人脑对现实世界的反映,当然它的物理介质是人脑,没有人脑就没有信息,数据是人脑对现实世界的抽象1.2.1信息及信息模型(续)模型:汽车模型、飞机模型模型是现实世界物体特征的模拟,是对现实世界物体的抽象。信息模型信息模型(DataModel)也是一种模型,它是现实世界信息特征的抽象。信息模型也称为概念模型,是现实世界到计算机世界的一个中间层次,是人脑对现实世界的理解。是对描述现实世界的信息进行建模,它是向计算机世界转化的第一步,是表达现实世界构成特征的重要工具。是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。2.信息模型中的基本概念

(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。

(3)码(Key)唯一标识实体的属性集称为码。

信息模型中的基本概念(续)(4)域(Domain)属性的取值范围称为该属性的域。信息世界中的基本概念(续)(5)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系实体型间联系两个实体型一对一联系(1:1)三个实体型一对多联系(1:n)一个实体型多对多联系(m:n)

两个实体型间的联系一对一联系如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。

实例班级与班长之间的联系:一个班级只有一个正班长一个班长只在一个班中任职两个实体型间的联系(续)一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系记为1:n实例班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习两个实体型间的联系(续)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n实例课程与学生之间的联系:一门课程同时有若干个学生选修一个学生可以同时选修多门课程多个实体型间的联系(续)实例

课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的多个实体型间的一对一联系多个实体型间的多对多联系同一实体集内各实体间的联系一对多联系实例

职工实体集内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工一个职工仅被另外一个职工直接领导这是一对多的联系一对一联系多对多联系3.概念模型的表示方法信息模型是一系列图形规则的总称通常用P.P.S.Chen于1976年提出的实体—联系方法(Entity-RelationshipApproach,E-R方法)来建立信息模型。该方法用E-R图来描述现实世界的概念模型,因此E-R方法也称为E-R模型。这种方法得到了广泛的应用,也是描述信息模型最常用的方法。E-R图实体型用矩形表示,矩形框内写明实体名。学生教师E-R图(续)属性用椭圆形表示,并用无向边将其与相应的实体连接起来学生学号年龄性别姓名E-R图(续)联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来

联系的表示方法实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系联系的表示方法(续)实体型1联系名mn同一实体型内部的m:n联系实体型1联系名实体型21m多个实体型间的1:n联系实体型3n联系的表示方法示例班级班级-班长班长111:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系联系的表示方法示例(续)职工领导1n同一实体型内部的1:n联系课程讲授教师1m多个实体型间的1:n联系参考书nE-R图示例联系属性的表示方法课程选修学生mn成绩1.2数据库系统的基本概念

1.2.1信息及信息模型

1.2.2数据及数据模型

1.2.3数据库、数据库管理系统及数据库系统1.2.2数据与数据模型数据数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录数据的种类文字、图形、图象、声音数据的特点数据一定是来自现实世界的,没有现实世界也就没有数据。数据与其语义是不可分的数据举例学生档案中的学生记录(王强,200803004,男,1989,软件学院,电子政务)数据的形式不能完全表达其内容数据的解释语义:学生姓名、学号、性别、出生年、所在系别、专业解释:王强是个大学生,1989年出生,软件学院,电子政务专业的学生请给出另一个解释和语义1.2.2数据与数据模型(续)数据模型与信息模型相比,数据模型是信息模型的转化,它解决计算机如何描述现实世界的问题,通俗地讲,数据模型就是现实世界在计算机上的模拟。数据模型是数据库的核心和基础,用数据模型这个工具来抽象、表示和处理现实世界中的数据。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现数据模型模拟现实世界的过程数据模型的分类数据模型主要包括网状模型(NetworkModel)层次模型(HierarchicalModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)数据模型的分类(续)其中层次模型和网状模型统称为非关系模型。应用层次模型和网状模型所创建的数据库系统称为第一代数据库系统。非关系模型的数据库系统在20世纪70年代至80年代初非常流行,现在已逐渐被关系模型的数据库系统取代。应用关系模型的数据库系统称为第二代数据库系统。数据模型的分类(续)应用面向对象数据模型的数据库系统称为第三代数据库系统。第一代数据库系统、第二代数据库系统、第三代数据库系统形成了数据库技术的三个发展阶段。数据模型的描述数据模型由系统的静态特性、动态特性和完整性约束条件等3方面来描述。因此数据模型由数据结构、数据操作和完整性约束3个要素组成数据模型的组成要素数据结构数据操作数据的完整性约束

1.数据结构什么是数据结构所描述应用领域的所有实体及联系的集合两类对象与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述

2.数据操作数据操作指对数据库中各种数据执行的查询、修改、删除、插入等操作的总称,包括相关的操作规则数据操作的类型检索更新(包括插入、删除、修改)数据操作(续)数据操作反映的是应用领域的数据流动,它是应用领域另外一个重要特性的体现。现实世界不仅是相互联系的,而且也是运动着的,同样数据不仅是相互联系的,而且也是运动着的。数据操作是对系统动态特性的描述。

3.数据的完整性约束

数据的完整性约束现实世界是有限世界与无限世界的结合体,为了保证现实世界的完整性,必须要对数据按照现实世界的语义进行约束,这就是完整性规则。完整性约束是现实世界语义的体现,它描述了数据模型中数据及其联系所具有的制约和依存规则,用以保证数据模型与现实世界相符,从而保证数据的正确、有效、相容。数据模型的约束数据结构、数据操作和完整性约束条件3个方面的内容完整地描述了一个数据模型,其中数据结构与数据操作是数据模型最本质的方面1.2数据库系统的基本概念

1.2.1信息及信息模型

1.2.2数据及数据模型

1.2.3数据库、数据库管理系统及数据库系统1.2.3数据库、数据库管理系统及数据库系统数据库数据库管理系统数据库系统数据库人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息数据库的定义是指在长期存储的计算机上,按照一定的数据模型组织起来的、可共享的大量数据集合。数据库的物理结构和逻辑结构数据库有物理结构和逻辑结构。数据库的物理结构指的是在硬盘上的存储结构。逻辑结构是指通过使用专门的软件系统(数据库管理系统)所看到的数据库结构。关系模型的逻辑结构——二维表数据库(续)数据库的特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展数据库管理系统数据库管理系统(DBMS)数据库管理系统是一个数据管理软件,它是位于用户和操作系统之间的一层数据管理软件,数据库的很多特性需要数据库管理系统来保障实现。DBMS的用途科学地组织和存储数据、高效地获取和维护数据DBMS的主要功能数据定义功能

提供数据定义语言(DDL)

定义数据库中的数据对象数据操纵功能:提供数据操纵语言(DML)

操纵数据实现对数据库的基本操作

(查询、插入、删除和修改)DBMS的主要功能数据库的运行管理

保证数据的安全性、完整性、多用户对数据的并发使用发生故障后的系统恢复数据库的建立和维护功能(实用程序)

数据库数据批量装载数据库转储介质故障恢复数据库的重组织性能监视等数据库系统什么是数据库系统数据库系统是指引入数据库后的计算机系统,它是一个统称,包括数据库、数据库管理系统、应用系统、数据管理员和用户。

数据库系统的构成由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。数据库系统(续)数据库系统在计算机系统中的位置图示第一章数据库系统概述1.1数据管理的形成和发展1.2数据库系统的基本概念1.3数据库系统结构1.4数据库开发人员及研究领域1.5小结1.3数据库系统结构

1.3.1数据库系统物理结构

1.3.2数据库系统逻辑结构1.3.1数据库系统的物理结构数据库系统的物理结构是指数据库系统的存储结构。数据库系统的物理结构通常采用三级模式结构;这也是数据库管理系统的内部存储结构1.3.1数据库系统的物理结构数据库系统的物理结构是面向数据库管理系统来说的,虽然实际的数据库管理系统产品种类很多,建立在不同的操作系统之上,数据的存储结构也各不相同,但大多数在整体层次上具有相同的特征,即采用三级模式结构并提供两级映像功能。数据库系统的三级模式结构是指数据库系统是由内模式、模式、外模式三级构成。数据库系统的三级模式结构1.内模式内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的组织方式数据是否压缩存储数据是否加密数据存储记录结构的规定一个数据库只有一个内模式2.模式模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关在关系模式中用“表”来表示实体的逻辑数据结构,用来描述某一应用领域的所有“表”的集合便是一个模式关系模式举例3.外模式(ExternalSchema)外模式(也称子模式或用户模式)外模式是面向应用的,是为了某一应用功能而建立起来的逻辑视图。数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述外模式(续)外模式的地位:介于模式与应用之间模式与外模式的关系:一对多外模式通常是模式的子集一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。外模式是实现数据库物理和逻辑独立性的重要应用应用程序是依据数据的外模式编写的,当数据库的物理结构和逻辑结构改变时,只要外模式不变,应用程序就不用改变。一个数据库可以有多个外模式。外模式也是保证数据库安全性的一个有力措施。每个用户只能浏览、访问和操作所对应的外模式定义的数据,数据库中的其余数据是不可见的。4.二级映象无论是外模式还是模式的应用都最终对应到内模式上的物理数据。当通过应用系统查询数据时,应用系统调用外模式,去查找模式中的某一数据,而模式是逻辑上的,对它的查询最终要反映到对物理硬盘上的查询,如果我们能够顺利地找到数据,就必须在DBMS上建立:外模式与模式之间以及模式与内模式之间的映像关系。这就是数据库的两级映像。二级映象在DBMS内部实现这三个抽象层次的联系和转换数据库系统的三级模式结构1.外模式/模式映象定义外模式与模式之间的对应关系每一个外模式都对应一个外模式/模式映象映象定义通常包含在各自外模式的描述中外模式/模式映象的用途保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。2.模式/内模式映象模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的数据库中模式/内模式映象是唯一的该映象定义通常包含在模式描述中模式/内模式映象的用途保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。小结数据库的内模式不需要数据库设计人员进行设计,因为不同的DBMS已经定义好了各自的内模式,数据库的模式设计好了以后由DBMS自动按照该DBMS定义好的内模式进行存储。因此数据库的内模式依赖于它的模式,但独立于数据库外模式,也独立于具体的存储介质。数据库的外模式面向具体的应用程序,需要根据用户的需求来进行设计,它定义在模式之上,但独立于内模式和存储介质。当用户需求发生变化,相应外模式不能满足应用要求时,需要对外模式做相应改动,所以设计外模式时应充分考虑到应用的扩展性。应用程序依赖于特定的外模式,独立于数据库的模式和内模式。不同的应用程序可以共用同一个外模式。1.3数据库系统结构

1.3.1数据库系统物理结构

1.3.2数据库系统逻辑结构1.3.2数据库系统的逻辑结构单用户结构主从式结构分布式结构客户/服务器结构浏览器/应用服务器/数据库服务器结构1.单用户数据库系统整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统2.主从式结构的数据库系统一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成各个用户通过主机的终端并发地存取数据库,共享数据资源目前主流的数据库系统的主从结构主要采用两层或三层的C/S(Client/Server)、B/S(Browser/Server)结构C/S结构C/S结构,即客户/服务器结构,最初的C/S结构是一种两层结构的系统:第一层是在客户机系统上结合了表示与业务逻辑;第二层是通过网络结合了业务逻辑与数据库服务器,通过将任务合理分配到Client端和Server端,降低了系统的通信开销,可以充分利用两端硬件环境的优势。早期的软件系统多以此作为首选设计标准。但是此种结构要求为客户机安装特定的应用程序,因此不易维护;并且在客户机端除了表示以外还要计算业务逻辑,因此客户机负担较重,系统不易扩展。B/S结构B/S结构,即浏览/服务器结构,最初的B/S结构是一种两层结构的系统:第一层是在客户机系统上仅运行浏览器,也就是在客户机系统上只有表示而没有业务逻辑;第二层是通过网络结合了业务逻辑与数据库服务器,客户机只发送请求到服务器,服务器运算后将结果反馈给客户机,减轻了客户机的负担,而且不需要在客户端定制安装应用程序,应用改变只需要改变服务器程序,因此使用简单、容易维护;近年来得到广泛应用,但系统的通信开销较大,对服务器端的硬件要求较高。多层结构随着信息化、网络化进程的深化,数据库的容量越来越大,访问量以及业务逻辑不断增加,传统的两层结构已经不能够满足需求,为解决这一问题人们在常规的两层C/S基础上提出多层C/S、B/S结构,它是在客户机和数据库服务器间添加一个应用服务器,在实际运行时客户机连接应用服务器,应用服务器同数据库服务器进行通信,客户机和数据库之间没有通信联系。在这种情况下,业务逻辑规则被放置在中间层应用服务器上,如此一来在改变业务规则的时候就不会影响到客户端的程序及数据库,并且在业务逻辑增加的时候也可以扩展应用服务器,这样使系统具备更好的扩展性及跨平台性。多层结构目前应用服务器得到了业界的认可,并制定了相关的标准,这就是WebService(Web服务),其上执行的是XML(ExtentsibleMarkupLanguage,可扩展的标记语言)标准。三层结构的优点(1)允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。(2)三层结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。使之能并行而且高效地进行开发,达到较高的性能价格比,对每一层的处理逻辑的开发和维护也会更容易些。(3)允许充分利用功能层,有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段非法访问数据层,这就为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理。3.分布式结构的数据库系统数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据

温馨提示

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

评论

0/150

提交评论