数据库系统基础第一部分第二部分第三部分第四部分第五部分总计111.520.56学时一、数据库系统概述1.1数据库在电子政务系统中的中心地位。1.1.1介绍“三网一库”。在2001年国务院制定的全国政府系统政务信息化建设的5年规划中,对我国政府信息化枢纽框架作出了明确规定,主要内容便是“三网一库”,即:政府机关内部的办公业务网、国务院办公厅与各地区、各部门连接的办公业务资源网、以因特网为依托的政府公众信息网;政府共建共享的电子信息资源库。(介绍北京信息化办公室规划处处长董宝青介绍的情况。数字北京专门成立的信息资源管理中心,对信息中心即将作出职能回归的计划,非常强调数据库的中心基础作用。拟辟文链接)1.2应用示例办公自动化系统图书管理系统航空售票系统数字图书馆系统银行业务系统文档管理系统数字北京的信息资源管理计划(重点)【例子】工厂MIS系统销售记录:产品、服务、客户、销售人员、时间雇员信息:姓名、地址、工资、津贴、所得税款财务信息合同、应收货款、应付货款1.3数据库系统的作用1.3.1管理大量数据目前最先进的数据库产品能支持10TB的数据,这个数据的概念相当于可存储5,497,558,138,880个汉字在航空售票系统中,可存储183亿个航班;在银行业务信息中,可存储38亿个流水帐户;在图书管理系统中,可以存储45亿本书的简要信息1.3.2数据定义功能可以定义各种数据库对象,包括数据库、表、视图、查询、索引、游标、角色、规则、约束、外键等关系型数据库管理系统(RDBMS)一般支持标准SQL语言,可以实现CREATE/ALTER/DROPTABLE创建/修改/删除表CREATE/ALTER/DROPVIEW创建/修改/删除视图CREATE/ALTER/DROPDATABASE创建/修改/删除数据库【注】上述语句是SQL语言(结构化查询语言,关系数据库最流行的数据查询和更新语言)提供的部分数据定义语句。如:createtablestudent(idchar(4),namechar(16),sexchar(2),heightnumeric(4,2))表示建立名为student的一个数据表,其中包括id等四个字段。Altertablestudentaddhometownchar(40)表示在表student中添加hometown字段。Droptablestudent表示删除表student1.3.3数据管理功能检索数据SELECT插入数据INSERT修改数据UPDATE删除数据DELETE【注】SQL语言中提供了功能强大的数据管理语言(DML),简单说明:selectid,namefromstudentwherehometownlike”%山”表示查找籍贯以“山”开头的同学的ID号和姓名。Insertintostudentvalues(‘1111’,’赵忠意”,’男’,1.76)表示向表student增加记录1.3.4控制多用户访问完整性控制:一般利用事务(Transaction)进行。并发性控制:一般利用锁(Lock)进行。安全性控制:一般利用权限、角色等措施执行。【解释】【事务】用事务来进行一致性控制,事务是一致性约束的检查单位,其特点在于事务中的所有操作要么同成功、要么同失败。由COMMIT将所有改变都托付给数据库,使数据库由事务前的一致性变成该事务导致的新的一致性状态。事务失败,由ROLLBACK回滚。一个事务应当具有ACID属性,将在后面DBMS组件中介绍。【锁】DBMS引入锁的机制来控制并发,加锁就是占有资源,解锁就是释放资源。对数据项加锁最常见的形式是共享锁和排他锁。所谓共享锁意指可读不可写,排他锁意味既可读也可写。在不同系统中对锁还有具体的细分,如MSSQLSERVER中规定了4级锁粒度(数据库、表、页、行),还提供了其他的锁类型(如修改锁、意图锁等)。【权限】就是指定什么样的用户在哪些数据上可以进行什么样的操作。1.4常用DBMS介绍1.4.1OracleOracle是一个最早商业化的关系型DBMS,具有完整的数据管理功能,包括故障恢复、与高级语言接口、并发完整性控制等。同时它是一个分布式数据库系统,支持各种分布式功能,特别支持INTERNET处理。它还是一个应用开发环境,提供了一套界面友好、功能齐全的数据库开发工具。Oracle使用PL/SQL语言,具有可开放性、可伸缩性、可移植性。Oracle8i版本提供支持面向对象的功能,支持对象的类、属性、方法,使其成为对象/关系DBMS,很多大型电子政务管理系统都采用其作为后台数据库进行操作。1.4.2SQLSERVERMicrosoftSQLSERVER是一种典型的客户机/服务器架构的关系型DBMS,它使用Transact-SQL在服务器和客户机之间传送请求和回应。为用户提供完整的数据库解决方案。1.4.3Sybase1.4.4Access作为OFFICE的组件之一,ACCESS是在WINDOWS下流行的桌面型DBMS,对简单的数据库应用,用户无须编写任何代码,可以直接通过简单的可视化操作完成大部分数据库管理任务。可以通过ODBC与其他数据库进行数据交换与共享,也可与WORD、EXCEL实现数据共享。同时提供VBA接口实现应用系统的开发。1.5.5VisualFoxpro二、数据库技术演义2.1人工管理阶段特点:在程序中要规定数据的逻辑结构和物理结构,程序与文件不独立数据面向应用,数据不能共享,存在无控冗余2.2文件管理阶段特点:信息以文件为单位存储在外存,由OS统一管理物理、逻辑结构脱离,数据具有物理独立性实现了文件级的共享,不能共享记录和数据项,存在数据不一致。面向应用组织数据,仍有大量冗余【背景】出现了磁盘等随机存取的存储介质,操作系统和高级语言形成。操作系统上的文件管理系统就是专门管理磁盘文件的管理软件。应用程序的开发是独立的,没有一个统一的规划。政府每个部门都可能开发与其他部门完全独立的系统,都拥有各自独立的数据文件。【特点详解】(1)见背景叙述(2)因为物理结构的操作全部交给OS去完成,可以实现物理独立性。(3)因为同一信息在多处采集和维护,可能造成同一种信息的不同数据表示。(4)同一信息在多个数据文件中出现,当多个不同部门独立采集同一信息是就产生了冗余。标志传统文件管理数据阶段转向现代数据库管理阶段的三大事件是:1968年,IBM推出了商用化的基于层次模型的IMS系统,IMS是一种宿主语言系统,某种宿主语言加上数据操作语言就构成了IMS应用系统。1969年,美国CODASYL(数据系统语言协商会)下的DBTG(数据库任务组)发布了DBTG报告,该报告奠定了网状数据库模型的基础。1970年,E.F.Codd提出关系模型,奠定了关系数据库管理系统的基础。2.3数据库阶段特点:使用复杂的数据模型来表示结构,面向部门组织数据,形成综合性数据库程序与数据有较高的独立性,易扩充提供了完整的数据控制功能。为用户提供了方便的接口【特点详解】(1)使用复杂的数据模型来表示结构。数据模型不但表示数据本身,还要描述数据之间的联系,所要管理的数据不再面向特定应用,而是面向整个应用系统,以部门来组织数据,减少了数据冗余,节省存储空间,有利于保持数据一致性。(2)具有很高的独立性,物理结构改变时基本不影响数据的逻辑结构和应用程序;部分逻辑结构的改变不影响整体逻辑结构,因此可以说部分实现了物理、逻辑独立性。(3)包括并发性、完整性、可恢复性、安全性和审计性。并发性就是允许多个用户或应用程序同时操纵数据,而数据库能保证提供正确数据。完整性就是始终包含正确的数据,可以通过定义参照完整性规则或字段规则保证记录之间的有机联系和数据值的有效性。可恢复性指数据库遭到破坏后,系统有能力把数据库恢复到最近某个时刻的正确状态。安全性指只有指定的用户才能使用数据库中的数据和允许的操作。审计性指系统可以自动记录所有对数据库系统和数据的操作,以便于跟踪和审计数据库的所有操作。(4)为用户提供了方便的接口。在数据库系统中,用户可以非常方便的使用SQL(StructuredQueryLanguage结构化查询语言)语言查询数据。2.4数据库技术的发展趋势2.4.1数据库技术面对的挑战环境的变化数据类型的变化数据来源的变化数据管理要求的变化【详解】(1)应用环境由可控制的环境变成多变的异构信息集成环境和INTERNET分布式环境。(2)由结构化的数据扩大至半结构化、非结构化和多媒体数据类型。(3)大量数据将来源于实时和动态的传感器或监测设备,需要处理的量成倍增加。(4)许多新型应用需要协同设计和工作流管理,需要平面的数据展示方式。2.4.2数据库技术的发展2.4.2.1分布式数据库分布式数据库是指在多个不同地理位置存储的数据库,其中一部分在某位置存储和处理,其他部分在其余位置存储和处理。两种类型的分布式数据库:中央数据库,包括分区式数据库和副本式数据库。其中中央数据库存储所有数据,分布式数据库存储该站点经常处理的数据,如果需要其他数据,则向中央数据库发出请求。副本分布式数据库在各站点制作中央数据库的副本。关键技术在于维护各站点数据的一致性。中央索引数据库:包括中央索引数据库和网络请求分布式数据库。用户使用数据时发送请求至中央索引数据库,根据索引指针寻找。中央索引数据库不存储数据,各站点自己维护数据。而网络请求分布式数据库中,没有中央索引数据库,依靠网络轮询完成用户请求。2.4.2.2面向对象数据库传统数据库存储对象主要是结构化的数字和字符信息,而且可以很好地存储和检索各种复杂对象的信息,如图形、图像等。但它不能处理基于复杂对象的应用程序,例如包含了复杂关系、数据类型多样的CAD数据库中的设计数据。如果在RDBMS中处理这些数据,需要使用专门的程序把这些复杂的数据分解成适合在二维表中存储的数据。在OODBMS中,可以从基本类型开始,如整型、实型、布尔型、字符串开始,使用记录结构、聚集类型、引用类型等构造符构造新的数据类型。2.4.2.3多媒体数据库目前尚未有成熟的多媒体数据库出现,传统DBMS处理大字节的数据类型时,采取了复杂的方法。2.4.2.4数据仓库数据仓库是面向主题的、一致的、不同时间的、稳定的数据集合,用于支持经营管理中的决策支持过程。数据仓库是一个处理过程,该过程从历史的角度组织和存储数据,并能集成地进行数据分析。换言之,数据仓库是一个大的数据库,存储了所有的业务数据。2.4.2.5工作流数据库越来越多的系统在提高效率时受到流程或组织结构的障碍,流程再造成为解决这一问题的重要方法,工作流数据库就是为了适应这种处理需求而产生的,包括处理、活动、控制流、输入、输出、数据流、条件等。它对传统数据库提出了特殊的要求,例如支持长事务、协调多个活动对共享数据库的访问、对事件的支持等。三、数据库系统架构数据库系统架构是指数据库系统中数据的存储、管理和使用等规范形式,包括数据存储架构、数据视图管理架构和数据库应用架构。3.1数据库存储架构是指数据库中物理数据和逻辑数据的表示形式、物理数据和逻辑数据之间关系映射方式的说明。物理数据结构指在存储设备上的存储方式。(联系磁盘、光盘结构进行理解)描述术语:位、字节、字、块、卷逻辑数据结构用户和程序员用来操作的数据形式。逻辑数据的描述包含两个层次客观世界的描述:实体、实体集、属性实体:描述客观现实存在的东西,它既可以是具体的,也可以是抽象的无形的东西。如一本书可以作为一个实体,一次借书则是一个无形的对象。实体集:特性相同的实体构成实体集。属性:实体的特性成为属性,每一个属性都有一个值域,值域可以是整数型、字符型、日期类型等。属性可以分为两类,一类是标识属性,一类是描述属性。数据库管理系统的描述:数据项(字段)、元组(记录)、关系(表)、关键字数据项,又叫字段,是标识属性的可以命名的最小单位。如标识文件的文件名称、文件编号、题名、责任者等字段。元组,又叫记录。数据项的集合称为元组,一个元组表示