2024年9月

三级模式-两级映像:

内模式:数据库文件的物理存储
模式:又称概念模式,基本表
外模式:视图,基本表查询出来的虚拟表,视图并不存储表中每行每列的值,它只是对基本表的引用

外模式-模式映像:视图和表之间的映射,若表中的数据更改,只需修改此映射,无需对视图和应用程序修改,保证了逻辑独立性
内模式-模式映像:数据物理存储和表之间的映射,若表中的数据更改,只需修改此映射,无需对表、视图和应用程序修改,保证了物理独立性

数据库设计

需求分析:产出物:数据流图、数据字典、需求说明书
概念结构设计:产出物:E-R图,或概念结构模型,或实体-联系模型。步骤:从局部到整体,自底向上设计,先分ER图,再合并ER模型。分ER图产生冲突:属性冲突(同一属性在不同ER图,解决方法:只留一个属性)、命名冲突(不同表中相同命名属性的意义不同、不同表中不同命名属性的意义相同)、结构冲突(同一实体在不同ER图中有不同的属性、同一对象在这一个ER图是实体而在另一个ER图是属性)
逻辑结构设计:产出物:逻辑结构模型,或关系模型,确定完整性约束、确定用户视图
物理结构设计:确定数据分布、存储结构、访问方式
数据库实施:建立数据库、写应用程序
数据库运行和维护

数据模型

关系模型:ER图转换而来,由开发人员设计
概念模型:用户视角建模的,是现实到信息世界的第一抽象
网状模型:反映实体之间的联系
面向对象模型:采用面向对象的方法设计数据库,以对象为单位,每个对象都有属性和方法。Hibernate是一个面向对象模型的对象关系映射(ORM)框架。

数据模型三要素:数据结构(对象类型)、数据操作(增删改查等)、数据的约束条件(primary key、foreign key、unique等)

概念

弱实体:依赖于强实体,例如:经理、业务员,他们都属于员工;学生选课场景中,家长需要知道学生的成绩,学生是强实体,家长是弱实体
强实体:一般的实体,例如:员工
简单属性:
复合属性:家庭地址,因为家庭地址由国家、省份、市区、街道、门牌号组成
域:属性的取值范围
码:键,唯一标识
主键:任选一个候选键
外键:其他表的主键
超键:唯一标识此表的属性的组合,可以包含冗余属性
候选键:超键中去掉冗余属性
主属性:候选键内的属性为主属性,其他为非主属性
实体完整性约束:主键不能为空,也不能重复
参照完整性约束:外键参照的主键必须是其他表存在的值,或者为空
自定义完整性约束

范式

第一范式1NF:每个分量都是不可分割的数据项,也就是说表中属性是简单属性,而不是复合属性
第二范式2NF:满足第一范式,所有非主属性都完全依赖于候选码,即消除部份依赖
第三范式3NF:满足第二范式,消除非主属性对码的传递依赖
BC范式BCNF:满足第三范式,消除主属性对码的部份依赖和传递依赖

模式分解

有损分解、无损分解
是否保持函数依赖

并发控制

事务的特性:原子性、一致性、隔离性、持续性
并发控制三大问题:丢失更新、不可重复读、读脏数据
X锁:写锁,排它锁
S锁:读锁,共享锁

数据库安全

完全备份、差量备份、增量备份

分布式数据库

在概念模式和内模式之间加入分片模式
分片模式可以为水平分片、垂直分片

数据仓库

不同于数据库,用于数据统计分析,对事物发展历程和趋势做出定量分析和预测
特点:面向主题,集成的(由其他分散的数据库中进行抽取,洗练,加工,整理获得),相对稳定(查询多,修改和删除少),反映历史变化
过程:异构的数据源->抽取、清理、装载、刷新->数据仓库->OLAP(联机分析处理)服务器->前端工具(报表、数据分析等)
商业智能(BI系统):数据预处理(ETL)、建立数据仓库、数据分析(联机分析技术OLAP、数据挖掘)和展现

反规范化

规范化的目的是降低冗余,避免插入、修改异常,反规范化的目的是提高查询性能

大数据

使用集群平台、对数据进行深度分析(关联分析、回归分析)