Luckyxyz
首页
归档
关于
友链
切换模式
返回顶部
首页
技术实践
书斋絮语
说点儿什么
Luckyxyz
首页
技术实践
书斋絮语
说点儿什么
首页
归档
关于
友链
【软考】概念数据模型、结构数据模型、三级模式结构、两级映像、关系模型
技术实践
·
3 天前
Luckyxyz
# 数据模型的分类: ## 概念数据模型:从信息世界中抽象的数据模型 ## 结构数据模型:从计算机世界中抽象出的 DBMS 支持的数据模型 DBMS:Data Base Management System 数据库管理系统 --- # 概念数据模型 用于信息世界建模,一般采用 实体-联系方法(E-R 方法)表示 - 实体:人、物、或者 系统 - 属性:描述实体的特性,学号、姓名、性别、出生日期等。属性的具体取值:属性值。用以表示一个具体实体,如 属性组合(1,张三,男,10/03/79,99011)在学生表中表示一个具体的学生 - 码:唯一标识实体的属性集 称为 码,如学号是学生实体的码。码可以 **唯一标识** 一套记录或者一个人 - 域:属性的取值范围,比如 性别域是(男,女) - 联系:实体(型)之间的对应关系 - 一对一联系(1:1):实体集 A 中的每一个实体,实体集 B 中至多有一个实体与之联系,反之亦然 - 一对多联系(1:n):实体集 A 中的每一个实体,实体集 B 中有 n(n ≥ 0)个实体与之联系,而对于实体集 B 中每个实体,实体集 A 中至多只有一个实体与之联系。比如 班 和 学生之间的联系是一对多联系 - 多对多联系(n:n):实体集 A 中的每一个实体,实体集 B 中有 n(n ≥ 0)个实体与之联系,而实体集 B 中的每一个实体,实体集 A 中有 m(m ≥ 0)个实体与之联系。比如 课程和学生之间的联系是多对多联系 - E-R 图: - 实体:矩形 - 属性:椭圆形 - 属性、实体、联系连起来:无向边 - 联系:菱形,并在无向边旁标注联系的类型(1:1,1:n,m:n) --- # 结构数据模型 直接面向数据库的逻辑结构,任何一个 DBMS 都以某个结构数据模型为基础 结构数据模型主要包括:层次模型、网状模型、关系模型、面向对象模型 ## 层次模型: 树结构,是一棵 “有向树” 一般是一对多 ## 网状模型: 图结构。一般是 多对多 ## 关系模型: 二维表格结构来表示实体以及实体之间联系的数据模型。每个二维表由行和列组成,又可称为 关系。 关系模式:对关系的描述。 关系模型是由关系模式组成的集合  --- # 三级模式结构 ## 外模式:视图,又称 用户模式 / 子模式 ## 概念模式:概念视图,又称 模式。对应数据库管理系统的 **基本表** ## 内模式:存储文件,又称 存储模式 --- # 两级映像 数据库系统在三级模式之间提供了 两级映像:模式 / 内模式映像,外模式 / 模式映像。正因为这两级映像保证了数据库中的数据 具有较高的 **逻辑独立性** 和 **物理独立性** ## 模式 - 内模式: 才在于 概念级 和 内部级 之间,实现了概念模式和内模式之间的相互转换 内模式对应存储文件,是物理文件 保证数据的 **物理独立性**,要修改 **概念模式 和 内模式** 之间的映像。 ## 外模式 - 模式: 存在于 外部级 和 概念级 之间,实现了外模式和概念模式之间的相互转换 外模式是视图,视图是从基本表中分离出,把数据集合在一张视图中,给用户查看,所以是 逻辑独立性 保证数据的 **逻辑独立性**,要修改 **外模式 和 概念模式** 之间的映像 --- # 关系模型的基本术语  - 关系:一个关系就是一张 二维表,每个关系有一个关系名 - 元组:表中的一行,就是一个元组 - 属性:表中的列,每一列有一个属性名(每一列的第一行),属性值相当于记录中的数据项或者字段值 - 域:属性的取值范围 - 关系模式:对关系的描述,由 关系名 和 其属性集合构成 - 关系模式的格式:关系名(属性名 1,属性名 2,...,属性名 n) - 通常一个关系模式对应一个关系文件的结构 码: - 候选码(候选键):属性 或 属性组合,其值能够唯一标识一个元组 - 所以在上面的例子中,候选码是:学号。可以唯一标识一个元组 - 主码(主键):在一个关系中可能有多个候选码,从中选择一个作为主码 - 假设一个学校的学生姓名没有重复,所以能够唯一标识一个元组(一个学生)的候选码有:学号、姓名,所以从学号、姓名中挑一个作为主码就好 - 主属性:包含在任何候选码中的属性。不包含在任何候选码中的属性是非主属性 - 上图例子中,学号是主属性(因为学号是候选码),其他的所有比如姓名、性别、专业、年龄 都是非主属性 - 外码(外键):如果一个关系中的属性或属性组并非该关系的码,但他们是另外一个关系的码,则称其为该关系的外码(外键) - 有另一个关系:学生选课(学号,课程号,成绩),在 这个关系中,学号、课程号是候选码 - 单独说学号的话,他不是这个关系中的码,单独拿学号来看,是不能唯一标识一个元组的 - 但是学号是学生这个关系的码(主键) - 所以学号是学生选课这个关系的外键 - 全码:关系模式的所有属性组是这个关系模式的候选码 - 超码(超键)一个包含码的属性集成为超码 - 如,学号是码,则(学号,姓名)是一个超码
软考
取消回复
提交评论
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号