960 likes | 1.26k Views
数据库系统概论 (第四版)王珊 萨师煊 编著. 白清源 福州大学数学与计算机科学学院 Qingyuan Bai Faculty of Mathematics and Computer Science, Fuzhou University Email: baiqy@fzu.edu.cn.
E N D
数据库系统概论(第四版)王珊 萨师煊 编著 白清源 福州大学数学与计算机科学学院 Qingyuan Bai Faculty of Mathematics and Computer Science, Fuzhou University Email: baiqy@fzu.edu.cn
Database、Artificial Intelligence and Computer NetworkThe following topics are closely relevant to DB Technology:----Data Mining //关联规则技术(零售业中的货物摆放)、聚类(分组)、分类与预测(就业预测、股票预测)等----Semi-Structure //XML网页数据表示格式,包括DTD、XML Schema定义模式,如何对XML网页进行查询?XML与关系数据库的转换,等等----Web Data Mining //在线预测、信息推荐、网页聚类、Web信息抽取与检索,等等。 ----Semantic Web //Web对象之间的语义关系。如何表示语义?语义的运算?等等。其中,Ontology是个有效的途径 Database Technology:One of three fundamental areas in computer science!
----Data Integration //Web数据集成系统:三层结构,2种模式。DIS的演变:Mediator-based systems…PDBMS ----Information Retrieval //Google、Yahoo!涉及网页的下载、存储、检索、抽取、排序等技术题。----Text Classification //对一组文章进行分类.可用于文件资料管理、摘要自动生成、文档全文检索等。----Grids Computing //资源共享!共享什么呢?软件+硬件----Mobile Computing // Answering Query Using Views:信息分类、检索、排序等。 Database Technology:One of three fundamental areas in computer science!
--DB Technology:Originated from 1960’s, throughout the primary file-management-based systems, the hierarchy systems and net systems popularly in 1970’s, and the prevalent relational database systems. --DB Applications:Transactions management, Engineering DB used in engineering design, Web DB in the Internet, Data Warehouse for decision support, and so on.--Architecture of DBS:Centralized DBS, Client-Server Systems and Client-Browser Distributed DBS. DB Applications: Overview
Focuses 1. Architecture of DB//CH.1 2. Relational Algebra and Database Query Language: SQL //CH.2、CH.3 3. Data Modeling and Design of Database Application Systems//CH.7、CH.8 4. Normalization of Relational Schema //CH.6 5. Storage procedure, Trigger, Data Integrity, and Security //CH.4、CH.5 6. Query Optimization//CH.9 7. Transaction Management: Concurrency Control, Fault and Recovery//CH.10、CH.11 8. New technology and new applications of DBMS//CH.13~17
References 1.萨师煊, 王珊. 数据库系统概论. 北京:高等教育出版社,2000. 2.余盘祥, 沈金发.数据库系统原理.北京:清华大学出版社,1988. 3.李建中,王珊. 数据库系统原理. 北京:电子工业出版社,2004. 4.J.Ullman. Principles of database systems, Computer Science Press,1982. 5.C.J. Date.数据库系统导论.孟小峰,王珊译,机械工业出版社,2000. 6.A. Silberschatz et al., 数据库系统概论, 杨冬青,唐世渭译,机械工业出版社,2003. 7. http://www-db.stanford.edu/~ullman/ 8.http://idke.ruc.edu.cn/xfmeng/
Chapter 1. Introduction 1.1 数据库系统概述 几个基本概念:数据、数据库、DBMS、DBS。 数据管理技术的产生和发展 数据库系统的特点 1.2 数据模型 两类:概念模型、逻辑模型和物理模型 数据模型三要素 概念模型:实体、联系、E-R图 逻辑模型:层次、网状、关系 1.3 数据库系统的结构 三级模式两种映射 1.4 数据库系统的组成
CHP.1 Introduction • What is a DBMS? • Why should we consider a DBMS to manage data? • How is application data represented in a DBMS? • How is data in a DBMS retrieved and manipulated? • How does a DBMS support concurrent access and protect data during system failures? • What are the main components of a DBMS? • Who is involved with databases in real life?
1.1 Overview of Database SystemsData:a set of symbols describing an object, including digital, character, graphics, image, voice, and so on.Database:a set of data which are related and structurized in logic, and stored in a computer system. //OLTPData Warehouse: a set of data which are object-oriented, integrated and used for supporting decision making. //OLAPData Mining: Discovery knowledge Introduction (cont.)
1.1 Overview of Database SystemsBasic features of an DB:---- a set of the related data;---- Using synthetic method to organize data ---- low data redundant, shared by multiple users---- high data independent---- security and reliability---- concurrency control: consistency and integrity Introduction (cont.)
Introduction (cont.) A Database management system (DBMS for short) is software designed to assist in maintaining and utilizing large collections of data. To use a DBMS well, it is necessary to also understand how a DBMS works. We focus on the following questions in this course. • Data design and application development • Data analysis • Concurrency and robustness • Efficiency and scalability.
What can a DBMS do for? Some of the important facilities provided by a DBMS are: • persistent storage of data • backup and recovery • safe concurrent access to data • integrity constraints • transaction management • query optimization • access control
数据库管理系统(DBMS:DataBase Management System) DBMS的任务是:对数据库进行管理,使之能为多个用户共享,能保证数据的安全性、可靠性、完整性、一致性,并保证数据的高度独立性。 简单说DBMS就是管理数据库的系统软件,它应该具有如下功能:---- 数据库定义(DDL: Data Definition Language)---- 数据组织、存储和管理---- 数据库操纵(DML: Data Manipulation Language)---- 数据库的事务管理和运行管理---- 数据库控制(DCL: Data Control Language)---- 数据库通信(CM: Communication Management) Introduction (cont.)
数据库系统(DBS:DataBase System)数据库系统是引入数据库的计算机应用系统,它包括: ---- 以数据为主体的数据库DB---- 管理数据库的系统软件DBMS ---- 支持数据库系统的计算机硬件环境和操作系统环境 ---- 管理和使用数据库系统的人,特别是负责设计、维护 数据库的技术人员——数据库管理员DBA ---- 方便使用和管理系统的各种技术说明书和使用说明书。Database----数据DBMS----软件DBS----一套软、硬件系统 Introduction (cont.)
----Manual Management 应用程序1 数据组1 应用程序n 数据组n History of Data Management Deficiencies:应用程序与数据不具有独立性、数据不共享。
----File Management:由文件系统管理数据 应用程序1 数据组1 文件系统 应用程序n 数据组n History of Data Management The approach of file systems for managing data has many drawbacks, mainly shown as follow: Redundant data, Weak relationship between data, Low data independent, Without uniform mechanism to control concurrent access and crash recovery.
----DBS:由DBMS管理数据。 应用程序1 数据库 数据库管理 系统 应用程序n History of Data Management
Historical Perspective: • In the 1960s, there were two types of DBMS. The first one was IDS whose data model is network, while the another was IMS for hierarchical data model. • In 1970, E.Codd proposed a new data representation framework called the relational data model. In the 1980s, the relational model consolidated its position as the dominant DBMS paradigm, and database systems continued to gain widespread use. The SQL query language for relational databases is now the standard query language. In the late 1980s and the 1990s, advances were made in many areas of database systems.
标志着数据库技术诞生的三个事件系统:---- 1968年研制成功、1969年形成产品的美国IBM公司的数据库管理系统IMS(InformationManagementSystem)的问世,该系统支持的是层次数据模型。---- 美国数据系统语言协会CODASYL下属的数据库任务组DBTG对数据库方法进行了系统的研究,发表了若干个报告,建立了数据库技术的很多概念、方法和技术。DBTG所提议的方法是基于网状数据模型的。---- 从1970年起,IBM的研究员E.F.Codd(1981年获图灵奖)发表了“A Relational Model of Data for Large Shared Data Banks”,Commun. ACM 13(6):377-387(1970),等一系列论文,提出了数据库的关系模型、关系方法和关系数据库理论等。 Historical Perspective:
一、Data structurized在数据库系统中实现了整体数据的结构化。也就是说,不仅要考虑某个应用的数据结构,还要考虑整个组织的数据结构。这就要求在描述数据时不仅要描述数据本身,而且要描述数据之间的联系。 课程信息 学生信息 学生与课程之间的联系 Features of Database:
二、High Data Sharing,Low Data Redundance,Scalablity人事部门考虑:职工基本情况+有关人事管理的数据教育部门考虑:职工基本情况+有关教育培训的数据三、High Data Independency数据独立性:指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。2种独立性含义:数据的物理独立性和数据的逻辑独立性,见P10。 Features of Database:
四、Data Managed and Controlled by DBMSDBMS提供以下几个方面的数据控制功能:(1) 数据的安全性保护 数据库有一套(主动)安全机制,可以有效地防止数据被非法使用或修改;数据库还要有一套完整的备份和恢复机制(被动安全),保证当数据遭到破坏时,能立刻将数据完全恢复,保证系统能够连续、可靠地运行。(2)数据的完整性检查指数据的正确性、有效性和相容性。(3)并发控制数据可以并发使用但必须能同时保证数据的一致性(4)数据库恢复 Features of Database:
DBA的任务是:---- 首先在数据库规划阶段要参与选择和评价与数据库有关的计算机软件和硬件,参与确定数据库系统的目标和应用需求,以及数据库开发计划等;---- 在数据库设计阶段要负责数据库标准的制定和数据字典的研制,要负责各级数据库模式的设计,负责数据库安全、可靠方面的设计;---- 在数据库运行阶段负责数据库的转储和恢复,负责对数据库中的数据进行维护,负责监视数据库的性能并进行改善,负责数据库安全系统的管理等。 补充:DBA(DataBase Administrator)
---- Data Model:重点研究如何构造数据模型,如何表示数据及其联系。从层次模型、网状模型到关系模型// And the next is?面向对象模型 Or AGENT?---- Applications:政府、企业、。。。---- Computer Technology:分布式技术、并行技术、人工智能、多媒体技术等。Typical research areas and applications:See P335. 补充: Research on Database
Section 2. Data Model • Data Model:现实世界事物/对象的特征的一种抽象。 A data model is a collection of high-level data description that hide many low-level storage details. A DBMS allows a user to define the data to be stored in terms of data model. • Three requirements should be satisfied:一是能比较真实地模拟现实世界;二是容易为人们所理解;三是便于在计算机上实现。 • Data Model={Data Structure, Data manipulations, Integrity Constraints} //构成一个数据模型的三要素
Section 2. Data Model • Two types of Data Models:1)概念模型;2)逻辑模型和物理模型。它们分别属于两个不同的层次。 • 概念模型:按用户的观点对数据建模,用于数据库设计。 • ----逻辑模型:按计算机系统的观点对数据建模,用于DBMS是实现。有层次模型、网状模型、关系模型和面向对象模型等。 • ----物理模型:描述数据在系统内部的表示方式和存取方法。
Section 2. Data Model (cont.) • Basic components of Data Model 一、Data Structure 描述数据库的组成对象以及对象之间的联系。 层次结构、网状结构、关系结构和面向对象结构。//它们分别是什么结构 二、Data Manipulation 对数据库中各种对象允许执行的操作集合。 三、Integrity Constraints 规定给定的数据模型中数据及其联系所应满足的制约和依存规则,以保证数据的正确、有效和相容。 三种常规的完整性约束:Functional Dependencies、Reference Dependencies and Semantic Constraints。
数据的三种范畴: 信息世界 计算机 现实世界 Conceptual Model:信息结构与E-R方法 现实世界的术语:事物、特征、事物集、标识特征。 事物:客观存在并可以相互区分的事、物或抽象事件。 特征:事物的某个性质/属性/方面。 事物集:具有相同特征的一类事物的集合。 标识特征:区分事物的特征。
Conceptual Model:信息结构与E-R方法 • 信息世界的术语: 实体Entity:客观存在并可以相互区分的事物或抽象事件。 • 属性Attribute:实体所具有的某一特性。 • 码Key:唯一标识实体的属性或属性集。 • 域Domain:属性的取值范围。 • 实体型:用实体名及其属性名集合来抽象和刻画同类实体。 • 实体集:同一类型实体的集合。 • 联系Relationship:实体内部的联系和实体之间的联系。 • 计算机世界的术语:记录、数据项/字段、文件、关键字。 • 型和值:型表示定义/结构,值表示某个术语的具体的表现/值。
Conceptual Model:信息结构与E-R方法 • 二、两个实体之间的联系: (1)一对一联系:1:1 (2)一对多联系:1:n (3)多对多联系:m:n • 如何表示?实体-联系方法(Entity-Relationship) 实体-联系方法用于描述现实世界中的信息结构,描述结果称为E-R模型或概念模型。它是最高级的抽象,与具体的数据模型没有关系。现实世界中的语义在这里(指确定联系类型的种类)起了最关键的作用!
1 1 领导 厂长 工厂 Conceptual Model :信息结构与E-R方法 实体:用矩形框表示,并写上实体名。 属性:用椭圆形表示,写上属性名,用边与相应的实体相连。 联系:用菱形框表示,写上联系名,并用连线与有关的实体相连。 ---- 1:1联系 实体A中的个体与实体B中的个体存在一一对应关系。比如,厂长实体与工厂实体,如下所示。
1 n 拥有 学校 学生 m n 选修 学生 课程 Conceptual Model :信息结构与E-R方法 ---- 1:n联系 对于实体A中的一个个体,在实体B中可以有多个个体与之对应,但对于实体B中的一个个体,实体A中最多只有一个个体与之对应。比如,学校实体与学生实体。 ---- m:n联系 对于实体A中的一个个体,在实体B中可以有多个个体与之对应,反之亦然。比如,学生实体与课程实体。
职工 1 n 领导 Conceptual Model :信息结构与E-R方法 四、单个实体型内的联系:实体A中的两个个体之间也可以存在着联系。比如,在职工实体中,有领导者与被领导者,用E-R图表示为: 当然,也可以考虑两个实体:职工、领导者。这样的设计与上述设计对今后数据库有很大的影响。
供应商 m 订购 n p 器件 仓库 Conceptual Model :信息结构与E-R方法 三、两个以上的实体型之间的联系:也可以有如上三种联系。 比如,在考虑仓库、器件、供应商三个实体时,我们规定:每个仓库可以向多个供应商订购多种器件,每个供应商可以向多个仓库提供多种器件,每种器件可以由多个供应商供应,可以由多个仓库购买。这样,描述仓库、器件、供应商三个实体之间的E-R图如下所示。
学号 姓名 性别 成绩 课程号 课程名 m n 选修 学生 课程 Conceptual Model :信息结构与E-R方法 属性“成绩” 发挥了什么 作用? 标识属性加下划线。 注意:联系也有属性。
Conceptual Model :信息结构与E-R方法 实体之间的联系主要取决于现实世界的管理方法,或者说,取决于语义,即同样两个实体,在不同的语义下,将有不同的联系类型。比如,对于仓库和器件两个实体: ----如果规定一个仓库只能存放一种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对一的; ----如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系是一对多的; ----如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系是多对多的。
Example:工厂物资管理的概念模型P17-19 实体: 仓库:属性有仓库号、面积、电话号码 零件:属性有零件号、名称、规格、单价、描述 供应商:属性有供应商号、姓名、地址、电话号码、帐号 项目:属性有项目号、预算、开工日期 职工:属性有职工号、姓名、年龄、职称 实体之间的联系如下: (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库,因此仓库和零件之间的联系是多对多的;用库存量表示某种零件在某个仓库中的数量。 (2)一个仓库有多个职工,一个职工只能在一个仓库工作,因此仓库和职工之间的联系是一对多的。 (3)职工之间具有领导-被领导关系,因此职工实体型中具有一对多的联系。 (4)供应商、项目和零件三者之间有多对多的联系。
l n 供应商 仓库 工作 职工 m 供应量 m l n 供应 仓库 领导 库存量 n p n 项目 零件 工厂物资管理E-R图:P19
仓库号 城市 面积 数量 器件号 器件名称 m n 库存 仓库 器件 补充:联系类型对数据库存储的影响 不同的联系类型对最终的数据库或数据存储有很大的影响。 以仓库和器件这两个实体之间的联系为例,E-R图如下: 假设仓库实例和器件实例如下: 仓库号 城市 面积 器件号 器件名称 WH1 北京 500 P1 显示卡 WH2 上海 450 P2 声卡 WH3 广州 200 P3 解压卡 WH4 重庆 300 P4 散热风扇
补充(cont.): 1。仓库和器件之间的联系为1:1的: 由于仓库实体和器件实体的联系是1:1的,我们可以设计库存文件如下: 仓库号 器件号 数量 WH1 P1 100 WH2 P2 120 WH3 P3 180 WH4 P4 200 考虑查询解压卡存放在哪个城市的仓库里。执行该查询的步骤为: 1)从器件文件中查到解压卡的器件号P3; 2)根据P3从库存文件中查到其仓库号WH3; 3)根据WH3从仓库文件中查到该仓库所在的城市“广州”。 因此,我们可以考虑将上述三个文件合并成一个文件,则只需一步就可以直接从合并文件中查出解压卡存放在广州。
补充(cont.): 2。仓库和器件之间的联系为1:n的: 如果保持库存文件的结构如前,则可能有如下的实例: 仓库号 器件号 数量 WH1 P1 100 WH1 P2 120 WH2 P3 180 WH2 P4 200 若仍然要将上述三个文件合并,则将出现数据冗余!由此还引出了数据项可能的不一致性。 解决方法:保留仓库文件,合并器件文件和库存文件。
补充(cont.): 3。仓库和器件之间的联系为m:n的: 如果保持库存文件的结构如前,则可能有如下的实例: 仓库号 器件号 数量 若仍然要将上述三个文件合并,数据 WH1 P1 100 的冗余度更大!由于同样的原因,任意两 WH1 P2 120 个文件也不能合并。 WH2 P3 180 解决方法:保留三个文件。 WH2 P4 200 WH3 P1 150 WH4 P1 180 WH4 P2 200 WH4 P3 100 WH4 P4 140
补充:理解和转换m:n联系 如果我们将仓库、器件和库存三个文件的数据写成矩阵形式,可以看出仓库记录和器件记录之间的对应关系是多对多的。 多对多联系是一类比较复杂的联系,一般数据库管理系统并不直接支持这类联系,或者由于技术上的原因我们也不直接使用这类联系,我们总是把一个多对多联系转换为两个一对多联系。例子如下。
器件 仓库 1 1 P-I W-I m n 库存 补充:理解和转换m:n联系 一个多对多联系转换为两个一对多联系。 m n 库存 仓库 器件
补充:连接陷阱 所谓连接陷阱就是误认为不存在联系的两个实体间存在联系,从而通过这种“联系”获取错误的信息。 供应商 器件 器件 仓库 1 1 1 1 S-O P-I P-O W-I m n m 订货 n 库存
补充:连接陷阱 得到错误的总E-R图,因为库存与订货没有联系! 供应商 器件 仓库 1 1 1 1 S-O P-I P-O W-I m n m 订货 n 库存
补充:概念数据模型的另一个实例 • 设计一个库存-订购数据库。 • 涉及三个实体:仓库、器件和职工。 • 库存业务用语义描述如下: • 1)在一个仓库可以存放多种器件,一种器件也可以存放在多个仓库中; • 2)一个仓库有多个职工,而一个职工只能在一个仓库工作; • 3)一个职工可以保管一个仓库中的多种器件,由于一种器件可以存放在多个仓库中,当然可以由多名职工保管。 • 结论: 仓库实体和器件实体之间存在多对多联系—库存; • 仓库实体和职工实体之间存在一对多联系—工作; • 职工实体和器件实体之间存在多对多联系—保管。
仓库 1 m 库存 工作 p n p n 保管 职工 器件 补充:概念数据模型的另一个实例 根据语义可以得到描述库存业务的局部E-R图,如下所示。 注意:这里的仓库与职工的联系是1:n!
补充:概念数据模型的另一个实例 • 订购业务涉及四个实体:职工、器件、供应商和订购单。 • 订购业务的管理模式用语义描述如下: • 1)一名职工可以经手多张订单,但一张订单只能由一名职工经手; • 2)一个供应商可以接受多张订单,但一张订单只能发给一个供应商; • 3)一个供应商可以供应多种器件,每种器件也可以由多个供应商供应; • 4)一张订购单可以订购多种器件,对每种器件的订购也可以出现在多张订购单上。 • 在职工和订购单之间存在一个一对多的联系——发出订购单; • 在供应商和订购单之间存在一个一对多的联系——接收订购单; • 在供应商和器件之间存在一个多对多的联系——供应; • 在订购单和器件之间存在一个多对多的联系——订购。 • 根据以上语义,描述订购业务的局部E-R图如下:
补充:概念数据模型的另一个实例 订购业务的局部E-R图。 m n 供应 器件 供应商 m 1 订购 接收订单 n p p 1 发出订单 职工 订购单