Luckyxyz
首页
归档
关于
友链
切换模式
返回顶部
首页
技术实践
书斋絮语
说点儿什么
Luckyxyz
首页
技术实践
书斋絮语
说点儿什么
首页
归档
关于
友链
【软考】关系范式、数据库设计步骤、E-R 模型
技术实践
·
7 天前
Luckyxyz
# 关系模式的范式 候选码:属性,可以决定 U 的所有属性。最小属性组 候选码中包含的属性是主属性, 判断范式:把候选码抽出来 范式: 关系数据库中的关系必须满足一定的规范化要求,对于不同的规范化程度可用范式来衡量,范式是符合某一种级别的关系模式的集合,是衡量关系模式规范化程度的标准。 1NF、2NF、3NF、BCNF、4NF、5NF 满足最低要求的:1NF,第一范式。在 1NF 的基础上进一步满足一些要求的是 2NF,以此类推   --- ## 第一范式 1NF 设 R 是一个关系模式,R 属于第一范式当且仅当 R 中每一个属性 A 的值域只包含原子项,即不可分割的数据项 不满足第一范式:  改为符合第一范式的:  就是里面的每一项都不可再分了,就满足第一范式了 第一范式不能排除数据冗余和更新异常等问题,因为其中可能存在部分函数依赖 第一范式想要变成第二范式,就要搞定 函数依赖的问题 例子:  这个例子存在数据冗余的问题:学号、姓名、学院、院长,他选了多少门课,数据就会重复多少次 更新异常: 修改异常:基于数据冗余引出的问题,如果想修改 张三的姓名,就要修改他所有对应的数据。可能会引起修改不一致的问题 插入异常:本来可以插入的数据,现在插入不了。不能通过单一的属性决定。要通过具体的学号和课程号唯一标识一条记录。 删除异常:删一个课程,会把相关的学院 信息等都删掉,就是把不该删除的一起给删掉了 --- ## 第二范式  R是第二范式,他必须是一个 第一范式,且 **每个非主属性** 都 **完全函数依赖** 于候选码 (学号,课程号)起名为 K,K-->成绩,学号 课程号是主属性 所以 只有成绩满足条件:完全依赖于候选码,那么问题就找到了。 所以要把关系做分解 关系模式的分解: 要使分解有意义,起码的要求是后者不能丢失前者的信息  以上满足 2NF,但是有 传递函数依赖 ## 3NF 每个非主属性都非传递函数依赖于候选码 上面的例子,可以把 学号 --> 院长 这个函数依赖舍弃掉,因为他是一个传递函数依赖   ## BC 范式 BCNF  --- # 数据库设计步骤 - 用户需求分析:收集用户需求,确定系统边界 - 概念设计:概念结构设计 / 概念模型设计,把用户需求和用户边界描述出来 E-R 方法 - 逻辑设计:逻辑结构设计阶段,转换成 关系模式,再进行规范化操作,尽量达到 第三范式或 BC 范式 - 物理设计:逻辑模型在计算机中的具体实现方案 - 数据库实施阶段 - 数据库运行、维护阶段 需求分析阶段 逻辑设计是以需求分析的结果为依据  建立 需求说明文档、数据字典、数据流程图 --- # E-R 模型 实体,矩形,框内是实体名字 联系,菱形,框内是联系名字,比如,属于。无向边分别与有关实体连接起来,旁边标注联系的类型(1:1、1:n、m:m)
软考
取消回复
提交评论
Luckyxyz
我们谈论生活,讨论技术,借由文字,抵达心灵。
热门文章
Obsidian 迁移全记录(又名:纯小白的闭坑指南)
【Kubernetes】第一个实例 - Java Web 应用
新年新气象,关于年终总结,关于未来展望
使用宝塔面板对网站、数据库等进行定时备份到腾讯云 COS 对象存储
2025 年
在细雨中呼喊,在困顿中挣扎
Ubuntu 22.04 server 安装教程
最新评论
山佳Ellen: 有独到的见地,有个性的思想,精彩!
t: 2026 扬帆起航, 喜迎新年,万象更新, 时间旅行,人间探索,...
tls: 赞一个
lovingchina: 我也准备从Joplin迁移到Obsidian,刚好参考你这一篇哈...
tl.s: 很棒的一本书,可以解答很多人们关于人工智能的疑惑。或许未来怎样谁...
tl.s: 很实用 🦆🦆
tl.s: 绘图很清晰,图示质量很高
热门标签
软考
Kubernetes
读书笔记
Linux
Ubuntu
生活随笔
生活
2025
Python3
Debian
Ansible
空间智能
openFuyao
技术实践
在细雨中呼喊
粤ICP备2024349207号