数据库系统原理_第1页
数据库系统原理_第2页
数据库系统原理_第3页
数据库系统原理_第4页
数据库系统原理_第5页
已阅读5页,还剩46页未读, 继续免费阅读

下载本文档

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

文档简介

数据库系统原理第一页,共五十一页,2022年,8月28日课程讲授的内容

第一章绪论1.1

引言1.2

数据模型1.3数据库系统结构第二章

关系数据库2.1

关系数据库概述2.2

关系数据结构2.3

关系的完整性2.4

关系代数2.5

关系数据库管理系统第三章

关系数据库标准语言SQL3.1

SQL的数据定义3.2

SQL的查询语句3.3

SQL的更新语句3.4

SQL的视图第四章

关系数据库设计理论4.1

数据依赖4.2

范式(1NF,2NF,3NF,BCNF)4.3

关系模式的规范化第五章

数据库设计5.1

数据库设计的步骤5.2

需求分析5.3

概念结构设计5.4

逻辑结构设计5.5

数据库物理设计第二页,共五十一页,2022年,8月28日

1.1

引言1.2

数据模型1.3数据库系统结构第1章绪论3第三页,共五十一页,2022年,8月28日数据库是数据管理的最新技术,是计算机科学的重要分支数据库技术在信息化社会中的重要作用

信息系统的核心和基础技术日益广泛的应用例如:管理信息系统(MIS)、联机事务处理(OLTP)、联机分析处理(OLAP)、计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)…..and…Internet!!!数据库技术的重要地位4第四页,共五十一页,2022年,8月28日1.1

引言1.1.1数据、数据库、数据库管理系统、数据库系统

数据(Data):

描述事物的符号记录。数据与其语义是不可分的。

数据库(DataBase,DB)

长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。5第五页,共五十一页,2022年,8月28日数据库管理系统(DataBaseManagementSystem,DBMS)

位于用户与操作系统之间的一层数据管理软件。主要功能包括以下几个方面:1.数据定义功能:数据定义语言(DataDefinitionLanguage,DDL)2.数据操纵功能:数据操纵语言(DataManipulationLanguage,DML)3.数据库的运行管理:

统一管理、统—控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。4.数据库的建立和维护功能:数据库初始数据的输入、转换功能,重组织、性能监视、分析功能等6第六页,共五十一页,2022年,8月28日数据库系统(DataBaseSystem,DBS)指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库管理员(DataBaseAdministrator,DBA)

7第七页,共五十一页,2022年,8月28日应用系统DB用户应用开发工具DBMSOS用户用户DBA图1数据库系统(DBS)图2

数据库在计算机系统中的地位第八页,共五十一页,2022年,8月28日1.1.2

数据管理技术的产生和发展数据库技术是应数据管理任务的需要而产生的。数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。9第九页,共五十一页,2022年,8月28日人工管理阶段(20世纪50年代中期以前)特点:

(1)数据不保存(2)应用程序管理数据数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负相很重。(3)数据不共享数据是面向应用的,一组数据只能对应一个程序。(4)数据不具有独立性数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。10第十页,共五十一页,2022年,8月28日应用程序1数据集1应用程序2数据集2应用程序n数据集n……图1-3人工管理阶段应用程序与数据之间的对应关系11第十一页,共五十一页,2022年,8月28日文件系统阶段(50年代后期-60年代中期)特点:

(1)数据可长期保存(2)由文件系统管理数据相互独立的数据文件;“按文件名访问,按记录进行存取”的管理技术;记录内的结构性而整体无结构;存取方法转换使应用程序与数据之间有了一定的独立性;数据在存储上的改变不一定反映在程序上。(3)数据共享性差,冗余度大文件仍然是面向应用的;数据的冗余度大;数据的修改和维护困难

(4)数据独立性差不容易扩充;数据与程序之间仍缺乏独立性;是一个无弹性的无结构的数据集合。12第十二页,共五十一页,2022年,8月28日应用程序1文件1应用程序2文件2应用程序n文件n……图1-4文件系统阶段应用程序与数据之间的对应关系存取方法13第十三页,共五十一页,2022年,8月28日数据库系统阶段(60年代-)特点:

(1)数据结构化

数据结构化是数据库与文件系统的根本区别。

文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。数据的最小存取单位是记录。数据库系统实现整体数据的结构化,描述数据时不仅要描述数据本身,还要描述数据之间的联系。数据不再针对其一应用,是面向全组织,具有整体的结构化。数据的最小存取单位是数据项。14第十四页,共五十一页,2022年,8月28日学生记录格式示例主记录-详细记录格式示例(a)第十五页,共五十一页,2022年,8月28日主记录-详细记录格式示例(b)面向组织(多个应用)的学生数据组织第十六页,共五十一页,2022年,8月28日(2)数据的共享性高,冗余度低,易扩充面向整个系统的数据库系统中的数据可以被多个用户、多个应用共享使用。共享导致数据冗余度低,同时可避免数据之间的不相容性与不一致性。容易增加新的应用,这就使得数据库系统弹性大,易于扩充。(3)数据独立性高

物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的、用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。

数据独立性是由DBMS的二级映象功能来保证的。17第十七页,共五十一页,2022年,8月28日(4)数据由DBMS统一管理和控制

数据库的共享是并发的(Concurrency)。

DBMS还必须提供的数据控制功能:

(1)数据的安全性(Security)(2)数据的完整性(Integrity)

正确性、有效性和相容性(3)并发(Concurrency)控制(4)数据库恢复(Recovery)18第十八页,共五十一页,2022年,8月28日应用程序1应用程序2…图1-5数据库管理阶段程序与数据的对应关系DBMS

数据库19第十九页,共五十一页,2022年,8月28日表1-1数据管理三个阶段的比较数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。20第二十页,共五十一页,2022年,8月28日1.1.3

数据库技术的研究领域1.数据库管理系统软件的研制2.数据库设计3.数据库理论21第二十一页,共五十一页,2022年,8月28日数据收集和数据库创建(20世纪60年代和更早)-原始文件处理数据库管理系统(70年代)-层次和网状数据库系统-关系数据库系统-数据建模工具:E-R模型等-索引和数据组织技术:B+树,Hash等-查询语言:SQL等-用户界面:表单、报告等-查询处理和查询优化-事务管理:恢复和并发控制等-联机事务处理(OLTP)数据库技术的演化第二十二页,共五十一页,2022年,8月28日数据仓库和数据挖掘(80年代后期-现在)-数据仓库和OLAP技术-数据挖掘和知识发现高级数据库系统(80年代中期-现在)-高级数据模型:

扩充关系、面向对象、对象-关系、演绎-面向应用:

空间的、时间的、多媒体的、主动的、科学的、知识库基于Web的数据库系统(90年代-现在)-基于XML的数据库系统-Web挖掘新一代综合信息系统(2000-…)第二十三页,共五十一页,2022年,8月28日新一代数据库系统及其相互关系24第二十四页,共五十一页,2022年,8月28日1.2

数据模型(DataModel)数据库技术的发展是沿着数据模型的主线展开的。数据模型是现实世界数据特征的抽象。

数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。25第二十五页,共五十一页,2022年,8月28日根据应用的不同目的,数据模型划分为两类:概念模型(信息模型)

按用户的观点来对数据和信息建模;主要用于数据库设计。数据模型

按计算机系统的观点对数据建模;主要包括网状模型、层次模型、关系模型等,主要用于DBMS的实现。

26第二十六页,共五十一页,2022年,8月28日现实世界

信息世界概念模型机器世界DBMS支持的数据模型转换认识抽象图1-10对象的抽象过程第二十七页,共五十一页,2022年,8月28日1.2.1数据模型的三个要素1.

数据结构

是所研究的对象类型的集合。

与数据类型、内容、性质有关的对象(例如网状模型中的数据项、记录,关系模型中的域、属性、关系等)。与数据之间联系有关的对象(例如网状模型中的系型)。数据结构是对系统静态特性的描述。数据结构是刻画一个数据模型性质最重要的方面。

28第二十八页,共五十一页,2022年,8月28日

2.数据操作

是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据操作是对系统动态特性的描述3.数据的约束条件

是一组完整性规则的集合。

完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。29第二十九页,共五十一页,2022年,8月28日1.2.2概念模型概念模型是现实世界到机器世界的一个中间层次概念模型用于信息世界的建模应该具有较强的语义表达能力应该简单、清晰、易于用户理解。

30第三十页,共五十一页,2022年,8月28日1.

信息世界中的基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如:(94002268,张山,男,1976,计算机系,1994)(3)码(Key)唯一标识实体的属性集称为码。

第三十一页,共五十一页,2022年,8月28日(4)域(Domain)属性的取值范围称为该属性的域。例如,学号的域为8位整数,姓名的域为字符串集合,年龄的域为小于38的整数,性别的域为(男,女)。(5)实体型(EntityType)用实体名及其属性集合来抽象和刻画同类实体,称为实体型。

学生(学号,姓名,出生年份,系,入学时间)(6)实体集(EntitySet)同型实体的集合称为实体集。第三十二页,共五十一页,2022年,8月28日(7)联系(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。两个实体型之间的联系可以分为三类:一对一联系(1:1),如“班级-班长”一对多联系(1:n),如“班级-学生”多对多联系(m:n),如“课程-学生”第三十三页,共五十一页,2022年,8月28日实体型A实体型B实体型B实体型A实体型A实体型B联系名联系名联系名两个实体型之间的三类联系11mnn11:1联系1:n联系m:n联系第三十四页,共五十一页,2022年,8月28日

多个实体型之间的联系也可以分为三类:一对一联系(1:1)一对多联系(1:n)若实体集E1,E2,…,En存在联系,对于实体集Ej(j=1,2,…,i-1,i+1,…,n)中的给定实体,最多只和Ei中的一个实体相联系,则说Ei与E1,E2,…,Ei-1,Ei+1,En之间的联系是一对多的。多对多联系(m:n)

例如:“供应商、项目和零件”35第三十五页,共五十一页,2022年,8月28日

同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。职工领导1n36第三十六页,共五十一页,2022年,8月28日

2.概念模型的表示方法

实体-联系方法(Entity-Relationshipapproach)由P.P.S.Chen于1976年提出

实体型-矩形属性-椭圆形联系-菱形

37第三十七页,共五十一页,2022年,8月28日

工厂物资管理E-R图第三十八页,共五十一页,2022年,8月28日1.2.2数据模型

数据库领域中最常用的数据模型有四种层次模型(HierarchicalModel),如IBM的IMS系统网状模型(NetworkModel),如DBTG系统关系模型(RelationalModel),如Oracle,Sybase面向对象模型(ObjectOrientedModel)39第三十九页,共五十一页,2022年,8月28日1.3

数据库系统结构数据库系统结构的两种考察角度从数据库管理系统角度看,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构。从数据库最终用户角度看,数据库系统的结构分为集中式结构(又可有单用户结构、主从式结构)、分布式结构、客户/服务器结构和并行结构。这是数据库系统外部的体系结构。40第四十页,共五十一页,2022年,8月28日1.3.1数据库系统模式的概念

“型”(Type)和“值”(Value)

型是指一类数据的结构和属性的说明,值是型的一个具体赋值。

例:记录型(学号,姓名,性别,系别,年龄,籍贯)记录值(90020l,李明,男,计算机,22,江苏)

41第四十一页,共五十一页,2022年,8月28日模式(schema):是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例(instance)。同一个模式可以有很多实例;模式是相对稳定的,而实例是相对变动的;模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。不同的DBMS在体系结构上通常都具有相同的特征,即采用三级模式结构并提供两级映象功能。42第四十二页,共五十一页,2022年,8月28日1.3.2数据库系统的三级模式结构模式(Schema)

也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。它是数据库系统模式结构的中间层模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。数据库模式以某一种数据模型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。模式定义包括数据的逻辑结构定义、数据之间的联系定义以及安全性、完整性要求的定义。

DBMS提供模式定义语言(模式DDL)来严格地定义模式。43第四十三页,共五十一页,2022年,8月28日2)外模式(ExternalSchema)

也称子模式(Subshema)或用户模式,它是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,

是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集。一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。

DBMS提供子模式定义语言(子模式DDL)来严格地定义子模式。44第四十四页,共五十一页,2022年,8月28日3)内模式(InternalSchema)也称存储模式(Storageschema),一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。DBMS提供内模式描述语言(内模式DDL,或者存储模式DDL)来严格地定义内模式。45第四十五页,共五十一页,2022年,8月28日应用A应用B应用C应用C外模式2外模式1外模式3模式内模式DB1

温馨提示

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

评论

0/150

提交评论