数据库复习

news2024/12/24 10:05:01

什么是数据库系统
数据库系统是指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成
数据库系统的特点是什么?
数据结构化+数据的共享性高,冗余度低且易扩充+数据独立性高+数据由数据库管理系统统一管理和控制
可参考:https://blog.csdn.net/m0_55679446/article/details/124017443
数据库管理系统(DBMS)的主要功能是什么?
⑴数据定义:提供数据描述语言(DDL),建立或删除数据库、基本表和视图等。
⑵数据操作:提供数据操作语言(DML),对数据进行查询、更新等操作。
⑶数据库运行控制(数据库的运行管理、数据库建立和维护):提供数据控制语言(DCL),对数据库的控制主要通过四个方面实现:数据安全性控制、数据完整性控制、多用户环境下的并发控制和数据库的恢复。
数据库操纵语言和数据库控制语言?
数据操纵语言(Data Manipulation Language, DML)是用于数据库操作,对数据库其中的对象和数据运行访问工作的编程语句。
DML 的主要功能是访问数据
数据控制语言 (Data Control Language, DCL) 是一种可对数据访问权进行控制的指令,它可以控制特定用户账户对数据表、查看表、预存程序、用户自定义函数等数据库对象的控制权。
DCL 的核心指令是 GRANT、REVOKE。
什么是主键
及主关键字,指的是一个列或多列的组合,其值能唯一地标识表中的每一行
数据库的where和having区别
1.where是过滤数据行的,having是过滤数据分组的。
2.where的查询的条件是不可以用聚合函数的(比如SUM(),MAX(),AVG(),COUNT(),MIN())having是可以的。
3.where是在分组之前进行过滤的,having实在分组之后进行过滤的。
4.where是针对数据库文件过滤,having是针对查询结果过滤。
5.where是针对数据表中的字段直接过滤,having是针对已经查出的字段进行过滤。
6. where查询不可以使用字段别名,having是可以的。

三级模式结构是什么?二级映射有什么优点?
三级模式:外模式、模式、内模式
二级映像:外模式/模式、模式/内模式映像
数据库系统划分了三级模式和二级映像,对于三级模式来说,不同的模式对应不同的人员参考,可以只参与本层模式的设计,对于二级映像来说,保证了数据与程序的逻辑独立性和物理独立性
视图的概念和作用
视图是在基本表或其他视图上建立的表,它的结构和内容都来自某个基本表,是依据基本表存在而存在的。删除一个视图时,不会对基本表产生任何影响,但当删除一张基本表时,与之相关联的视图就会自动被删除。
(1)视图是经过预编译的SELECT语句,存储在数据库服务器端,因此执行视图比从客户端直接执行SELECT语句速度更快、效率更高一些。
(2)视图属于用户模式范畴,在实际中,一般的用户不一定具有SELECT语句方面的专门知识,从用户友好性角度来说,视图更便于用户使用。
(3)利用视图可以简化的形式表达复杂的SELECT语句组,如嵌套查询等(跟容易理解)
数据库怎么建立,用什么软件做,怎么和java连接
数据库并发会产生什么数据错误,提出解决方案
数据库的并发操作通常会带来以下三类问题:丢失更新问题、不一致的问题、 读“脏”数据的问题
解决的办法,可采用封锁机制,使并发操作串行化处理。
可以用并发控制的方法调度并发操作避免造成数据的不一致性使一个用户事务的执行不受其他事务的干扰
数据库的事务
数据库事务是指一个逻辑工作单元中执行的一系列操作,要么完全地执行,要么完全地不执行。
.原子性
事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做
2 .一致性
一个或多个事务执行后,原来一致的数据和数据库仍然是一致的
(就是原来和数据库数据是一致的经过相应的事务执行后,仍然是一致的)
3 .隔离性
一个事务的执行不能其它事务干扰。即一个事务内部的操作及使用的数据对其它并发事务是隔离的,并发执行的各个事务之间不能互相干扰。
4 .持续性
也称永久性,指一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的。接下来的其它操作或故障不应该对其执行结果有任何影响。
等值连接和自然连接的特点
可以参考这篇文章https://blog.csdn.net/qq_40212930/article/details/88747786
自然连接是除去重复属性的等值连接
1、自然连接一定是等值连接,但等值连接不一定是自然连接。
2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。
3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
什么是完整性约束
书上对完整性约束的概念是指保证数据的正确性、有效性和相容性的措施。其实就是对输入数据库的数据进行了约束和规范
关系模型中有三类完整性约束:实体完整性(entity integrity)、参照完整性(referential integrity)和域完整性(用户定义的完整性)
SQL语言的特点?
答:(1)SQL语言是一种一体化的语言,提供了完整的数据定义和操纵功能。
(2)SQL语言具有完备的查询功能
(3)SQL语言非常简洁,易学易用。
(4)SQL语言是一种高度非过程化的语言。
(5)SQL语言的执行方式多样,既能以交互命令方式直接调用,也能嵌入到各种高级语言中使用。
(6)SQL语言不仅能对数据表进行各种操作,也可对视图进行操作
外链接是什么?
索引的作用?优点缺点?
索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。它很类似与现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。索引可以是唯一的,创建索引允许指定单个列或者是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
索引和键的区别?
索引是存储在数据库中的一个物理结构,是实际存在的,相当于一本书的目录。
键是一个逻辑概念,不是数据库的物理部分。键分为主键和外键。

  1. 主键一定是唯一性索引,唯一性索引并不一定就是主键。
  2. 一个表中可以有多个唯一性索引,但只能有一个主键。
  3. 主键列不允许空值,而唯一性索引列允许空值。
  4. 索引可以提高查询的速度。
    主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中
    存取控制是指什么?主要包括哪两个部分?有哪两类方法
    存取控制是指确保只授权给有资格的用户访问数据库,且未被授权的用户无法接近数据。
    两个部分:定义用户权限和合法权限的检查。
    两种方法:
    自主存取控制:同一用户对不同数据库有不同权限,不同用户对同一数据库的权限也不尽相同。
    强制存取控制:每个数据库对象被标以一定的密级,用户也被标以一定级别的许可证,只有具有合法许可证的用户才可以进行存取。
    视图机制是如何对数据库实现安全性控制的?
    可以对不同的用户定义不同的视图,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来
    数据库审计它是如何保障数据库安全性的?
    答:审计功能是把用户对数据库的一系列操作自动记录到审计日志中,审计员可以利用审计日志监控数据库中的各种行为,找出导致数据库发生异常的事件,从而阻止
    数据库的完整性是指什么?
    数据库的完整性是指数据的正确性和相容性。
    什么是触发器?触发器的作用是什么?
    触发器是一种特殊类型的存储过程,是用户对某一表中数据进行UPDATE、INSERT和DELETE操作时被触发执行的一段程序。
    触发器可以实现由主键和外键所不能保证的复杂的参照完整性和数据一致性。起主要作用体现在以下几个方面:
    (1)触发器可以对数据进行级联修改。
    (2)实现比CHECK约束更为复杂的限制。
    (3) 强制表的修改要符合业务规则。
    规范化过程中,逐级依次消除了何种函数依赖?
    由INF到2NF,消除了非主属性对主属性的部分函数依赖;
    由2NF到3NF,消除了非主属性对主属性的传递函数依赖;
    由3NF到BCNF,消除了主属性对码的部分函数依赖和传递函数依赖
    数据库设计的基本步骤是什么?在这里插入图片描述
    概念结构设计阶段
    概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体数据库管理系统的概念模型。
    逻辑结构设计阶段
    逻辑结构设计是将概念结构转换为某个数据库管理系统所支持的数据模型,并对其进行优化。
    物理设计阶段
    物理结构设计师为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方式)。

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

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

相关文章

吐血整理的TCP协议相关原理

文章目录一、 TCP报文的结构二、TCP建立连接-三次握手2.1 三次握手建立连接的过程2.2 三次握手的思考2.3 针对连接过程的DDOS攻击-SYN flood三、 TCP断开链接-四次挥手3.1 客户端主动断开链接的过程3.2 四次挥手的思考四、 TCP状态机六、 TCP的流量控制-滑动窗口协议七、 TCP拥…

openpnp - 顶部相机高级矫正的细节

文章目录openpnp - 顶部相机高级矫正的细节概述ENDopenpnp - 顶部相机高级矫正的细节 概述 设备到手的时候, 只有一个主校准点, 是一块只带一个mark点的小PCB拧在设备正面前部中间的凸台上. 配置openpnp时, 需要指定次校准点. 开始自己做了一块长条形PCB, 上面有mark点, 拧在…

【C++知识点】重载

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📚专栏地址:C/C知识点 📣专栏定位:整理一下 C 相关的知识点,供大家学习参考~ ❤️如果有收获的话,欢迎点赞👍…

阿赵的MaxScript学习笔记分享十二《获取和导出各种数据》

大家好,我是阿赵,周日的早上继续分享MaxScript学习笔记,这是第十二篇,获取和导出各种数据 1、导出数据的目的 使用3DsMax建立3D模型后,很多时候需要输出模型到别的引擎去使用,常用的格式有Obj、FBX、SLT等…

geoserver之BlobStores使用

概述 geoserver是常用的地图服务器之一,除了基本的能力之外,也提供了很多的插件方便大家使用。在本文,讲述一下如何在geoserver中使用BlobStores和gwc-sqlite-plugin插件实现地图的切片和部署。 BlobStores简介 在geoserver中,…

Linux安装Nginx和Nginx基础配置

下载Nginx 方式一:通过官网下载后上传 通过官网下载安装包。下载地址https://nginx.org/en/download.html 这里选择稳定版的进行下载。 这里使用FinalShell终端工具操作,使用其他工具操作亦可。FinalShell工具下载地址:http://www.hostbuf…

带加权的贝叶斯自举法 Weighted Bayesian Bootstrap

在去年的文章中我们介绍过Bayesian Bootstrap,今天我们来说说Weighted Bayesian Bootstrap Bayesian bootstrap 贝叶斯自举法(Bayesian bootstrap)是一种统计学方法,用于在缺乏先验知识的情况下对一个参数的分布进行估计。这种方…

【Node.js】HTTP协议、HTTP的请求报文和响应报文

HTTP协议、HTTP的请求报文和响应报文HTTP协议HTTP主要特点HTTP的请求报文和响应报文请求报文请求行请求消息头空行请求体响应报文响应状态行响应消息头空行响应体总结HTTP协议 HTTP 全称为超文本传输协议,是用于从WWW服务器传输超文本到本地浏览器的传送协议&#…

硬件基础专题-01电阻篇

目录 课程链接 学习目的 电阻 电阻理论讲解 电阻定义​ 欧姆定律​ 电阻单位换算 电阻选型考虑 安装方式 常见电阻值 各种贴片电阻的读取方式 确定电阻值的方法 电阻数据手册 电阻测量 电阻的产品应用​ 零欧姆电阻 热敏电阻 光敏电阻 课程链接 视频专辑 - 硬件…

linux入门---权限

目录标题什么是权限人的分类为什么会有所属组查看文件属性文件的分类如何查看权限文件不同权限的表现rwx权限修改八进制权限修改umask有关内容文件中人的修改目录不同权限的表现rwx什么是权限 首先来看一个例子:比如说我没有爱奇艺的vip,那么我也就没有…

训练CV模型常用的方法与技巧

最近参加一个CV比赛,看到有参赛者分享了自己训练图像识别模型时常用到的小技巧,故对其进行记录、整理,方便未来继续学习。整理了很多,它们不一定每次有用,但请记在心中,说不定未来某个任务它们就发挥了作用…

JavaScript-扫盲

文章目录1. 前言2. 第一个 JavaScript 程序3. javaScript 的基础语法3.1 变量3.2 数据类型3.3 运算符3.4 条件语句3.5 数组3.6 函数3.7 作用域3.8 对象4. WebAPI4.1 DOM 基本概念4.2 常用 DOM API4.3 事件4.4 操作元素4.5 网页版猜数字游戏4.6 留言版1. 前言 提问 java 和 java…

数字图像学笔记 —— 17. 图像退化与复原(自适应滤波之「最小二乘方滤波」)

文章目录维纳滤波的缺点约束最小二乘方滤波给一个实际例子吧维纳滤波的缺点 维纳滤波(Wiener Filter),虽然是一种非常强大的退化图像还原算法,但是从实验过程我们也发现它存在着致命的缺陷,那就是要求输入退化系统的 …

医疗器械之模糊算法(嵌入式部分)

模糊控制 所谓模糊控制,就是对难以用已有规律描述的复杂系统,采用自然语言(如大,中,小)加以描述,借助定性的,不精确的以及模糊的条件语句来表达,模糊控制是一种基于语言的…

Java虚拟机JVM-运行时数据区域说明

及时编译器 HotSpot虚拟机中含有两个即时编译器,分别是编译耗时短但输出代码优化程度较低的客户端编译器(简称为C1)以及编译耗时长但输出代码优化质量也更高的服务端编译器(简称为C2),通常它们会在分层编译…

【Linux】手把手教你在CentOS上使用docker 安装MySQL8.0

文章目录前言一. docker的安装1.1 从阿里下载repo镜像1.2 安装docker1.3 启动docker并查看版本二. 使用docker安装MySQL8.02.1 拉取MySQL镜像2.2 创建容器2.3 操作MySQL容器2.4 远程登录测试总结前言 大家好,又见面了,我是沐风晓月,本文主要…

docker系列1:docker安装

传送门 docker官网地址: Docker: Accelerated, Containerized Application Development 安装地址:Install Docker Engine docker hub地址 docker hub:Docker 安装步骤 前置条件 由于安装docker,需要根据操作系统版本选择…

设计模式(只谈理解,没有代码)

1.什么是设计模式设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。2.为什么要学习设计模式看懂源代码:如果你不懂设计模式去看Jd…

【react全家桶】生命周期

文章目录04 【生命周期】1.简介2.初始化阶段2.1 constructor2.2 componentWillMount(即将废弃)2.3 static getDerivedStateFromProps(新钩子)2.4 render2.5 componentDidMount2.6 初始化阶段总结3.更新阶段3.1 componentWillRecei…

2023最新版本RabbitMQ的持久化和简单使用

上节讲了 RabbitMQ下载安装教程 , 本节主要介绍RabbitMQ的持久化和简单使用。 一、RabbitMQ消息持久化 当处理一个比较耗时得任务的时候,也许想知道消费者(consumers)是否运行到一半就挂掉。在当前的代码中,当RabbitM…