数据库系统概论学习
1.绪论
1.1数据库系统概述
一、数据:数据库中存储的基本对象,是信息的载体,描述事物的符号记录,经过数字化处理放入计算机中。
二、数据库(DataBase,DB):长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库数据具有永久存储、有组织的和可共享三个基本特征
三、数据库管理系统(DataBase Management System,DBMS)功能:
1、数据定义功能
数据定义语言(DDL),用户通过使用它对数据库中的数据对象进行定义
2、数据组织、存储和管理
3、数据操纵功能
数据操纵语言(DML),进行查询、插入、删除和修改等
4、数据库的事务管理和运行管理
保证数据的安全性、完整性、多用户对数据处理时的并发性、发生故障后的系统恢复
5、数据库的建立和维护
初始数据的输入、转换、数据库的转存和恢复,数据库的重组织功能和性能监视、分析功能
四、数据库系统(DBS)
由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(使用数据库管理系统实现数据库功能)构成
数据库系统架构
1.1.2数据管理技术的产生和发展
一、人工管理阶段(纸带)
(计算机处理时)特点:①数据不保存 ②应用程序管理数据(绑定在一起) ③数据不共享 ④数据不具有独立性
缺点:逻辑结构和物理结构发生发生变化后,必须对应用程序做出相应的修改,加重了程序员的负担
二、文件系统阶段
特点:①数据可以长期保存 ②由文件系统管理数据
缺点:①数据共享性差、冗余度(有同样的信息)大 ②数据独立性差
三、数据库系统阶段
特点:①数据结构化 ②数据共享性高、冗余度低,容易扩充 ③数据独立性高 ④数据有DBMS统一管理和控制
1.2数据模型
对现实世界数据特征的抽象,即对现实世界的模拟
1.2.1两类数据模型
满足要求:
①较为真实地模拟现实世界
②容易为人理解
③便于在计算机上实现
一、概念模型(信息模型),按照用户观点对数据和信息建模,主要用于数据库设计
二、逻辑模型和物理模型
①逻辑模型(结构):层次模型、网状模型、关系模型(二维表)、面向对象模型和对象关系模型等。它是按计算机系统的观点对数据建模,主要用于DBMS的实现
②物理模型:对数据最低层的抽象,描述数据在系统内部的表示方法和存取方法,在磁盘或磁带上的存储方式和存取方法,主要面向计算机硬件
1.2.2数据模型的组成要素
由数据结构、数据操作、完整性约束
一、数据结构
描述数据库的组成对象及对象之间的联系,对系统静态特性的描述
二、数据操作
主要有查询和更新(插入、删除、修改),对系统动态特性的描述
三、数据的完整性约束条件
一组完整性规则
eg:在关系模型中,任何关系必须满足实体完整性(一条信息唯一确定一条记录)和参照完整性(在两个表中,同一个信息指定同一个对象)两个条件
1.2.3概念模型
现实世界到机器世界的一个中间层次(信息世界)
①对信息世界的建模,第一次抽象
②数据库设计人员进行数据库设计的有力工具,和用户之间进行交流的工具
要求:
①较强的语义表达能力
②方便、直接地表达应用中的各种语义知识
③简单、清晰、便于理解
一、现实世界的基本概念
1.实体:客观存在并可相互区别的事务 一个学生
2.属性:实体具有的某一特性 学号、姓名……
3.码(key):唯一标识实体的属性集 学号
4.域:一组具有相同数据类型的值的集合。属性的取值范围 学号的域为8位整数
5.实体型:具有相同属性的实体所具有的共同特征和性质 学生(学号,姓名,性别……)
6.实体集:同一类型实体集合 全体学生
7.联系:现实世界中,事务内部及事务之间都有联系。实体内部的联系:组成实体的各属性之间的联系。实体之间的联系:不同实体集之间的联系
二、两个实体型(实体集A和实体集B)之间的联系
1.一对一联系(1:1)班长——班级
2.一对多联系(1:n):班级——学生
3.多对多联系(m:n):课程——学生
三、两个以上实体型之间的联系
课程、教师、参考书(m,n,p)
四、单个实体型内的联系
领导 职工
五、概念模型的一种表示方法:实体—联系图(E—R图)
提供了表示实体型、属性和联系的方法
实体型:用矩形表示
属性:用椭圆形表示,用无向边与相应实体相连
联系:用菱形表示,框内写明联系名称,用无向边星联,写上联系的类型
注意:联系也有属性,也要用无向边将其与该联系相连
六、表示某工厂物资管理的概念模型
实体:
①仓库(仓库号、面积、电话号码)
②零件
③供应商
④项目
⑤职工
仓库—零件(m:n)、仓库—职工(1:n)、职工(1:n)、供应商—项目—零件(m:n:p)
先画实体及属性->实体及其联系(先把属性去掉,最后再加)->把联系的属性写上->最后将实体的属性加上
1.2.4数据模型
层次模型:树状结构
网状模型:由图组成
关系模型:应用最多,二维表
1.2.5关系模型
关系:一张表
元组:表中的一行
属性:表中的一列
码:表中的某一个属性,可唯一确定一个元组 eg:各个编号
域:属性取值范围
分量:元组中的每一个属性值
关系模式:
eg:学生(学号,姓名,性别……),有多个关系模式的时候,且其中有一个是其余关系模式的联系,那么这个关系模式的至少两个属性分别来源于它所联系的实体1和实体2
二、关系数据模型的操纵与完整性约束
操作:查询、插入、删除和更新数据
完整性约束条件:
①实体完整性(必须要存在一个或以上确定出唯一的一个实体) ②参照完整性(这个实体里的属性参照另一个实体)③用户定义的完整性(根据实际用户定义属性的取值范围)
三、优点
1.建立在严格的数学概念基础上
2.关系模型概念单一
3.存取路径对用户透明,更好独立性
1.3数据库系统结构
模式:数据库中全体数据的逻辑结构和特征的描述,同一个模式中可以有很多实例
模式是抽象的整体概念,而实例是具体到某一个个体及其所拥有的特性
1.3.2数据库系统的三级模式结构
外模式(应用)、模式(概念、逻辑)和内模式(存储、物理~)
外模式:将数据库中的数据根据用户需求将数据返回给用户
模式:具体数据库数据如何存储
内模式:数据在硬盘中如何存取
注意:
1.外模式是模式的子集,一个数据库有多个外模式
2.同一外模式也可为某一用户的多个应用系统使用
3.外模式是保证数据库安全性的一个有力措施
1.3.3二级映像功能与数据独立性
二级映像功能:保证了DBS中的数据具有较高的逻辑独立性和物理独立性
当数据库的存储结构改变,由数据库管理员对模式/内模式映像做出改变,使模式不变,从而应用程序不变。保证了数据的物理独立性
1.4数据库系统组成
一、硬件平台及DBS
内存、磁盘足够大,较高的处理能力
二、软件
DBMS、os、编译系统及高级语言、以DBMS为核心的应用开发工具、数据库应用系统
三、人员
管理员、分析员、设计人员、应用程序员、最终用户
数据库管理员(DBA)
-
决定数据库中的信息内容和结构
-
决定数据库的存储结构和存取策略
-
定义数据的安全性要求和完整性约束条件
-
监控数据库的使用和运行
-
数据库的改进和重组
系统分析员
1.负责应用系统的需求分析和规范说明
2.与用户及数据库管理员结合,确定系统的硬软件配置
3.参与数据库系统的概要设计
数据库设计人员
- 参加用户需求调查和系统分析
- 确定数据库中的数据
- 设计数据库各级模式
应用程序员
- 设计和编写应用系统的程序模块
- 进行调试和安装
用户
是指最终用户(End User)。最终用户通过应用系统的用户接口使用数据库