软考数据库部分 ---- (概念数据库模型,三级模式,两级映像,事物管理)

news2024/10/6 2:13:19

文章目录

  • 一、概念数据库模型
  • 二、结构数据库模型
  • 三、三级模式
  • 四、两级映像
  • 五、关系模式基本术语
  • 六、关系模式
  • 七、关系的数学定义
  • 八、数据定义语言
  • 九、SQL访问控制
  • 十、视图
  • 十一、索引
  • 十二、关系模式
  • 十三、范式
  • 十四、数据库设计
  • 十五、事物管理(ACID)
  • 十六、数据库的备份
  • 十七、锁
  • 十八、分布式数据库


一、概念数据库模型

  • 实体:客观存在并可以相互区别的事物称为实体,如一个单位、一个职工、一个部门或一个项目等。
  • 属性:描述实体的特性称为属性,一个实体可以由若干个属性来刻画,如学生实体用若干属性(学号、姓名、性别、出生日期和班号)来描述。
  • 码:唯一标识实体的属性集称为码,例如学号是学生实体的码。
  • 域:属性的取值范围称为该属性的域,如性别域为(男,女)。联系:实体(型)之间的对应关系称为联系。
  • 联系分为两种,一种是实体内部各属性之间的联系;另一种是实体之间的联系。
    – 一对一联系(1:1)
    – 一对多联系(1:n)
    – 多对多联系(m:n)
  • 实体–联系方法表示的概念数据模型为E-R图
    –实体是矩形,属性是椭圆形,联系是菱形

二、结构数据库模型

结构数据模型主要包括:层次、网状、关系和面向对象模型

  • 层次,树结构,一对多
  • 网状,图结构,多对多
  • 关系模型,二维表

三、三级模式

  1. 概念模式(模式),基本表
  2. 外模式(子模式/用户模式),视图
  3. 内模式(存储模式),存储文件

四、两级映像

  1. 模式/内模式映像。物理独立性
  2. 外模式/模式映像。逻辑独立性

五、关系模式基本术语

  1. 关系模式基本术语
  • 关系:一个关系就是一张二维
  • 元组:表中的一行即为一个元组
  • 属性:表中的列称为属性,每一列有一个属性名。
  • 域:属性的取值范围,即不同元组对同一个属性的值所限定的范围。
  • 关系模式:对关系的描述称为关系模式
  1. 码/键
  • 候选码(或候选键):属性或属性组合,其值能够唯一地标识一个元组
  • 主码(或主键):在一个关系中可能有多个候选码,从中选择一个作为主码
  • 主属性:包含在任何候选码中诸属性称为主属性,不包含在任何候选码中诸属性称为非码属性。
  • 外码(或外键):如果一个关系中的属性或属性组并非该关系的码,但它们是另外一个关系的码,则称其为该关系的外码。
  • 全码:关系模式的所有属性组是这个关系模式的候选码,称为全码。
  • 超码(超键):一个包含码的属性集称为超码,例如学号是码,则(学号,姓名)就是一个超码。

六、关系模式

  1. 关系的描述称为关系模式,它可以形式化地表示为:R(U,D,dom,F)
  2. 关系模型由关系数据结构(一张二维表)、关系操作集合(关系操作有:选择、投影、连接、除、并、交、差等查询操作和增加、删除操作等。)和关系完整性约束三部分组成。
  3. 关系完整性约束
  • 实体完整性,主键不能为空
  • 参照完整性,外键
  • 用户定义的完整性

七、关系的数学定义

在这里插入图片描述

  1. 交,并,差,笛卡尔积
    例如:D₁{0,1},D₂=fa,b,c}
    则:笛卡尔积D₁ X D₂={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c);
    在这里插入图片描述

  2. 投影
    在这里插入图片描述

  3. 选择
    在这里插入图片描述

  4. 连接
    连接分为θ连接、等值连接和自然连接3种。
    在这里插入图片描述
    在这里插入图片描述

  5. 外连接
    外连接运算有3种,即左外连接、右外连接和全外连接。

  • 左外连接。取出左侧关系表中所有与右侧关系中任一元组都不匹配的元组,用空值 nul 充填所有来自右侧关系的属性,构成新的元组,将其加入自然连接的结果中。
  • 右外连接。取出右侧关系表中所有与左侧关系中任一元组都不匹配的元组,用空值 nul 填充所有来自左侧关系的属性,构成新的元组,将其加入自然连接的结果中。
  • 全外连接。完成左外连接和右外连接的操作。即填充左侧关系中所有与右侧关系中任一元组都不匹配的元组,并填充右侧关系中所有与左侧关系中任一元组都不匹配的元组,将产生的新元组加入自然连接的结果中。
  1. 自然连接
    自然连接是除去重复属性的等值连接,它是连接运算的一个特例,是最常用的连接运算。
  2. 查询效率

八、数据定义语言

  1. SQL Server数据库的体系结构是由视图、基本表和存储文件三级结构组成。
  2. SQL语言的分类
  • DDL(数据定义语言):在数据库系统中,每一个数据库、数据库中的表、视图和索引等都是数据库对象。要建立和删除一个数据库对象都可以通过 SQL语言来完成。DDL包括CREATE、ALTER和 DROP等。
  • DML(数据操纵语言):DML 是指用来添加、修改和删除数据库中数据的语句,包括 INSERT(插入)、DELETE(删除)和 UPDATE(更新)等。
  • DQL(数据查询语言):查询是数据库的基本功能,查询操作通过 SQL数据查询语言来实现,例如,用SELECT 查询表中的内容。
  • DCL(数据控制语言):DCL包括数据库对象的权限管理和事务管理等。
  1. SQL数据定义语言

①建立数据库

CREATE DATABASE 数据名

②建立数据库表

CREATE TABLE 表名
(列名 数据类型,
...
完整性约束,
...
)

③修改基本表结构

  • 增加一个新列的基本语句为:
ALTER TABLE 表名 ADD 列名 类型
  • 修改一个新列的基本语句为:
ALTER TABLE 表名 ALTER COLUMN 列名 新类型
  • 删除一个列的语句为:
ALTER TABLE 表名 DROP COLUMN 列名

④删除基本表

DROP TABLE 表名
  1. 约束

列级完整性 NOT NULL ,UNIQUE,NOT UNIQUE,DEFAULT
实体完整性(主键) PRIMARY KEY
用户自定义CHECK
参照完整性(外键) FOREIGN KEY

  1. 数据操作
    ①插入
insert into 表名(列名序列) values (元组值);
  • 插入查询值
insert into 表名(列名序列) select 查询语句

②删除

delete from 表名 where 条件表达式

③更新

update 表名 
set 列名 = 值表达式
[where 条件表达式]
  1. 查询
SELECT 目标表的名或列表达式序列
FROM 关系名表列
[WHERE 行条件表达式]
[GROUP BY 列名列            # 分组
[HAVING 条表达式]]
[ORDER BY 列名[ASCIDESC]]  # 排序

①投影查询

select distinct 列名 as '列名别名' from 表名 

distinct去重,as取别名
②选择查询
在这里插入图片描述

  • %(百分号)代表任意长度(长度可以为0)的字符串。例如a%b表示以a开头,以b结尾的任意长度的字符串,如acb、addgb、ab等都满足该匹配串。
  • _(下划线)代表任意单个字符。例如ab表示以a开头,以b结尾的长度为3的任意字符串,acb、afb等都满足该匹配串。

③聚合函数

函数名功能
AVG计算一个数值型表达式的平均值
COUNT计算指定表达式中选择的项数,COUNT(*)统计查询输出的行数
MIN计算指定表达式中的最小值
MAX计算指定表达式中的最大值
SUM计算指定表达式中的数值总和
STDEV计算指定表达式中所有数据的标准差
STDEVP计算总体标准差
  1. 交,并,差

union:并
intersect:交
except:差

九、SQL访问控制

获得权限的用户也可以给别人权限

with grant option 
grant 权限 on/to 用户

收回权限

revoke 权限 on/from 用户

十、视图

  1. 视图是从一个或者多个基本表或视图中导出的表,是一个虚拟表
  2. 视图的创建语句格式:
CREATE VIEW 视图名(列表名)
AS SELECT 查询子句
[WITH CHECK OPTION];
  1. 视图的删除语句格式:
DROP VIEW 视图名
  1. WITH CHECK OPTION表示增删改查条件表达式

十一、索引

create index 索引名 on 表名

索引改变的是内模式(存储文件)

十二、关系模式

  1. 一个关系模式应当是一个五元组(含关系名)。R <U,D,dom,F>
    (1)R为关系名,它是符号化的元组语义;
    (2)U为一组属性;
    (3)属性组U中的属性来自域D;
    (4)dom为属性到域的映射;
    (5)F为属性组U上的一组数据依赖。
  2. A→B,A决定B,B依赖A
  3. 函数依赖
    ①平凡函数依赖, A→B,B⊆A⊊
    ②非平凡函数依赖, A→B,B⊊A
    ③完全函数依赖:如果 X→Y,并且对于X的任何一个真子集X’都有X’不能决定 Y,则称Y对X完全函数依赖,
    ④部分函数依赖:如果X→Y,但Y不完全函数依赖于X,则称对X部分函数依赖
    ⑤传递函数依赖, A→B,B⊊A,B→A

十三、范式

伪传递率:X→Y,WX→Y,XW→Z
1NF→2NF:消除主属性对候选码的部分函数依赖
2NF→3NF:消除非主属性对候选码的传递函数依赖
3NF→BCNF:消除主属性对候选码的部分函数依赖和传递函数依赖

十四、数据库设计

需求分析→概念结构设计→逻辑结构设计→物理设计→数据库实施→运行,维护

  1. 需求分析
    ①需求分析阶段的工作以及形成的相关文档(作为概念结构设计阶段的依据)
    ②建立需求说明文档、数据字典和数据流程图
  2. 概念结构设计

①实体
②属性
③联系(一对一(1:1),一对多(1∶n),多对多(m:n))

步骤:选择局部应用→逐一设计分E-R图→E-R合并

E-R图之间的冲突:
① 属性冲突。属性的类型、取值范围和数据单位等可能会不一致
②命名冲突。相同意义不同命名,或是名称相同意义不同
③ 结构冲突。同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体,而在另一分E-R图中又被抽象为属性,需要统一。

  1. 逻辑结构设计(关系规范化)
    ①一对一(1:1)
    ②一对多(1∶n)
    ③多对多(m:n)

十五、事物管理(ACID)

BEGIN TRANSACTION:事务开始。
COMMIT:事务提交。
ROLLBACK:事务回滚。

  1. 原子性:事务是原子的,要么都做,要么都不做。
  2. 一致性:事务执行的结果必须保证数据库从一个一致性状态变到另一个一致性状态。因此,当数据库只包含成功事务提交的结果时,称数据库处于一致性状态。
  3. 隔离性:事务相互隔离。当多个事务并发执行时,任一事务的更新操作直到其成功提交的整个过程,对其他事务都是不可见的。
  4. 持久性:一旦事务成功提交,即使数据库崩溃,其对数据库的更新操作也将永久有效。

十六、数据库的备份

  1. 故障类型
    ①事务内部故障 ②系统故障 ③介质故障 ④计算机病毒
  2. 备份方法
    ①静态转储和动态转储。静态转储是指在转储期间不允许对数据库进行任何存取、修改操作;动态转储是在转储期间允许对数据库进行存取、修改操作。因此,转储和用户事务可并发执行。
    ②海量转储和增量转储。海量转储是指每次转储全部数据:增量转储是指每次只转储上次转储后更新过的数据。
    ③日志文件。在事务处理的过程中,DBMS把事务开始、事务结束以及对数据库的插入、删除和修改的每一次操作写入日志文件。一旦发生故障,DBMS的恢复子系统利用日志文件撤销事务对数据库的改变,回退到事务的初始状态。因此,DBMS利用日志文件来进行事务故障恢复和系统故障恢复,并可协助后备副本进行介质故障恢复。
  3. 恢复
    ①反向扫描文件日志(即从最后向前扫描日志文件),查找该事务的更新操作。
    ②对事务的更新操作执行逆操作。
    ③继续反向扫描日志文件,查找该事务的其他更新操作,并做同样的处理,直到事务的开始标志。

十七、锁

  1. 排它锁:若事务T对数据对象A加上X锁,则只允许T读取和修改 A,其他事务都不能再对 A 加任何类型的锁,直到T释放A上的锁。
  2. 共享锁:若事务T对数据对象A加上S锁,则只允许T读取 A,但不能修改 A,其他事务只能再对A加S锁,直到T释放A上的S锁。这就保证了其他事务可以读 A,但在T释放A上的S锁之前不能对A进行任何修改。

十八、分布式数据库

  • 分片透明:指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的
  • 复制透明:指采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的。
  • 位置透明:指用户无须知道数据存放的物理位置
  • 逻辑透明:指用户或应用程序无需知道局部场地使用的是哪种数据模型
  • 共享性:指数据存储在不同的结点数据共享
  • 自治性:指每结点对本地数据都能独立管理
  • 可用性:指当某一场地故障时,系统可以使用其他场地上的副本面不至于使整个系统瘫
  • 分布性:指数据在不同场地上的存储

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SPI协议的Flash扇区擦除实验

当一块Flash芯片中的不同的扇区烧录了不同的程序&#xff0c;而我们只想擦除某个扇区的程序保留其他程序时&#xff0c;Flash的全擦除是不能满足要求的&#xff0c;这时候就需要扇区擦除来实现这一功能。扇区擦除可以对Flash芯片中的某一扇区进行擦除而不改变其他扇区中的存储数…

2.3MyBatis——插件机制

2.3MyBatis——插件机制 1.基本用法2.原理探究2.1加载过程2.2执行过程2.2.1 插件的执行点2.2.2 SQL执行的几个阶段2.2.3 如何梳理出执行流程 插件机制是一款优秀框架不可或缺的组成部分&#xff0c;比如spring、dubbo&#xff0c;还有我们要聊的Mybatis等等。所谓插件&#xff…

【AI大模型】使用Embedding API

一、使用OpenAI API 目前GPT embedding mode有三种&#xff0c;性能如下所示&#xff1a; 模型每美元页数MTEB得分MIRACL得分text-embedding-3-large9,61554.964.6text-embedding-3-small62,50062.344.0text-embedding-ada-00212,50061.031.4 MTEB得分为embedding model分类…

Linux驱动开发(速记版)--printctl子系统

第102章 pinctrl 子系统的引入 Linux中的 pinctrl子系统是管理和配置GPIO引脚的框架&#xff0c;提供标准化方法以适应不同硬件。 它遵循 Linux内核设备模型&#xff0c;分为设备、驱动等部分。 本章节从设备和驱动角度介绍 pinctrl子系统。 102.1 pinctrl 设备树 在设备树中&a…

旅游心动盲盒:开启个性化旅行新体验

嘿&#xff0c;宝子们&#xff01;在如今这个数字化时代呀&#xff0c;文心智能体可是给咱们的生活带来了超多便利和创新呢。今天呀&#xff0c;我来给大家介绍一款超棒的智能体——旅游心动盲盒&#xff0c;它肯定能给你的旅行带来全新的惊喜和超个性化的体验哟。 一、项目背…

基于H3C环境的实验——OSPF

目录 实验设备和环境 实验设备 实验环境 实验记录 1、单区域 OSPF基本配置 步骤1:搭建实验环境并完成基本配置 步骤2:检查网络连通性和路由器路由表。 步骤3:配置OSPF 步骤4:检查路由器OSPF邻居状态及路由表 实验设备和环境 实验设备 三台路由器、两台PC、电源线、两…

GO网络编程(四):海量用户通信系统2:登录功能核心【重难点】

目录 一、C/S详细通信流程图二、消息类型定义与json标签1. 消息类型定义2. JSON标签3.结构体示例及其 JSON 表示&#xff1a;4.完整代码与使用说明 三、客户端发送消息1. 连接到服务器2. 准备发送消息3. 创建 LoginMes 并序列化4. 将序列化后的数据嵌入消息结构5. 序列化整个 M…

java 数据存储方式

1. 变量存储 这是最基本的数据存储方式&#xff0c;通过声明变量来存储数据。变量可以是基本数据类型&#xff08;如int、float、char等&#xff09;&#xff0c;也可以是引用数据类型&#xff08;如对象、数组等&#xff09;。变量存储的数据通常存储在内存中&#xff0c;随着…

有状态(Session) VS 无状态(Token)

目录 概念 JWT Token在项目中使用 概念 有状态和无状态服务是两种不同的服务架构&#xff0c;两者的不同之处在于对于服务状态的处理。 1、有状态服务 是指程序在执行过程中生成的中间数据&#xff0c;服务器端一般都要保存请求的相关信息&#xff0c;每个请求可以默认地使…

Hugging Face 任意大模型仓库劫持 - 无声的破坏

摘要 在这篇博客中&#xff0c;我们展示了攻击者如何攻击Hugging Face的Safetensors转换空间及其相关的服务机器人。这些服务是一个在Hugging Face上广受欢迎的服务&#xff0c;专门用于将不安全的机器学习模型转换为更安全的版本。我们随后展示了如何通过Hugging Face自身的服…

C0016.Clion中qDebug()打印输出中文时,都是问号??????的解决办法

问题描述 在clion中使用qDebug打印输出中文内容时&#xff0c;都是&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff1f;如下图&#xff1a; 注意&#xff1a;修改该文件的编码格式就行&#xff0c;该文件名为apr.cpp&#xff1b; 解决办法

矩阵求解复数(aniwoth求解串扰)

所以这种求解串扰的格式是因为&#xff0c;有串扰的共轭项在方程组中 复数共轭项的作用&#xff0c;但是这是二次方程&#xff0c;

vue2集成vuex实现网站统一数据管理

文章目录 前言安装配置过程1、安装vuex依赖2、在src目录下创建store文件夹&#xff0c;创建模块site.jsgetters.jsindex.js 3、在man.js中添加vuex vuex实战&#xff1a;存储与获取网站基础数据何时去存储数据&#xff1f;&#xff08;路由前置获取数据&#xff09;如何取数据&…

windows中下载、安装、配置JDK/JDK环境配置/Java配置环境变量/Linux中安装配置JDK环境

JDK下载(官网)、安装、配置(包括系统、idea、eclipse)一篇就够了 1、问题概述? Java开发者必须掌握的JDK下载、安装、配置过程。 包括在Eclipse及IDEA中的配置使用 2、下载JDK 【注册Oracle官网账号】 下载的前天是注册orcle官网账号,作为开发者,这个必须有,随时关注…

RTX4060安装nvidia显卡驱动

文章目录 nvidia drivers下载删除原有nvidia驱动安装nvidia驱动如果报错Unable to find the kernel source tree for the currently runningbuilding kernel modules解决方法 报错成功安装!!! nvidia drivers下载 https://www.nvidia.cn/geforce/drivers/#:~:textNVIDIA%20GeF…

ESP01 AT指令学习

一 、AT指令 测试指令&#xff1a;ATCWMODE? 参数及取值范围 cwmode&#xff08;1-3&#xff09; 查询指令&#xff1a; ATCWMODE&#xff1f; 当前cwmode的取值 3 设置指令&#xff1a; ATCWMODE3 设置当前的cwmode为 3 1、station 模式 连接到其他wifi 2、softA…

【源码+文档】基于SpringBoot+Vue的酒店管理系统

&#x1f6a9;如何选题&#xff1f; 如何选题、让题目的难度在可控范围&#xff0c;以及如何在选题过程以及整个毕设过程中如何与老师沟通&#xff0c;这些问题是需要大家在选题前需要考虑的&#xff0c;具体的方法我会在文末详细为你解答。 &#x1f6ad;如何快速熟悉一个项目…

如何从 Windows 照片库恢复已删除的照片

数据丢失的主要原因之一是人为错误。更糟糕的是&#xff0c;回收站中没有备份或删除的文件。在这种情况下&#xff0c;数据恢复或适用于 Windows 的专用图片恢复工具可以为您提供帮助&#xff0c;因为它们可以帮助恢复已删除的图片。 牢记这一点&#xff0c;我们将讨论从 Wind…

基于SSM的电影院订票系统设计与实现

文未可获取一份本项目的java源码和数据库参考。 开展本课题的意义及工作内容&#xff1a; 1.意义 系统管理也都将通过计算机进行整体智能化操作&#xff0c;对于电影院订票系统系统所牵扯的管理及数据保存都是非常多的&#xff0c;例如电影信息管理、订单管理等&#xff0c;…

04-SpringBootWeb案例(中)

3. 员工管理 完成了部门管理的功能开发之后&#xff0c;我们进入到下一环节员工管理功能的开发。 基于以上原型&#xff0c;我们可以把员工管理功能分为&#xff1a; 分页查询&#xff08;今天完成&#xff09;带条件的分页查询&#xff08;今天完成&#xff09;删除员工&am…