【系统架构设计】数据库系统(一)

数据库模式与范式

数据库的结构与模式

数据库技术中采用分级的方法将数据库的结构划分多个层次。最著名的是美国ANSI/SPARC数据库系统研究组1975年提出的三级划分法,如图3-1所示。

在这里插入图片描述

  1. 三级抽象

数据库系统划分为三个抽象级:用户级、概念级、物理级

  • 用户级数据库:对应于外模式,是最接近用户的一级数据库,是用户可以看到和使用的数据库,又称为用户视图。用户级数据库主要由外部记录组成,不同的用户视图可以互相重叠,用户的所有操作都是针对用户视图进行的。
  • 概念级数据库:对应于概念模式,是所有用户视图的最小并集,是数据库管理员可看到和使用的数据库,又称为DBA(DataBase Administrator ,数据库管理员)视图。概念级数据库由概念记录组成,一个数据库可有多个不同的用户视图,每个用户视图由数据库某一部分的抽象表示所组成。一个数据库应用系统只存在一个DBA视图,它把数据库作为一个整体的抽象表示。概念级模式把用户视图有机地结合成一个整体,综合平衡考虑所有用户要求,实现数据的一致性、最大限度降低数据冗余、准确地反映数据间的联系。
  • 物理级数据库:对应于内模式,是数据库的底层表示,描述数据的实际存储组织,是最接近于物理存储的级,又称为内部视图。物理级数据库由内部记录组成,物理级数据库并不是真正的物理存储,而是最接近于物理存储的级
  1. 三级模式
  • 外模式:用以描述用户看到或使用的那部分数据的逻辑结构,用户根据外模式用数据操作语句或应用程序去操作数据库中的数据。一个数据库可以有多个外模式,一个应用程序只能使用一个外模式
  • 概念模式:用以描述整个数据库中数据库的逻辑结构,描述现实世界中的实体及其性质与联系,定义记录、数据项、数据的完整性约束条件及记录之间的联系,是数据项值的框架,是所有用户的公共数据视图。一个数据库只有一个概念模式
  • 内模式:是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式

三者之间的关系:

  • 概念模式是数据库的中心与关键
  • 内模式依赖于概念模式,独立于外模式和存储设备;
  • 外模式面向具体的应用,独立于内模式和存储设备;
  • 应用程序依赖于外模式,独立于内模式和概念模式。
  1. 两级独立性

是指物理独立性和逻辑独立性。三个抽象级间通过两级映射(外模式-概念模式映射、概念模式-内模式映射)进行相互转换,使得数据库的三级形成一个统一的整体。

  • 物理独立性:指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。当数据的物理存储改变时,应用程序不需要改变。存在于概念模式-内模式之间的映射转换,说明物理组织发生变化时应用程序的独立程度。
  • 逻辑独立性:指用户的应用程序与数据库中的逻辑结构是相互独立的。当数据的逻辑结构改变时,应用程序不需要改变。存在于外模式-概念模式之间的映射转换,说明概念模式发生变化时应用程序的独立程度。

ps:逻辑独立性比物理独立性更难实现。

数据模型

数据模型主要有2大类,分别是概念数据模型(实体-联系模型) 和 基本数据模型(结构数据模型)

  • 概念数据模型:按照用户的观点来对数据和信息建模,主要用于数据库设计。概念数据模型主要用实体-联系方法(Entity-Relationship Approach)表示,所以也称为E-R模型
  • 基本数据模型:按照计算机系统的观点来对数据和信息建模,主要用于数据库管理系统(Database Management System,DBMS)实现。基本数据模型是数据库系统的核心和基础,通常由数据结构、数据操作和完整性约束三部分组成。其中 数据结构是对系统静态特性的描述,数据操作是对系统动态特性的描述,完整性约束是一组完整性规则的集合。常用的有:层次模型、网状模型、关系模型、面向对象模型。

ps:关系模型常用,用表格结构表达实体集,用外键表示实体间的联系。优点有:

  1. 建立在严格的数据概念基础上;
  2. 概念(关系)单一,结构简单、清晰,用户易懂易用;
  3. 存取路径对用户透明,从而数据独立性、安全性好,简化数据库开发工作。

关系代数

在这里插入图片描述

  • 笛卡尔积: 对R和S 做笛卡尔积运算,结果如下:
    在这里插入图片描述

  • 投影:从一个关系中抽取指明的属性(列)。对表3-1 关系R做投影操作,p1,2( R) 的结果如下:
    注意:p1,2( R) 操作表示对第1列和第2列做投影。
    在这里插入图片描述

  • 选择在这里插入图片描述
    注意:选择运算是从元组(行)的角度进行的运算。

  • 等值连接/自然连接
    在这里插入图片描述


  • 在这里插入图片描述

ps :
笛卡尔积:就是把表的记录都一一组合
投影:以列为单位,选择不重复的行
选择:以行为单位,选择行
等值连接:以相同列等值,选择行
自然连接:在等值连接基础上,并在结果中将重复的属性去掉
除:如果表A 和表B 做除法,先确定XYZ,Y和Z 一样,选择A和B 公共部分为YZ,然后A除去公共部分的就是X,然后对X进行投影操作,获取的结果X’与Z进行笛卡尔积操作,如果结果包含在A 中,则X’为最终结果

数据的规范化

关系模型满足的确定约束条件称为范式把一个低一级的关系模型分解为高一级关系模型的过程,称为关系模型的规范化规范化的思想是:逐步消除不合适的函数依赖,使数据库中的各个关系模型达到某种程度的分离关系模型分解必须遵守2个准则

  • 无损连接性: 信息不失真(不增减信息);
  • 函数依赖保持性:不破坏属性间存在的依赖关系。

范式从低到高分为1NF(第一范式)、2NF(第二范式)、3NF(第三范式)、BCNF(BC范式)、4NF(第四范式)等。

  • 第一范式:元素不可再分,如以下例子。但是满足了1NF会有很多重复值,并且增加了修改其数据时引起疏漏的可能性。为了消除这种数据冗余和避免更新数据的遗漏,需要更规范的2NF。
    在这里插入图片描述

  • 第二范式:如果一个关系R属于1NF,且所以的非主属性都完全依赖于主属性,则称为第二范式。

  • 第三范式:如果一个关系R属于2NF,且每个非主属性不传递依赖于主属性,则称为第三范式。

  • BC范式:一般满足3NF的关系模型已能消除冗余和各种异常现象,但无论2NF和3NF 都没有涉及主属性间的函数依赖,所以有时仍会引起一些问题,由此引入BC范式,通常也认为是3NF的改进。其定义是:每个函数依赖关系中的决定因素都包含码,即主属性都有外键和主键。

反规范化

优点是减少数据冗余,节约存储空间,相应逻辑和物理的I/O次数减少,同时加快了增、删、改的速度,但对完全规范的数据库查询,通常需要更多的连接操作,从而影响查询速度。因此,有时为了提高某些查询或应用的性能而破坏规范规则,即反规范化(非规范化处理)。

数据库设计

事务管理

备份与恢复

分布式数据库系统

数据仓库

数据挖掘

NoSQL

大数据

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻傻虎虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值