数据库技术及应用北京邮电大学信息与通信工程学院龚萍pgong@bupt.edu.cn信息理论与技术中心移动通信实验室:院士教授:吴伟陵林家儒田宝玉赵振刚郭莉副教授:牛凯贺志强龚萍林雪红别志松许文俊李永华周炯磐■数据库技术是什么?一门专门的计算机软件技术,主要用于数据处理.■数据库技术应用情况如何?各行各业都在广泛使用,和我们生活的方方面面都结合得较紧.■数据库在通信行业应用如何?在网管、计费、客服、电子运维、移动通信网、智能网等中发挥着重要作用.■学习数据库这门课需要哪些先修课程?后面还有哪些课是基于数据库的?严格地说,本课程需要离散数学、操作系统及数据结构几门课程中的部分知识为先修内容.参考书目■数据库基础理论◆《数据库系统概论》(第四版)萨师煊王珊高等教育出版社◆《DatabaseSystemConcepts》AbrahamSilberschatZBell-Labs《数据库系统概念》杨冬青唐世渭译机械工业出版社■SQLServer数据库使用和管理◆《Transact-SQL权威指南》中国电力出版社◆《SQLServer2005宝典》电子工业出版社■人大数据库教学网站::kejianPassword:kejian考核方法■期末考查40%■实验:40%■平时随堂小作业20%教学思想■结合本专业特点,使同学们掌握数据库技术相应的基本概念、理论和原理,了解当前信息和通信领域数据库技术的最新应用■掌握数据库管理系统的基本使用、管理和维护,掌握数据库应用系统设计的基本理论和方法教学大纲■引言■数据库系统概述■关系数据库系统■SQL语言■SQLServer2005的使用与管理■数据库设计理论■SQLServer2005数据库应用系统开发■数据库系统在通信中的应用引言■数据与数据处理■数据库技术的发展历程及趋势■当前流行的数据库产品数据与数据处理■信息:人们对客观事物的认识和反映。■数据:用以载荷信息的物理符号。■数据处理:指对各种类型的原始数据进行收集、管理、加工利用乃至信息输出的演变与推导全过程。其中,数据管理,即数据的收集、整理、组织、存储、维护、检索、传送等操作,是数据处理的基本环节。数据库技术的发展■数据库技术是计算机科学技术中发展最快的重要分支之一,它已经成为计算机信息系统和应用系统的重要技术支柱。■它产生、发展于本世纪60、70年代,在短短的30年里,它从第一代的层次、网状数据库技术和第二代的关系数据库技术,发展到第三代的面向新一代应用的数据库技术。第一代数据库技术第一代数据库技术的代表是层次和网状数据库系统:■1969年,IBM公司研制了基于层次模型的数据管理系统IMS(InformationManagementSystem)■美国数据库系统语言协会CODASYL(ConferenceOnDataSystemLanguage)下属的数据库任务组DBTG(DataBaseTaskGroup)对数据库方法进行了系统的研究、探讨,于60年代末70年代初提出了若干报告,称为DBTG报告。报告所提议的方法是基于网状结构的,它是数据库网状模型的典型代表。第二代数据库技术第二代数据库系统是关系数据库系统■1970年IBM公司SanJose实验室的研究员E.F.Codd发表了题为“大型共享数据库数据的关系模型”的论文,提出了关系数据模型,开创了关系数据库方法和关系数据库理论,为关系数据库技术奠定了理论基础。■70年代是关系数据库理论研究和原型系统开发的时代,其中以IBM公司SanJose实验室开发的SystemR和Berkeley加利福尼亚大学研制的INGRES为代表。■经过大量的高层次研究和开发,关系数据库系统的研究取得了一系列的成绩,主要包括:◆奠定了关系模型的理论基础,给出了被人们普遍接受的关系模型的规范说明◆提出了关系数据语言,如关系代数、关系演算、SQL语言、QBE等等。这些描述性语言一改以往程序设计语言和网状、层次数据库语言的面向过程的风格,为80年代数据库语言标准化打下了基础◆研制了大量的关系数据库系统原型,攻克了系统实现中查询优化、并发控制、故障恢复等一系列关键技术■70年代后期,关系数据库从实验室走向了社会,而80年代几乎所有新开发的数据库系统均是关系型的。这些商用数据库系统的运行,特别是微机RDBMS的使用,使数据库技术日益广泛地应用到企业管理、情报检索、辅助决策等各个方面。下一代数据库技术传统数据库技术面临着严峻的挑战80年代以来,数据库技术在商业领域的巨大成就刺激了其他领域对数据库需求的迅速增长。例如,计算机辅助设计与制造、地理信息系统、办公信息系统和web应用等等。这些领域需要的数据管理功能有相当一部分是传统数据库所不能满足的,例如:■复杂数据类型的支持。复杂数据类型包括图像、音频、视频、web网页、抽象数据类型、无结构的超长数据等■复杂对象的存储和处理。复杂对象不仅内部结构复杂,相互之间的联系也很复杂■巨型数据库(数据量可超过1012字节)的管理■数据、对象、知识的统一管理下一代数据库系统是什么?数据库工作者从多方面发展了现行的数据库系统技术,研究全新的数据库系统。新一代数据库系统具有如下特点:■面向对象数据模型80年代面向对象的方法和技术的出现,对计算机各个领域都产生了深远的影响,也给面临新挑战的数据库技术带来了机会和希望。数据库研究人员提出了建立面向对象数据模型。该模型克服了传统数据模型的局限性,促进了数据库技术在一个新的技术基础上继续发展.目前在市场上已经有大量的面向对象数据库产品:Versant,Objectivity,ObjectStore,GemStone等。■XML(可扩展标记语言,ExtensibleMarkupLanguage)数据库Internet的异军突起以及XML语言的出现,给数据库系统的发展开辟了一片新的天地。上世纪90年代末,随着德国软件股份公司(SoftwareAG)推出世界上第一个“原状XML(NativeXML)数据库系统”产品问世,标志着数据库系统进入了一个新的发展时期。随后,一些大型数据库系统生产厂家,如:Oracle、微软公司等纷纷宣布要发展支持XML的数据库产品,IBMDB29更声称是PureXML数据库产品。■非关系式/面向互联网/键值/分布式数据库云计算NoSQLGoogle(Bigtable)■数据库技术与多学科技术的有机结合传统的数据库技术和多学科技术的结合,使数据库的许多概念、技术内容、应用领域,甚至某些原理都有了重大的发展和变化,建立和实现了一系列新型数据库:基于的网络数据库、嵌入式移动数据库、多媒体数据库、演绎数据库、知识数据库、工程数据库、地理数据库、模糊数据库等,它们共同构成了数据库大家族.■传统数据库即面向商业与事物处理的数据库仅仅成大家族中的一员,当然,也是最成熟的和应用最广泛的一员。它的核心理论、应用经验、设计方法等仍然是整个数据库技术发展和应用开发的先导和基础数据库技术的发展概况数据模型面向对象模型关系模型层次网状模型分布处理并行处理人工智能多媒体模糊技术商业管理地理信息系统科学实验计划统计决策支持应用领域其它计算机技术数据仓库分布式数据库并行数据库图:新一代数据库系统当前流行的数据库产品目前,商品化的数据库管理系统是以关系数据库为主导产品,技术比较成熟。国际国内的主导关系型数据库管理系统有ORACLE、SYBASE、INFORMIX、INGRES、MSSQLSERVER、DB2等■ORACLE是Oracle软件系统有限公司的产品。Oracle成立于1977年,总部设在加利福尼亚,是世界第二大的计算机软件供应商,向全球百余个国家的用户提供大量的软件产品和电子化信息服务。ORACLE系列产品在数据库领域一直居领先地位,它在全球的销售份额约占50%。■DB2关系型数据库家庭产品是IBM公司的主要产品。80年代初DB2的发展重点放在大型的主机平台,80年代中期后DB2已发展到适用于各种硬件平台。■MicrosoftSQLServer是微软公司的产品,它建立在MicrosoftWindows操作系统基础之上,提供了一个功能强大的客户/服务器平台,是能同时支持多个并发用户的关系数据库系统。2008年,微软发布了面向企业级市场的高端数据库软件SQLServer2008。■Sybase是SYBASE软件公司(已被SAP收购)的系列产品,SYBASE公司成立于1984年。SYBASE公司是第一个提出并推出客户/服务器(C/S)体系结构的高性能数据库服务器的数据库厂商,并促进了它的广泛流行。■关系技术公司(RelationalTechnologyInc)的INGRES数据库系统的多项技术直接采用了Berkeley大学的最新研究成果,多应用在高等学校和科研所等■另一阵营:开放源代码数据库以瑞典的MySQL为代表(08年被Sun收购,随后Sun已被Oracle收购):据统计,该软件如今的下载量已经超过了一亿份,最新版本MySQL5.5。还有Ingres、PostgreSQL等.第一章数据库系统概述■数据库、数据库管理系统、数据库系统与数据库应用系统■计算机数据处理技术的发展■数据库系统的特点与功能■数据库系统结构■数据库数据模型■数据库系统组成■数据库技术的研究领域概要数据库、数据库管理系统、数据库系统与数据库应用系统■计算机数据处理技术的发展■数据库系统的特点与功能■数据库系统结构■数据库数据模型■数据库系统的组成■数据库技术的研究领域DB、DBMS、DBS、DBAS■什么是数据库(DB)■数据库管理系统(DBMS)■数据库系统(DBS)■数据库应用系统(DBAS)什么是数据库?■数据库(DataBase,DB)以一定的组织方式长期存储在计算机内的,为多种应用服务的,相互有关的结构化的数据集合。即统一管理的相互关联的数据的集合数据库管理系统(DBMS)■DBMS是位于用户与数据库之间的一层数据管理系统软件,是数据库的核心。它提供了一个软件环境,使用户能方便快速地建立、维护、检索、存取和处理数据库中的信息■DBMS的组成◆数据描述语言(DDL)及其翻译处理程序◆数据操纵语言(DML)及其编译程序◆系统建立维护程序DBMS的功能用户对数据库的所有操作以及应用程序的执行,都是通过DBMS进行的,它主要有以下几个方面的功能:■数据库的定义和建立■数据库的操作■数据库的管理■数据库的维护数据库系统(DBS)■引入数据库后的计算机系统,即把数据库、有关的硬件、软件和人员组合起来提供信息服务的系统。■广义的DBS包括:◆数据库(DB)◆数据库管理系统DBMS◆支持DBMS的软、硬件环境◆数据库管理员DBA◆用户及其应用程序一个简化的数据库系统环境用户用户应用程序数据库操作数据库管理系统数据库操作操作系统数据字典数据库数据数据库管理员数据库应用系统(DBAS)■DBAS是在DBMS支持下的一类计算机应用系统,是由数据库系统和各种用户应用程序结合而成的。它不同于使用普通文件和由文件管理程序支持的系统,要包括专用或通用的DBMS■DBAS中的应用程序可以分为:◆功能程序:完成特定的操作要求,如修改、查询、打印等◆控制程序:显示功能清单(菜单),接受用户选择,并调用相应的程序来完成用户的操作意向概要■数据库、数据库管理系统、数据库系统与数据库应用系统计算机数据处理技术的发展■数据库系统的特点与功能■数据库系统结构■数据库数据模型■数据库系统的组成■数据库技术的研究领域本节重点数据库VS文件系统理解数据库技术的特点和根本出发点数据库外部体系结构的变化数据库系统的三层内部结构计算机数据处理技术的发展■人工管理阶段■文件管理阶段■数据库系统阶段人工管理阶段■数据不保存■数据与程序不具有独立性■只有程序没有文件的概念■数据面向应用程序代码数据文件管理阶段文件系统是操作系统中主要用来管理辅助存储器上的数据的子系统■数据可长期保存在磁盘上■数据的存取以记录为单位■文件系统