版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统原理计算机科学与技术学院生活中的应用系统购物数据库系统原理银行数据库系统原理生活中的应用系统学校数据库系统原理生活中的应用系统医院数据库系统原理生活中的应用系统应用系统的共同特征对大量数据进行有效组织、存储;具有数据输入、输出、检索、存储的功能
输入输出数据存储
管理如何实现这些功能呢?数据库系统原理在使用中需解决以下问题如何描述数据?如何组织数据?如何存取这些数据?应用程序如何访问这些数据?如何分析数据和发现数据价值?如何提高大量数据的访问效率?哪些人可以操作哪些数据?多人如何同时操作同一数据?出现故障怎么办?数据库系统原理问题的解决方案需要解决的问题对应的解决方案如何描述数据?关系数据模型(E-R模型)如何组织数据?数据库模式设计、规范化理论如何存取这些数据?关系代数、SQL应用程序如何访问这些数据?数据库开发技术如何分析数据和发现数据价值?数据仓库和数据挖掘如何提高大量数据的访问效率?数据库优化技术哪些人可以操作哪些数据?安全控制多人如何同时操作同一数据?并发控制出现故障怎么办?数据恢复数据库系统原理
内容安排
关系系统的查询优化4数据库概论1
SQL语言3
关系模型和关系运算
关系数据库的规范化理论256
数据库设计7
数据库恢复技术数据库并发控制89数据库的安全性与完整性
教材《数据库系统与应用》
——高等学校“十二五”规划教材赵文涛主编出版社:中国矿业大学出版社,2012年数据库系统原理
参考书萨师煊、王珊,数据库系统概论(第四版),高等教育出版社,2006H.F.Korth,A.Silberschatz,DatabaseSystemConcepts(Ed.4),McGraw-Hill,1999 中译本:数据库系统概念(第三版),杨冬青、唐世渭,机械工业出版社,2000数据库应用技术——SQLServer2005基础篇,张蒲生,机械工业出版社,2010SQLServer2005数据库技术,蒋秀英等,清华大学出版社,2010上机实验安排软件N1213-16周:周一上午第二大节606610周四上午第二大节606610软件J1213-16周:周一上午第二大节605周四上午第二大节605
第一章数据库概论学习目标:掌握数据库的基本概念,了解数据库发挥的重要作用,对数据库技术有初步的认识。学习重点:
数据库的基本概念数据模型的概念及类型数据库系统的三级模式结构
本章内容1.1数据库系统概述1.2数据描述1.3数据模型1.4数据库系统结构1.5数据库系统的组成1.6数据库技术的研究领域1.7当前流行的大型数据库产品简介
第一章数据库概论1.1数据库系统概述1.2数据描述1.3数据模型1.4数据库系统结构1.5数据库系统的组成1.6数据库技术的研究领域1.7当前流行的大型数据库产品简介数据库技术是计算机科学的重要分支数据库技术是信息系统的核心和基础,它的出现极大地促进了计算机应用向各行各业的渗透数据库的建设规模、数据库信息量的大小和使用频度已成为衡量一个国家信息化程度的重要标志
第一节数据库系统概述一、基本概念数据数据库数据库管理系统数据库系统
(一)数据数据(Data)是数据库中存储的基本对象数据的定义描述事物的符号记录存储在某一种媒体上能够识别的物理符号
数据的种类数字、文字、图形、图象、声音数据的形式不能完全表达其内容数据与其语义是不可分的
数据举例数据是对现实世界的描述日常生活中常用自然语言描述计算机中将人们对事物感兴趣的特征组成一个记录来描述学生档案中的学生记录(李明,男,1972,江苏,计算机系,1990)数据的解释语义:学生姓名、性别、出生年月、籍贯、所在系别、入学时间解释:李明是个大学生,1972年出生,江苏人,1990年考入计算机系(二)数据库人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息。数据库的定义数据库(Database,简称DB)是长期储存在计算机内、有组织的、可以表现为多种形式的可共享的大量数据集合。
数据库(续)数据库的特征数据按一定的数据模型组织、描述和储存可为各种用户共享冗余度较小数据独立性较高易扩展(三)数据库管理系统数据库管理系统(DatabaseManagementSystem,简称DBMS)是位于用户与操作系统之间的一层数据管理软件,它的职能是有效地组织和存储数据、获取和管理数据,接受和完成用户提出的访问数据的各种请求。
数据库管理系统(续)DBMS的主要功能数据定义功能:提供数据定义语言(DDL),用于定义数据库中的数据对象。数据操纵功能:提供数据操纵语言(DML),用于操纵数据实现对数据库的基本操作(查询、插入、删除和修改)。数据库的运行控制功能:保证数据的安全性、完整性、多用户对数据的并发使用等。数据库的建立和维护功能:提供实用程序,完成数据库数据批量装载,数据库转储,介质故障恢复,数据库的重组织和性能监视等。(四)数据库系统数据库系统(DatabaseSystem,简称DBS)数据库系统是指在计算机系统中引入数据库后的系统。在不引起混淆的情况下常常把数据库系统简称为数据库。数据库系统的构成由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。硬件、软件、数据和人员
数据库系统(续)数据库系统构成图示数据库系统在计算机系统中的位置图示用户用户用户应用系统应用开发工具数据库管理系统操作系统数据库管理员数据库系统数据库第一章数据库概论硬件操作系统编译系统DBMS应用开发工具应用系统数据库系统在计算机系统中的位置第一章数据库概论二、数据管理技术的产生和发展什么是数据管理对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。数据管理技术的发展过程人工管理阶段(40年代中--50年代中)文件系统阶段(50年代末--60年代中)数据库系统阶段(60年代末--现在)数据管理技术的产生和发展(续)数据管理技术的发展动力应用需求的推动计算机硬件的发展计算机软件的发展(一)人工管理阶段时期40年代中--50年代中特点数据的管理者:应用程序。数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制应用程序与数据的对应关系(人工管理)应用程序1数据集1应用程序2数据集2应用程序n数据集n...…...…第一章数据库概论(二)文件系统阶段时期50年代末--60年代中产生的背景应用需求 科学计算、管理 硬件水平 磁盘、磁鼓 软件水平 有文件系统 处理方式 联机实时处理、批处理
文件系统(续)特点数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制应用程序与数据的对应关系(文件系统)应用程序1文件1应用程序2文件2应用程序n文件n存取方法...…...…第一章数据库概论(三)数据库系统时期60年代末以来产生的背景应用背景 大规模管理 硬件背景 大容量磁盘 软件背景 数据库管理系统 处理方式 联机实时处理,分布处理,批处理 分布式数据库管理传统的数据库管理分布式数据库管理数据库数据库管理系统
三、数据库系统的特点数据结构化数据共享度高,冗余度低,易扩充 数据独立性高:高度的物理独立性和一定的逻辑独立性 数据由DBMS统一管理和控制
数据结构化数据的整体结构化是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。整体结构化指在数据库中的数据不再仅仅针对某一应用,而是面向全组织;不仅数据内部是结构化的,而且整体是结构化的,数据之间是有联系的。文件系统记录内部是有结构的,但记录之间没有联系数据存取单位是记录文件由记录构成,每个记录由若干属性组成。例如:学生管理系统中有三个文件:学生文件Student、课程文件course、学生选课文件sc。student文件的记录结构:course文件的记录结构:sc文件的记录结构:学生编号姓名性别年龄系家庭住址联系电话课程编号课程名称学时数教材名称学生编号课程编号学期成绩3个文件之间记录没有联系数据结构化(续)数据结构化(续)数据库不仅考虑某个应用的数据结构,还考虑整个组织的数据结构。例如:学校信息系统中的学生数据面向各个处室的应用而不仅仅是教务处的一个学生选课应用。不仅描述数据本身,而且描述数据之间的联系数据结构化(续)数据库中实现的是数据的真正结构化数据面向整个组织机构,而不是某个具体应用—可以很好的表示不同类型记录间的联系数据的结构用数据模型描述,无需程序定义和解释。数据可以变长。数据的最小存取单位是数据项,并具有灵活的存取方式
数据共享共享数据可以被多个用户、多个应用程序共享共享的好处降低数据的冗余度,节省存储空间冗余:同一数据不必要地重复存放避免数据间的不一致性不一致:同一数据的不同拷贝值不同使系统易于扩充
数据独立性数据独立性:数据独立于具体的应用程序。数据库逻辑结构和物理存储结构之间的映射关系
数据的物理独立性用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,只要逻辑结构不变,应用程序不用改变。
数据的逻辑独立性数据的全局逻辑结构独立于局部逻辑结构。数据的全局逻辑结构改变了,用户程序也可以不变。
数据独立性(续)
应用程序与数据的对应关系(数据库系统)DBMS应用程序1应用程序2数据库…
数据由DBMS统一管理和控制第一章数据库概论
DBMS对数据的控制功能数据的安全性(Security)保护使每个用户只能按指定方式使用和处理指定数据,保护数据以防止不合法的使用造成的数据的泄密和破坏。数据的完整性(Integrity)检查数据的完整性指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。
DBMS对数据的控制功能(续)并发(Concurrency)控制对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。数据库恢复(Recovery)将数据库从错误状态恢复到某一已知的正确状态。
第一章数据库概论1.1数据库系统概述1.2数据描述1.3数据模型1.4数据库系统结构1.5数据库系统的组成1.6数据库技术的研究领域1.7当前流行的大型数据库产品简介第二节数据描述将复杂的各种关联的事物以计算机和数据库技术所允许的形式存储在数据库中,经历三个步骤:概念设计逻辑设计一、概念设计中的数据描述实体(Entity)/实体集客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。键(Key)唯一标识实体的最小属性集称为键。
概念设计中的数据描述(续)域(Domain)属性的取值范围称为该属性的域。实体型(EntityType)用实体名及其属性名集合来抽象和刻画同类实体称为实体型。如学生(学号,姓名,性别,出生日期,系)实体集(EntitySet)同型实体的集合称为实体集。二、逻辑设计中的数据描述字段标记实体属性的命名单位称为字段或数据项。字段是可以命名的最小信息单位
。记录
字段的有序集合称为记录,一般用一个记录描述一个实体。文件同一类型记录的集合称为文件
。关键码(Key)能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)
。逻辑设计中的数据描述(续)信息世界机器世界实体记录属性字段或数据项实体集文件实体键记录键机器世界与信息世界的术语对应关系三、物理存储中的数据描述位:一个二进制位字节:8个二进制位
字:若干个字节块:内存和外存交换信息的最小单位卷:输入输出设备装载的信息
第一章数据库概论1.1数据库系统概述1.2数据描述1.3数据模型1.4数据库系统结构1.5数据库系统的组成1.6数据库技术的研究领域1.7当前流行的大型数据库产品简介
第三节数据模型在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是模拟现实世界的抽象记号。数据模型应满足三方面要求能比较真实地模拟现实世界容易为人所理解便于在计算机上实现
一、数据模型的定义及组成要素(一)定义数据模型是对现实世界中各种事物或实体特征的数字化模拟和抽象,用以表示现实世界中的实体及实体之间的联系,使之存放在计算机中,并通过计算机软件进行处理。数据模型分成两个不同的层次概念模型也称信息模型,它是按用户的观点来对数据和信息建模。逻辑模型主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模。
数据模型(续)客观对象的抽象过程——两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的逻辑模型。概念模型是现实世界到机器世界的一个中间层次。
(二)数据模型的组成要素数据结构数据操作完整性约束
1、数据结构什么是数据结构对象类型的集合两类对象与数据类型、内容、性质有关的对象与数据之间联系有关的对象数据结构是对系统静态特性的描述2、数据操作数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则
。数据操作的类型查询更新(包括插入、删除、修改)数据操作是对系统动态特征的描述。3、数据的约束条件数据的约束条件一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。如:学生学号唯一;性别的取值只能为男或女;学生的专业号必须是确实存在的专业的专业号。
二、概念模型概念模型的用途及特点数据联系的描述概念模型的表示方法(E-R图)(一)概念模型的用途及特点概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言对概念模型的基本要求较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。简单、清晰、易于用户理解。(二)数据联系的描述联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。三类实体型间联系
一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)1、两个实体型间的联系(1)一对一联系
如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。实例
班级与班长之间的联系:一个班级只有一个正班长,而一个班长只在一个班中任职。两个实体型间的联系(续)(2)一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体B有一对多联系,记为1:n。实例
班级与学生之间的联系:一个班级中有若
干名学生,而每个学生只在一个班级中学
习。两个实体型间的联系(续)(3)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n。实例
课程与学生之间的联系:一门课程同时有若干个学生选修,而一个学生可以同时选修多门课程。实体型间联系(续)三类联系之间的关系m:n联系1:1联系1:n联系特例特例特例两个实体型间的联系(续)两个实体型之间的三类联系联系的表示方法示例班级管理班长111:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系班级-班长-学生-课程之间的两两联系第一章数据库概论2、多个实体型间的联系一对一联系班级、班长、班主任一对多联系课程、教师、参考书多对多联系供应商、项目、零件3、同一实体集内各实体间的联系一对多联系实例
职工实体集内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系。(三)概念模型的表示方法实体-联系方法(E-R方法)是最为常用的概念模型表示方法。用E-R图来描述现实世界的概念模型。E-R方法也称为E-R模型。E-R图提供了表示实体型、属性和联系的方法。E-R图1、实体型用矩形表示,矩形框内写明实体名。2、属性用椭圆形表示,并用无向边将其与相应的实体连接起来。学生教师学生学号姓名性别出生年月入学时间系别E-R图(续)3、联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。E-R图(续)课程选修学生mn成绩供应商项目零件供应供应量mnp第一章数据库概论4、联系属性的表示方法5、建立E-R图的过程
仔细分析题目,确定其中的实体确定实体的属性及关键字确定实体之间的联系,分析联系的类型(m:n)分析联系是否有属性组合各个局部构件,画出题目的完整E-R图E-R图(续)6、E-R图设计实例
例1-1
仓库管理主要负责产品的入库、出库和采购等事项,试画出仓库管理相应的E-R图。分析:①首先确定实体及相应的属性常见的仓库管理至少涉及四个实体型:
Procdcts(产品)
Suppliers(供应商)
Employees(仓库保管员)
storehouse(仓库)
Products拥有属性ProductID(产品号),ProductName(产品名),UnitsInStock(库存量),其中ProductID是关键字,用下划线标出。Suppliers拥有属性SupplierID(供应商号),CompanyName(公司名),Address(地址),Phone(电话),其中SupplierID是关键字。Employees拥有属性EmployeeID(雇员号),Name(姓名),BirthDate(出生日期),HomePhone(家庭电话),其中EmployeeID是关键字。Storehouse拥有属性StoreID(仓库号),Adress(地址),Area(面积),其中StoreID是关键字。第一章数据库概论实体及相应属性供应商和产品之间有联系Supply(供应)产品和仓库之间有联系Store(存放)仓库和仓库保管员之间有联系Manage(管理)Supply联系拥有属性Quantity(供应量)Store联系拥有属性Location(存放位置)。详细分析如下:Supply(Suppliers,Products)假设该联系的类别为M:N
Store(Products,Store)假设该联系的类别为M:1Manage(Employees,Store)假设该联系的类别为1:1
②确定实体间的联系及类型③画出局部E-R图Storehouse④生成全局E-R图Quantity课堂练习(E-R图)一个图书管理数据库要求提供下述服务:
1)可随时查询书库中现有的书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。
2)可随时查询书籍借还情况。包括借书人单位、姓名、借书证号、借书日期和还书日期。我们约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。
3)当需要时,可随时通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向有关书籍的出版社增购书籍。我们约定:一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。画出本题目相应的实体-联系图。(1)实体、属性及关键字书籍(书号,书名,品种,数量,存放位置)借书人(借书证号,姓名,单位)出版社(出版社名,电报编号,电话,邮编,地址)
(2)实体间的联系及其属性和类型
借阅(借书人,书籍)
多对多类型
拥有属性:借书日期和还书日期
出版(出版社,书籍)
一对多类型
(3)全局E-R图三、常用的逻辑数据模型非关系模型种类层次模型(HierarchicalModel)网状模型(NetworkModel)数据结构:以基本层次联系为单位基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系RiRj双亲结点子女结点一对多的联系Lij常用的数据模型(续)关系模型(RelationalModel)数据结构:表面向对象模型(ObjectOrientedModel)数据结构:对象
(一)层次模型层次数据模型的数据结构多对多联系在层次模型中的表示层次数据模型的数据操纵与完整性约束层次模型的存储结构层次数据模型的优缺点1、层次数据模型的数据结构
满足下面两个条件的基本层次联系的集合为层次模型。(1)有且只有一个结点没有双亲结点,这个结点称为根结点;(2)根以外的其他结点有且只有一个双亲结点。
R1
根结点
R2
兄弟结点
R3
叶结点
R4
兄弟结点
R5
叶结点
叶结点每个结点表示一个记录类型记录之间的联系用结点之间连线(有向边)表示联系为一对多的联系例:教员学生数据库的层次模型根结点子女结点叶结点叶结点由系到教研室、由教研室到教员、由系到学生均是一对多的联系。
基本特点:任何一个给定的记录值只有按其路径查看时,才能显示它的全部意义,没有子女值可以脱离双亲记录而独立存在。例:(续)教员学生数据库的一个值
2、多对多联系在层次模型中的表示
用层次模型间接表示多对多联系表示方法将多对多联系分解成一对多联系分解方法冗余结点法:通过增加两个冗余结点将多对多的联系转换成两个一对多联系;虚拟结点法:将冗余结点法中的冗余结点换为虚结点,所谓虚结点就是一个指针元,指向所替代的结点。学生与课程的多对多关系可通过图表示这两种分解方法3、层次模型的数据操纵与完整性约束数据操纵:查询、插入、删除、更新。完整性约束条件:无相应的双亲结点值就不能插入子女结点值。如果删除双亲结点值,则相应的子女结点值也被同时删除。更新操作时,应更新所有相应记录,以保证数据的一致性。
4、层次模型的存储结构邻接法:按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理组织空间的位置相邻来体现(或隐含)层次顺序。042链接法:用指针来反映数据之间的层次联系。链接法又分为子女-兄弟链接法和层次序列链接法。子女-兄弟链接法
层次模型的存储结构(续)每个记录设两类指针,分别指向最左边的子女和最近的兄弟。层次序列链接法
层次模型的存储结构(续)按树的前序穿越顺序链接各记录值。5、层次模型的优缺点优点层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解性能优于关系模型,不低于网状模型层次数据模型提供了良好的完整性支持缺点多对多联系表示不自然对插入和删除操作的限制多查询子女结点必须通过双亲结点层次命令趋于程序化
(二)网状模型网状数据模型的数据结构多对多联系在网状模型中的表示网状数据模型的完整性约束网状数据模型的存储结构网状数据模型的优缺点1、网状数据模型的数据结构满足下面两个条件的基本层次联系的集合为网状模型:允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。R1R2R3R4R5R3R1R1R2R2L1L1L1L2L2L2L3L4L5网状数据模型的数据结构(续)网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例
网状数据模型的数据结构(续)网状模型的特点只能直接处理一对多的实体联系任何记录值只有按其路径查看时,才能显出它的全部意义子女节点和双亲节点的联系可以不唯一,所以要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。
网状数据模型的数据结构(续)学生宿舍学生教研室系教师有向边在DBTG报告中称为“系(set)”,箭尾记录称首记录,箭头记录称属记录,“DBTG系”由一个首记录带上若干个属记录组成。第一章数据库概论2、多对多联系在网状模型中的表示用网状模型间接表示多对多联系表示方法引入连接记录,将多对多联系直接分解成一对多联系例:学生与课程之间的联系是多对多的引入连接记录——选课——它包含属性学号、课程号、成绩。学生和选课之间是一对多的,课程和选课之间也是一对多的。网状数据模型的数据结构(续)
学号姓名系别课程号课程名学分学号课程号成绩S-SCC-SC学生(S)课程(C)选课(SC)学生/选课/课程的网状数据库模式3、网状数据模型的完整性约束完整性约束条件不严格允许插入尚未确定双亲结点值的子女结点值允许只删除双亲结点值具体的网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束。支持记录码:唯一标识记录的数据项的集合。保证一个联系中双亲记录和子女记录之间是一对多的联系。可以支持双亲记录和子女记录之间某些约束条件。
4、网状数据模型的存储结构学生-选课-课程网状数据库的实例:学生记录有:S1、S2、S3、S4;课程记录有:C1、C2、C3S1的选课记录有:S1C1A、S1C2A;S2的选课记录有:S2C1A、S2C3B;S3的选课记录有:S3C1B、S3C2B;S4的选课记录有:S4C1A、S4C2A、S4C3B单向链接法实线链表示S-SC联系,如把S1学生和他的选课记录链接起来;虚线链表示C-SC联系,如把C1课程和选修了C1课程的学生记录链接起来。学生记录课程记录选课记录5、网状模型的优缺点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲。具有良好的性能,存取效率较高。缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。DDL、DML语言复杂,用户不容易使用。(三)关系模型关系数据模型的数据结构关系数据模型的操纵关系数据模型的完整性约束关系数据模型的存储结构关系数据模型的优缺点
1、关系数据模型的数据结构关系模型的基本数据结构关系模型的基本概念实体及实体间的联系的表示方法关系必须是规范化的
关系数据模型的数据结构(续)(1)关系模型的基本数据结构在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。学生登记表学
号姓
名年
龄性
别系
名年
级95004王小明19女社会学9595006黄大鹏20男商品学9595008张文斌18女法律学95………………关系数据模型的数据结构(续)(2)关系模型的基本概念关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。主键(Key)/主码/主关键字表中的某个属性组,它可以唯一确定一个元组。关系数据模型的数据结构(续)关系模型的基本概念(续)域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述表示方法
关系名(属性1,属性2,…,属性n)
例如:学生(学号,姓名,年龄,性别,系,年级)关系数据模型的数据结构(续)(3)实体及实体间的联系的表示方法实体型:直接用关系(表)表示。属性:用属性名表示。联系:一对一联系:隐含在实体对应的关系中。一对多联系:隐含在实体对应的关系中。多对多联系:直接用关系表示。关系数据模型的数据结构(续)例1:系、系主任、系与系主任间的一对一联系系(系号,系名,系主任,办公地点)例2:系、学生、系与学生之间的一对多联系系(系号,系名,系主任,办公地点)学生(学号,姓名,年龄,性别,系号,年级)
关系数据模型的数据结构(续)例3:学生、课程、学生与课程之间的多对多联系
学生(学号,姓名,年龄,性别,系号,年级)
课程(课程号,课程名,学分)
选修(学号,课程号,成绩)
关系数据模型的数据结构(续)
表中有表——非规范化的例子(4)关系必须是规范化的
即必须满足一定的规范条件。最基本的规范条件:关系的每一个分量必须是一个不可分的数据项。第一章数据库概论
关系数据模型的数据结构(续)关系和现实生活中的表格所使用的术语对比关系术语一般表格术语关系名关系模式关系元组属性属性名属性值分量非规范关系表名表头(表格的描述)(一张)二维表记录或行列列名列值一条记录中的一个列值表中有表第一章数据库概论2、关系模型的数据操纵查询、插入、删除、更新数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”
3、关系模型的完整性约束实体完整性参照完整性用户定义的完整性4、关系数据模型的存储结构在关系数据模型中,实体及实体间的联系都用表来表示。在物理组织中,有的DBMS一个表对应一个操作系统文件,自己设计表、索引等存储结构。5、关系模型的优缺点优点建立在严格的数学概念的基础上概念单一。数据结构简单、清晰,用户易懂易用实体和各类联系都用关系来表示。对数据的检索结果也是关系。关系模型的存取路径对用户透明具有更高的数据独立性,更好的安全保密性简化了程序员的工作和数据库开发建立的工作
关系模型的优缺点(续)缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度
(四)面向对象数据模型在面向对象数据模型中,基本结构是对象而不是记录,一切事物、概念都可以看作对象。一个对象不仅包括描述它的数据,还包括对它进行操作方法的定义。一个面向对象数据模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。优点:能完整地描述现实世界的数据结构,具有丰富的表达能力。缺点:相对比较复杂,涉及的知识面较多,尚未普及。
小结数据模型是对现实世界进行抽象的工具,用于描述现实世界的数据、数据联系、数据语义和数据约束等的方面的内容。E-R模型是最常用的概念模型,关系模型是当前的主流模型,面向对象(OODB)是今后发展的方向。
以学生成绩管理为例,对本章的E-R模型、层次数据模型、网状数据模型、关系数据模型、面向对象数据模型进行总结。1、E-R模型图1学生选课的局部E-R图图1-17教师任课的局部E-R图系系2、层次数据模型(分解法)
1m1n3、网状数据模型
4、关系数据模型
5、面向对象数据模型
第一章数据库概论1.1数据库系统概述1.2数据描述1.3数据模型1.4数据库系统结构1.5数据库系统的组成1.6数据库技术的研究领域1.7当前流行的大型数据库产品简介
1.4数据库系统结构从数据库管理系统角度看,数据库系统通常采用三级模式结构,这是数据库管理系统内部的系统结构。从数据库最终用户角度看(数据库系统外部的体系结构),数据库系统的结构分为:§单用户结构§主从式结构§分布式结构§客户/服务器§浏览器/应用服务器/数据库服务器多层结构等数据库系统结构(续)数据库系统模式的概念数据库系统的三级模式结构数据库的二级映像功能与数据独立性数据库的外部体系结构一、数据库系统模式的概念1、“型”和“值”的概念型(Type)对某一类数据的结构和属性的说明值(Value)是型的一个具体赋值例如:学生记录记录型:(学号,姓名,性别,系别,年龄,籍贯)该记录型的一个记录值:(900201,李明,男,计算机,22,江苏)数据库系统模式的概念(续)2、模式的概念(Schema)数据库中全体数据的逻辑结构和特征的描述是型的描述反映的是数据的结构及其联系模式是相对稳定的例如:在学生选课数据库模式中,包含学生记录、课程记录和学生选课记录。
数据库系统模式的概念(续)3、模式的实例(Instance)模式的一个具体值反映数据库某一时刻的状态同一个模式可以有很多实例实例随数据库中的数据的更新而变动例如:2013年有一个学生选课数据库的实例,该实例包含了2013年学校中所有学生的记录、学校开设的所有课程的记录和所有学生选课的记录。数据库系统结构(续)数据库系统模式的概念数据库系统的三级模式结构数据库的二级映像功能与数据独立性数据库的外部体系结构
两层结构系统文件系统阶段:应用程序严重依赖数据的存储结构。两层结构系统:应用程序分成两部分(用户程序和存储子程序)概念文件是存储文件的抽象,只包含用户有用的数据,是用户存取存储文件的结构或框架。存储程序操作存储文件(决定存储的组织方法或存储结构)。存储数据独立性:存储文件结构变化不影响用户程序。用户程序操作物理上并不存在的概念文件两层结构系统存在的问题每个用户程序并不一定使用概念文件中的全部数据字段,不同的用户程序可能使用不同的字段集合。可以把每个应用程序访问的字段集合看作是一个独立的文件,形成三级结构系统。三层结构把每个应用程序访问的字段集合看做是一个独立的文件,称为外部文件,是概念文件的部分抽取。通过概念层的Conceptual-Routine程序完成对概念文件的访问,通过调用存储层的Storage-Routine完成对存储文件的访问。完成外部层到概念层的映射完成概念层到存储层的映射概念数据独立性:概念文件结构发生变化不影响外部文件。二、数据库系统的三级模式结构应用A
外模式/模式映象模式/内模式映象数据库应用B应用C应用D应用E外模式1外模式2外模式3模式内模式
1.模式(Schema)模式的定义数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图,综合了所有用户的需求一个数据库只有一个模式模式的地位:是数据库系统模式结构的中间层与数据的物理存储细节和硬件环境无关与具体的应用程序、开发工具及高级程序设计语言无关定义模式包含的内容数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系数据有关的安全性、完整性要求
2.外模式(ExternalSchema)外模式(也称子模式或用户模式)是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述。数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
外模式(续)模式与外模式的关系:一对多外模式通常是模式的子集。一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求。对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。外模式与应用的关系:一对多同一外模式也可以为某一用户的多个应用系统所使用但一个应用程序只能使用一个外模式。
外模式(续)外模式的用途保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据。数据的逻辑独立性。模式、外模式举例学生教务管理数据库模式:学生(学号,姓名,性别……专业编号,班级,宿舍,家庭住址联系电话,是否党员……)教师(教师号,姓名,性别……工作时间,系号,专业编号,岗位,职称,职务,最高学历)系(系号,系别名称)专业(专业编号,专业名称,系号,专业类型)教室(教室号,容纳人数,是否多媒体)课程(课程号,课程名,学时)选课(课程号,学号,成绩)课程安排(课程号,教师号,教室号,时间)模式、外模式举例学生教务管理数据库外模式:(1)在学生选课应用中学生用户外模式:学生(学号,姓名,专业编号)课程安排(课程号,课程名,学时,教师号,教室号)教师用户外模式:教师(教师号,姓名,系号,专业编号,职称)课程安排(课程号,课程名,学时,学生班级,
教室号,时间)模式、外模式举例学生教务管理数据库外模式:(2)在学生成绩管理应用中学生用户外模式:课程(课程号,课程名,成绩)教师用户外模式:课程(课程号,课程名,班级)
3.内模式(InternalSchema)内模式(也称存储模式)是数据物理结构和存储方式的描述是数据在数据库内部的表示方式记录的存储方式(堆存储,顺序存储,属性值聚簇存储)索引的组织方式(按照B+树结构存储,按hash方法存储)数据是否压缩存储数据是否加密一个数据库只有一个内模式例如学生记录,如果按堆存储,则插入一条新记录总是放在学生记录存储的最后,如右图所示。
记录的存储方式如果按学号升序存储,则插入一条记录就要找到它应在的位置插入,如右图所示。记录的存储方式(续)如果按照学生年龄聚簇存放,假如新插入的S3是16岁,则应插入的位置如右图所示。记录的存储方式(续)数据库系统结构(续)数据库系统模式的概念数据库系统的三级模式结构数据库的二级映像功能与数据独立性数据库系统外部体系结构三、数据库二级映象与数据独立性三级模式是对数据的三个抽象级别。二级映象在DBMS内部实现这三个抽象层次的联系和转换外模式/模式映象模式/内模式映象二级映像功能保证了数据库系统中的数据具有较高的逻辑独立性和物理独立性。
1.外模式/模式映象什么是外模式/模式映象定义外模式与模式之间的对应关系每一个外模式都对应一个外模式/模式映象映象定义通常包含在各自外模式的描述中外模式/模式映象的用途:保证数据的逻辑独立性当模式改变时,数据库管理员修改有关的外模式/模式映象,使外模式保持不变应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
2.模式/内模式映象什么是模式/内模式映象模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。数据库中模式/内模式映象是唯一的该映象定义通常包含在模式描述中模式/内模式映象的用途:保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。3.数据库管理系统的基本结构
数据库控制系统数据库存储系统当一个用户程序通过DBMS读取一条记录时发生的一系列事件:(1)用户程序A向DBMS发出读一条记录的指令。(2)DBCS分析所接到的指令,访问对应的外部模式。(3)DBCS完成外部模式到概念模式的转换,决定访问哪些概念文件。(4)由DBSS完成概念模式到存储模式的转换,并决定访问哪些存储文件。(5)DBSS调用存取方法,通过操作系统将读取的记录送到系统缓冲区。(6)用户程序从系统缓冲区得到所需记录和DBMS返回的状态值。(7)用户程序在工作区中使用得到的记录。数据库系统结构(续)数据库系统模式的概念数据库系统的三级模式结构数据库的二级映像功能与数据独立性数据库系统外部体系结构四、数据库系统外部的体系结构单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构
1.单用户数据库系统整个数据库系统(应用程序、DBMS、数据)都装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。早期的最简单的数据库系统
2.主从式结构的数据库系统一个主机带多个终端的多用户结构数据库系统,包括应用程序、DBMS、数据,都集中存放在主机上,所有处理任务都由主机来完成。各个用户通过主机的终端并发地存取数据库,共享数据资源。
3.分布式结构的数据库系统数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用
分布式数据库结构
4.客户/服务器结构的数据库系统把DBMS功能和应用分开网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器其他结点上的计算机安装DBMS的外围应用开发工具,负责数据的输入、运算和输出,支持用户的应用,称为客户机
客户/服务器结构的数据库系统(续)客户/服务器数据库系统的种类集中的服务器结构在网络中仅有一台数据库服务器,而客户机有多台分布的服务器结构在网络中有多台数据库服务器分布的服务器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《薄层层析柱层析》课件
- 2025年临汾货物运输驾驶员从业资格考试系统
- 2025年汉中道路货运驾驶员从业资格证考试
- 《行政许可范围制度》课件
- 住宅小区施工备案委托协议
- 排水系统工程合同协议书范本
- 长期购销合同变更问题
- 花卉园艺设备租赁合同
- 舞台表演音响租赁合同范本
- 农药使用安全操作手册
- 备件的ABC分类管理规定法
- 新教材选择性必修第二册人教英语课文语法填空
- 卡簧规格尺寸WORD版
- 统计学专业经典案例分析
- 电梯及电梯配件项目可行性研究报告写作范文
- 电镀生产停电应急程序
- 部编版(统编)小学语文三年级上册期末试卷(含答题卡)
- 岗位标准之铁路工务线路工岗位作业标准
- 一人一档档案模板
- 给税务局的情况说明
- 临时竖井旋喷桩首件施工总结
评论
0/150
提交评论