数据:数据库中存储的基本对象
数据库:数据按一定的格式存放的仓库
数据库管理系统(DBMS):位于用户和操作系统之间,是一个软件
主要功能有:
1. 数据定义
2. 数据组织、存储和管理
3. 数据操纵功能
4. 数据库的事务管理和运行管理
5. 数据库的建立和维护功能
6. 其他功能
数据库系统(DBS):是一个包含人和软硬件的系统,简称数据库
1. 人工管理阶段(数据与应用程序对应)
2. 文件系统阶段(Apollo登月,应用程序和文件组多对多)
3. 数据库系统阶段
1. 数据结构化(数据内部有结构,数据与数据之间的关系也有结构,也就是说数据是整体结构化的)
2. 数据的共享性高、冗余度低且易扩充
3. 数据独立性高
- 物理独立性:用户的应用程序与数据的物理存储是相互独立的
- 逻辑独立性:用户的应用程序和数据库的逻辑结构是相互独立的
- 高度的物理独立性和相对的逻辑独立性
4. 数据由数据库管理系统统一管理和控制
- 数据的安全性保护
- 数据的完整性检查(完整性:正确性、有效性和相容性)
- 并发控制
- 数据库恢复
两类数据模型:
- 概念模型
- 逻辑模型和物理模型
基本概念:
1. 实体:客观存在并可相互区别的事物
2. 属性:尸体所具有的某一特性
3. 码:唯一标识实体的属性集
4. 实体型:用实体名及其属性名集合来抽象和刻画同类实体,如:学生(学号,姓名,性别,出生年月,院系,入学时间)
5. 实体集:同一类型实体的集合
6. 联系:不同实体集之间的联系,有一对一、一对多和多对多等多种类型
组成的三个部分:
1. 数据结构:数据库的组成对象以及对象之间的联系,对系统静态特性的描述
2. 数据操作:查询和更新(插入删除修改)两大类操作,对系统动态特性的描述
3. 完整性约束条件:数据及其联系所具有的制约和依存规则
满足下面两个条件的基本层次联系的集合位层次模型:
1. 有且只有一个结点没有双亲结点,这个结点称为根节点
2. 根以外的其他结点有且只有一个双亲结点
特点:只能处理一对多的联系。如果删除双亲结点,则相应的子女节点值也将被同时删除。
优点:
1. 数据结构简单清晰
2. 查询效率高:性能优于关系数据库,不低于网状数据库
3. 提供了良好的完整性支持
缺点:
1. 不适合表示多对多联系
2. 查询子女节点必须通过双亲结点
3. 层次命令趋于程序化
满足以下两个条件的基本层次联系称为网状模型:
1. 允许一个以上的结点无双亲
2. 一个结点可以有多于一个的双亲
优点:
1. 更为直接地描述现实世界
2. 具有良好的性能,存取效率较高
缺点:
1. 结构比较复杂
2. 用户不容易掌握,不容易使用
3. 记录之间的联系是通过存取路径实现的,用户必须了解系统结构的细节,加重了编写应用程序的负担
基本术语:
1. 关系:对应一张表
2. 元组:一行即为一个元组
3. 属性:一列即为一个属性
4. 码:表中的某个属性组,它可以唯一确定一个元组
5. 域:一组具有相同数据类型的值的集合,如性别(男,女)
6. 分量:元组中的一个属性值,规范化的关系模型中关系的每一个分量必须是一个不可分的数据项
7. 关系模式:对关系的描述,如学生(学号,姓名,年龄,性别,系名,年级)
特点:关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,用户只要指出“干什么”或“找什么”,不用关系具体操作。
优点:
1. 建立在严格的数学概念的基础上
2. 概念单一,数据结构简单清晰,用户易懂易用
3. 存取路径对用户透明,具有更高的数据独立性,更好的安全保密性,简化了程序员工作
缺点:查询效率不如格式化数据模型,DBMS必须对查询请求进行优化,增加了开发难度
型(type)和值(value):类比c++中的类和对象,是一种模型和实例之间的关系
模式(schema):数据库中全体数据的逻辑结构和特征的描述,仅仅涉及型的描述,它的一个具体值称为一个实例(instance)
模式:又称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。实际上是数据库数据在逻辑级上的视图,一个数据库只有一个模式,使用模式数据定义语言(模式DDL)来定义模式。
用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。一个数据库可以有多个外模式,是模式的子集,一个用户程序只能使用一个外模式,相互之间可以有交叉,根据用户需求定制,是一个映像(mapping)。
作用:保证数据库安全性
一个数据库只有一个内模式,是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式(记录:堆存储、聚簇存储…… 索引:b+树、hash……是否压缩……)
模式改变时,管理员改变外模式/模式映像使外模式保持不变,从而不用修改应用程序,保证了数据与程序的逻辑独立性
唯一的。存储结构改变时管理员改变模式/内模式映像,使模式保持不变。保证了数据与程序的物理独立性
数据与程序之间的独立性使得数据的定义和描述可以从应用程序中分离出去。数据的存取由DBMS管理,简化了应用程序,大大减少应用程序的维护和修改。
1. 数据库管理员(DBA)
- 决定数据库中的信息内容和结构
- 决定数据库的存储结构和存取策略
- 定义数据的安全性要求和完整性约束条件
- 监控数据库的使用和运行
- 数据库的改进和重组(内容上的)、重构(结构上的)
2. 系统分析员和数据库设计人员
- 系统分析员:需求分析、确定配置
- 设计人员:系统分析、模式设计
3. 应用程序员
4. 用户
DBMS建立在(操作系统)之上
下列说法中正确的是 (D)
A. 数据库的概念模型与具体的DBMS有关
B. 三级模式中描述全体数据的逻辑结构和特征的是外模式
正确:内模式
C. 数据库管理员负责设计和编写应用系统的程序模块
正确:应用程序员
D. 从逻辑模型到物理模型的转换一般是由DBMS完成的
在文件系统管理阶段,由文件系统提供数据存取方法,所以数据已经达到很强的独立性。 (X)
数据库管理系统提供的数据控制方面的功能包括数据的(安全性)保护、数据的(完整性)检查、(并发控制)和数据库恢复
层次模型和网状模型中的单位是基本层次联系,这是指两个(数据结构)以及它们之间的(一对多)的联系
数据模型的组成要素中描述系统的静态特性和动态特性的分别是(数据结构)和(数据操作)