资源预览内容
第1页 / 共508页
第2页 / 共508页
第3页 / 共508页
第4页 / 共508页
第5页 / 共508页
第6页 / 共508页
第7页 / 共508页
第8页 / 共508页
第9页 / 共508页
第10页 / 共508页
亲,该文档总共508页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第一章 数据库系统的世界 The Worlds of Database Systems,数据库系统的发展 数据库管理系统的结构 未来的数据库系统,2,1.1 数据库系统的发展c,一、术语1.数据库是长期储存在计算机内的、有组织的、可共享的数据的集合。,3,2.数据库管理系统,数据库系统基础教程 A First Course in Database Systems DBMS - DataBase Management System 是处理数据库访问的软件。 提供数据库的用户接口。 DBMS的目的: 提供一个可以方便地、有效地存取数据库信息的环境,5,3.数据库系统是指在计算机系统中引入数据库后的系统,6,数据库系统构成,7,保存信息的两种不同方法:永久性的系统文件、数据库系统。 文件方式的问题:数据的冗余和不一致 数据访问困难 数据孤立 完整性问题 原子性问题 并发访问异常 安全性问题,二、文件系统与数据库系统,8,数据库方法能较好地解决以上的问题 数据的独立性 有效地访问数据 减少应用程序的开发时间 数据的一致性和安全性 统一的数据管理 并发的数据访问,三、为什么用数据库,9,几种模型: 基于树的层次模型 基于图的网状模型物理相关、无高级查询语言 基于表的关系模型物理无关、支持高级查询语言, 基于对象的面向对象模型OOOR,四、数据库模型的发展,定长记录,10,关系数据库系统,11,关查询语言 SQL语言 SELECT balance FROM Accounts WHERE accountNO = 67890;,关系数据库系统,12,DBMS的组成 数据、元数据 存储管理程序 事务管理程序 查询处理程序,1.2 数据库管理系统的结构,13,数据、元数据 关于数据结构的信息(关于数据的数据) 索引(INDEX),DBMS的组成,14,存储管理程序 文件管理程序 缓冲区管理查程序,DBMS的组成,15,查询处理程序 查询优化磁盘访问,是查询的主要代价;索引是查询优化的利器,DBMS的组成,16,事务管理程序 事务:是用户定义的一个数据库操作序列 事务的四个特性原子性A一致性C隔离性I持久性D,DBMS的组成,17,客户-服务器程序体系结构 浏览器-服务器体系结构,DBMS的组成,18,客户-服务器程序体系结构 浏览器-服务器体系结构,1.3 未来的数据库系统,第二章 数据库建模 Database Modeling,20,数据库的设计步骤,需求收集和分析 设计概念结构 设计逻辑结构 设计物理结构 物理实现,21,数据库的设计步骤,需求收集和分析 用户关心什么 用户要什么结果 设计概念结构 设计逻辑结构 设计物理结构 物理实现,22,数据库的设计步骤,需求收集和分析 设计概念结构 存什么 关系(联系)如何 ODL或E/R图,是各种数据模型的共同基础 设计逻辑结构 设计物理结构 物理实现,23,数据库的设计步骤,需求收集和分析 设计概念结构 设计逻辑结构 用什么数据模型 数据库的模式(database schema) 用户子模式 设计物理结构 物理实现,24,数据库的设计步骤,需求收集和分析 设计概念结构 设计逻辑结构 设计物理结构 数据怎么存 根据DBMS产品、环境特点 物理实现,25,数据库的设计步骤,需求收集和分析 设计概念结构 设计逻辑结构 设计物理结构 物理实现 运行DDL 装入测试数据 应用程序,26,数据库的设计步骤,想法 需求,ODL,E / R,关系,RDBMS,OODBMS,27,2.1 ODL,对象定义语言Object Definition Language 以面向对象的观点、方法,说明数据库的概念结构 可方便地直接转换成 OODBMS 的说明 经过努力,可以转换成 RDBMS 的说明,28,面向对象的设计,对象标识 OID 对象与对象的区别 类 具有相同特性的对象归为一类 对象的归并必须有意义 属于同一类的对象其特性必须相同,29,面向对象的设计,对象的三个特性 属性:特性 联系:引用 方法:函数 接口说明interface ,30,属性 对象某方面的特征,属性就是数据 只由基本数据类型构成 属性的类型,不能是类、也不能从类中构造 Interface Movie /Movie Class 的ODL说明attribute string title;attribute integer year;attribute integer length;attribute enum Film color, blackAndWhite filmType;,31,Interface Star attribute string name;attribute Struct Addr string street,string city address;,32,联系 对象的引用 对象的关联 对象集合的引用(1:N)Relationship Set stars; 单一对象集合的引用(1:1)Relationship Star starOf;,33,反向联系 ODL要求显式表示存在的反向联系Interface Movie /Movie Class 的ODL说明attribute string title;attribute integer year;attribute integer length;attribute enum Film color, blackAndWhite filmType;relationship Set starsinverse Star : starredIn; /Star与Movie的联系;,34,联系的多重性 N:N 在联系中,每个C都和D的集合有关,而在反向联系中,每个D都和C的集合有关 N:1 在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和C的集合有关 1:1 在联系中,每个C都和唯一的D有关,而在反向联系中,每个D都和唯一的C有关,35,Interface Moiverelationship Set starsinverse Star : staredIn;relationship Studio ownedByinverse Studio : owns; Interface Starrelationship Set staredIninverse Moive : stars; ; Interface Studiorelationship Set ownsinverse Moive : ownedBy; ;,36,ODL中的类型 基本类型 原子类型 接口类型 结构类型,可由以下类型组合而成 集合 无重复,次序无关 包 可重复,次序无关 列表 可重复,次序相关 数组 结构,37,2.2 实体联系图(E/R),用图形的方法,描述实体及实体间的联系 世界由一组称作实体的基本对象及这些对象间的联系组成 元素 实体(Entity) 客观存在并可相互区别的事件或物体 对应于ODL中的对象 实体集(Entity Set) 同类(具有相同类型、相同性质)实体的集合 对应于ODL中的类 用矩形表示,38,2.2 实体联系图(E/R),元素 属性(Attribute) 实体所具有的某一特性 用与实体集相连的椭圆表示 联系(Relationship) 实体集之间的关联 可涉及多个实体集 可表示双向的联系 用与相应的实体集相连的菱形表示,39,Movies,Stars,Stars-in,lenght,filmType,title,year,name,address,40,E/R联系的多重性 N与1的表示,Movies,Stars,Stars-in,Studios,Presidents,Runs,Movies,Studios,Owns,41,联系的多向性 E/R图能方便地描述两个以上实体集间的联系,42,联系中的角色 实体集在联系中的作用 参与联系的实体集互异 只标注联系名 同一实体集在一个联系中多次出现 标注联系名及角色名,43,联系中的属性 联系中可以包含属性 由联系而产生的属性 可为由联系产生的属性建立实体集,Stars,Movies,Contracts,Studios,salary,44,将多向联系转换成二元联系 新增连接实体集 引入连接实体集至原实体集的多对一的联系,45,2.3 设计原则,真实性 设计应当忠于规范 存什么 避免冗余 任何事物只表达一次 避免引入过多的元素 选择合适的元素类型 属性? 类/实体集? 联系集?,46,2.4 子类,特殊化与概括 子类与超类 属性的继承,47,ODL中的子类 子类继承其超类的所有特性 属性 联系 Interface Cartoon : Movie relationship set voices; ,48,ODL中的多重继承 类的层次 一个类可以有多个超类Interface MurderMystery : Movieattribute string weapon; Interface Cartoon-MurderMystery : Cartoon,MurderMystery ,49,E/R中的子类 Isa E/R中的继承,50,2.5 对约束的建模,建模包含对现实世界的对象及联系的描述,也包含对它们的一些约束 键码 单值约束 参照完整性约束 域的约束 一般约束,51,键码 在类的范围内唯一标识一个对象(或者在实体集的范围内唯一标识一个实体)的属性或属性集 一个类中的两个对象(或一个实体集中的两个实体)在构成键码的属性集上取值不能相同 ODL中键码的表示 interface Movie ( key (title,year) ) ,52,超码 一个或多个属性的集合,能在一个实体集中唯一地标识一个实体 一个类(或实体集)中可能有多个超码 候选码 其任意真子集都不为超码的超码 一个类(或实体集)中可能有多个候选码 主码 从候选码中选取的一个,一个类(实体集)中只有一个主码 E / R图中只能表示主码:主码属性名加上下划线,53,单值约束 要求某个角色的值是唯一的,如键码 当一个属性为单值时 可以要求该属性值存在(not null) 可以允许该属性值任选(null) 构成键码的属性,必须有值存在(not null),54,参照完整性约束 要求由某个对象引用的值在数据库中确实存在 参照与被参照、引用与被引用 参照完整性约束的操作(各产品不同) 禁止删除被引用的对象 级联删除 / 修改 E/R图中参照完整性的表示,55,2.6 弱实体集,弱实体集的属性不足以形成主码 有主码的实体集称为强实体集 弱实体集只有作为一对多联系的一部分(多)才有意义 弱实体集与其拥有者之间的联系是标识性联系,56,2.7 关于联系集,联系集的成份 参加联系的实体集的主码 联系集的属性 联系中属性的决策(二元联系) 1:1 联系集的属性:放到任意一端 1:N 联系集的属性:放到 N 端 N:M联系集的属性:只能留在联系集中,57,联系集的取舍(二元联系) 1:1联系:将一端的主码作为另一端的属性 1:N联系:将一端的主码作为 N 端的属性 N:M联系:必须保留联系集 联系集的键码(二元联系) 1:1联系:任意一端的主码 1:N联系:N端的主码 N:M联系:参加联系的所有实体集的主码,58,ODL、E/R建模 关心:存什么数据、关系如何 不关心:用什么数学模型、DBMS产品 透过E/R图,便于与用户交流,59,作业 思考所有带*的练习,并上网查阅解答 练习2.1.7 / 2.2.8 / 2.3.2 / 2.5.3 / 2.5.4 /2.6.4(a),第三章 关系数据模型 The Relational Data Model,61,ODL、E/R到关系模型的转换 关系模型的设计理论,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号