软考中级数据库系统工程师-第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…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...
电脑桌面太单调,用Python写一个桌面小宠物应用。
下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡,可以响应鼠标点击,并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...
React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?
系列回顾: 在上一篇《React核心概念:State是什么?》中,我们学习了如何使用useState让一个组件拥有自己的内部数据(State),并通过一个计数器案例,实现了组件的自我更新。这很棒&#…...
Tauri2学习笔记
教程地址:https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引:https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多,我按照Tauri1的教程来学习&…...
python打卡第47天
昨天代码中注意力热图的部分顺移至今天 知识点回顾: 热力图 作业:对比不同卷积层热图可视化的结果 def visualize_attention_map(model, test_loader, device, class_names, num_samples3):"""可视化模型的注意力热力图,展示模…...
