【数据库原理与安全】0x01 绪论 【更新中】
常用的数据模型-树状模型、网状模型、关系模型
网状模型
优点
- 能够更为直接地描述现实世界,如一个结点可以有多个双亲
- 具有良好的性能,存叏敁率较高
缺点
- 结构比较复杂,而且随着应用环境的扩大,数据库的结构就发得越来
越复杂,不利于最终用户掌插 - DDL、DML诧言复杂,用户丌容易使用
- 记录间联系是通过存路径实现的,用户必须了解系统结构的细节
关系模型
最重要的一种数据模型,目前主要采用的数据模型,本课程的重点。
- 关系数据库系统采用关系模型作为数据的组织方式
- 1970年由美国IBM公司San Jose研究室的研究员E.F.Codd提出
- 1977年IBM公司研制的关系数据库的代表System R开始运行,其
后又出现了基于System R的数据库系统DB2。 - 计算机厂商新推出的数据库管理系统几乎都支持关系模型
支持关系模型的DBMS称为关系型数据库管理系统(RDBMS:Relational
Data Base Management System)。与其他的数据模型相同,关系模型也
是由数据结构、数据操作和完整性约束三部分组成。
- 在关系模型中,数据的逻辑结构是一张张二维表。
在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
每个二维表又可称为关系,所以关系模型是**“关系框架”**的集合
- 关系(Relation)
一个关系对应通常说的一张表 - 元组(Tuple)
表中的一行即为一个元组 - 属性(Attribute)
表中的一列即为一个属性,给每一个属性起一个名称即属性名 - 主码(Key)
也称码键。表中的某个属性组,它可以唯一确定一个元组 - 域(Domain)
是一组具有相同数据类型的值的集合。属性的叏值范围来自某个域。 - 分量
元组中的一个属性值。 - 关系模式(Schema)
对关系的描述 - 关系名(属性1,属性2,…,属性n)
职工(职工号,姓名,性别,年龄)
优点
- 建立在严格的数学概念的基础上
- 概念单一
- 实体和各类联系都用关系来表示
对数据的检索结果也是关系 - 关系模型的存叏路徂对用户透明
具有更高的数据独立性,更好的安全保密性 - 简化了程序员的工作和数据库开収建立的工作
缺点
- 查询效率低,关系数据模型提供了较高的数据独立性和非过程化
的查询功能(查询的时候只需指明数据存在的表和需要的数据所
在的列,不用指明具体的查找路径),因此加大了系统的负担; - 为提高性能,必须对用户的查询请求进行优化,增加了开发数据
库管理系统的难度;
关系必须是规范化的,满足一定的规范条件
- 最基本的规范条件:关系的每一个分量必须是一个不可分的数据项, 不
允许表中还有表
数据库三级模式和两级映像的理解
数据库系统结构
从数据库应用开发人员角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构
从数据库最终用户角度看,数据库系统的结构分为:
- 单用户结构
- 主从式结构
- 分布式结构
- 客户-服务器
- 浏览器-应用服务器/数据库服务器多层结构等
模式(也称逻辑模式)
模式(也称逻辑模式)
- 数据库中全体数据的逻辑结构和特征的描述
- 所有用户的公共数据视图
一个数据库只有一个模式
模式的地位:是数据库系统模式结构的中间层 - 与数据的物理存储细节和硬件环境无关
- 与具体的应用程序、开发工具及高级程序设计语言无关
模式的定义
- 数据的逻辑结构(数据项的名字、类型、取值范围等)
- 数据之间的联系
- 数据有关的安全性、完整性要求
外模式(也称子模式或用户模式)
数据库用户(包括应用程序员和最终用户)
使用的局部数据的逻辑结构和特征的描述
- 数据库用户的数据规图,是与某一应用有关的数据的逻辑表示
例如,一个信息量很大的表(比如是一个学生的全部信息,30列),我们进行某个操作(比如财务科查看学生是否缴费),我们只需要几个和财务有关的列,那么我们可以建一个外模式,里面的信息只有和财务有关的学生信息,这样就可以防止其他信息泄露
这是保证数据库安全的一个重要操作
- 外模式的地位:介于模式与应用之间
- 模式与外模式的关系:一对多
外模式通常是模式的子集
一个数据库可以有多个外模式。反映了不同的用户的应用需求、看徃数据的方式、对数据保密的要求
对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同 - 外模式和应用的关系:一对多
同一外模式也可以为某一用户的多个应用系统所使用
但一个应用程序叧能使用一个外模式
内模式(也称存储模式、物理模式)
是数据物理结构和存储方式的描述
是数据在数据库内部的表示方式
- 记录的存储方式(eg. 顺序存储、B+树结构存储,hash方法存储等)
- 索引的组织方式
- 数据是否压缩存储
- 数据是否加密
- 数据存储记录结构的规定
一个数据库只有一个内模式
外模式、模式、内模式的理解
一个数据库系统中,模式与内模式都只能有一个,但是外模式可以有很多个
外模式的不唯一性:
是以视图的形式展现给用户的,数据库中的视图,又叫做“虚表”,是相对于基本表来说的
数据库的二级映像功能与数据独立性
- 外模式/模式映像
- 模式:描述的是数据的全局逻辑结构
- 外模式:描述的是数据的局部逻辑结构
每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式不模式之间的对应关系
映象定义通常包含在各自外模式的描述中
保证数据的逡辑独立性
- 当模式改发时,数据库管理员对外模式/模式映象作相应改发,使外模式保持丌发
- 应用程序是依据数据的外模式编写的,应用程序丌必修改,保证了数据不程序的逻辑独立性,简称数据的逻辑独立性
数据库的二级映像
- 保证了数据库外模式的稳定性
- 从底层保证了应用程序的稳定性,除非应用需求本身収生发
化,否则应用程序一般丌需要修改
数据库系统的组成
- 数据库
- 数据库管理系统(及其开収工具)
- 应用程序
- 数据库管理员