学习笔记1

规范化的目的是设计性能较优的关系模式,其主要理论依据是关系规范化理论,该理论通过定义不同的范式(如 1NF、2NF、3NF、BCNF 等),指导如何消除数据冗余、避免操作异常。

平凡函数依赖:如果函数依赖的右部属性集完全包含在左部属性集中(即 Y ⊆ X),那么该依赖一定成立,且不传递任何新信息。

下面的每一个范式之间都是递增的条件:

第二范式:消除非主属性对候选码的部分函数依赖。

第三范式:消除非主属性对候选码的传递函数依赖,也就是消除非主属性对非主属性的依赖。

bcn范式:消除主属性对候选码(不包含该主属性)的部分函数依赖和传递函数依赖,也就是说左边一定是完整的候选码。

第四范式:消除多值依赖,只保留一组多值依赖。

例题:若一个关系的任何非主属性都不部分依赖和传递依赖于任何候选码,则该关系还没有达到第三范式。(F):只要非主属性对候选码是不部分依赖和传递依赖代表的是完全函数依赖,也就满足第三范式。

规范化理论的核心作用就是通过改造关系模式,消除不合适的数据依赖,进而避免插入异常(如无法插入部分属性数据)、删除异常(如删除某条数据时连带删除其他必要数据)、更新异常(如修改数据时需多处同步)和数据冗余等问题。(增删改异常+数据冗余)

概念模型是对现实世界的抽象描述,属于数据库设计的概念层,其建立不依赖于具体的数据库管理系统(DBMS)和硬件设备,具有较高的独立性和通用性。

外模式(用户模式)是在数据库的逻辑设计阶段形成的,用于描述用户看到的数据结构;而物理设计阶段主要是设计数据的物理存储结构(如索引、存储路径等),形成的是内模式。

需求分析阶段:明确业务需求,收集数据和操作场景,输出需求规格说明书、数据字典初稿、业务流程图。

概念结构设计阶段:抽象现实世界,构建独立于 DBMS 的概念模型,输出实体 - 联系图(E - R 图)、概念数据模型。

逻辑结构设计阶段:将概念模型转化为具体 DBMS 支持的逻辑模型,输出关系模式(表结构)、数据约束(主键 / 外键)、逻辑模型图。(属于数据结构)

物理结构设计阶段:设计数据的物理存储方案(适配硬件 / DBMS),输出存储结构设计(索引、分区)、存取路径、物理模型。(属于内模式)

数据库实施阶段:落地设计,创建数据库、表、索引等实际对象,输出可运行的数据库、SQL 脚本、测试数据。(创建实际的数据)

数据库运行与维护阶段:监控运行状态,优化性能,处理故障和需求变更,输出维护日志、性能优化报告、变更记录。

基本表就是关系模式,就是数据库中的表。

从E-R图向关系模型转换,一个M:N的联系转换成一个关系模式时,该关系模式的码是N端实体码与M端实体码组合 。

Armstrong公理系统:

自反律:a是b的子集 b->a

增广律:a->b => ac->bc(特别的aa->ab,也就是a->ab)

传递律:a->b,b->c => a->c

扩展:

合并律:a->b,a->c => a->bc

证明:a->b => a->ab(增广率)

a->c => ab->bc(增广率)

a->bc

分解律:a->bc => a->b,a->c

证明:bc->b,bc->c(自反律)

a->b,a->c

伪传递律:a->b,bc->d =>ac->d

证明:ac->bc(增广律)

ac->d

维护数据一致性的意义在于,确保数据库中的数据是可靠的、有意义的,能正确反映现实世界的状态,避免因数据矛盾而导致决策失误或系统故障。

聚族索引是主键创建的时候建立的,有明确的物理顺序,就像b+树

非聚族索引是后续建立的create index创建的,像哈希表

相关推荐
Zero-Talent2 小时前
MySQL初级
数据库·mysql·oracle
烟雨归来2 小时前
oracle数据文件大小异常故障处理
数据库·oracle
jenchoi4132 小时前
【2025-11-23】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·数据库·安全·web安全·网络安全
auspicious航2 小时前
PostgreSQL数据库之使用 pg_waldump 和 pg_walinspect 查看 WAL 文件的内容
数据库·postgresql
unicrom_深圳市由你创科技2 小时前
Django项目结构与微服务设计
数据库·sqlite
Hcoco_me2 小时前
YOLO目标检测学习路线图
学习·yolo·目标检测
Jay20021113 小时前
【机器学习】7-9 分类任务 & 逻辑回归的成本函数 & 逻辑回归的梯度下降
笔记·机器学习·分类
不断高歌4 小时前
MySQL基础随堂笔记3
数据库·mysql
筵陌4 小时前
MySQL表的增删查改(上)
数据库·mysql