软考 中级软件设计师 考点知识点笔记总结 day13 数据库系统基础知识 数据库模式映像 数据模型
文章目录
- 数据库系统基础知识
- 6.1 基本概念
- 6.1.1 DBMS的特征与分类
- 6.2 数据库三级模式两级映像
- 6.3 数据库的分析与设计过程
- 6.4 数据模型
- 6.4.1 ER模型
- 6.4.2 关系模型
数据库系统基础知识
基本概念 数据库三级模式两级映像 数据库的分析与设计过程 数据模型 关系代数 数据库完整性约束
关系型数据库SQL简介 关系数据库的规范化 数据库的控制功能 数据仓库与数据挖掘基础 大数据基本概念
6.1 基本概念
- 数据库
- 数据库(Database,缩写为DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
- 数据库管理系统
- 数据库管理系统(Database Management System,DBMS)是数据库系统的核心软件,要在操作系统支持下工作,解决如何科学地组织和存储数据、如何高效地获取和维护数据的系统软件问题。其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理、数据组织、存储、管理和数据库的建立与维护。
6.1.1 DBMS的特征与分类
- DBMS的特征
- 数据结构化且统一管理。
- 有较高的数据独立性。
- 提供数据控制功能。
- DBMS的分类
- 关系数据库系统:是支持关系模型的数据库系统。
- 面向对象的数据库系统:是支持以对象形式对数据建模的数据库系统。
- 对象关系数据库系统:在传统的关系数据模型基础上,提供元组、数组、集合等更丰富的数据类型以及处理新的数据类型操作的能力,这样形成的数据模型称为对象关系数据模型。基于对象关系数据模型的DBS称为对象关系数据库系统。
6.2 数据库三级模式两级映像
- 用户级数据库
外模式A 和 外模式B:用户视图,表示不同用户看到的数据视图。 - 概念级数据库
概念模式:概念模式是数据库的整体逻辑结构,包含了所有数据的定义和关系。
外模式-概念模式映射:将用户视图(外模式)映射到概念模式。 - 物理级数据库
内模式:物理存储结构,包括存储设备、文件组织方式等。
概念模式-内模式映射:将概念模式映射到物理存储结构(内模式)。 - 映射关系
外模式-概念模式映射:确保用户视图与整体逻辑结构的一致性。
概念模式-内模式映射:确保逻辑结构与物理存储结构的一致性。 - 操作系统
操作系统:管理物理数据库的底层操作。
数据库系统采用三级模式结构,这是数据库管理系统内部的系统结构。
- 外模式:也称用户模式或子模式,是用户与数据库系统的接口,是用户用到的那部分数据的描述,由若干个外部记录类型组成。描述外模式的数据定义语言称为外模式DDL。
- 概念模式:也称模式,是数据库中全体数据的逻辑结构和特征的描述,它由若干个概念记录类型组成,只涉及行的描述,不涉及具体的值。概念模式的一个具体值称为模式的一个实例,同一个模式可以有很多实例。
- 内模式:也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节。描述内模式的数据定义语言称为内模式DDL。
外模式/模式映像:该映像存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。
模式/内模式映像:该映像存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。
DBMS的两级映像功能保证了数据的独立性。
6.3 数据库的分析与设计过程
- 当前和未来应用的数据要求
需求分析:根据当前和未来应用的数据要求进行需求分析。
数据流图
数据字典
需求说明书 - 概念结构设计
概念结构设计:基于需求分析的结果,设计概念结构。
用户的逻辑模型(即与DBMS无关的概念模型)
ER模型:实体关系模型 - 逻辑结构设计
逻辑结构设计:将概念结构转换为逻辑结构。
转换规则、规范化理论
关系模式 - 物理设计
物理设计:基于逻辑结构设计和DBMS特性进行物理设计。
视图、完整性约束及应用处理说明书
硬件、OS特性
6.4 数据模型
- 模型:是对现实世界特征的模拟和抽象。
- 数学模型:是对现实世界数据特征的抽象。
- 数据模型:是用来描述数据的一组概念和定义。
数据模型的三要素
- 数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。
- 数据操作:是对数据库中各种对象的实例(值)允许执行的操作的集合,包括操作及操作规则。数据操作是对系统动态特性的描述。
- 数据的约束条件:是一组完整性规则的集合。对于具体的应用数据必须遵循特定的语义约束条件,以保证数据的正确、有效、相容。
实体-联系模型简称E-R模型,所采用的3个主要概念是实体、联系和属性。
6.4.1 ER模型
ER 图例说明 ER 模型的三个主要概念 实体 联系 属性
实体:表示现实世界中的对象或事物。
示例:学生、课程
属性:描述实体的特征。
示例:姓名、性别、年龄
联系:表示实体之间的关系。
示例:选课
E-R图示例
学生实体
属性:学号、姓名、性别、年龄
课程实体
属性:课程号、课程名
联系:选课
属性:成绩
关系:M:N(多对多)
6.4.2 关系模型
关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集以及实体集之间的联系,其最大特色是描述的一致性。
- 关系模型是由若干个关系模式组成的集合。一个关系模式相当于一个记录型,对应于程序设计语言中类型定义的概念。
- 关系模型的优点是:
- 概念单一
- 存储路径对用户是透明的
- 所以具有更好的数据独立性和安全保密性
- 简化了程序的开发和数据库的建立工作
教学数据库的4个关系模式如下:
S (Sno, Sname, SD, Sage, Sex)
学生S关系模式,属性为学号、姓名、系、年龄和性别
T (Tno, Tname, Age, Sex)
教师T关系模式,属性为教师号、姓名、年龄和性别
C (Cno, Cname, Pcno)
课程C关系模式,属性为课程号、课程名和先修课程号
SC (Sno, Cno, Grade)
学生选课SC关系模式,属性为学号、课程号和成绩
一个实体型转换为一个关系模式
- 1:1联系
- 1:n联系
- m:n联系
三个以上实体间的一个多元联系 n + 1
- 在数据库逻辑结构的设计中,将E-R模型转换为关系模型应遵循相关原则。对于三个不同实体集和它们之间的多对多联系m:n:p,最可转换为 __C__个关系模式。
A. 2 B. 3 C. 4 D. 5
当处理涉及三个或更多实体的多对多联系时,通常需要为每一个实体以及它们之间的联系各创建一个关系模式。这样可以确保联系能够被准确地表示,并维持数据的一致性和完整性。
相关文章:
软考 中级软件设计师 考点知识点笔记总结 day13 数据库系统基础知识 数据库模式映像 数据模型
文章目录 数据库系统基础知识6.1 基本概念6.1.1 DBMS的特征与分类 6.2 数据库三级模式两级映像6.3 数据库的分析与设计过程6.4 数据模型6.4.1 ER模型6.4.2 关系模型 数据库系统基础知识 基本概念 数据库三级模式两级映像 数据库的分析与设计过程 数据模型 关系代数 数据库完整…...
视频监控EasyCVR视频汇聚平台接入海康监控摄像头如何配置http监听功能?
一、方案概述 本方案主要通过EasyCVR视频管理平台,实现报警信息的高效传输与实时监控。海康监控设备能通过HTTP协议将报警信息发送至指定的目的IP或域名,而EasyCVR平台则可以接收并处理这些报警信息,同时提供丰富的监控与管理功能࿰…...
【八大排序】冒泡、直接选择、直接插入、希尔、堆、归并、快速、计数排序
目录 一、排序的介绍二、排序算法的实现2.1 直接插入排序2.2 希尔排序2.3 直接选择排序2.4 堆排序2.5 冒泡排序2.6 快速排序2.7 归并排序2.8 比较排序算法的性能展示2.9 计数排序 个人主页<— 数据结构专栏<— 一、排序的介绍 我们的生活中有很多排序,比如像…...
AI在市场营销分析中的核心应用及价值,分场景详细说明
以下是 AI在市场营销分析中的核心应用及价值,分场景详细说明: 1. 客户行为分析与细分 AI技术应用: 机器学习:分析用户点击、购买、浏览等行为数据,识别消费模式(如高频购买时段、偏好品类)。聚…...
本地Ubuntu轻松部署高效性能监控平台SigNoz与远程使用教程
目录 ⛳️推荐 前言 1.关于SigNoz 2.本地部署SigNoz 3.SigNoz简单使用 4. 安装内网穿透 5.配置SigNoz公网地址 6. 配置固定公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击…...
解析检验平板:设备还是非设备?深入了解其功能与应用(北重铸铁平台厂家)
检验平板通常被归类为设备,因为它们具有特定的功能,并且被用于测试和评估其他设备或产品的性能和质量。检验平板通常具有平坦的表面,用于放置要进行测试或检验的物品。它们可以用于测量尺寸、形状、平整度、表面光洁度等参数。 检验平板的应…...
【创新实训个人博客】前端实现
一、 目标设定与初步改造 核心目标: 对 visualizer 的前端界面 (index.html, style.css) 进行现代化改造。 基础样式: 初始化页面整体风格,为 body 添加了动态渐变背景;初步调整了页面顶部导航按钮、信息提示块 (Log Visualizer) 及底部任务…...
vue3、原生html交互传值
1、引入原生html 将该文件放到public目录下,在vue项目里面使用iframe 引入该文件,监听load事件(load事件在<iframe>的内容完全加载完成之后触发) <iframeload"onIframeLoad"style"width: 454px; height: 480px"src".…...
于 Jupyter 天地,借 NumPy 之手编织数据锦缎
引言 NumPy是Python科学计算的核心库之一,提供了强大的多维数组对象和丰富的数学函数,是数据科学、机器学习等领域不可或缺的工具。结合Jupyter Notebook的交互式环境,NumPy的使用变得更加直观和高效。本文将介绍如何在Jupyter中充分利用NumP…...
Mac idea WordExcel等文件git modify 一直提示修改状态
CRLF LF CR 换行符自动转换问题 查看状态:git config --global --list Mac需要开启,window下需要关闭 关闭命令:git config --global core.autocrlf false 命令解释: autocrlf true 表示要求git在提交时将crlf转换为lf&a…...
代码学习总结(三)
代码学习总结(三) 这个系列的博客是记录下自己学习代码的历程,有来自平台上的,有来自笔试题回忆的,主要基于 C++ 语言,包括题目内容,代码实现,思路,并会注明题目难度,保证代码运行结果 1 判断并构造 eleme 型字符串 简单 eleme 型字符串 判断与构造 小红有一个长…...
Vue的Diff算法原理
Vue中的Diff算法(差异算法)是虚拟DOM的核心优化手段,用于对比新旧虚拟DOM树,找出最小变更,高效更新真实DOM,其设计目标是减少DOM操作次数,提升渲染性能 diff算法: 特点:…...
CentOS系统-超详细的Kubernetes集群搭建教程(kubernetes:1.28.2)
小伙伴们,今天给大家带来一份超详细的Kubernetes集群搭建教程,保证让你从环境准备到安装验证,一路畅通无阻!🚀 🌈 一、环境准备 首先,咱们得确保硬件和软件环境都达标哦! &am…...
自动驾驶系列—GLane3D: Detecting Lanes with Graph of 3D Keypoints
🌟🌟 欢迎来到我的技术小筑,一个专为技术探索者打造的交流空间。在这里,我们不仅分享代码的智慧,还探讨技术的深度与广度。无论您是资深开发者还是技术新手,这里都有一片属于您的天空。让我们在知识的海洋中…...
【Amazon 工具】在MacOS本地安装 AWS CLI、kubectl、eksctl工具
文章目录 安装 AWS CLI安装 kubectl安装 eksctl参考链接 安装 AWS CLI 创建访问密钥安装或更新 AWS CLI curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /要验证 Shell 是否可以在 $PAT…...
基于GTID的主从复制
MySQL主从复制实战指南(基于二进制日志)-CSDN博客 二、基于GTID的主从复制 基于 GTID 方式:全局事务标示符,自mysql5.6版本开启的新型复制方式。 GTID的组成:server_uuid:序列号 UUID:每个m…...
linux多线(进)程编程——(8)多进程的冲突问题
前言 随着时间的推移,共享内存已经在修真界已经沦为禁术。因为使用这种方式沟通的两人往往会陷入到走火入魔的状态,思维扭曲。进程君父子见到这种情况,连忙开始专研起来,终于它们发现了共享内存存在的问题: 进程间冲…...
数据结构——八大排序算法
排序在生活中应用很多,对数据排序有按成绩,商品价格,评论数量等标准来排序。 数据结构中有八大排序,插入、选择、快速、归并四类排序。 目录 插入排序 直接插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 hoare…...
线性代数 | 知识点整理 Ref 1
注:本文为 “线性代数 | 知识点整理” 相关文章合辑。 因 csdn 篇幅合并超限分篇连载,本篇为 Ref 1。 略作重排,未整理去重。 图片清晰度限于引文原状。 如有内容异常,请看原文。 线性代数知识汇总 Arrow 于 2016-11-27 16:27:5…...
Docker 设置镜像源后仍无法拉取镜像问题排查
#记录工作 Windows系统 在使用 Docker 的过程中,许多用户会碰到设置了国内镜像源后,依旧无法拉取镜像的情况。接下来,记录了操作要点以及问题排查方法,帮助我们顺利解决这类问题。 Microsoft Windows [Version 10.0.27823.1000…...
线性回归 (Linear Regression) 多项式回归 (Polynomial Regression)
目录 线性回归 (Linear Regression)单变量线性回归 (Univariate linear regression)代价函数 (Cost function)梯度下降 (gradient descent) 及公式由来梯度下降的变体Quiz多类特征 (Multiple features)多元线性回归 (Multiple linear regression)向量化 (Vectorization)正规方程…...
AI在能源消耗管理及能源效率提升中的核心应用场景及技术实现
以下是 AI在能源消耗管理及能源效率提升中的核心应用场景及技术实现,分领域详细说明: 1. 实时能源监测与异常检测 AI技术应用: 物联网(IoT) 传感器数据采集:实时收集设备、建筑或工厂的能耗数据ÿ…...
dumpsys--音频服务状态信息
Audio相关的信息获取指令: dumpsys media.audio_flinger dumpsys media.audio_policy dumpsys audio media.audio_flinger dumpsys media.audio_flinger 用于获取 AudioFlinger 服务的详细状态信息。 1. 命令作用 该命令输出当前系统的 音频设备状态、活跃音频流…...
JavaScript模块化开发:CommonJS、AMD到ES模块
引言 在Web开发的早期阶段,JavaScript代码通常被编写在一个庞大的文件中或分散在多个脚本标签里,这种方式导致了全局变量污染、依赖关系难以管理、代码复用困难等问题。随着Web应用日益复杂,模块化编程成为了解决这些问题的关键。本文将带您…...
面试情景题:企业内部系统如何做微前端拆分,如何通信?
在前端开发领域,技术的演进总是伴随着业务需求的复杂化与规模化而不断向前推进。近年来,微前端(Micro Frontends)作为一种全新的架构理念,逐渐成为解决大型前端应用复杂性的重要手段。与传统的单体前端应用不同&#x…...
OpenHarmony Camera开发指导(五):相机预览功能(ArkTS)
预览是在相机启动后实时显示场景画面,通常在拍照和录像前执行。 开发步骤 创建预览Surface 如果想在屏幕上显示预览画面,一般由XComponent组件为预览流提供Surface(通过XComponent的getXcomponentSurfaceId方法获取surfaceid)&…...
鸿蒙API15 “一多开发”适配:解锁黄金三角法则,开启高效开发新旅程
一、引言 在万物互联的时代浪潮中,鸿蒙操作系统以其独特的 “一多开发” 理念,为开发者打开了一扇通往全场景应用开发的新大门。“一多开发”,即一次开发,多端部署 ,旨在让开发者通过一套代码工程,就能高效…...
RAG(检索增强生成)、ReAct(推理与行动) 和 多模态AI 的详细解析,包括三者的定义、工作原理、应用场景及协同关系
以下是 RAG(检索增强生成)、ReAct(推理与行动) 和 多模态AI 的详细解析,包括三者的定义、工作原理、应用场景及协同关系: 一、RAG(Retrieval-Augmented Generation) 1. 核心原理 …...
网络安全知识点2
1.虚拟专用网VPN:VPN用户在此虚拟网络中传输私网流量,在不改变网络现状的情况下实现安全,可靠的连接 2.VPN技术的基本原理是利用隧道技术,对传输报文进行封装,利用VPN骨干网建立专用数据传输通道,实现报文…...
DS-SLAM 运动一致性检测的源码解读
运动一致性检测是Frame.cc的Frame::ProcessMovingObject(const cv::Mat &imgray)函数。 对应DS-SLAM流程图Moving consistency check的部分 把这个函数单独摘出来,写了一下对两帧检测,查看效果的程序: #include <opencv2/opencv.hpp…...
VSTO幻灯片退出播放(C#模拟键盘鼠标的事件)
今天遇到了个问题,幻灯片放映到某一页时需要退出播放,没有找到对应的方法,所以想到了直接通过ESC键可以退出,所以模拟执行了一下ESC键,发现真的可以。在此记录一下。 C# 模拟键盘鼠标的事件整理 1、模拟键盘2、模拟鼠标…...
Echarts柱状图斜线环纹(图形的贴花图案)
单独设置 <!--此示例下载自 https://echarts.apache.org/examples/zh/editor.html?cbar-stack&codePYBwLglsB2AEC8sDeAoWszGAG0iAXMmuhgE4QDmFApqYQOQCGAHhAM70A0x6L7ACsAjQwtQqhIkwATxDUGbABaMAJsADu9HrAC-xHd3TZqNaCvEHiFcuaKTjAMzAMAzAFIu28hUXPY9ABYPQxIAI2AwTABbV…...
前端页面效果收集
文章目录 数字雨元素融化动画电子签名共享屏幕 数字雨 <canvas id"matrix"></canvas> <script>const canvas document.getElementById(matrix);const ctx canvas.getContext(2d);canvas.width window.innerWidth;canvas.height window.innerH…...
ASP.NET Core Web API 配置系统集成
文章目录 前言一、配置源与默认设置二、使用步骤1)创建项目并添加配置2)配置文件3)强类型配置类4)配置Program.cs5)控制器中使用配置6)配置优先级测试7)动态重载配置测试8)运行结果示…...
【hadoop】基于hive的B站用户行为大数据分析
1.需求分析 b站现在积累有用户数据和视频列表数据,为了配合市场部门做好用户运营工作,需要对b站的用户行为进行分析,其具体需求如下所示: 统计b站视频不同评分等级(行转列)的视频数。 统计上传b站视频最多的…...
如何搭建符号执行环境并跑通第一个测试样例
0.如题 我使用的是verilator和klee进行符号执行的学习,目前还处于起步阶段,起步阶段除了要了解符号执行的定义和作用之外就是环境的搭建了,没想到搭建环境这一步就浪费了很多时间,主要问题出在按照官方的步骤进行搭建的时候&…...
基于 Django 进行 Python 开发
基于 Django 进行 Python 开发涉及多个方面的知识点,以下为你详细介绍: 1. Django 基础 项目与应用创建 借助django-admin startproject project_name来创建新的 Django 项目。利用python manage.py startapp app_name创建新的应用。项目结构 理解项目各文件和目录的作用,像…...
【含文档+PPT+源码】基于微信小程序的非遗文化黄梅戏宣传平台的设计与实现
课程目标: 教你从零开始部署运行项目,学习环境搭建、项目导入及部署,含项目源码、文档、数据库、软件等资料 课程简介: 本课程演示的是一款基于微信小程序的非遗文化黄梅戏宣传平台的设计与实现,主要针对计算机相关…...
使用DDR4控制器实现多通道数据读写(八)
一、 本章概括 在之前的章节已经详细介绍了DDR4的AXI协议,并实现了对DDR4简单的读写操作。这一章节来建立单通道的256位数据的读写,并放出工程框架,说明整体设计思路。 二、 工程框架 三、 设计思路 DDR内存通常用于大容量数据存储…...
Oracle 处理“不允许长度为0的列”(ORA-01723)问题解析
错误原因 当使用 CREATE TABLE ... AS SELECT 或创建物化视图时,若查询结果中的某列值为空字符串()或隐式 NULL 且未显式指定数据类型,Oracle 无法推断该列的长度和类型,从而抛出 ORA-01723: zero-length columns…...
燕山大学计算机网络之Java实现TCP数据包结构设计与收发
觉得博主写的好,给博主点点免费的关注吧! 目录 摘要.................................................................................................................... 4 前言.............................................................…...
Linux操作系统学习之---进程状态
目录 明确进程的概念: Linux下的进程状态: 虚拟终端的概念: 见一见现象: 用途之一 : 结合指令来监控进程的状态: 和进程强相关的系统调用函数接口: getpid()和getppid(): fork(): fork函数创建子进程的分流逻辑: 进程之间具有独立性: 进程中存在的写时拷贝: 见一见进程状态…...
Oracle 12.1.0.2补丁安装全流程
第一步,先进行备份 tar -cvf u01.tar /u01 第二步,更新OPatch工具包 根据补丁包中readme信息汇总提示的信息,下载对应版本的OPatch工具包,本次下载的版本为: p6880880_122010_Linux-x86-64.zip opatch版本为最新的…...
第19章:基于efficientNet实现的视频内容识别系统
目录 1.efficientNet 网络 2. 猫和老鼠 3. QT推理 4. 项目 1.efficientNet 网络 本章做了一个视频内容识别的系统 本文选用的模型是efficientNet b0版本 EfficientNet 是 Google 团队在 2019 年提出的一系列高效卷积神经网络模型,其核心思想是通过复合缩放&…...
【Java面试系列】Spring Cloud微服务架构中的分布式事务解决方案与Seata框架实现原理详解 - 3-5年Java开发必备知识
【Java面试系列】Spring Cloud微服务架构中的分布式事务解决方案与Seata框架实现原理详解 - 3-5年Java开发必备知识 引言 在微服务架构中,分布式事务是一个不可避免的挑战。随着业务复杂度的提升,如何保证跨服务的数据一致性成为了面试中的高频问题。本…...
div(HTML标准元素)和view(微信小程序专用组件)的主要区别体
div(HTML标准元素)和view(微信小程序专用组件)的主要区别体现在以下方面: 一、应用场景与开发框架 适用平台不同 div是HTML/CSS开发中通用的块级元素,用于Web页面布局;view是微信小程序专…...
AI在多Agent协同领域的核心概念、技术方法、应用场景及挑战 的详细解析
以下是 AI在多Agent协同领域的核心概念、技术方法、应用场景及挑战 的详细解析: 1. 多Agent协同的定义与核心目标 多Agent系统(MAS, Multi-Agent System): 由多个独立或协作的智能体(Agent)组成ÿ…...
03_Americanas精益管理项目_StarRocks
文章目录 03_StarRocks(一)StarRocks简介1、什么是StarRocks【理解】1)概述2)适用场景2、系统架构【理解】1)系统架构图2)数据管理3、使用【熟悉】(二)表设计4、StarRocks表设计【理解】1)列式存储2)索引3)加速处理5、数据模型【掌握】5-1 明细模型1)适用场景2)创…...
CSS进度条带斑马纹动画(有效果图)
效果图 .wxml <view class"tb"><view class"tb-line" style"transform:translateX({{w%}})" /> </view> <button bind:tap"updateLine">增加进度</button>.js Page({data: {w:0,},updateLine(){this.…...
C++ static的使用方法及不同作用
在 C 里,static 是一个用途广泛的关键字,在不同场景下有不同含义,下面为你详细介绍: 1. 全局变量前的 static 当 static 用在全局变量前时,它会改变变量的链接属性。 默认全局变量:默认的全局变量具有外…...