数据库系统原理教程83

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1教材:•王珊、陈红,《数据库系统原理教程》,清华大学出版社,2019参考书籍:•萨师煊、王珊,《数据库系统概论(第三版)》,高等教育出版社,2000•C.J.Date(孟小峰等译),《数据库系统导论》,机械工业出版社,2000数据库系统原理课程讲授的内容第一章绪论1.1引言1.2数据模型1.3数据库系统结构第二章关系数据库2.1关系数据库概述2.2关系数据结构2.3关系的完整性2.4关系代数2.5关系数据库管理系统第三章关系数据库标准语言SQL3.1SQL的数据定义3.2SQL的查询语句3.3SQL的更新语句3.4SQL的视图第四章关系数据库设计理论4.1数据依赖4.2范式(1NF,2NF,3NF,BCNF)4.3关系模式的规范化第五章数据库设计5.1数据库设计的步骤5.2需求分析5.3概念结构设计5.4逻辑结构设计5.5数据库物理设计31.1引言1.2数据模型1.3数据库系统结构第1章绪论4数据库是数据管理的最新技术,是计算机科学的重要分支数据库技术在信息化社会中的重要作用信息系统的核心和基础技术日益广泛的应用例如:管理信息系统(MIS)、联机事务处理(OLTP)、联机分析处理(OLAP)、计算机辅助设计与制造(CAD/CAM)、计算机集成制造系统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)…..and…Internet!!!数据库技术的重要地位51.1引言1.1.1数据、数据库、数据库管理系统、数据库系统数据(Data):描述事物的符号记录。数据与其语义是不可分的。数据库(DataBase,DB)长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。6数据库管理系统(DataBaseManagementSystem,DBMS)位于用户与操作系统之间的一层数据管理软件。主要功能包括以下几个方面:1.数据定义功能:数据定义语言(DataDefinitionLanguage,DDL)2.数据操纵功能:数据操纵语言(DataManipulationLanguage,DML)3.数据库的运行管理:统一管理、统—控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。4.数据库的建立和维护功能:数据库初始数据的输入、转换功能,重组织、性能监视、分析功能等7数据库系统(DataBaseSystem,DBS)指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。数据库管理员(DataBaseAdministrator,DBA)应用系统DB用户应用开发工具DBMSOS用户用户DBA图1数据库系统(DBS)图2数据库在计算机系统中的地位91.1.2数据管理技术的产生和发展数据库技术是应数据管理任务的需要而产生的。数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。数据管理则是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。数据管理技术经历了人工管理、文件系统、数据库系统三个阶段。10人工管理阶段(20世纪50年代中期以前)特点:(1)数据不保存(2)应用程序管理数据数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结构,包括存储结构、存取方法、输入方式等。因此程序员负相很重。(3)数据不共享数据是面向应用的,一组数据只能对应一个程序。(4)数据不具有独立性数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的修改。11应用程序1数据集1应用程序2数据集2应用程序n数据集n……图1-3人工管理阶段应用程序与数据之间的对应关系12文件系统阶段(50年代后期-60年代中期)特点:(1)数据可长期保存(2)由文件系统管理数据相互独立的数据文件;“按文件名访问,按记录进行存取”的管理技术;记录内的结构性而整体无结构;存取方法转换使应用程序与数据之间有了一定的独立性;数据在存储上的改变不一定反映在程序上。(3)数据共享性差,冗余度大文件仍然是面向应用的;数据的冗余度大;数据的修改和维护困难(4)数据独立性差不容易扩充;数据与程序之间仍缺乏独立性;是一个无弹性的无结构的数据集合。13应用程序1文件1应用程序2文件2应用程序n文件n……图1-4文件系统阶段应用程序与数据之间的对应关系存取方法14数据库系统阶段(60年代-)特点:(1)数据结构化数据结构化是数据库与文件系统的根本区别。文件系统中,尽管其记录内部已有了某些结构,但记录之间没有联系。数据的最小存取单位是记录。数据库系统实现整体数据的结构化,描述数据时不仅要描述数据本身,还要描述数据之间的联系。数据不再针对其一应用,是面向全组织,具有整体的结构化。数据的最小存取单位是数据项。学生记录格式示例主记录-详细记录格式示例(a)主记录-详细记录格式示例(b)面向组织(多个应用)的学生数据组织17(2)数据的共享性高,冗余度低,易扩充面向整个系统的数据库系统中的数据可以被多个用户、多个应用共享使用。共享导致数据冗余度低,同时可避免数据之间的不相容性与不一致性。容易增加新的应用,这就使得数据库系统弹性大,易于扩充。(3)数据独立性高物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的、用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。数据独立性是由DBMS的二级映象功能来保证的。18(4)数据由DBMS统一管理和控制数据库的共享是并发的(Concurrency)。DBMS还必须提供的数据控制功能:(1)数据的安全性(Security)(2)数据的完整性(Integrity)正确性、有效性和相容性(3)并发(Concurrency)控制(4)数据库恢复(Recovery)19应用程序1应用程序2…图1-5数据库管理阶段程序与数据的对应关系DBMS数据库20表1-1数据管理三个阶段的比较数据库系统的出现使信息系统从以加工数据的程序为中心转向围绕共享的数据库为中心的新阶段。211.1.3数据库技术的研究领域1.数据库管理系统软件的研制2.数据库设计3.数据库理论数据收集和数据库创建(20世纪60年代和更早)-原始文件处理数据库管理系统(70年代)-层次和网状数据库系统-关系数据库系统-数据建模工具:E-R模型等-索引和数据组织技术:B+树,Hash等-查询语言:SQL等-用户界面:表单、报告等-查询处理和查询优化-事务管理:恢复和并发控制等-联机事务处理(OLTP)数据库技术的演化数据仓库和数据挖掘(80年代后期-现在)-数据仓库和OLAP技术-数据挖掘和知识发现高级数据库系统(80年代中期-现在)-高级数据模型:扩充关系、面向对象、对象-关系、演绎-面向应用:空间的、时间的、多媒体的、主动的、科学的、知识库基于Web的数据库系统(90年代-现在)-基于XML的数据库系统-Web挖掘新一代综合信息系统(2000-…)24新一代数据库系统及其相互关系251.2数据模型(DataModel)•数据库技术的发展是沿着数据模型的主线展开的。•数据模型是现实世界数据特征的抽象。数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟。•数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。26根据应用的不同目的,数据模型划分为两类:概念模型(信息模型)按用户的观点来对数据和信息建模;主要用于数据库设计。数据模型按计算机系统的观点对数据建模;主要包括网状模型、层次模型、关系模型等,主要用于DBMS的实现。现实世界信息世界概念模型机器世界DBMS支持的数据模型转换认识抽象图1-10对象的抽象过程281.2.1数据模型的三个要素1.数据结构是所研究的对象类型的集合。•与数据类型、内容、性质有关的对象(例如网状模型中的数据项、记录,关系模型中的域、属性、关系等)。•与数据之间联系有关的对象(例如网状模型中的系型)。数据结构是对系统静态特性的描述。数据结构是刻画一个数据模型性质最重要的方面。292.数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则。•数据库主要有检索和更新(包括插入、删除、修改)两大类操作。•数据操作是对系统动态特性的描述3.数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。301.2.2概念模型概念模型是现实世界到机器世界的一个中间层次概念模型用于信息世界的建模应该具有较强的语义表达能力应该简单、清晰、易于用户理解。1.信息世界中的基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如:(94002268,张山,男,1976,计算机系,1994)(3)码(Key)唯一标识实体的属性集称为码。(4)域(Domain)属性的取值范围称为该属性的域。例如,学号的域为8位整数,姓名的域为字符串集合,年龄的域为小于38的整数,性别的域为(男,女)。(5)实体型(EntityType)用实体名及其属性集合来抽象和刻画同类实体,称为实体型。学生(学号,姓名,出生年份,系,入学时间)(6)实体集(EntitySet)同型实体的集合称为实体集。(7)联系(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。两个实体型之间的联系可以分为三类:•一对一联系(1:1),如“班级-班长”•一对多联系(1:n),如“班级-学生”•多对多联系(m:n),如“课程-学生”实体型A实体型B实体型B实体型A实体型A实体型B联系名联系名联系名两个实体型之间的三类联系11mnn11:1联系1:n联系m:n联系35多个实体型之间的联系也可以分为三类:•一对一联系(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)例如:“供应商、项目和零件”36同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。职工领导1n372.概念模型的表示方法实体-联系方法(Entity-Relationshipapproach)由P.P.S.Chen于1976年提出•实体型-矩形•属性-椭圆形•联系-菱形工厂物资管理E-R图391.2.2数据模型数据库领域中最常用的数据模型有四种层次模型(HierarchicalModel),如IBM的IMS系统网状模型(NetworkModel),如DBTG系统关系模型(RelationalModel),如Oracle,Sybase面向对象模型(ObjectOrientedModel)401.3数据库系统结构数据库系统结构的两种考察角度•从数据库管理系统角度看,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构。•从数据库最终用户角度看,数据库系统的结构分为集中式结构(又可有单用户结构、主从式结构)、分布式结构、客户/服务器

1 / 52
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功