《数据库技术与应用课件.ppt》由会员分享,可在线阅读,更多相关《数据库技术与应用课件.ppt(367页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数 据 库 技 术 及 应 用北京邮电大学信息与通信工程学院龚萍信息理论与技术中心移动通信实验室:院士教授:吴伟陵林家儒田宝玉赵振刚郭莉副教授:牛凯贺志强龚萍林雪红别志松许文俊李永华周炯磐数据库技术是什么?一门专门的计算机软件技术,主要用于数据处理.数据库技术应用情况如何?各行各业都在广泛使用,和我们生活的方方面面都结合得较紧.数据库在通信行业应用如何?在网管、计费、客服、电子运维、移动通信网、智能网等中发挥着重要作用.学习数据库这门课需要哪些先修课程?后面还有哪些课是基于数据库的?严格地说,本课程需要离散数学、操作系统及数据结构几门课程中的部分知识为先修内容.参考书目数据库基础理论数据库系统
2、概论(第四版)萨师煊王珊高等教育出版社DatabaseSystemConceptsAbrahamSilberschatZBell-Labs数据库系统概念杨冬青唐世渭译机械工业出版社SQLServer数据库使用和管理Transact-SQL权威指南中国电力出版社SQLServer2005宝典电子工业出版社人大数据库教学网站:讲义下载ftp:/Username:kejianPassword:kejian考核方法期末考查40%实验:40%平时随堂小作业20%教学思想结合本专业特点,使同学们掌握数据库技术相应的基本概念、理论和原理,了解当前信息和通信领域数据库技术的最新应用掌握数据库管理系统的基本使用
3、、管理和维护,掌握数据库应用系统设计的基本理论和方法教学大纲引言数据库系统概述关系数据库系统SQL语言SQLServer2005的使用与管理数据库设计理论SQLServer2005数据库应用系统开发数据库系统在通信中的应用引言 数据与数据处理数据库技术的发展历程及趋势 当前流行的数据库产品 数据与数据处理信息:人们对客观事物的认识和反映。数据:用以载荷信息的物理符号。数据处理:指对各种类型的原始数据进行收集、管理、加工利用乃至信息输出的演变与推导全过程。其中,数据管理,即数据的收集、整理、组织、存储、维护、检索、传送等操作,是数据处理的基本环节。数据库技术的发展数据库技术是计算机科学技术中发展
4、最快的重要分支之一,它已经成为计算机信息系统和应用系统的重要技术支柱。它产生、发展于本世纪60、70年代,在短短的30年里,它从第一代的层次、网状数据库技术和第二代的关系数据库技术,发展到第三代的面向新一代应用的数据库技术。第一代数据库技术第一代数据库技术的代表是层次和网状数据库系统:1969年,IBM公司研制了基于层次模型的数据管 理 系 统 IMS(Information ManagementSystem)美国数据库系统语言协会CODASYL(ConferenceOnDataSystemLanguage)下属的数据库任务组DBTG(DataBaseTaskGroup)对数据库方法进行了系统
5、的研究、探讨,于60年代末70年代初提出了若干报告,称为DBTG报告。报告所提议的方法是基于网状结构的,它是数据库网状模型的典型代表。第二代数据库技术第二代数据库系统是关系数据库系统1970年IBM公司SanJose实验室的研究员发表了题为“大型共享数据库数据的关系模型”的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论,为关系数据库技术奠定了理论基础。70年代是关系数据库理论研究和原型系统开发的时代,其中以IBM公司SanJose实验室开发的System R 和 Berkeley加利福尼亚大学研制的INGRES为代表。经过大量的高层次研究和开发,关系数据库系统的研究取得了一系列
6、的成绩,主要包括:奠定了关系模型的理论基础,给出了被人们普遍接受的关系模型的规范说明 提出了关系数据语言,如关系代数、关系演算、SQL语言、QBE等等。这些描述性语言一改以往程序设计语言和网状、层次数据库语言的面向过程的风格,为80年代数据库语言标准化打下了基础 研制了大量的关系数据库系统原型,攻克了系统实现中查询优化、并发控制、故障恢复等一系列关键技术70年代后期,关系数据库从实验室走向了社会,而80年代几乎所有新开发的数据库系统均是关系型的。这些商用数据库系统的运行,特别是微机RDBMS的使用,使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等各个方面。下一代数据库技术传统数据库技
7、术面临着严峻的挑战80年代以来,数据库技术在商业领域的巨大成就刺激了其他领域对数据库需求的迅速增长。例如,计算机辅助设计与制造、地理信息系统、办公信息系统和web应用等等。这些领域需要的数据管理功能有相当一部分是传统数据库所不能满足的,例如:复杂数据类型的支持。复杂数据类型包括图像、音频、视频、web网页、抽象数据类型、无结构的超长数据等复杂对象的存储和处理。复杂对象不仅内部结构复杂,相互之间的联系也很复杂巨型数据库(数据量可超过1012字节)的管理数据、对象、知识的统一管理下一代数据库系统是什么?数据库工作者从多方面发展了现行的数据库系统技术,研究全新的数据库系统。新一代数据库系统具有如下特
8、点:面向对象数据模型80年代面向对象的方法和技术的出现,对计算机各个领域都产生了深远的影响,也给面临新挑战的数据库技术带来了机会和希望。数据库研究人员提出了建立面向对象数据模型。该模型克服了传统数据模型的局限性,促进了数据库技术在一个新的技术基础上继续发展.目前在市场上已经有大量的面向对象数据库产品:Versant,Objectivity,ObjectStore,GemStone等。XML(可扩展标记语言,ExtensibleMarkupLanguage)数据库Internet 的异军突起以及XML 语言的出现,给数据库系统的发展开辟了一片新的天地。上世纪90 年代末,随着德国软件股份公司(S
9、oftwareAG)推出世界上第一个“原状XML(NativeXML)数据库系统”产品问世,标志着数据库系统进入了一个新的发展时期。随后,一些大型数据库系统生产厂家,如:Oracle、微软公司等纷纷宣布要发展支持XML 的数据库产品,IBMDB29更声称是PureXML 数据库产品。非关系式/面向互联网/键值/分布式数据库云计算NoSQLGoogle(Bigtable)数据库技术与多学科技术的有机结合传统的数据库技术和多学科技术的结合,使数据库的许多概念、技术内容、应用领域,甚至某些原理都有了重大的发展和变化,建立和实现了一系列新型数据库:基于WWW的网络数据库、嵌入式移动数据库、多媒体数据库
10、、演绎数据库、知识数据库、工程数据库、地理数据库、模糊数据库等,它们共同构成了数据库大家族.传统数据库即面向商业与事物处理的数据库仅仅成大家族中的一员,当然,也是最成熟的和应用最广泛的一员。它的核心理论、应用经验、设计方法等仍然是整个数据库技术发展和应用开发的先导和基础数据库技术的发展概况当前流行的数据库产品 目前,商品化的数据库管理系统是以关系数据库为主导产品,技术比较成熟。国际国内的主导关系型数据库管理系统有ORACLE、SYBASE、INFORMIX、INGRES、MSSQLSERVER、DB2等ORACLE是Oracle软件系统有限公司的产品。Oracle成立于1977年,总部设在加利
11、福尼亚,是世界第二大的计算机软件供应商,向全球百余个国家的用户提供大量的软件产品和电子化信息服务。ORACLE系列产品在数据库领域一直居领先地位,它在全球的销售份额约占50%。DB2关系型数据库家庭产品是IBM公司的主要产品。80年代初DB2的发展重点放在大型的主机平台,80年代中期后DB2已发展到适用于各种硬件平台。MicrosoftSQLServer是微软公司的产品,它建立在MicrosoftWindows操作系统基础之上,提供了一个功能强大的客户/服务器平台,是能同时支持多个并发用户的关系数据库系统。2008年,微软发布了面向企业级市场的高端数据库软件SQLServer2008。Syba
12、se是SYBASE软件公司(已被SAP收购)的系列产品,SYBASE公司成立于1984年。SYBASE公司是第一个提出并推出客户/服务器(C/S)体系结构的高性能数据库服务器的数据库厂商,并促进了它的广泛流行。关系技术公司(RelationalTechnologyInc)的INGRES数据库系统的多项技术直接采用了Berkeley大学的最新研究成果,多应用在高等学校和科研所等另一阵营:开放源代码数据库 以瑞典的MySQL为代表(08年被Sun收购,随后Sun已被Oracle收购):据统计,该软件如今的下载量已经超过了一亿份,最新版本MySQL5.5。还有Ingres、PostgreSQL等.第
13、一章 数据库系统概述数据库、数据库管理系统、数据库系统与数据库应用系统计算机数据处理技术的发展数据库系统的特点与功能数据库系统结构数据库数据模型数据库系统组成数据库技术的研究领域概要 数据库、数据库管理系统、数据库系统与数据库应用系统计算机数据处理技术的发展数据库系统的特点与功能数据库系统结构数据库数据模型数据库系统的组成数据库技术的研究领域DB、DBMS、DBS、DBAS什么是数据库(DB)数据库管理系统(DBMS)数据库系统(DBS)数据库应用系统(DBAS)什么是数据库?数据库(DataBase,DB)以一定的组织方式长期存储在计算机内的,为多种应用服务的,相互有关的结构化的数据集合。即
14、统一管理的相互关联的数据的集合数据库管理系统(DBMS)DBMS是位于用户与数据库之间的一层数据管理系统软件,是数据库的核心。它提供了一个软件环境,使用户能方便快速地建立、维护、检索、存取和处理数据库中的信息 DBMS的组成 数据描述语言(DDL)及其翻译处理程序 数据操纵语言(DML)及其编译程序 系统建立维护程序 DBMS的功能用户对数据库的所有操作以及应用程序的执行,都是通过DBMS进行的,它主要有以下几个方面的功能:数据库的定义和建立 数据库的操作 数据库的管理 数据库的维护数据库系统(DBS)引入数据库后的计算机系统,即把数据库、有关的硬件、软件和人员组合起来提供信息服务的系统。广义
15、的DBS包括:数据库(DB)数据库管理系统DBMS支持DBMS的软、硬件环境数据库管理员DBA用户及其应用程序一个简化的数据库系统环境用户用户应用程序数据库操作数 据 库 管 理 系 统数据库操作操 作 系 统数据字典 数据库数据数据库管理员数据库应用系统(DBAS)DBAS是在DBMS支持下的一类计算机应用系统,是由数据库系统和各种用户应用程序结合而成的。它不同于使用普通文件和由文件管理程序支持的系统,要包括专用或通用的DBMS DBAS中的应用程序可以分为:功能程序:完成特定的操作要求,如修改、查询、打印等 控制程序:显示功能清单(菜单),接受用户选择,并调用相应的程序来完成用户的操作意向
16、概要数据库、数据库管理系统、数据库系统与数据库应用系统 计算机数据处理技术的发展数据库系统的特点与功能数据库系统结构数据库数据模型数据库系统的组成数据库技术的研究领域本节重点v数据库VS文件系统理解数据库技术的特点和根本出发点v数据库外部体系结构的变化v数据库系统的三层内部结构计算机数据处理技术的发展 人工管理阶段 文件管理阶段 数据库系统阶段 人工管理阶段数据不保存数据与程序不具有独立性只有程序没有文件的概念数据面向应用程序代码 数据文件管理阶段 文件系统是操作系统中主要用来管理辅助存储器 上的数据的子系统 数据可长期保存在磁盘上 数据的存取以记录为单位 文件系统提供了多种文件结构 和存取方
17、法,对文件的记录可 顺序访问和随机访问 文件的形式多样化 程序与数据之间有了一定的独 立性,但又紧密相关数据的逻辑结构和输入输出格式仍由程序员在程序中定义和管理应用程序数据文件应用程序数据文件应用程序数据文件存取方法文件系统的缺陷数据共享性差,冗余度大 不同的应用程序独立地定义和处理自己的文件,相同的数据集合在不同的应用程序中使用时,经常需要重复定义、重复存储 数据不一致 相同数据的重复存储,单独管理,给数据的修改和维护带来了困难,容易造成数据不一致 数据独立性差 文件与应用程序联系紧密,当文件的结构发生改变时,必须修改应用程序,包括修改记录结构的定义和应用程序的数据处理部分数据结构化程度低
18、文件之间是孤立的,从整体上看是无结构、无联系的概要数据库、数据库管理系统、数据库系统与数据库应用系统计算机数据处理技术的发展 数据库系统的特点与功能数据库系统结构数据库数据模型数据库系统的组成数据库技术的研究领域数据库系统的特点与功能做到了以数据为中心为数据处理提供了一种更完善、高级的管理方式,实现了对所有相关数据的统一、集中、独立的管理.主要优点:数据集成数据的结构化控制数据冗余 数据的独立性 数据的共享性高统一的数据控制功能数据集成数据集成是数据库管理系统的主要目的,通过数据集成来统一计划与协调遍及各相关应用领域的信息资源,这样可使数据得到最大程度的共享,而冗余最少。下图所示的表明了一个集
19、成的人事工资信息系统,其中的人事工资数据库由所有相关应用共享。工资发放系统数据库管理软件劳资人事数据库人力资源管理系统薪酬管理系统业务管理系统控制数据冗余 在数据库设计阶段,我们只要充分考虑所有用户的数据管理需求,将所有数据集成为单一的逻辑结构,而且每一数据项值可以理想地只存储一次,即可避免数据冗余。然而,我们并不认为所有的冗余都可以或应该消除,有时,由于应用业务或技术上的原因,如数据合法性检验、数据存取效率等方面的需要,同一数据可能在数据库中保持多个副本。但是,在数据库系统中,冗余是受控的。数据一致性 通过消除或控制数据冗余,可以在一定范围内避免数据的不一致性.当发生更新时,数据库系统本身可
20、以通过更新所有其他副本来自动保护数据的一致性。数据的独立性指数据与应用程序之间不存在相互依赖关系数据的物理独立性:指当数据存储结构(或称物理结构)改变时,数据的逻辑结构不变,则用户编写的应用程序不变。数据的逻辑独立性:指当数据的总体逻辑结构改变时,应用程序可以不变。统一的数据控制功能数据的完整性安全性保护并发控制故障发现和恢复可修改和可扩充性概要数据库、数据库管理系统、数据库系统与数据库应用系统计算机数据处理技术的发展数据库系统的特点与功能数据库系统结构数据库数据模型数据库系统的组成数据库技术的研究领域数据库系统结构可以从多角度来考察、描述数据库系统的结构从数据库最终实现角度看,即数据库系统外
21、部的体系结构从数据库管理系统角度看,即数据库系统内部的结构,通常是采用三级模式结构数据库系统外部的体系结构可分为:集中式DBS(CentralizedDBS)分布式DBS(DistributedDBS)并行式DBS(ParallelDBS)客户机/服务器式DBS(Client/ServerDBS,记为C/SDBS)浏览器/WEB服务器/数据库服务器(B/W/D)结构的DBS单用户数据库系统v整个数据库系统(应用程序、DBMS、数据)装在一台计算机上,为一个用户独占,不同机器之间不能共享数据。v早期的最简单的数据库系统主从式结构的数据库系统v一个主机带多个终端的多用户结构 数据库系统,包括应用程
22、序、DBMS、数据,都集中存放在主机上,所有处理任务都由 主机来完成 各个用户通过主机的终端并发地存取数据库,共享数据资源主从式结构的数据库系统主机终端主从式结构的数据库系统(续)v优点 易于管理、控制与维护。v缺点 当终端用户数目增加到一定程度后,主机的任务会过分繁重,成为瓶颈,从而使系统性能下降。系统的可靠性依赖主机,当主机出现故障时,整个系统都不能使用。分布式结构的数据库系统v数据库中的数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上。网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用 同时也可以同时存取和处理多个异地数据库中的数据,执行全局应用分布式结构的数据库
23、系统(续)v优点 适应了地理上分散的公司、团体和组织对于数据库应用的需求。v缺点 数据的分布存放给数据的处理、管理与维护带来困难。当用户需要经常访问远程数据时,系统效率会明显地受到网络传输的制约。客户服务器结构的数据库系统v把DBMS功能和应用分开 网络中某个(些)结点上的计算机专门用于执行DBMS功能,称为数据库服务器,简称服务器 其他结点上的计算机安装DBMS的外围应用开发工具,用户的应用系统,称为客户机数据库系统的体系结构 C/S式DBS数据库DBMS数据库访问接口数据库访问接口数据库访问接口应用程序应用程序应用程序LAN客户服务器数据库系统的种类v集中的服务器结构 一台数据库服务器,多
24、台客户机v分布的服务器结构 在网络中有多台数据库服务器 分布的服务器结构是客户服务器与分布式数据库的结合客户服务器结构的优点 显著减少了数据传输量 数据库更加开放客户与服务器一般都能在多种不同的硬件和软件平台上运行可以使用不同厂商的数据库应用开发工具客户服务器结构的缺点“胖客户”问题:系统安装复杂,工作量大。应用维护困难,难于保密,造成安全性差。相同的应用程序要重复安装在每一台客户机上,从系统总体来看,大大浪费了系统资源。系统规模达到数百数千台客户机,它们的硬件配置、操作系统又常常不同,要为每一个客户机安装应用程序和相应的工具模块,其安装维护代价便不可接受了。浏览器/应用服务器/数据库的系统结
25、构v客户端:浏览器软件、用户界面 浏览器的界面统一,广大用户容易掌握 大大减少了培训时间与费用。v服务器端分为两部分:Web服务器、应用服务器 数据库服务器等 大大减少了系统开发和维护代价,能够支持数万甚至更多的用户.数据库系统的体系结构 B/W/D式DBS数据库WebServer浏览器浏览器浏览器数据访问页面数据访问页面数据访问页面Internet/Intranet/ExtranetDBMS数据库的三级模式结构实际的数据库管理系统虽然种类很多,但在体系结构上都具有相同特征:即采用三级模式结构并提供两级映象(抽象)功能三级模式结构是指:数据库系统是由外模式、概外模式、概念模式和内模式念模式和内
26、模式构成的两级抽象是指:概念级抽象概念级抽象把数据库的外模式抽象为数据库的概念模式;物理级抽象物理级抽象把数据库的概念模式抽象为数据库的内模式三级模式和两种数据抽象的对应关系如下图所示数据库系统的三级模式结构1模式(Schema)模式(也称逻辑模式)数据库中全体数据的逻辑结构和特征的描述所有用户的公共数据视图v一个数据库只有一个模式v模式的地位:是数据库系统模式结构的中间层 与数据的物理存储细节和硬件环境无关 与具体的应用程序、开发工具及高级程序设计语言无关v模式的定义 数据的逻辑结构(数据项的名字、类型、取值范围等)数据之间的联系 数据有关的安全性、完整性要求2.外模式(ExternalSc
27、hema)v外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示外模式(续)v外模式的地位:介于模式与应用之间-模式与外模式的关系:一对多 外模式通常是模式的子集 一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求 对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同外模式(续)-外模式与应用的关系:一对多 同一外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式。v外模式的用途-保证数据库安全性的一个有力措施
28、。-每个用户只能看见和访问所对应的外模式中的数据3内模式(InternalSchema)v内模式(也称存储模式)是数据物理结构和存储方式的描述 是数据在数据库内部的表示方式 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)索引的定义、组织方式 数据是否压缩存储、数据是否加密 数据存储记录结构的规定 所使用的设备特征v一个数据库只有一个内模式。二级映象v三级模式是对数据的三个抽象级别v二级映象在DBMS内部实现这三个抽象层次的联系和转换外模式模式映象外模式模式映象把数据库的外模式抽象为数据库的逻辑模式。数据库的逻辑模式综合了外模式中所有视图,反映了所有数据库用户所关心的现实世界的
29、抽象,形成了数据库的整体逻辑结构。数据库定义机构提供了概念抽象的工具,可以用来定义概念数据库模式的逻辑结构。模式内模式映象模式内模式映象把数据库的概念模式进一步抽象成为数据库的内模式。数据库的内模式描述了数据如何在物理存储设备上存储。数据库系统中数据定义语言的物理数据库定义机构提供了物理抽象的工具,可以用来定义数据库的物理存储结构。视图 DBMS把不同用户的观点抽象为多个逻辑数据结构。每个逻辑数据结构称为一个视视图图(或用户视图),描述了每个用户所关心的数据。所有视图的集合形成了数据库的外模式(或子模式子模式)。数据库系统中数据定义语言的视图定义机构提供了进行视图抽象的工具,可以用来定义视图的
30、逻辑结构。数据独立性 数据库系统提供的两种数据映象能力和三级数据库模式实现了两种数据独立性。两种数据独立性的本质是把数据定义从应用程序中分离出来。应用程序中的数据存取由数据库系统完成从而减少了编制程序的工作量,减少了应用程序的维护和修改 值得注意的是,实际数据库系统的逻辑数据独立性不能保证直接建立在数据库概念模式上的应用程序与数据的独立。当数据库的概念模式改变时,这些应用程序仍然需要修改。从这种意义上讲,数据库系统提供的逻辑数据独立性是不完备的 小结v模式 是数据库的中心与关键 独立于数据库的其它层次 设计数据库模式结构时应首先确定数据库的逻辑模式小结(续)v内模式 依赖于全局逻辑结构,但独立
31、于数据库的用户视图即外模式,也独立于具体的存储设备。它将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。小结(续)v外模式 面向具体的应用程序,定义在逻辑模式之上,但独立于存储模式和存储设备 设计外模式时应充分考虑到应用的扩充性。当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动小结(续)v应用程序 在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。不同的应用程序有时可以共用同一个外模式。小结(续)v二级映象-保证了数据库外模式的稳定性,从而从底层保证了应用程序的稳定性,除非应用需求
32、本身发生变化,否则应用程序一般不需要修改。-数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。数 据 库 技 术 及 应 用北京邮电大学信息与通信工程学院龚萍本节课要解决的问题掌握一个工具,在设计一个庞大的应用系统时,逐步理清各种对象及它们之间错综复杂的联系,从而清晰地得到计算机最终要处理的数据开始在SQLServer2005中,认识、了解实际的关系数据库,从而理解对应的概念数据库(一个软件及其理论基础)是如何来反映、实现现实世界的对象的,是从几个方面(或部分)来全面考虑的?概要数据库、数据库管理系统、数据库系统与数据库应用系统计算机数据处理技术的发展数据库系统的特点与功能
33、数据库系统结构 数据库数据模型数据库系统的组成数据库技术的研究领域数据库数据模型数据模型是对现实世界的抽象,是数据间的一个整体逻辑结构图计算机反映现实世界的过程及术语现实世界-信息世界-计算机世界(概念模型)(数据模型)个体实体(Entity)记录(Record)或元组特征属性(Attribute)字段(Field)关联关系(Relation)数据模型(DataModel)集合实体集(EntitySet)文件(File)数据模型要素数据模型是描述数据、数据联系、数据的语义和完整性约束的概念集合,通常由数据结构、数据操作和完整性约束三部分组成:数据结构 数据结构是所研究的对象的类型的集合,这些对
34、象是数据库的组成部分。包括两类:一类是与数据类型、内容有关的对象,一类是与数据之间联系有关的对象。数据操作 数据操作是指对数据模型中各种对象型的实例所允许执行的所有操作的集合,包括操作及有关的操作规则。数据模型要定义这些操作的确切含义、操作符号、操作规则如操作优先级别以及实现操作的语言.数据结构是对系统静态特性的描述,数据操作是对系统动态特性的描述 数据的完整性约束条件 数据的完整性约束条件是完整性规则的集合包括:数据及其联系所具有的制约和依存规则。数据模型既反映和规定本数据模型必须遵守的基本的通用的完整性约束条件,还应具备定义特定完整性约束条件的机制.在实际数据库系统中,人们(主要是DBA)
35、用DBMS提供的数据描述语言DDL,按照该DBMS支持的某种数据模型的要求来描述系统的概念模型两类数据模型根据模型应用的不同目的,可以将数据模型划分为不同层次的两类:概念模型 概念模型:是按用户的观点来对数据和信息建模,主要应用在数据库设计阶段数据模型 数据模型:主要包括网状模型、层次模型、关系模型等,它是按计算机观点对数据建模,主要用于基本DBMS的实现概念模型v实体(Entity):实际上就是一些名词,是一个人、地点、事物或者事件。v属性(Attribute):是指实体的特性,如学生实体的姓名、性别v域(Domain):属性的取值范围称为该属性的域v码或键(Key):是能唯一标识一个实体的
36、属性或属性组v实体集(Entity Set):同类型实体的集合v关系(Relation):意味着实体之间的联系,关系有一对一、一对多关系和多对多关系实体之间的联系方式 一对一 例:部门经理、班级班长 一对多(多对一)例:部门职工、班级学生 多对多 例:订单货物、学生课程概念模型的表示方法概念模型的表示方法很多实体联系方法(E-R方法)(Entity-RelationshipApproach),是PeterChen于1976年提出的,即用E-R图来描述某一组织的概念模型E-R方法也称为E-R模型E-R图实体型 用矩形表示,矩形框内写明实体名。学生 教师E-R图(续)属性 用椭圆形表示,并用无向边
37、将其与相应的实体连接起来学生学号年龄性别 姓名E-R图(续)联系 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来联系的表示方法实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系联系的表示方法(续)实体型1联系名m n同一实体型内部的m:n联系实体型1联系名实体型21m多个实体型间的1:n联系实体型3n联系的表示方法示例班级班级-班长班长111:1
38、联系课程选修学生mnm:n联系班级组成学生1n1:n联系联系的表示方法示例(续)职工领导1 n同一实体型内部的1:n联系课程讲授教师1m多个实体型间的1:n联系参考书n联系属性的表示方法课程选修学生mn成绩E-R图实例P38课后作业12:vP38课后作业13:E-R图实例:P19-P20 某工厂物资管理E-R图包括班级学生1N班级(班号,班主任,系)学生(学号,姓名,性别,班号)E-R图转换成关系模式(示例一):N班主任系班号学号姓名班号性别M:N学生(学号,姓名,性别,班号)课程(课程号,课程名,学分)选课(学号,课程号,成绩)选课学生课程MN成绩E-R图转换成关系模式(示例二)M:N常用数
39、据模型非关系模型 层次模型(Hierarchical Model)网状模型(Network Model)非关系模型数据结构:以基本层次联系为基本单位 基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系常用数据模型(续)关系模型(RelationalModel)数据结构:表面向对象模型(ObjectOrientedModel)数据结构:对象层次模型用树形或森林结构来表示实体及实体间联系的模型叫层次数据模型实体用独立的节点(记录)表示,实体间的联系(仅限于一对多)用记录间指针表示较严格地说,层次数据模型指满足下列条件的基本层次联系的集合 有且仅有一个节点无父节点,此节点即根节点 根节点
40、以外的其他节点有且仅有一个父节点层次模型中的几个术语根节点,双亲节点,兄弟节点,叶节点层次数据模型的数据结构(续)1 根节点 2 兄弟节点 3 叶节点4 兄弟节点5叶节点叶节点层次数据模型的数据结构(续)表示方法实体型:用记录类型描述。每个节点表示一个记录类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用节点之间的连线表示记录(类)型之间的 一对多的联系实例:教员-学生数据模型(P21)层次数据模型的数据结构(续)特点 节点的双亲是唯一的 只能直接处理一对多的实体联系 每个记录类型定义一个排序字段,也称为码字段 任何记录值只有按其路径查看时,才能显出它的全部意义 没有一个子女记录值
41、能够脱离双亲记录值而独立存在层次数据模型的数据结构(续)多对多联系在层次模型中的表示 用层次模型间接表示多对多联系 方法将多对多联系分解成一对多联系 分解方法 冗余节点法 虚拟节点法层次模型的数据操纵v查询v插入v删除v更新层次模型的完整性约束无相应的双亲节点值就不能插入子女节点值如果删除双亲节点值,则相应的子女节点值也被同时删除更新操作时,应更新所有相应记录,以保证数据的一致性层次数据模型的存储结构邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序链接法用指引元来反映数据之间的层次联系 子女兄弟链接法 P26 层次序列链接法 P26层次模型的优缺点
42、优点 层次数据模型简单,对具有一对多的层次关系的部门描述自然、直观,容易理解 性能优于关系模型,不低于网状模型 层次数据模型提供了良好的完整性支持缺点 多对多联系表示不自然 对插入和删除操作的限制多 查询子女节点必须通过双亲节点 层次命令趋于程序化网状模型网状模型满足下面几个条件的基本层次联系的集合为网状模型。允许一个以上的节点无双亲;一个节点可以有多于一个的双亲;允许两个节点之间有多种联系关系。网状数据模型的数据结构1 2 R3L1L2 R1 R2 L3 L1 L2 R3 L4 R4 R5 网状数据模型的数据结构(续)表示方法(与层次数据模型相同)实体型:用记录类型描述。每个节点表示一个记录
43、类型。属性:用字段描述。每个记录类型可包含若干个字段。联系:用节点之间的连线表示记录(类)型之间的一对多的父子联系。网状数据模型的数据结构(续)特点 只能直接处理一对多的实体联系 每个记录类型定义一个排序字段,也称为码字段 任何记录值只有按其路径查看时,才能显出它的全部意义网状数据模型的数据结构(续)网状模型与层次模型的区别 网状模型允许多个节点没有双亲节点 网状模型允许节点有多个双亲节点 网状模型允许两个节点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界 层次模型实际上是网状模型的一个特例网状数据模型的数据结构(续)1 2 R3L1L2 R1 R2 L3 L1 L2 R3 L4
44、 R4 R5 网状数据模型的数据结构(续)1 L1L2 R2网状数据模型的数据结构(续)学生宿舍学生 教研室系教师网状数据模型的数据结构(续)父母 人子女树种植砍伐养育赡养网状数据模型的数据结构(续)多对多联系在网状模型中的表示 用网状模型间接表示多对多联系 方法 将多对多联系直接分解成一对多联系网状模型的数据操纵l查询l插入l删除l更新网状数据模型的完整性约束网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束 码 双亲节点与子女节点之间是一对多联系 允许插入尚未确定双亲节点值的子女节点值 允许只删除双亲节点值网状数据模型的存储结构v关键 实现记录之间的联系v常用方法
45、单向链接 双向链接 环状链接 向首链接例:P29网状模型的优缺点v优点 能够更为直接地描述现实世界,如一个节点可以有多个双亲 具有良好的性能,存取效率较高v缺点 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握 DDL、DML语言复杂,用户不容易使用关系模型用二维表来表示实体集之间关系以及实体集属性之间关系的形式模型。关系模型的基本概念 关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。关系模型的基本概念 主码(Key)表中的某个属
46、性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,属性n)学生(学号,姓名,年龄,性别,系,年级)关系数据模型的数据结构v实体及实体间的联系的表示方法 实体型:直接用关系(表)表示。属性:用属性名表示。一对一联系:隐含在实体对应的关系中。一对多联系:隐含在实体对应的关系中。多对多联系:直接用关系表示。关系数据模型的数据结构(续)例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)例2系、系主任、系与系主任间的一对一联系系(系号,系名,系主任)关系数据模型的数
47、据结构(续)例3,学生、课程、学生与课程之间的多对多联系:学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)关系数据模型的数据结构(续)v关系必须是规范化的,满足一定的规范条件最基本的规范条件(1NF):关系的每一个分量必须是一个不可分的数据项。关系模型的数据操纵v查询、插入、删除、更新v数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合v存取路径对用户隐蔽,用户只要指出“干什么”,不必详细说明“怎么干”关系模型的完整性约束v实体完整性v参照完整性v用户定义的完整性关系数据模型的存储结构v表以文件形式存储v有的DBMS一个表对应一个操
48、作系统文件v有的DBMS自己设计文件结构关系模型的优缺点v优点 建立在严格的数学概念的基础上 概念单一。数据结构简单、清晰,用户易懂易用 实体和各类联系都用关系来表示 对数据的检索结果也是关系 关系模型的存取路径对用户透明 具有更高的数据独立性,更好的安全保密性 简化了程序员的工作和数据库开发建立的工作关系模型的优缺点(续)v缺点存取路径对用户透明导致查询效率往往不如非关系数据模型为提高性能,必须对用户的查询请求进行优化增加了开发数据库管理系统的难度概要数据库、数据库管理系统、数据库系统与数据库应用系统计算机数据处理技术的发展数据库系统的特点与功能数据库系统结构数据库数据模型 数据库系统的组成
49、数据库技术的研究领域数据库系统的组成硬件平台及数据库足够大的内存,足够大的存储介质,足够强的通信能力软件DBMS,OS,高级语言及其编译系统,应用开发工具人员DBA:模式定义,模式和物理组织的修改,对数据库访问的授权,完整性约束的说明,数据库的监控和运行等 其他人员:数据库设计、分析员,应用程序员,用户数据库管理员(DBA)v决定数据库中的信息内容和结构v决定数据库的存储结构和存取策略v定义数据的安全性要求和完整性约束条件v监控数据库的使用和运行 周期性转储数据库 系统故障恢复 介质故障恢复 监视审计文件v数据库的改进和重组 性能监控和调优 数据重组系统分析员v负责应用系统的需求分析和规范说明
50、v与用户及DBA协商,确定系统的硬软件配置v参与数据库系统的概要设计数据库设计人员v参加用户需求调查和系统分析v确定数据库中的数据v设计数据库各级模式应用程序员v设计和编写应用系统的程序模块v进行调试和安装概要数据库、数据库管理系统、数据库系统与数据库应用系统计算机数据处理技术的发展数据库系统的特点与功能数据库系统结构数据库数据模型数据库系统的组成数据库技术的研究领域数据库技术的研究领域DBMS的研制数据库设计数据库理论数 据 库 技 术 及 应 用北京邮电大学信息与通信工程学院龚萍 第二章 关系数据库 关系数据模型概述 关系数据结构 关系的完整性规则 关系数据库的数据操作周1上午3、4,下午