软考中级数据库系统工程师-第6-7章 数据库技术基础关系数据库
目录
1.数据库系统基本概念
2.数据库系统的三级模式结构
3.两级映像
4.数据的独立性
5.E-R模型
6.关系的相关名词
7.关系代数运算
8.关系数据库设计基础知识
9.规范化
1.数据库系统基本概念
1)数据库系统(DBS)是一个采用了数据库技术,有组织地、动态地存储大量相关联数据,方便多用户访问的计算机系统。广义上来讲,DBS是由数据库、硬件、软件和人员组成。
2)数据库(DB):数据间联系密切、冗余度小、独立性较高、易扩展,并且可为各类用户共享。
3)数据库管理系统(DBMS)是数据库系统管理系统的核心软件。其主要功能包括数据定义功能、数据操作功能、数据库的运行管理和数据库的建立与维护。
4)数据库管理员(DBA),负责数据库的总体信息控制。
5)DBMS提供数据定义语言(DDL),用户可以对数据库的结构描述,包括外模式、模式和内模式定义;数据库的完整性定义;安全保密定义,如口令、级别和存储权限等,这些定义存储在数据字典中,是DBMS运行的基本依据。
6)数据操纵语言(DML),实现对数据库中数据的基本操作,如检索、插入、删除和修改。
7)DBMS特点:数据结构化且统一管理;有较高的独立性;数据控制功能(数据的安全性和完整性、并发控制、故障恢复)
8)DBMS分类:关系型数据库系统、面向对象的数据库系统、对象关系数据库系统
2.数据库系统的三级模式结构
视图层:描述整个数据库的某个部分。
逻辑层:描述数据库中存储什么数据以及这些数据间存在什么关系。
物理层:描述数据在存储器是如何存储的。
概念模式:也称模式。是数据库中全部数据的逻辑结构和特征的描述,只设计型的描述,不涉及具体的值。
外模式:也称用户模式或子模式。是用户与数据库系统的接口,是用户用到的那部分数据的描述(关键词:视图)。
内模式:也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。定义所有的内部记录类型、索引、文件的组织方式,以及数据控制方面的细节。
3.两级映像
1)模式/内模式的映像:实现了概念模式到内模式之间的相互转换。
2)外模式/模式的映像:实现了外模式到概念模式之间的相互转换。
4.数据的独立性
1)数据的物理独立性:是指当数据库的内模式发生改变时,数据的逻辑结构不变。当数据的物理结构改变时,需要修改模式/内模式映像。
2)数据的逻辑独立性:是指用户的应用程序与数据库的逻辑结构是相互独立的。当数据的逻辑结构改变时,需要修改外模式/模式映像。
数据模型的三要素:数据结构、数据操作和数据的约束条件。
5.E-R模型
属性:
1)简单属性和复合属性:简单属性是原子的、不可再分的,复合属性可以细分为更小的部分。
2)NULL属性: 表示无意义或不知道。
3)派生属性:派生属性可以从其它属性得来。
E-R模型下午题常考的几种情况:
1)两方联系:两个实体之间产生联系。说明中的句子类似BA,AB。
2)三方联系:当同一个联系需要三方同时参与的时候就是三方联系。说明中的句式类似AB,BC。
3)弱实体:一个实体的存在必须以另一个实体为前提。
4)聚合:将联系作为实体,与其它实体产生联系。即两个实体A和B先产生联系,联系本身再和C产生联系,需要用方框把A和B之间的联系框起来。
5)子实体:一个实体集可以按照某些特征区分为几个子实体。
6)同一实体集内的联系:同一实体集内的两个实体之间相互存在着一定的联系。
PS:三方联系和聚合的区别:三方联系必须要三方实体同时参与,而聚合是有先后顺序的,两个实体先产生联系,再与第三个实体产生联系。
TIPS:需求分析、概念结构设计(E-R图)、逻辑结构设计(关系模式)三者是相互关联的。
6.关系的相关名词
1)候选码:若关系中的某一属性或属性组的值能唯一标识一个元组,则称该属性或属性组为候选码。
2)主码:主键,若一个关系有多个候选码,则选定其中一个为主码。
一个关系模型只能有一个主码,候选码可以有多个。
3)主属性:包含在任何候选码中称为主属性,不包含在任何候选码中称为非主属性。
4)全码:关系模型的所有属性组是这个关系模式的候选码,称为全码。
5)元组/记录:行
6)字段/数据项:列
7)元数:属性的个数(列数)
8)基数:记录的个数(行数)
关系的三种类型:基本关系(基本表)、查询表、视图表
关系完整性约束的分类:实体完整性、参照完整性、用户定义完整性
7.关系代数运算
1)并:关系R和S具有相同的关系模式(元数相同)
2)差:关系R和S具有相同的关系模式(元数相同)
3)广义笛卡尔积:两个元数分别为m和n的关系R和S的广义笛卡尔积是一个(m+n)列的元组的集合。若关系R和S分别有P和Q个元组,则R和S的广义笛卡尔积共有P*Q个元组。
4)投影:从关系的垂直方向进行运算
5)选择:从关系的水平运算开始运算
PS:无引号6:表示第6列;有引号‘6’:表示数字6
7)交:关系R和S具有相同的关系模式(元数相同)
8)连接:笛卡尔积为无条件连接,其它的连接为有条件连接
自然连接:要求两个关系中进行比较的分量必须是相同的属性组,并且在结果集中将重复属性列去掉。(即从水平方向运算也从垂直方向运算)
9)除:同时从水平方向运算也从垂直方向运算
10)外连接:
左外连接:左侧为准,右侧填充
右外连接:右侧为准,左侧填充
全外连接:左右都填充
在关系运算中,笛卡尔积(更耗费时间)、连接运算最费时间和空间
8.关系数据库设计基础知识
1)如果XY,那么对于任意两个相同的X,所对应的Y一定是相同的。则称X函数决定Y或Y函数依赖于X,记作:X
Y。
2)多值依赖具有对称性,即若,则
。其中Z=U-X-Y
3)多值依赖具有传递性,即若,
,则
。
4) 若,
,则
(并交差)
9.规范化
1NF:若关系模式R的每一个分量是不可再分的数据项,则关系模式R是属于第一范式。
2NF:当1NF消除了非主属性对码的部分函数依赖,称为2NF。
3NF:当2NF消除了非主属性对码的传递函数依赖,称为3NF。
BCNF:当3NF消除了主属性对码的部分函数依赖和传递函数依赖,称为BCNF。
4NF:关系模式R属于1NF,若对于R的每个非平凡多值依赖,且
时,X必含有码,则称关系模式R(U,F)属于4NF。
相关文章:
软考中级数据库系统工程师-第6-7章 数据库技术基础关系数据库
目录 1.数据库系统基本概念 2.数据库系统的三级模式结构 3.两级映像 4.数据的独立性 5.E-R模型 6.关系的相关名词 7.关系代数运算 8.关系数据库设计基础知识 9.规范化 1.数据库系统基本概念 1)数据库系统(DBS)是一个采用了数据库技术,有组织地、…...

掌握RDD算子2
文章目录 扁平映射算子案例任务1、统计不规则二维列表元素个数方法一、利用Scala来实现方法二、利用Spark RDD来实现 按键归约算子案例任务1、在Spark Shell里计算学生总分任务2、在IDEA里计算学生总分第一种方式:读取二元组成绩列表第二种方式:读取四元…...
ORACLE-SQL性能优化(3)
2. 给优化器更明确的命令 自动选择索引 如果表中有两个以上(包括两个)索引,其中有一个唯一性索引,而其他是非唯一性. 在这种情况下,ORACLE将使用唯一性索引而完全忽略非唯一性索引. 举例: SELEC…...

3年外包裸辞,面试阿里、字节全都一面挂,哭死.....
测试员可以先在外包积累经验,以后去大厂就很容易,基本不会被卡,事实果真如此吗?但是在我身上却是给了我很大一巴掌... 所谓今年今天履历只是不卡简历而已,如果面试答得稀烂,人家根本不会要你。况且要不是大…...
JavaEE(系列16) -- 多线程(信号量与CountDownLatch)
目录 1. 信号量Semaphore 2. CountDownLatch 1. 信号量Semaphore 信号量, 用来表示 "可用资源的个数". 本质上就是一个计数器. 1.理解信号量 可以把信号量想象成是停车场的展示牌: 当前有车位 100 个. 表示有 100 个可用资源.当有车开进去的时候, 就相当于申请一个可…...

Tomcat配置https协议证书-阿里云,Nginx配置https协议证书-阿里云,Tomcat配置https证书pfx转jks
Tomcat/Nginx配置https协议证书 前言Tomcat配置https协议证书-阿里云方式一 pfx配置证书重启即可 方式二 jkspfx生成jks配置证书重启即可 Nginx配置https协议证书-阿里云实现方式重启即可 其他Tomcat相关配置例子如下nginx配置相关例子如下 前言 阿里云官网:https:…...
抖音定位基本原理
抖音是一款非常受欢迎的短视频分享应用程序,它允许用户创建和分享15秒到60秒的短视频。抖音的成功在很大程度上归功于其强大的定位技术,该技术可以根据用户的兴趣和位置提供个性化的内容。在本文中,我们将深入探讨抖音的定位技术,…...
【Hbase 05】Hbase表的设计原则与优化方案
这里说一下Hbase在使用过程中的表设计原则与优化方案,如果你是运维或者开发兼顾环境的工作,也许比较受用,话不多说,我们直接开始说优化的内容: 一、表设计原则 1.行键设计 行键在设计的时候要尽量的散列,例如可以考虑使用哈希、加密算法等使结果散列,这样能保证请求不会…...

行业报告 | 2022文化科技十大前沿应用趋势(上)
文 | BFT机器人 前言 Introduction 文化科技是文化科技融合过程中诞生的系列新技术成果,是文化强国和科技强国两大战略的交又领域。2012 年 8月,科技部会同中宣部、财政部、文化部、广电总局、新闻出版总署发布《文化科技创新工程纲要》,开启…...

实现BIM的Revit软件学习资料
实现BIM的Revit软件学习资料 一、BIM与Revit的关系二、Revit使用方法总结(一)快捷键(二)一些技巧 一、BIM与Revit的关系 链接: BIM与Revit是什么关系?看完秒懂系列! REVIT是实现BIM理念的工具之一。 二、Revit使用方…...
09 集合框架2
集合元素的迭代方式有哪些? for循环,for-each循环(底层迭代器),迭代器 Iterator<String> it list.iterator(); while(it.hasNext()) {String ele it.next();System.out.println(ele); }并发修改集合元素异常是怎么造成的?怎么解决? 在迭代过程中使用List里面的增…...

相见恨晚的5款良心软件,每款都是经过时间检验的精品
今天来给大家推荐5款良心软件,每款都是经过时间检验的精品,用起来让你的工作效率提升飞快,各个都让你觉得相见恨晚! 1.颜色选择器——ColorPicker ColorPicker是一款用于在屏幕上选择颜色的工具。它可以让你快速地获取任意像素的颜色值,并复制到剪贴板…...

AI与税务管理:新技术带来的新机遇和新挑战
本文作者:王伊琳 人工智能(Artificial Intelligence,AI)是指由计算机系统或机器人模拟人类智能的过程和结果,包括感知、理解、学习、推理、决策等能力。近年来,随着计算机技术、互联网平台、大数据分析等的…...

springboot 集成 Swagger3(速通)
→ springboot 集成 Swagger2 ← 目录 1. 案例2. info 配置3. Docket 配置1. 开关配置2. 扫描路径3. 路径匹配4. 分组管理 4. 常用注解1. 说明2. 案例 1. 案例 这次直接使用 2.5.6 的 spring-boot 。 依赖: <parent><groupId>org.springframework.…...

2023年NOC大赛创客智慧编程赛项图形化复赛模拟题二,包含答案解析
2023年NOC大赛创客智慧编程赛项图形化复赛模拟题二,包含答案解析 第一题: 在源程序“小蝙蝠”文件中,实现小蝙蝠遇到不同的角色会说不同的话,以及切换不同的造型要求: 1:游戏开始时,小蝙蝠角色是造型 a,并能够用键盘控制上、下、左、右移动; 2:移动小蝙蝠,距离角色雪…...

2023年NOC大赛创客智慧编程赛项Python 复赛模拟题(二)
题目来自:NOC 大赛创客智慧编程赛项Python 复赛模拟题(二) NOC大赛创客智慧编程赛项Python 复赛模拟题(二) 第一题: 编写一个成绩评价系统,当输入语文、数学和英语三门课程成绩时,输出三门课程总成绩及其等级。 (1)程序提示用户输入三个数字,数字分别表示语文、数学、…...
【SQL】MySQL的查询语句
文章目录 SELECT语句WHERE子句JOIN语句GROUP BY和HAVINGORDER BYLIMIT其他关键字 MySQL是一种广泛使用的关系型数据库管理系统,它被广泛地应用于各种应用程序和网站。学会使用MySQL的查询语句可以帮助我们更好地管理和分析数据,从而更好地利用数据库中的…...
测试的分类
1 按照开发阶段(软件开发周期) 单元测试是对软件的组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是软件设计的最小单位——模块,故又称为模块测试。集成测试是将程序模块采用适当的集成策略组装起来,对系…...

【5.21】六、自动化测试—持续集成测试
目录 6.4 持续集成测试 6.4.1 持续集成的概念 6.4.2 持续集成测试框架设计 6.4 持续集成测试 持续集成(Continuous Integration,CI)是软件开发DevOps(DevelopmentOperations)中的一个概念,它强调的是软…...

【C++】 排列与组合算法详解(进阶篇)
文章目录 写在前面算法1:朴素算法思路缺点 算法2:递推预处理思路时间复杂度: O ( n 2 ) O(n^2) O(n2) 算法3:阶乘逆元思路时间复杂度: O ( n log n ) O(n \log n) O(nlogn)思考:读者也可以尝试写 O ( n…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...

【笔记】WSL 中 Rust 安装与测试完整记录
#工作记录 WSL 中 Rust 安装与测试完整记录 1. 运行环境 系统:Ubuntu 24.04 LTS (WSL2)架构:x86_64 (GNU/Linux)Rust 版本:rustc 1.87.0 (2025-05-09)Cargo 版本:cargo 1.87.0 (2025-05-06) 2. 安装 Rust 2.1 使用 Rust 官方安…...