软考37-上午题-【数据库】-数据模型、数据库的三级模式和二级映像
一、考情简介
上午题:6分——6道选择题
下午题:15分——一道分析题
E-R图、关系模式:下午考试必考!!!(编制也要考!)
二、数据模型
数据模型是对现实世界数据特征的抽象。
数据模型的分类:
1、概念数据模型——E-R模型
从信息世界中抽象的数据模型。
下午题常考,上午题不怎么考
2、基本数据模型——关系模型
从计算机世界中抽象出的DBMS支持的数据模型
2-1、概念数据模型(信息模型)
按用户的观点对数据和信息建模,更接近与人的思维,与计算机无关,主要用于数据库的设计。
这类模型中最著名的是:实体-联系模型,即,E-R模型。
2-1-1、E-R模型中的基本术语
1、实体
客观存在并相互区别的事物,如:单位、职工、部门、项目。

2、属性
实体的特性,一个实体可以有若干属性。属性的具体取值:属性值
如:学生实体的若干属性(学号、姓名、性别、出生日期、班号)

3、码:
唯一标识实体的属性集。如:学号是学生实体的码。

4、域
属性的取值范围。如:性别域(男,女)
5、联系
实体之间的对应关系。
两个实体集之间的联系有3种类型:
(1)、1对1的联系(1:1)。如:班和班长之间的联系。
(2)、一对多的联系(1:n)。如:班和学生之间的联系。
(3)、多对多的联系(m:n)。如:课程和学生之间的联系。

如果,一个联系也具有属性,该属性也要用无向边与该联系连接起来。
E-R图示例:

2-2、结构数据模型(数据模型)
结构数据模型,直接面向数据库的逻辑结构,任何一个DBMS都以某个结构数据模型为基础。
常见的结构数据模型:
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
2-2-1、层次模型
树形结构,有向树!!!
示例:

2-2-2、网状模型
图结构
示例:

2-2-3、关系模型
用二维表格结构来表示实体和实体之间联系数据模型。关系模型是关系的描述。
示例:


2-2-4、真题
三、数据库的三级模式结构
数据库的产品很多,他们支持不同的数据模型(层次模型、网状模型、关系模型、面向对象模型),实用不同的数据库语言,建立在不同的操作系统之上。数据的存储结构也各不相同,但体系结构基本上都有相同的特征,采用:三级模式和两级映像。

3-1、三级模式
1、概念模式
也称为:模式
对应的是:基本表(DBMS中的基本表)
是数据的逻辑结构
2、外模式
也称为:用户模式、子模式
对应的是:视图
3、内模式
也称为:存储模式
对应的是:存储文件
是数据的物理结构
数据按外模式的描述,提供给用户;按内模式的描述存储在磁盘上。
概念模式提供了连接这两级模式的相对稳定的中间层,并使得两级中任意一级的改变都不受另一级影响。
真题
真题1:

真题2:

3-2、二级映像
数据库系统,在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像。两级映像保证了数据库中的数据具有较高的逻辑独立性、物理独立性。

1、模式/内模式映像(概念模式/内模式映像)
存在于概念级和内部级之间,实现了概念模式和内模式之间的相互转换。
2、外模式/模式映像(外模式/概念模式映像)
存在于外部级和概念级之间,实现了外模式和概念模式之间的相互转换。
3、数据的独立性
数据的独立性:数据和程序独立。
数据的独立性由DBMS的二级映像功能来保证。
数据的独立性包括:
- 数据的物理独立性
- 数据的逻辑独立性
3-1、数据的物理独立性
当数据库的内模式(存储文件)变化时,数据的逻辑结构不变。
应用程序处理的只是数据的逻辑结构。
所以,数据的物理独立性保证:当数据的物理结构改变时,应用程序不用改变。
但是,为了保证应用程序能够正确执行,需要修改:概念模式和内模式之间的映像。
用户的应用程序与数据库的物理结构是相互独立的。
3-2、数据的逻辑独立性
用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构变化后,用户程序也可以不用修改。
但是,为了保证应用程序能够正确执行,需要修改:外模式和概念模式之间的映像。
真题
真题1:

真题2:

相关文章:
软考37-上午题-【数据库】-数据模型、数据库的三级模式和二级映像
一、考情简介 上午题:6分——6道选择题 下午题:15分——一道分析题 E-R图、关系模式:下午考试必考!!!(编制也要考!) 二、数据模型 数据模型是对现实世界数据特征的抽象…...
06 分频器设计
分频器简介 实现分频一般有两种方法,一种方法是直接使用 PLL 进行分频,比如在 FPGA 或者 ASIC 设计中,都可以直接使用 PLL 进行分频。但是这种分频有时候受限于 PLL 本身的特性,无法得到频率很低的时钟信号,比如输入 …...
力扣hot100题解(python版7-9题)
7、接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,…...
ECMAScript 6+ 新特性 ( 四 ) 迭代器 与 生成器
2.14.迭代器 2.14.1.for…of for...of 是 JavaScript ES6 引入的一种新的循环结构,,用于遍历可迭代对象(Iterable objects)的每个元素。 它可以自动调用目标对象的迭代器接口,并按顺序逐个访问集合中的每个值。 它…...
【MySQL】事务的一致性究竟怎么理解?
众所周知,事务有四大特性:原子性、一致性、隔离性、持久性,除了一致性,其他三类特性都很好理解。而关于一致性的解释有点让人头疼,我查了很多文章,大多类似:事务的执行必须使数据库处于一致状态…...
证件照(兼容H5,APP,小程序)
证件照由uniappuyui开发完成,并同时兼容H5、App、微信小程序、支付宝小程序,其他端暂未测试。 先看部分效果图吧具体可以下方复制链接体验demo 首页代码 <template><view class""><view class"uy-m-x-30 uy-m-b-20"…...
pytorch-textregression,中文文本回归实践,支持多值输出
pytorch-textregression,中文文本回归实践,支持多值输出 pytorch-textregression是一个以pytorch和transformers为基础,专注于中文文本回归的轻量级自然语言处理工具,支持多值回归等。 目录 数据使用方式paper参考 项目地址 py…...
go语言学而思【持续更新】
问题:在Go语言中nil是什么意思? 答:在Go语言中,nil是一个预声明的标识符,用于表示某些类型的零值。它可以被用作以下类型的零值: 指针(Pointer)切片(Slice)…...
LVS-NAT之VMNET环境搭建
目录 搭建拓扑图 搭建规划 VMNET0 搭建 VMNET2 搭建 LVS端增加网卡 搭建拓扑图: 搭建规划: CLIENT(servera): VMNET0 LVS(serverb): VMNET0 VMNET2 WEB1(serverd): VMNET2 WEB2(servere): VMNET2 VMNE…...
[TCP] TCP/IP 基础知识词典(2)
我想统计一下,TCP/IP 尤其是TCP协议,能搜到的常见的问题,整理起来,关键词添加在目录中,便于以后查阅。 目前预计整理共3篇: [TCP] TCP/IP 基础知识问答 :基础知识 [TCP] TCP/IP 基础知识问答&…...
【牛牛送书 | 第四期】《高效使用Redis:一书学透数据存储与高可用集群》带你快速学习使用Redis
前言: 当今互联网技术日新月异,随着数据量的爆炸式增长,如何高效地存储和管理数据成为了每个公司都必须面对的挑战。与此同时,用户对于应用程序的响应速度和稳定性要求也越来越高。在这个背景下,Redis 作为一个…...
Threejs 实现3D影像地图,Json地图,地图下钻
1.使用threejs实现3D影像地图效果,整体效果看起来还可以,底层抽象了基类,实现了通用,对任意省份,城市都可以只替换数据,即可轻松实现效果。 效果如下: 链接https://www.bilibili.com/video/BV1…...
根据Excel创建管道系统及材质
之前看过程鑫老师的文章,介绍过根据Excel数据创建管道系统,但是有小伙伴问过我,照着他这个做,没成功,于是呢,我就想试下,结果发现也没成功。 然后我逐个节点过了一遍,发现可能是因为…...
第八篇【传奇开心果系列】python的文本和语音相互转换库技术点案例示例:Google Text-to-Speech虚拟现实(VR)沉浸式体验经典案例
传奇开心果博文系列 系列博文目录python的文本和语音相互转换库技术点案例示例系列 博文目录前言一、雏形示例代码二、扩展思路介绍三、虚拟导游示例代码四、交互式学习示例代码五、虚拟角色对话示例代码六、辅助用户界面示例代码七、实时语音交互示例代码八、多语言支持示例代…...
ubuntu使用LLVM官方发布的tar.xz来安装Clang编译器
ubuntu系统上的软件相比CentOS更新还是比较快的,但是还是难免有一些软件更新得不那么快,比如LLVM Clang编译器,目前ubuntu 22.04版本最高还只能安装LLVM 15,而LLVM 18 rc版本都出来了。参见https://github.com/llvm/llvm-project/…...
Windows 远程控制 Mac 电脑怎么操作
要从 Windows 远程控制 Mac 电脑,您可以使用内置 macOS 功能或第三方软件解决方案。以下是一些方法: 一、使用内置 macOS 功能(屏幕共享) 1、在 macOS 上启用屏幕共享 转至系统偏好设置 > 共享;选中“屏幕共享”…...
c# HttpCookie操作,建立cookie工具类
HttpCookie 是一个在.NET Framework中用于管理和操作HTTP Cookie的类。它提供了一种方便的方式来创建、设置、读取和删除Cookie。 Cookie是一种在客户端和服务器之间传递数据的机制,用于跟踪用户的会话状态和存储用户相关的信息。它通常由服务器发送给客户端&#…...
【这个词(Sequence-to-Sequence)在深度学习中怎么解释,有什么作用?】
🚀 作者 :“码上有前” 🚀 文章简介 :深度学习笔记 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 Sequence-to-Sequence(Seq2Seq) Sequence-to-Sequence(Seq2Seq…...
挑战30天学完Python:Day16 日期时间
📘 Day 16 🎉 本系列为Python基础学习,原稿来源于 30-Days-Of-Python 英文项目,大奇主要是对其本地化翻译、逐条验证和补充,想通过30天完成正儿八经的系统化实践。此系列适合零基础同学,或仅了解Python一点…...
Web3之光:揭秘数字创新的未来
随着数字化时代的深入发展,Web3正以其独特的技术和理念,为我们打开数字创新的崭新视角。作为数字化时代的新兴力量,Web3将深刻影响着我们的生活、工作和社会。本文将揭秘Web3的奥秘,探讨其在数字创新领域的前景和潜力。 1. 重新定…...
3步实现AutoHotkey脚本独立运行:Ahk2Exe编译工具完全指南
3步实现AutoHotkey脚本独立运行:Ahk2Exe编译工具完全指南 【免费下载链接】Ahk2Exe Official AutoHotkey script compiler - written itself in AutoHotkey 项目地址: https://gitcode.com/gh_mirrors/ah/Ahk2Exe 你是否厌倦了每次运行AutoHotkey脚本都需要安…...
告别内置ADC的烦恼:用ADS1119搞定STM32/DSP的高精度电压采样(附完整代码)
告别内置ADC的烦恼:用ADS1119搞定STM32/DSP的高精度电压采样(附完整代码) 在嵌入式系统开发中,电压采样是基础却至关重要的环节。许多工程师在使用STM32或DSP内置ADC时,常会遇到精度不足、抗干扰能力差、无法测量差分信…...
终极指南:使用Python开源工具破解百度网盘限速,实现高速免费下载
终极指南:使用Python开源工具破解百度网盘限速,实现高速免费下载 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘几十KB的下载速度而烦恼…...
实战指南:用UABEA高效解析Unity资源结构的5个关键要点
实战指南:用UABEA高效解析Unity资源结构的5个关键要点 【免费下载链接】UABEA c# uabe for newer versions of unity 项目地址: https://gitcode.com/gh_mirrors/ua/UABEA 在Unity开发的世界里,资源管理往往是项目优化中最棘手的一环。你是否曾经…...
Emacs AI编程助手:ai-code-interface.el深度集成指南
1. 项目概述:一个为Emacs注入AI灵魂的代码接口如果你是一位Emacs的深度用户,同时又对AI辅助编程抱有极大的热情,那么你很可能已经厌倦了在浏览器、终端和编辑器之间反复横跳的割裂体验。tninja/ai-code-interface.el这个项目,正是…...
脉冲神经网络与神经形态计算的能效优化实践
1. 脉冲神经网络与神经形态计算基础脉冲神经网络(SNN)作为第三代神经网络模型,其核心在于模拟生物神经系统的信息处理机制。与传统人工神经网络(ANN)相比,SNN具有三个本质区别:首先,…...
Docker容器MCP服务镜像:AI安全运维与自动化实践
1. 项目概述:一个为Docker容器提供MCP服务的镜像最近在折腾一些自动化工作流,发现很多工具都开始支持一种叫做MCP(Model Context Protocol)的协议。简单来说,MCP就像是一个标准化的“插座”,让各种AI模型&a…...
016、Git版本控制与协作开发流程
016 Git版本控制与协作开发流程 一个让我熬夜到凌晨三点的.gitignore 去年做一款基于STM32U5的TinyML手势识别项目,团队四个人,代码库从第一天就开始膨胀。第三天晚上,我习惯性git push,然后去睡觉。凌晨三点被手机震醒——同事在群里@我:“你push了个啥?编译不过了。”…...
GitHub自动化运维:构建模块化Operator集提升开发效率
1. 项目概述:一个为GitHub开发者量身定制的“操作集”如果你是一个重度GitHub用户,无论是维护个人项目、参与开源贡献,还是管理团队仓库,大概率都经历过这样的场景:每天要重复执行一堆琐碎但必要的操作。比如ÿ…...
VS Code光标主题buen-cursor:提升开发者编码体验的视觉优化方案
1. 项目概述:一个为开发者定制的光标主题 如果你和我一样,每天有超过8小时的时间都泡在代码编辑器里,那么你一定对那个闪烁的光标再熟悉不过了。它可能是你思考的起点,也可能是你调试时目光的焦点。但你是否想过,这个…...

