1、数据库系统原理,袁平波 2010.9,第一章 绪 论,1.1引言1.2数据模型 1.3数据库系统的结构及功能 1.4数据库管理系统 1.5数据库工程与应用,1.1引言,数据库技术产生于20世纪60年代中期 是数据管理的最新技术计算机科学的重要分支计算机应用的三个方面:科学计算、数据管理、过程控制,1.1.1数据库系统等相关概念,数据(Data)数据是信息的符号记录。数据是数据库处理和研究的对象。数据库(Database)长期存储在计算机内,有组织的、可共享的相关数据的集合 数据库管理系统(DBMS)位于用户和操作系统之间的一层数据管理软件。 数据库系统(DBS)计算机硬件为基础的记录保持系统。
2、包括数据库、数据库管理系统、应用系统、管理员和用户,有时还包括计算机硬件。,1.1.2数据管理技术的发展,数据管理是指对数据进行分类、组织、编码、存储、检索和维护分为三个阶段 :人工管理阶段 文件系统阶段 数据库系统阶段 三个阶段的对比,1.1.3数据库技术的研究领域,数据库管理系统软件的研制(面向对象、多媒体数据库等)数据库设计(设计方法学和设计工具、数据模型与建模、设计规范与标准)数据库理论(规范化理论),1.1.4*数据库系统的特点,数据的结构化数据的共享性好、冗余度低数据的独立性高:物理、逻辑数据由DBMS统一管理数据的安全性(Security)数据的完整性(Integrity)并发控
3、制(Concuurency)数据库恢复(Recovery)良好的用户接口,1.1.5*数据库在信息科学中的应用,三个世界,1.2数据模型,数据的组织是数据库技术的核心问题数据库的数据组织是通过数据模型来实现的数据模型是创建数据库维护数据库的方式,是数据库系统定义数据内容和数据间联系的方法数据模型的定义:表示实体类型和实体间联系的模型称数据模型,数据模型的两个层次:,概念(数据)模型:也称信息模型。用来描述信息结构,又称实体联系模型(ER)按照用户观点对信息建模(结构)数据模型:面向数据库的逻辑结构,直接涉及到计算机系统和DBMS,又称为(基本)数据模型按照计算机系统的观点对数据建模,数据模型的
4、三个方面要求:,比较真实模拟真实世界容易为人所理解便于计算机实现,1.2.1数据模型的要素,数据结构:用于描述系统的静态特征。是对实体类型和实体间联系的表达和实现,命名依据。数据操作:是用于描述系统的动态特征。是对数据库检索和更新(插入、修改、删除)两类操作 数据的约束条件:一组完整性规则的集合。给出数据及其联系所具有的制约和依赖原则。,1.2.2概念模型,现实世界,认识、抽象,信息世界概念模型,转换,机器世界DBMS支持的数据模型,概念模型的表示方法,实体联系模型(Entity Relationship Model,简记ER模型) 直接从现实世界中抽象出实体和实体间联系,然后用实体联系图(E
5、R图)表示信息模型ER模型实际是信息世界的模型。ER图的四个组成部分 矩形框:实体型菱形框:联系椭圆框:实体型和联系的属性直线:连接实体类型和联系类型,表示联系的种类,班级班长,ER图举例,班级,班长,1,1,组成,班级,学生,1,n,选修,学生,课程,m,n,领导,学生,n,1,选修,课程,教师,1,m,参考书,n,两个实体1:1,两个实体1:n,两个实体m:n,同一实体1:n,三个实体1:n,1.2.3数据模型,结构数据模型主要有三种层次模型、网状模型、关系模型未来的发展有:对象模型、语义模型非关系模型中的数据结构的单位是基本层次联系。所谓基本层次联系是指的两个记录以及它们之间的一对多(包
6、括一对多)的联系,1.2.3.1层次模型,典型代表:IBM1968年的IMS 定义用树型(层次)结构表示实体类型及实体间联系的数据模型 数据结构特点有且仅有一个结点无双亲,该结点是根结点其他结点有且仅有一个双亲层次模型中每个结点(片断)表示一个记录类型每个记录类型包含若干个字段,字段有字段名、数据类型和长度等,数据操纵与完整性约束插入时,没有双亲结点不能插入子女结点删除时,删除双亲结点要同时删除子女结点更新时,要更新所有相应的记录 存储结构 邻接法链接法,优点模型本身简单实体间联系是固定的,预先设计好的应用系统,性能优于关系型,不低于网状模型层次模型提供了良好的完整性支持。缺点实现多对多关系时
7、,需要采用冗余或虚结点方式,易形成不一致性对插入和删除操作限制较多。查询子结点需通过双亲结点。结构严谨,层次命令趋于程序化。,1.2.3.2网状模型,典型代表:DBTG(DataBase Task Group)开发系统 HP公司的IMAGE/3000 Honeywll 公司的IDS/II Univac公司的DMS1100 等定义用有向图(网络)结构表示实体类型及实体间联系的数据模型。(network model)数据结构特征 允许一个以上的结点无双亲至少一个结点不止一个双亲,数据操纵与完整性约束 插入时,允许插入未确定双亲结点的子女结点值删除时,允许只删除双亲结点值更新时,只需更新指定记录 存
8、储结构 常用链接法其它如引元阵列法、二进制阵列法、索引法等,优点更加直接描述现实世界存取效率高,性能好缺点结构复杂,不利于用户掌握,DDL、DML语言复杂数据独立性差,1.2.3.3关系模型,定义用表格表示实体集和实体间联系,用外键来实现关系间的联系 (Relation model)数据结构特征 在用户看来,一个关系模型的逻辑结构就是一张二维表;必须使用规范化的关系,如分量是原子的;不仅实体用关系表示,实体间的联系也用关系表示,术语 关系(relation):一个关系对应通常一张表 记做R元组(Tuple):表中的一行 (V1,V2Vn)字段(field):表中的一列 A1,A2An域(Dom
9、ain):属性的取值范围分量:元组中的一个属性,关系模式:是记录型。对关系的描述,关系模式的实例是一个关系。关系模式的描述包括:关系名、属性名、属性类型、属性长度、主键包含的属性等,记做:R(U,D,DOM,F)关系数据库模式:一组关系模式的总称即关系数据库模式,简称模式。候选键(Condidate Key):在给定的关系中,有这样的属性或最小属性组,它在不同的元组中的值是不同的,利用这个(些)值可以唯一地标示关系中地元组,则称该属性(组)为候选键。,主码(键)(Primary key):候选键可能不止一个,被指定正在使用地候选键称主键。 超键(Super Key):能唯一标识元组的属性集。超
10、键包括所有候选键。组合键与全键:当主键不是单一的属性时称组合键,组合键包括所有属性时称全键。外部键(Foreign Key):关系模式R中的属性集是其它关系模式的主键,那么该属性集对关系模式R而言是外键。主属性和非主属性:包含在任一候选键中的属性叫主属性,否则称非主属性,操纵与完整性约束插入、删除和更新操作必须满足关系的完整性约束;关系的完整性约束包括:实体完整性、参照完整性和自定义完整性 存储结构 实体和实体间的联系都用表来表示 表通常以文件形式存储,优点:建立在严格的数学概念基础上概念单一,实体、联系均用关系来表示存取路径对用户透明,数据独立性更高,保密性更好。简化程序员工作和数据库开发建
11、立工作。 缺点:存取路径对用户透明,查询效率不高因存取路径对用户透明,必须对用户查询进行优化,增加了开发DBMS的难度,1.3数据库系统的结构及功能,1.3.1数据库系统的模式结构(从管理系统角度看)SPARC接口分三级结构,数据库的二级映象功能与数据独立性 概念模式/内模式的映象概念模式/外模式的映象物理独立性:当存储结构改变时,可以通过修改概念模式/内模式的映象使概念级保持不便,这样外部级和应用程序也不会改变。逻辑独立性:当概念级发生改变时,可以通过修改概念模式/外模式的映象使外部级尽量保持不变,应用也就不需改变。,1.3.2数据库系统的体系结构(从最终用户角度来看),单用户DBS 主从式
12、结构DBS(终端方式) 客户/服务器结构DBS 分布式结构DBS,1.3.3*数据库系统的组成,计算机硬件 CPU、内存、硬盘计算机软件 OS、DBMS、应用软件包、应用程序数据(库)管理员、用户,1.4数据库管理系统,1.4.1数据库管理系统的功能与组成 DBMS功能 数据定义 数据操纵数据库运行管理安全性检查/完整性检查/并发控制/索引、数据字典等内部维护 数据组织、存储、管理 数据库建立与维护功能 数据通信接口功能,DBMS组成 数据定义语言DDL Data Definition/Description Language 数据操纵语言DML Data Manipulation Langu
13、age 数据库运行控制语言DCL Data Control Language 实用程序,1.4.2数据库管理系统的工作过程,用户存取数据库数据的过程 用户在程序中嵌入DML的一个读记录语句。控制转向DBMSDBMS检查合法性,查找子模式表,确定对应的存取权限DBMS依据子模式/模式映象的定义,确定应读入的模式记录DBMS依据模式/内模式映象的定义,确定应读入的物理记录DBMS向OS发送读取所需物理记录的命令OS启动IO程序,执行读操作OS将数据从数据库的存储区送到系统缓冲区DBMS依据子模式/模式映象定义,导出用户所要读取的记录格式DBMS将数据记录从系统缓冲区传送到程序的用户工作区DBMS向
14、应用程序返回命令执行情况和状态信息,从数据库中读取记录的过程,1.4.3数据库管理系统的实现方法,N方案 DBMS模块加入到用户进程,DBMS代码出现多副本,性能大幅下降 2N方案每个用户有一个DBMSshdow进程和一个后台负责读写和日值的进程 MN方案 2N方案的改进方案,N用户,M个DBMS进程(MN) N1方案 1个DBMS进程(可设计成多线程的),N个用户进程,消息开销大,1.5数据库工程与应用,1.5.1数据库设计的目标和特点 数据库设计的任务是:在DBMS的支持下,按照应用的要求,为某一部门或组织设计一个结构合理、使用方便、效率较高的数据库及其应用系统 数据库设计包含两方面内容结
15、构(数据)设计行为(处理)设计,1.5.2数据库设计方法,核心是:逻辑设计和物理设计 著名设计方法 新奥尔良设计:需求分析、概念设计、逻辑设计、物理设计 S.B.Yao设计:需求分析、模式构成、模式汇总、模式重构、模式分析、物理设计,1.5.3数据库设计步骤,步骤需求分析、概念结构、逻辑结构、物理结构、实施、运行维护 设计注意的问题 让用户参与,调动用户积极性充分考虑系统的可扩充性(可扩充性有限度)设计新系统要考虑旧系统的数据平稳迁移到新系统,1.5.4数据库应用,各种用户的数据视图,DBA 的职责,设计与定义数据库帮助最终用户使用数据库监督和控制数据库运行改进和重组数据库转储和恢复数据库重构数据库,