编辑: 阿拉蕾 | 2019-12-16 |
第一章 绪论 1.
信息与数据 信息 Information 信息是人类对于自然界的感知. 物质世界:物质与信息 物质存在?信息存在 物质变化?信息变化 数据 Data 数据是信息的符号化表示. 在计算机中,数据是描述各种信息的符号记录. 数据处理――对数据进入收集、 存储、 加工和传播等 过程. 2. 数据库 DB(Data Base) 长期存放在计算机存储介质中的有组织的、动态 的、可共享的数据集合. 3. 数据库管理系统 DBMS(Data Base Management System) 组织、存储、维护和获取数据库中数据的软件系 统,是介于数据库用户和操作系统之间的数据管理软 件. 4. 数据库系统 DBS(Data Base System) 在计算机系统中引入数据库后的系统,包括: 数据库 DB, 数据库管理系统 DBMS, 各种开 发工具 数据库应用系统, 计算机硬件及其他软件 数据库管理员 DBA (Data Base Administrator), 用户 5. 数据处理与数据管理 数据处理:对各种数据进行收集、存储、加工和传播 的一系列活动的总和. 数据管理:对数据进行分类、组织、编码、存储、检 索和维护的过程. 数据管理是数据处理的核心. 6. 数据库系统的特点 z 数据面向整个组织 z 数据结构化 ? 从一个组织全部应用的角度,全面考虑并集 成数据的结构;
? 不仅能反映数据本身,而且还能反映数据之 间的联系;
? 数据之间的联系通过存取路径实现. z 共享性高,冗余度低,可扩充性强 z 程序与数据具有较高的独立性 数据独立性:数据与应用程序之间相互依赖的程 度. 三级逻辑结构 ? 全局逻辑结构:描述数据库的整体结构 ? 局部逻辑结构: 描述某一用户观点的数据集 合?物理结构:描述数据的物理存储 两种映象 ? 全局逻辑结构与局部逻辑结构映象:逻辑独 立性
9 在全局逻辑结构与局部逻辑结构之间 有一种映象.
9 当全局逻辑结构发生变化时,通过修改 该映象,可以使局部逻辑结构不改变.
9 用户程序是根据局部逻辑结构编写的, 所以不必修改用户程序. ? 全局逻辑结构与物理结构映象:物理独立性
9 在全局逻辑结构与存储结构之间有一 种映象.
9 当存储结构发生变化时,通过修改该映 象,可以使全局逻辑结构不改变.
9 由此不必修改局部逻辑结构,所以不必 修改用户程序. z 数据管理灵活方便 z 易于被应用程序使用 z 安全性和保密性好 z 数据的算法相对较简单,但数据之间的关系复杂 (1) 数据结构化 (2) 数据共享性好、冗余度低、易扩充、避免不一致 性(3) 数据独立性好 (4) 数据由 DBMS 统一管理和控制 DBMS 提供了一种机制,保证数据的安全性、 完整性、 并发控制和数据库恢复等. (5) 数据存取最小单位是数据项
2
第二章 数据库系统结构 模型 对客观事务中感兴趣的内容进行模拟和抽象的工具. 建立模型有助于加深对问题的理解 数据模型 对客观世界中的数据特征进行抽象的工具. 数据库的数据模型 概念层数据模型 对数据应用部门的数据进行建模的工具. 对数据库既要表示数据本身,又要表示数据之间的联 系. 组织层数据模型 描述数据库系统内部数据组织结构的工具. 数据库是某个组织所涉及的数据的集合.数据库不仅 仅能表示数据本身,还能反映数据之间的联系. 设计数据库的逻辑结构时,首先需要将现实世界中的 信息及其相互联系用概念层数据模型(概念模型,信息模 型)表示出来,然后将这种其转换成具体数据库的组织层 数据模型(数据模型). 1. 三个世界 z 现实世界(客观世界) 客观世界研究的是对象;
对象是具体事务或抽象概 念;
组成客观世界的细胞称为事务;
人们对事务的认识是通过事务的特征进行的. z 信息世界 对客观世界中的事务进行认识,经过选择、命名、分 类后进入信息世界. ? 实体 Entity: 具有公共性质的客观存在的并可 相互区分的事务. 实体可以是具体的人、事、物,也可以是抽象 的概念. ? 属性Attribute: 实体所具有的某一特征.一个实 体由若干个属性描述. ? 键(码)Key:唯一标识实体的属性集. ? 域Domain:属性的取值范围. 属性是个变量,属性值是变量的取值,域是变 量的取值范围. ? 实体型 Entity Type:用实体名和属性名来抽象 和描述实体的框架. ? 实体集 Entity Set:同一类型实体的集合. ? 联系 Relationship: 现实世界中的事务不是独立 存在的,而是相互联系的. 实体内部各属性之间的联系;
实体之间的联系. ? 概念层模型的联系: 指实体之间的联系. z 机器世界 将信息世界中的概念模型转换成计算机内部表示,就进入 了机器世界(数据世界). 2. 实体之间的联系 z 一对一联系(1:1) z 一对多联系(1:n) z 多对多联系(m:n) 3. 概念模型的表示方法 实体联系方法: ER 图(Entity Relationship Approach) P.P.S Chen 于1976 年提出来的一种表示客观世界信息模 型的方法 ER 图的表示方法 典型的组织层数据模型 z 层次模型:用树型结构组织数据 ? 只有一个结点无双亲结点,称根结点. ? 除根结点外,其他结点有且只有一个双亲结点. z 网状模型:用网状结构组织数据 ? 可以有一个以上结点无双亲结点. ? 一个结点可以有多个双亲结点. z 关系模型:用二维表结构组织数据 ? 用二维表(table)组织管理数据. ? 表中数据及表之间的数据要满足一定的条件约 束. z 面向对象模型:用复杂表格及其他结构组织数据 数据库的数据模型由三部分组成
3 z 数据结构:描述数据的组织结构(静态结构) ? 描述数据的类型、性质、取值范围等
9 在不同的数据模型中,数据结构的表示方法 不同. ? 描述数据之间的联系
9 一个实体内部各数据项之间的联系.
9 不同实体之间数据的联系. z 数据操作:描述数据的操作(动态结构) ? 检索(查询)数据 ? 更新数据:插入数据;
修改数据;
删除数据 z 数据完整性约束:描述对数据的约束条件――正确 性、有效性和相容性. 实体完整性;
参照完整性;
用户定义完整性 ? 实体完整性和参照完整性是任何数据库都必须 满足的. ? 用户定义完整性是根据用户的具体要求定义的. ? 数据库系统应不仅能设置完整性,还能执行完整 性约束. 数据库的结构 z 内部结构(从数据库管理系统角度看数据结构) ? 三级模式(外模式、模式和内模式) z 外部结构(从最终用户角度看数据结构) ? 集中式结构 ? 分布式结构 ? 客户/服务器结构(C/S 结构-Client/Server) ? 浏览器/服务器结构(B/S 结构-Browser/Server) ? 并行结构…… z 两层结构 C/S:客户层/服务器层 z 三层结构 B/A/S:浏览器/应用程序服务器/数据库服 务器 1. 数据库系统的三级模式结构 z 模式 Schema ? 用于描述数据库的结构;
? 模式不涉及具体数据值. z 要特别注意区分 型 和 值 的概念 ? 型是指对数据结构和属性的说明. ? 值是型的具体取值,是数据库的一个实例. z 三级模式结构是典型的数据库模式结构 ? 尽管实际数据库的软件产品是多种多样的,可以 使用不同的语言,建立在不同的操作系统上,存 储结构不同,但基本上都采用典型的三级模式结 构和两种映象. (1) 模式 Schema 逻辑模式 Logical Schema ? 用于描述数据库的全局逻辑结构,是数据库的总 体构架. ? 一个数据库只有一个模式,其主要功能有: 定义模式名,定义数据项及类型,定义记录,定 义记录间的联系,定义安全性控制要求,定义数据 完整性约束条件等. ? 模式用模式数据定义语言 Schema DDL(Data Definition Language)编写,称源模式. ? 源模式经翻译后产生目标模式,存放在描述数据 库中. (2) 外模式 External Schema 外模式也叫子模式 Subschema 或用户模式 User Schema, 用于描述某一用户观点的数据库的局部逻辑结构. z 外模式通常是模式的子集,外模式与某一具体应用 有关. ? 同一外模式可以为某一用户的多个应用所使用,但 一个用户通常只能使用一个外模式. ? 不同用户的外模式可以互相覆盖. z 外模式是由模式映象出来的.二者的功能一致,但有 区别: ? 数据项定义可以不同;
? 记录的组成可以不同;
? 可以有不同的密码和不同的使用权限. z 外模式用外模式数据定义语言 Subschema DDL 定义. (3) 内模式 Internal Schema z 内模式也叫存储模式 Storage Schema,是数据库数据 的内部表示,用于定义数据的存储方式和物理结构. ? 内模式由数据库管理员 DBA 使用. ? 一个数据库只有一个内模式. z 内模式的功能 ? 定义每一个数据项的物理表示方式;
? 定义数据的寻址方法和检索技术;
? 定义数据是否压缩存储,数据是否加密存储;
? 定义数据的物理存储块的大小,溢出处理方法. z 内模式用内模式数据定义语言 Data Storage DDL 描述. 2. 数据库系统的组成 z 硬件――要求:大内存,大硬盘,较高的通道能力. z 软件 ? 支持数据库的操作系统;
? 数据库管理系统;
? 具有与数据库接口的高级语言及其编译系统;
? 以DBMS 为核心的开发工具. z 数据库: 具体的数据库应用系统. ? 数据库的数据;
? 数据库的描述. z 人员: 数据库管理员、系统分析员、应用程序员和 用户.
4
第三章 关系数据库 1. 域Domain 是一组具有相同数据类型的值的集合. 2. 笛卡儿积 Cartesian Product 给定一组域D1,D2, … ,Dn( 这些域中可以有相同的)D1,D2,…,Dn 的笛卡尔积为: D1*D2*…*Dn={(d1,d2,…,dn)|di∈Di, i=1,2,…,n}其中:(d1,d2,…,dn)叫一个n元组(n-tuple),简称元组di叫一个 分量 3. 关系 Relation D1*D2*…*Dn 的子集叫作在域 D1,D2,…,Dn 上的关 系,表示为: R(D1, D2,…, Dn) 其中:R 为关系名,n 为关系的度(或目),D1, D2,…, Dn 为域 名 由于域名可以相同,为了加以区分,必须为每一列起一个 名,称属性 Attribute,故关系常表示为: R (A1,A2,…,An ) 4. 属性到域的映象 z 若属性名与域名相同,则用域名作属性名. z 若属性名与域名不同,则需要指出属性到域的映象. Ai=Dom(Di) 表明:属性 Ai 来自于域 Di 5. 数据库关系与数学中关系的区别 z 关系模型对其数学定义作了适当的扩充: z 笛卡尔积可以是一个无限集合,但关系必须是有限集 合. 在数学意义上, (d1,d2,…,dn)≠ (d2,d1,…,dn) 列之间不满足交换律,故通过为关系的每一个列加一个属 性名,取消关系中列的有序性限制. 6. 关系的性质 z 列是同质的:每一列中的数据类型相同 z 列名是唯一的:不同的列(属性)可以来自于同一个域, 需要指 z 出属性到域的映象 z 行的顺序无关:任何两行可以互换 z 列的顺序无关:任何两列可以互换 z 任何两行不能完全相同:由主码区分 z 分量必须是原子量:每一列不可再分割 7. 关系的优点与不足 z 关系模型的优点 ? 理论基础扎实:集合论,关系数据理论. ? 概念单一: 实体用关系表示,联系也用关系表 示. ? 存取路径对用户是透明的: 用户不必知道存取 路径 ? 规范化:最基本的要求是每一个属性不可再分 割. ? 表示单一: 数据用表表示,查询结果也用表表 示. z 关系模型的缺点 ? 效率不如非关系模型,因此需要进行查询优化, 增加了 DBMS 自身的开发难度. ? 计算机处理速度的提高,数据库优化算法的改善, 使关系数据库的效率仍远高于其他数据模型 ? 关系模型是通过满足一定条件的二维表来表示 实体集合及数据之间联系的一种数据模型. ? 具有坚实的数学基础和较严密的理论,使用灵活 方便,得到了迅速发展,80 年代以后的数据库系 统几乎都支持关系模型. z 关系的逻辑数据结构 ? 实体和联系都用关系表示. ? 从用户的观................