540 likes | 665 Views
数 据 库 基 础. 授课: 40 学时 实验: 20 学时 徐 旭 xxu@ustc.edu.cn 袁平波 ypb@ustc.edu.cn. 教材:. 王珊,陈红: 数据库系统原理教程,清华大 学出版社. 实验:. 张普华. 课件:. http://202.38.64.11/~xxu/. 参考:. 王珊,萨师煊:数据库系统概论 ( 第四版 ) ,高 等教育出版社
E N D
数 据 库 基 础 授课:40学时 实验:20学时 徐 旭 xxu@ustc.edu.cn 袁平波 ypb@ustc.edu.cn
教材: 王珊,陈红:数据库系统原理教程,清华大 学出版社 实验: 张普华 课件: http://202.38.64.11/~xxu/
参考: • 王珊,萨师煊:数据库系统概论(第四版),高 等教育出版社 • 李建中,王珊:数据库系统原理(第2版),电子 工业出版社
考核方式: • 作业 10% • 实验 20% • 考试 70%
内容: • 第一章 绪论 • 第二章 关系数据库 • 第三章 关系数据库标准语言SQL • 第四章 关系数据库设计理论 • 第五章 数据库保护 • 第六章 数据库设计 • 第七章 数据库技术的新进展
第一章绪论 1.1 引言 1.2 数据模型 1.3 数据库系统结构 1.4 数据库管理系统 1.5 数据库工程与应用
1.1 引言 1.1.1 数据、数据库、数据库系统、 数据库管理系统 1.1.2 数据库技术的产生和发展 1.1.3 数据库技术的研究领域
1.1.1 数据、数据库、数据库系统、 数据库管理系统 1. 数据(data) • 描述事物的符号记录 • 数据库中存储和处理的对象 • 数据与其语义不可分 (李明,男,1972,江苏,计算机系,1990)
2. 数据库(DB) • 长期存储在计算机内的、有组织、可共享的大量数据集合 • 存放数据的仓库 3. 数据库管理系统(DBMS) • 位于用户与操作系统之间的一层数据管理软件
4. 数据库系统(DBS) • 以计算机软硬件为基础的数据记录保持系统 • 包括数据库、数据库管理系统、应用系统、数据库管理员和用户
1.1.2 数据库技术的产生与发展 数据管理:对数据进行分类、组织、编码、储存、检索和维护,是数据处理的核心问题。 三个阶段:人工管理阶段 文件系统阶段 数据库系统阶段 三个阶段的比较:
1. 人工管理阶段 (1) 数据不保存 (2) 数据由应用程序管理 (3) 数据不共享 (4) 数据无独立性 2. 文件系统阶段 (1) 数据长期保存 (2) 数据由文件系统管理 (3) 数据共享性差 (4) 数据独立性差
3. 数据库系统阶段 (1) 整体数据结构化 (2) 数据共享性好,冗余度低 (3) 数据独立性高(物理、逻辑) (4) 数据由DBMS统一管理和控制 安全性 完整性 并发控制 数据库恢复
1.1.3 数据库技术的研究领域 1. 数据库管理系统软件的研制 2. 数据库设计 3. 数据库理论
1.2 数据模型 • 数据的组织是数据库技术的核心问题 • 数据库的数据组织是通过数据模型来实现的 • 数据模型是创建数据库维护数据库的方式,是 数据库系统定义数据内容和数据间联系的方法
数据模型应具有的三个方面要求: • 比较真实模拟现实世界 • 容易为人所理解 • 便于计算机实现
模型的分类: • 概念模型(信息模型 ) 按照用户观点对信息建模 用于数据库的设计 • 数据模型(逻辑模型和物理模型 ) 按照计算机系统的观点对数据建模 用于DBMS的实现
1.2.1 数据模型的要素 1.2.2 概念模型 1.2.3 数据模型
1.2.1 数据模型的要素 1. 数据结构 • 用于描述系统的静态特性 • 描述数据库的组成对象以及对象之间的联系,以此命名 2. 数据操作 • 用于描述系统的动态特性 • 主要有数据库检索和更新(插入、修改、删除)两类操作 3. 数据的约束条件 • 一组完整性规则的集合 • 给出数据及其联系所具有的制约和依赖原则
1.2.2 概念模型 • 概念模型用于信息世界的建模 • 概念模型独立于某一DBMS支持的数据模型 • 概念模型可以转换为计算机上某一DBMS支持的特定数据模型
1. 信息世界中的基本概念 • 实体:客观存在并可相互区别的事物 • 属性:实体所具有的某一特征 • 码:唯一标识实体的最小属性集 • 域:属性的取值范围 • 实体型:用实体名及其属性名集合来刻画的同类实体 • 实体集:同一类型实体的集合 • 联系 :实体(型)内,实体(型)间
A B A B A B 1:1 1:n m:n 三种实体型间联系: • 一对一联系(1:1) • 一对多联系(1:n) • 多对多联系(m:n)
2.概念模型的表示方法 • 用E-R图表示的实体-联系方法 • E-R图的组成部分 矩形框:实体型 椭圆框:属性和联系的属性 菱形框:联系 直线:连接实体型和联系,表示联系种类
1.2.3 数据模型 常用的模型有: 层次模型 网状模型 关系模型 面向对象模型 对象关系模型
非关系模型(层次模型、网状模型) • 记录:实体 • 数据项:实体的属性 • 记录间联系:实体间联系 • 数据结构单位:基本层次 联系
1. 层次模型 • 典型代表:IBM1968 年的IMS • 利用树形结构表示实体及实体间联系的数据模型 • 数据结构特点: 有且仅有一个结点无双亲,该结点是根结点 其他结点有且仅有一个双亲 每个结点表示一个记录类型 每个记录类型包含若干个字段
数据操纵: 没有双亲结点不能插入子女结点 删除双亲结点要同时删除子女结点 更新所有相应的记录 • 存储结构:邻接法 链接法 • 优点:结构简单,查询效率高,良好的完整性支持 • 缺点:不能直接描述非层次关系,数据操作限制多, 查询子结点需通过双亲结点,结构严谨
2. 网状模型 • 典型代表:DBTG 开发系统 • 利用有向图(网状)结构表示实体及实体间联系 的数据模型 • 数据结构特点: 允许多个结点没有双亲结点 允许结点有多个双亲结点
数据操纵: 允许插入未确定双亲结点的子女结点值 允许只删除双亲结点值 只需更新指定记录 • 存储结构:常用链接法 • 优点:更加直接描述现实世界,存取效率高 • 缺点:结构复杂,DDL、DML语言复杂,数据独立 性差
3. 关系模型 • 典型代表:IBM公司研究员E.F.Codd首次提出 • 利用表格表示实体及实体间联系的数据模型 • 数据结构特点: 在用户看来,就是一张二维表 实体以及实体间的联系都是用关系来表示 规范化的
关系 元组 属性 主码 域 分量 关系模式 学生(学号,姓名,性别,系别,年龄,籍贯) 术语:
对于实体与实体间联系: 学生(学号,姓名,性别,系别,年龄,籍贯) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 属性 主码
关系需要满足一些规范条件,如: • 每一个分量必须是单值的 • 每一列的值应是同一类型的,列序无关 • 任意两行不能相同,行序无关 • 满足实体完整性,参照完整性
数据操纵: 集合方式 插入、删除和更新操作必须满足关系的完整 性约束 完整性约束包括实体完整性,参照完整性, 用户定义完整性 • 存储结构:文件形式 • 优点:数学基础强,概念单一,数据独立性高 • 缺点:查询效率不高,增加了开发DBMS的难度
1.3 数据库系统结构 1.3.1 数据库系统的模式结构 1.3.2 数据库系统的体系结构
1.3.1 数据库系统的模式结构 • 数据库模式: 数据库中全部数据的逻辑结构和特征的 描述 • 型与值
2. 数据库的二级映象功能与数据独立性 • 外模式/模式映象,保证了数据的逻辑独立性 • 模式/内模式映象,保证了数据的物理独立性 数据的两种独立性简化了应用程序的编写
1.3.2 数据库系统的体系结构 1. 单用户数据库系统 2. 主从式结构的数据库系统 3. 分布式结构的数据库系统 4. 客户/服务器结构的数据库系统 5. 浏览器/服务器结构的数据库系统
1.4 数据库管理系统 DBMS功能: 1. 数据定义(DDL) 2. 数据操纵(DML) 3. 数据库运行管理 4. 数据组织、存储和管理 5. 数据库的建立和维护 6. 数据通信接口
DBMS组成: 1. 数据定义语言DDL 2. 数据操纵语言DML 3. 数据库运行控制程序 4. 实用程序
DBMS工作过程:存取数据 1. 用户在程序中嵌入DML 的一个读记录语句,控制转向DBMS 2. DBMS 检查合法性,查找外模式,检查存取权限 3. DBMS 依据外模式/模式映象的定义,确定应读入的模式记录 4. DBMS 依据模式/内模式映象的定义,确定应读入的物理记录 5. DBMS 向OS 发送读取所需物理记录的命令 6. OS 启动读数据程序,执行读操作 7. OS 将数据从数据库的存储区送到系统缓冲区 8. DBMS 依据外模式/模式映象定义,导出用户所要读取的记录格式 9. DBMS 将数据记录从系统缓冲区传送到程序的用户工作区 10. DBMS 向应用程序返回命令执行情况和状态信息
1.5 数据库工程与应用 1.5.1 数据库设计的目标和特点 1.5.2 数据库设计方法 1.5.3 数据库设计步骤 1.5.4 数据库应用
1.5.1 数据库设计的目标和特点 • 数据库设计的任务:在DBMS的支持下,按照应 用的要求,为某一部门或组织设计一个结构合理、 使用方便、效率较高的数据库及其应用系统。 • 数据库设计包含两方面的内容: 结构(数据)设计 行为(处理)设计