《软件设计师教程:数据库系统基础知识大总结》

个人主页:李仙桎

   🔥 个人专栏: 《软件设计师》

⛺️生活的理想,就是为了理想的生活!

Alt

 ⛺️前言:各位铁汁们好啊!!!今天继续正式学习中级软件设计师考试相关的内容,后续不断更新中级软件设计师有关知识内容,通过这一个月的学习和总结冲刺通过中级软件设计师的软考认证!!希望各位铁汁多多支持!这一章节主要对数据库系统基础知识进行总结学习。(ps:这一章节在上午考试75道选择题中占比大概6道左右,下午的分析题中有一道15分的分析题,所以要好好学!!!考点: 规范化理论(必考,范式必考)、关系代数(必考))

目录

1、基本概念

1.1、数据库

1.2、数据库管理系统

1.3、DBMS的特征

1.4、DBMS 的分类

2、数据库三级模式两级映像

2.1、三级模式

2.2、两级映射

3、数据库的分析与设计过程

4、数据模型

1.1、ER模型由局部到全局的合成方式

1.2、ER模型转换为关系模型

1.3、关系模型

5、关系代数

5.1、关系模式相关名词

 5.2、七种基本运算

6、数据库完整约束

7、关系新数据库SQL简介 

8、关系型数据库的规范化

8.1、函数依赖

8.2、价值与用途

8.3、键

8.4、范式

 8.5、关系模式的分解

9、数据库的控制功能

9.1、事务管理

9.2、并非控制

​编辑9.3、 备份和我恢复

10、数据仓库与数据挖掘基础

11、大数据基本类型


1、基本概念

1.1、数据库

数据库(Database,缩写为DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

1.2、数据库管理系统

数据库管理系统(Database Management System,DBMS)是数据库系统的核心软件,要在操作系统的支持下工作,解决如何科学地组织和存储数据、如何高效地获取和维护数据的系统软件问题。其主要功能包括数据定义功能、数据操纵功能、数据库的运行管理、数据组织、存储、管理和数据库的建立与维护。

1.3、DBMS的特征

        (1)数据结构化且统一管理。
        (2)有较高的数据独立性。
        (3)提供数据控制功能。

1.4、DBMS 的分类

(1)关系数据库系统:是支持关系模型的数据库系统。
(2)面向对象的数据库系统:是支持以对象形式对数据建模的数据库系统。
(3)对象关系数据库系统:在传统的关系数据模型基础上,提供元组、数组、集合等更丰富的数据类型以及处理新的数据类型操作的能力,这样形成的数据模型称为对象关系数据模型。基于对象关系数据模型的DBS称为对象关系数据库系统。

2、数据库三级模式两级映像

数据库系统分为了三个级别的层次,即:内模式,概念模式,外模式

2.1、三级模式

  • 内模式:(又称物理数据库模式);它是和物理层次数据库直接关联的,负责管理存储数据的方式,即数据应以什么格式存放在物理文件上面,以及如何优化这些存储方式;该模式的关注点在于数据如何存放上面
  • 概念模式:即数据库中的”表“,在该模式中,根据业务以及应用,数据被分成了若干张”表“,表之间会有相应的关联
  • 外模式:处于用户的应用层次,即数据库中的“视图”,使用户在对数据的控制上有了更多的手段,有了更为灵活的处置方式(表现就是我们现在电脑上看到的淘宝页面将数据展示给我们看)

2.2、两级映射

  • 外模式—概念模式映射:外模式和概念模式具有映射关系,该关系即“视图”和“表”之间的映射关系,表变化,改映射关系,不需要改应用程序
  • 概念模式—内模式映射:即用户想要改变存储结构,我们只需要调整这种映射关系,而不需要去修改用户的应用程序

3、数据库的分析与设计过程

考点:整个设计过程,不同设计阶段的产出物,E-R图

4、数据模型

模型就是对现实世界特征的模拟和抽象。
数学模型是对现实世界数据特征的抽象。
数据模型是用来描述数据的一组概念和定义。
数据模型的三要素是数据结构、数据操作、数据的约束条件。
数据结构:是所研究的对象类型的集合,是对系统静态特性的描述。
数据操作是对数据库中各种对象的实例(值)允许执行的操作的集合,包括操作及操作规则。数据操作是对系统动态特性的描述。
数据的约束条件:是一组完整性规则的集合。对于具体的应用数据必须遵循特定的
语义约束条件,以保证数据的正确、有效、相容。

在ER模型中,矩形表示实体(如学生,课程),椭圆表示属性(如学号,姓名,性别,年龄),菱形表示联系(如选课);其中学生和课程之间具有多对多关系

1.1、ER模型由局部到全局的合成方式

我们在绘制数据库的ER图时,常常从局部开始绘制,然后将许多局部的ER图合成位全局的ER图,而局部的ER图合成全局的ER图时可以有两种方式:逐步集成和一次集成

集成的方法:即逐步集成或者一次集成

  • 逐步集成即首先将两个局部图集成在一起,然后与第三个合并在一起…
  • 一次集成即将所有ER图一次集成;

集成的优点:方式简单,不易出错;缺点:一次集成容易出错,出错后难以纠错,逐步集成步骤繁锁

1.2、ER模型转换为关系模型

一个实体型转换为一个关系模式

  • 1:1联系:即一一对应的关系中,一个实体型转换为一个关系模式,再把这种联系放在任意一个其他实体中,因此在此种转换中需要两个实体的参与
  • 1:n联系:即一对多的关系中,如部门实体与和员工实体之间;仍然是一个实体型转换为一个关系模型,但这种联系只能记录在多这边,如员工
  • m:n联系,即多对多的关系中,此种关系至少需要三个实体参与(多对多的联系也必须转成一个实体

1.3、关系模型

5、关系代数

以选择题的形式出现;有如下运算:并;交;差;笛卡尔积;投影;选择;联接

各个运算的表示符号

        并(∪)、差(-)、笛卡尔积(×)、投影(π)、选择(σ)

5.1、关系模式相关名词

 5.2、七种基本运算

差运算:即得到A集合中B所没有的元素,如A-B即得到B在A中所没有的元素

笛卡尔积中若AXB,则将A第一行记录写下,然后将其重复记录三次,然后将B的三行记录与A重写的记录一一对应的写下,然后对A的第二行记录进行同样的重写,以及将B对应的记录重写…

投影:该操作即将所选的“列”记录下来
图示选择Sno、Sname,那么Sno实际是No001 003 004,Sname同理,所以只有三行

选择:该操作将所选的“行”记录下来
选择是根据某些条件对关系做水平切割,对元组行的选择列出如上述中Sn0-Soooo3(S1),是指从S1中选择Sno字段为Soooo3的数据。

自然联接

概念:自然连接的结果以左侧关系为主,右侧关系去除重复列,如R(A,B,C,D,E)和E(C,D,E,F)进行自然连接的结果为:(A,B,R.C,R.D,R.E,F)

 自然连接会去掉重复的列,所以自然连接后有(R.A、R.B、R.C、R.E、S.E、S.F),但是笛卡尔积不会掉重复列,将R和S笛卡尔积后选择第一列和第五列相同而且第三列和第六列相等的行(选择),然后投影(1、2、3、4、7、8)列的值就是自然选择的结果

根据提早执行选取操作,所以选D

6、数据库完整约束

7、关系新数据库SQL简介 

8、关系型数据库的规范化

8.1、函数依赖

函数依赖:即函数关系,如学号对应姓名,姓名可以重复,但学号是唯一的,且唯一的学号对应相应了可重复的姓名        X->Y

部分函数依赖(部分依赖):主键是两个属性的组合键,若主键中的一部分可以确定某个属性,则为部分函数依赖
通过(学号,课程号)的组合键,可以通过主键的一部分即学号确定姓名属性

传递函数依赖(传递依赖):即:若A可以确定B,B可以确定C,则A可以确定C(注意:B不能确定A,因为此时二者即为等价)

8.2、价值与用途

在非规范化的关系模式中,可能存在的问题包括:数据冗余,更新异常,插入异常,删除异常

解决数据冗余,如在记录大学生所属系别时,DNO和DNAME是唯一对应的,LOCATION也可以根据DNO唯一确定,这里存储重复冗余

8.3、键

考点:候选键的概念、求法、候选键和主键的关系、外键求法

主属性:包含诸为候选码中的所有属性,候选码(AC、AB)所以主属性(A、B、C)

8.4、范式

第一范式的概念:在关系模式R中,当且仅当所有域(列的取值范围,如性别的取值范围就是男和女)列的取值范围只包含原子值,即每个分量都是不可再分的数据项,则称R是第一范式

该表不是1NF,因为高级职称人数还可以分为教授和副教授。去掉高级职称人数,直接写教授、副教授就是1NF

第二范式的概念:当且仅当R是1NF,且每一个非主属性完全依赖(即:主键中的所有属性共同作用才能决定该属性)主键(且不存在部分依赖)时,则称R是第二范式

SNO学号和CNO共同确定成绩GRADE,存在部份依赖,CNO就可以确定课程学分CREDIT

解决方案:把CNO和CREDIT单独提取出来做一个新的关系模式,去掉原来的关系模式的CREDIT主键是单属性,即只有一个,不可能存在部分依赖

第三范式的概念:当且仅当R是2NF,且E中没有非主属性传递依赖于码时,则称R是第三范式

 DNO、DNAME、LOCATION单独提取出成为新的关系模式即为满足第三范式

BCNF的概念:设R是一个关系模式,F是它的依赖集,R属于BCNF当且仅当其F中每一个依赖的决定因素必定包含R的某个候选码
即把所以依赖写出来,左边部分必须是候选键

 

 8.5、关系模式的分解

关系模式实际上就是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。 关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。

范式级别不够时我们采取模式的拆分,拆分完级别就提高了 

9、数据库的控制功能

9.1、事务管理

9.2、并非控制

9.3、 备份和我恢复

10、数据仓库与数据挖掘基础

11、大数据基本类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/583346.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python学习笔记B-11:序列结构之列表--二维列表的遍历和生成式

二维列表的遍历方式,使用双层for循环,遍历索引号。 二维列表的生成式,也是使用类似双层循环的形式生成。 print("##初始化二维列表,每个元素就是1个列表") lst [["东方延续","太空军自然选择号舰长&qu…

【AI心理咨询应用】继Woebot之后,国内诞生的“LLM+CBT”应用:白小喵

导言 AI认知行为疗法(Cognitive Behavioral Therapy,CBT)早在2017年便有了首例,即美国知名CBT治疗机器人Woebot。 然而,Woebot在CBT的完整落地上仍有缺陷问题,LLM的出现促进了对该问题的解决,…

typeScript 安装

1、安装typescript 安装npm i -g typescript 查看是否安装成功 tsc -v 2、使用ts // 浏览器不支持ts 需要编译成 es5 let str: string ts 在终端输入 tsc index.ts 会将其生成一个对应的index.js文件 在电脑上首次使用TS的时候,执行TS 的命令的时候报错 打开PowerS…

RustGUI学习(iced)之小部件(三):如何使用下拉列表pick_list?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述…

2024年,新手做抖音小店想要赚钱,必须明白三件事!

大家好,我是电商糖果 有不少小店的商家都说过,现在的抖音小店比三四年前复杂了。 三四年前抖音小店刚刚出现,平台规则还没有那么多,很多机制也不太成熟。 那个时期的抖店说是捡钱的,一点儿都不假。 但是如果说你现…

Linux详解:进程等待

文章目录 进程等待等待的必要性进程等待的方法waitwaitpid获取子进程status阻塞等待 与 非阻塞等待 进程等待 等待的必要性 子进程退出,父进程不进行回收的话,就可能造成僵尸进程,进而造成内存泄露 如果进程进入了僵尸状态,kill…

机器学习:驱动现代交通运输革命的AI智慧引擎

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

玄子Share-引导过程与服务控制

玄子Share-引导过程与服务控制 Linux操作系统引导过程 系统初始化进程 init 进程 由 Linux 内核加载运行 /sbin/init 程序init 进程是系统中第一个进程init 进程的 PID(进程标记)号永远为 1 Systemd Systemd是Linux操作系统的一种init软件CentOS7中采用…

【Linux开发 第十二篇】搭建JavaEE环境

搭建开发环境 搭建javaEE环境 搭建javaEE环境 在Linux下开发JavaEE需要安装软件包: 安装jdk 安装步骤: 在opt目录下创建jdk目录通过xftp上床到jdk目录中进入到jdk目录中,解压jdk压缩包在/usr/local下创建java目录将解压完成的jdk文件移动…

SpringBoot框架学习笔记(一):依赖管理和自动配置

本文为个人笔记,仅供学习参考之用,如有不当之处请指出。 本文基于springboot2.5.3版本,开发环境需要是 jdk 8 或以上,maven 在 3.5 1 SpringBoot 基本介绍 1.1 官方文档 (1) 官网 : https://spring.io/pr…

张朝阳对话华为Fellow陈海波:万物智联时代,鸿蒙如何实现“换道超车”?

随着智能终端设备的普及和万物智联时代的加速到来,鸿蒙生态的高速发展正引发全行业的关注。 搜狐创始人、董事局主席兼CEO、物理学博士张朝阳与华为Fellow、基础软件首席科学家陈海波带来了一场关于鸿蒙生态的公开课。鸿蒙技术架构有哪些领先性?HarmonyOS发布5年来…

compose调用系统分享功能分享图片文件

compose调用系统分享功能图片文件 简介UI界面提供给外部程序的文件访问权限创建FileProvider设置共享文件夹 通用分享工具虚拟机验证结果参考 本系列用于新人安卓基础入门学习笔记,有任何不同的见解欢迎留言 运行环境 jdk17 andriod 34 compose material3 简介 本案…

Hadoop3:集群搭建及常用命令与shell脚本整理(入门篇,从零开始搭建)

一、集群环境说明 1、用VMware安装3台Centos7.9虚拟机 2、虚拟机配置:2C,2G内存,50G存储 3、集群架构 从表格中,可以看出,Hadoop集群,主要有2部分,一个是HDFS服务,一个是YARN服务 …

[系统安全] 六十.威胁狩猎 (1)APT攻击检测及防御与常见APT组织的攻击案例分析

您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列。因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全、逆向分析和恶意代码检测,“系统安全”系列文章会更加聚焦,更加系…

四、管道与重定向

四、管道与重定向 1 重定向 0,标准输入(键盘) 1,标准输出 2,标准错误, 3,进程在执行过程中打开的其他文件。 &:表示正确错误混合输出1.1 输出重定向 (覆盖,追加) > ----覆盖 >> ----追加 正确输出: 1> 1>> 等价…

Git 仓库内容操作

Git 仓库内容操作 | CoderMast编程桅杆Git 仓库内容操作 添加文件到暂存区 使用如下指令将工作区的文件添加到暂存区,告诉 Git 在下次 commit 时哪些文件做出了修改。 commit 指令详看后续 添加一个或多个文件到暂存区: 添加指定目录到暂存区 添加当前目…

ffmpeg与sdl的个人笔记

说明 这里的ffmpeg基础知识和sdl基础知识仅提及与示例代码相关的知识点, 进阶可学习雷神的博客。 https://blog.csdn.net/leixiaohua1020 当然,如代码写的有问题或有更好的见解,欢迎指正! 音视频基础知识 在学习音视频理论知识时&#xff…

CSS中设置透明度的2个属性:opacity,RGBA以及它们的区别

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

试用了三个Ai音乐工具,我的偶像河图要完蛋了

试了三个生成音乐的ai工具,分别是爆火的suno,后期新秀udio,还有我们国内的天工。 先说感受,suno和天工我觉得稍微靠前,udio可能我的配置风格有问题,啪啪啪连选了好几个风格,生成的东西有点怪。 我随手写了…

【机器学习基础1】什么是机器学习、预测模型解决问题的步骤、机器学习的Python生态圈

文章目录 一. 什么是机器学习1. 概念2. 机器学习算法分类 二. 利用预测模型解决问题的步骤三. 机器学习的Python生态圈 一. 什么是机器学习 1. 概念 机器学习(Machine Learning,ML)是一门多领域的交叉学科,涉及概率论、统计学、…
最新文章