数据库 |试卷1试卷2

1.数据库语言四大语句

4.四大类(DDL、DML、DQL、DCL)_中度ddl-CSDN博客

数据定义(data defination language)

查询、创建、删除、使用

#查询所有数据库
show databases;#查询当前数据库
select database();#创建数据库
create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];#删除数据库
drop database [if exists] 数据库名;#使用数据库
use 数据库名;

数据操作(data manipulation language)

插入、修改、删除

#给指定字段添加数据
insert into 表名(字段名1,字段名2)
values
(值1,值2);

#修改数据
update 表名 
set 字段名1 = 值1,字段名2 = 值2 
[where 条件];

#删除数据
delete 
from 表名 
[where 条件];


数据查询(data query language)

#查询多个字段
select 字段1,字段2,字段3 
from 表名;#查询全部字段
select * 
from 表名;

数据控制(data control language)

权限控制

#查询权限
show grants for '用户名'@'主机名';#授予权限
grant 权限列表 on 数据库.表名 to '用户名'@'主机名';#撤销权限
revoke 权限列表 on 数据库.表名 from '用户名'@'主机名';

2.把对关系SPJ的属性QTY的修改权授予用户李勇的T-SQL语句是(    )


正确答案: C   你的答案: 、B (错误)
GRANT QTY ON SPJ TO '李勇'
GRANT UPDATE(QTY) ON SPJ TO '李勇'
GRANT UPDATE (QTY) ON SPJ TO 李勇
GRANT UPDATE ON SPJ (QTY) TO 李勇

grant update (列名) on 表名 to 用户

它错误地在用户名周围使用了单引号


3.用于识别同一实体集中的两个不同实体值为什么是主码而不是主属性

  • 单一的主属性可能不足以唯一标识一个实体,因为可能存在多个具有相同主属性值的记录。
  • 主码(由一个或多个主属性组成)能够确保在实体集中每个实体的唯一性,从而避免了数据冲突和混淆。
  • 使用主码可以方便地建立表与表之间的关联关系,实现数据的关联查询和完整性维护。

 4.什么是死锁以及死锁的解决办法?

死锁产生的原因及解决方法_死锁的产生机制-CSDN博客

死锁是多个事务竞争同一数据对象而处于永远等待的情况

解决办法:

1.加锁顺序(按照一定的顺序加锁)

2.加锁时限(线程获取锁加上时限,超时就放弃获取锁,并释放自己占有的锁)

3.死锁监测机制,在一定时间内监测有无死锁


5.五种基本的关系代数运算

选择

投影 


6.解释这段代码的作用:

CREATE TABLE EMP  
(  ENO CHAR(4) PRIMARY KEY,  ENAME CHAR(20) NOT NULL UNIQUE,  BIRTHDAY DATE,  SALARY INTEGER DEFAULT(5200) CHECK(SALARY BETWEEN 5000 AND 15000)  
);

这段代码是用于在数据库中创建一个名为 EMP 的表的 SQL 语句。这个表包含以下四个字段(或称为列):

  1. ENO:这是一个 CHAR(4) 类型的字段,用于存储员工的编号。由于它被定义为 PRIMARY KEY,所以这个字段的值必须是唯一的,且不能为 NULL。换句话说,每个员工都有一个唯一的编号,且这个编号不能重复,也不能为空。
  2. ENAME:这是一个 CHAR(20) 类型的字段,用于存储员工的名字。这个字段被标记为 NOT NULL 和 UNIQUENOT NULL 表示这个字段的值不能为空,而 UNIQUE 则表示这个字段的值必须是唯一的,不能有重复的名字。
  3. BIRTHDAY:这是一个 DATE 类型的字段,用于存储员工的生日。这个字段没有特别的约束,所以它可以包含任何有效的日期值,或者为空(如果数据库支持 NULL 值的话)。
  4. SALARY:这是一个 INTEGER 类型的字段,用于存储员工的薪水。它被设置为有一个默认值 5200,这意味着如果在插入新记录时没有为 SALARY 字段指定值,那么它的值将被自动设置为 5200。此外,SALARY 字段还有一个 CHECK 约束,确保它的值在 5000 和 15000 之间(包括这两个值)。

总的来说,这段代码定义了一个 EMP 表,该表用于存储员工的基本信息,包括编号、名字、生日和薪水。其中编号和名字是唯一的,薪水有一个默认值,并且薪水值必须在一定的范围内。


7.日期的sql语句

between '1999-10-1' and '2000-12-31'

 SQL 语句查询出生日期在 1999-10-1 至 2000-12-31 日之间的所有学生

SELECT *
FROM S  
WHERE SBIRTH BETWEEN '1999-10-01' AND '2000-12-31';

8.删除语句

删除计算机学院不及格学生的选课记录

DELETE FROM SC    
WHERE SID IN (    SELECT S.SID    FROM S, SC    WHERE S.SID = SC.SID AND S.SCHOOL = '计算机学院' AND SC.GRADE < 60  
);

9.升序和不及格查询

1. 查询学生的成绩信息,按照学号升序显示

SELECT SID, SNAME, CID, GRADE  
FROM S, SC  
WHERE S.SID = SC.SID  
ORDER BY S.SID ASC;

 2. 查询有不及格(小于 60 分)的学生姓名

SELECT DISTINCT SNAME  
FROM S, SC  
WHERE S.SID = SC.SID AND GRADE < 60;

3. 删除计算机学院不及格学生的选课记录

DELETE FROM SC  
WHERE SID IN (  SELECT S.SID  FROM S, SC  WHERE S.SID = SC.SID AND SCHOOL = '计算机学院' AND GRADE < 60  
);

10.火车主码

在数据库设计中,主码(也称为主键)是用于唯一标识表中每一行(或称为记录)的一组属性或字段。这些属性或字段的组合在表中必须是唯一的,且不应包含空值(NULL)

A. 车次
仅使用“车次”作为主码可能不足以唯一标识一个“列车运营”实体,因为同一车次可能在不同的日期运行。

B. 日期
仅使用“日期”作为主码同样不足以唯一标识一个“列车运营”实体,因为同一天可能有多个车次运行。

C. 车次+日期
使用“车次”和“日期”的组合可以唯一标识一个特定的“列车运营”实体,因为在一个给定的日期,车次是唯一的。

D. 车次+情况摘要
“情况摘要”通常是一个描述性的字段,用于记录列车运营过程中的一些特殊情况或事件。它可能包含文本信息,并且很可能不是唯一的,甚至可能为空。因此,使用“车次”和“情况摘要”的组合不能作为唯一标识一个“列车运营”实体的主码。

基于以上分析,选项C(车次+日期)是正确的,因为它提供了一个足够唯一且符合主码定义的组合。选项D不符合主码的要求,因为它可能不是唯一的,并且可能包含空值。


11.左、右连接,全连接

图解数据库左连接、右连接、内连接、外连接、全连接的区别_左连接,右连接,内连接,外连接的区别-CSDN博客 

在这个问题中,我们需要列出所有学生的住宿情况,包括那些不住宿的学生,以及所有宿舍的分配情况,包括那些空闲的床位。为了实现这个需求,我们需要使用一种联接方式,该联接方式能够返回左表(学生)和右表(宿舍)中的所有记录,无论它们是否在对方表中有匹配项。

现在我们来分析每个选项:

A. 全外联接(Full Outer Join):这个联接会返回左表和右表中的所有记录。如果某一边没有匹配项,则结果集中对应的字段将包含NULL。这正是我们需要的,因为它会列出所有学生和所有宿舍,无论它们是否有匹配项。

B. 左外联接(Left Outer Join):这个联接会返回左表中的所有记录,以及右表中匹配的记录。如果左表中的某条记录在右表中没有匹配项,则结果集中对应的右表字段将包含NULL。但它不会返回右表中没有匹配项的记录,也就是空闲的床位

C. 右外联接(Right Outer Join):这个联接与左外联接相反,会返回右表中的所有记录,以及左表中匹配的记录。但它不会返回左表中没有匹配项的记录,也就是不住宿的学生。

D. 自然联接(Natural Join):自然联接是基于两个表中所有同名列的值进行等值比较,并返回匹配的记录。它不会返回没有匹配项的记录,因此不适用于这个场景。

综上所述,为了列出所有学生住宿和宿舍分配的情况,包括没有住宿的学生和空闲的床位,我们应该选择全外联接(A)。


12.最小关系系统(不懂)

 13.转储的冗余数据:日志文件、数据库后备副本

 14.关系模型组成

关系数据结构

关系操作

关系完整性约束

15.在Student表的Sname列上建立一个唯一索引的SQL语句为:

建立唯一索引的语法:create unique index 别名 on 表名(列)

CREATE   UNIQUE INDEX  Stusname ON student(Sname)


16.!=ALL 与NOT IN 等价

使用 != ALL 时,你实际上是在说:“这个值必须不等于我给出的所有值”。
如果你想要从表A中选择那些其value列的值不等于表B中所有value值的记录,你可以使用!= ALL,如下所示:

SELECT * FROM A  
WHERE A.value != ALL (SELECT B.value FROM B);


17.E-R冲突---结构、命名、属性冲突

18.可串行性是并发事务的准则

19.事务是DBMS的基本单位

20. 试述关系模型的参照完整性规则?

    答:参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。


21. 试述视图的作用?

(1)视图能够简化用户的操作。

(2)视图使用户能以多种角度看待同一数据。

(3)视图对重构数据库提供了一定程度的逻辑独立性。

(4)视图能够对机密数据提供安全保护。


22.  登记日志文件时必须遵循什么原则?

        登记日志文件时必须遵循两条原则:

        (1)登记的次序严格按并发事务执行的时间次序。

        (2)必须先写日志文件,后写数据库。


23.联系的属性要写到1:n的n的关系模式里面

n:m的联系也要加上自己的属性

 


24.为什么广义笛卡尔积不属于专门的关系运算?

并、差、积、选择、投影(五种基本的关系运算)

常见的关系运算包括选择(Selection)、投影(Projection)、并集(Union)、交集(Intersection)、差集(Difference)和连接(Join)等。 


25.数据库系统最重要的软件:DBMS(数据管理系统),最重要的用户(DBA)

26.实体完整性:关系的主属性都不能取空值 

27.“数据”、“数据库”、“数据库管理系统”和“数据库系统”

数据:描述现实世界的事物的符号记录

数据库:长期存储在计算机内,有组织、可共享的组织的集合

数据库管理系统:位于用户与操作系统间的具有数据定义、操作、控制、查询、数据库建立和管理数据库的重要软件

数据库系统:数据库系统是由DB、DBMS(及其应用开发工具)、(DBAP)应用程序和(DBA)数据库管理员组成的存储、管理、维护数据的系统

【数据库】数据、数据库、数据库管理系统、数据库系统_系统的数据管理逻辑-CSDN博客


28.数据库系统的故障

事务故障

介质故障

系统故障 


29.视图和基本表的联系和区别

视图是由一个或者多个基本表导出,它与基本表不同的是,数据库只存放视图的定义,而不存放视图对应的数据,一旦基本表的数据发生改变,从视图查询到的数据也随之改变

视图一经定义就可以跟基本表一样查询和删除,也可以在视图上新建视图,但是对视图的更新有限制

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

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

相关文章

C++ 65 之 模版的局限性

#include <iostream> #include <cstring> using namespace std;class Students05{ public:string m_name;int m_age;Students05(string name, int age){this->m_name name;this->m_name age;} };// 两个值进行对比的函数 template<typename T> bool …

如何掌握 Java 中的安全机制,如权限控制和加密解密

Java是一门具有强大安全功能的编程语言&#xff0c;它内置了多种安全机制&#xff0c;包括权限控制、加密解密、认证授权等。 一、权限控制 权限控制是Java安全模型的重要组成部分&#xff0c;它主要通过Java安全管理器&#xff08;Security Manager&#xff09;和权限&#…

Python 数据可视化 多色散点图

Python 数据可视化 多色散点图 fig, ax plt.subplots() max_line max([max(merged_df[unif_ref_value]), max(merged_df[unif_rust_value])]) min_line min([max(merged_df[unif_ref_value]), max(merged_df[unif_rust_value])]) ax.plot([min_line, max_line], [min_line, …

【系统架构设计师】三、数据库系统(事务并发|封锁协议|数据库安全|商业智能|SQL语句)

目录 一、事务并发 1.1 事务概述 1.2 并发控制 1.3 封锁 1.3.1 X 封锁和 S 封锁 1.3.2 三级封锁协议 二、数据库安全 2.1 备份(转储)与恢复 2.2 备份分类 2.3 数据库故障 三、商业智能 3.1 数据仓库 3.2 数据仓库的结构-OLAP 3.3 数据挖掘 3.4 分布式数据库 四…

GD32错误调试篇:串口通讯乱码/stm32移植到GD32后串口通讯乱码等问题

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 向上代码兼容GD32F450ZGT6中使用 后续项目主要在下面该专栏中发布&#xff1a; https://blog.csdn.net/qq_62316532/category_12608431.html?spm1001.2014.3001.5482 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转…

小程序分页新写法

// pages/query/query.js import {request } from ../../utils/request; Page({/*** 页面的初始数据*/data: {tabClickIndex: ,page: 1,limit: 10,listData: []},/*** 生命周期函数--监听页面加载*/onLoad(options) {this.getList()},/*** 生命周期函数--监听页面初次渲染完成*…

【JS】上传文件显示文件的为空,显示的文件参数内容只有uid

上传的文件参数file里面只包含uid&#xff0c;没有其他信息 例子解决办法 例子 例如使用elment ui的el-upload组件上传文件&#xff0c;会导致上传的文件参数file里面只包含uid&#xff0c;没有其他信息&#xff0c;如图&#xff1a; 正确应为如下图&#xff1a; 解决办法 …

云上战场:ToDesk云电脑、青椒云、顺网云全面对决

前言 记得端午放假期间&#xff0c;我已经在旅游的路上了&#xff0c;老板突然发短信&#xff0c;让我给他画个图&#xff0c;我手上的战斗机已经是十年前的老古董了(平常一直用的公司电脑&#xff0c;也没想过要换)&#xff0c;压根满足不了老板的任务要求&#xff0c;不得已&…

WPF 程序 分布式 自动更新 登录 打包

服务器server端 core api 客户端WPF // 检查应用更新 //1、获取最新文件列表 // var files fileService.GetUpgradeFiles(); // 2、文件判断&#xff0c;新增的直接下载&#xff1b;更新的直接下载&#xff1b;删除的直接删除 // 客户端本地需要一个记录…

SpringMVC系列三: Postman(接口测试工具)

接口测试工具 &#x1f49e;Postman(接口测试工具)Postman介绍Postman是什么Postman相关资源Postman安装Postman快速入门Postman完成Controller层测试其它说明 &#x1f49e;课后作业 上一讲, 我们学习的是SpringMVC系列二: 请求方式介绍 现在打开springmvc项目 &#x1f49e…

2024年十大数据集成工具和软件应用场景解析

详细阐述了十大数据集成工具及其优缺点&#xff1a; 数据集成的挑战 在当今的商业环境中&#xff0c;企业常常面临着数据分散、系统孤立的难题。传统的数据集成方式&#xff0c;就像一张复杂的蜘蛛网&#xff0c;难以理顺&#xff0c;令人头痛不已。 数据孤岛: 各个业务系统独立…

【博士每天一篇文献-算法】Memory aware synapses_ Learning what (not) to forget

阅读时间&#xff1a;2023-12-13 1 介绍 年份&#xff1a;2018 作者&#xff1a;Rahaf Aljundi,丰田汽车欧洲公司研究员;阿卜杜拉国王科技大学(KAUST)助理教授;Marcus Rohrbach德国达姆施塔特工业大学多模式可靠人工智能教授 会议&#xff1a; Proceedings of the European c…

系统学习PLC

1.OB组织块 程序循环 PC ob1执行一次 ob123也执行一次 是 statup是程序启动的是第一个周期先执行starup&#xff08;0b100&#xff09;然后在执行ob1和0b123.这二个循环&#xff0c;周期执行这二个循环。1000是1s 2.DB块 建立指定数据块可以直接建立自己喜欢的类型 3.FB与…

【八股系列】介绍React高阶组件,适用于什么场景?

文章目录 1. HOC的工作原理2. 返回的新组件3. 适用场景4. 注意事项5. 示例代码 React高阶组件&#xff08; Higher-Order Components&#xff0c;简称HOC&#xff09;是 React中一种高级的 复用组件逻辑的技术。 HOC自身不是 React API的一部分&#xff0c;而是基于 Reac…

为何云原生是未来?企业IT架构的颠覆与重构(上)

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《未来已来&#xff1a;云原生之旅》&#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、什么是云原生 2、云原生的背景和起源 背景 起源 关…

Android 查询及获取应用程序 Package 及 Acticity 名称的方法

一、通过命令查询和获取应用的Package及Acticity &#xff08;一&#xff09;通过命令查询应用包名及安装信息 以下是常用命令&#xff1a; 命令形式作用adb shell pm list packages查询系统中所有应用的包名adb shell pm list packages -s查询系统应用包名adb shell pm lis…

MySQL 函数

1、CURDATE()&#xff1a;返回当前的日期。 2、查询当前年月 SELECT DATE_FORMAT(CURDATE(),%Y-%m) AS year_month 3、当前日期添加 1 个月 INTERVAL 1 MONTH 4、查询近6个月的月份 SELECT DATE_FORMAT(CURDATE(),%Y-%m)AS year_month UNION SELECT DATE_FORMAT((CURDAT…

【网络安全学习】使用Kali做信息收集 -03- <综合侦察>

综合侦察涉及从多个来源收集和分析目标的信息&#xff0c;以了解其背景、特征、潜在漏洞和风险。 下面介绍一些在Kali中常用的综合侦察工具。 1.Dmitry 它是一个命令行工具&#xff0c;可以使用不同的选项来收集目标的各种信息。 Dmitry可以与whois服务和Netcraft服务结合使…

【启明智显产品介绍】Model4 工业级HMI芯片详解系列专题(一):芯片性能

Model4 工业级HMI芯片详解系列专题&#xff08;一&#xff09;【芯片性能】 Model4系列工业级MPU是国产自主面向工业应用的RISC-V架构的应用级芯片&#xff0c;内置玄铁64bit RISC-V CPU C906&#xff0c;主频高达600MHz&#xff0c;算力约1380DMIPS。 Model4系列工业级MPU具…

BizDevOps全局建设思路:横向串联,纵向深化

本文来自腾讯蓝鲸智云社区用户&#xff1a;CanWay BizDevOps概述 IT技术交付实践方法在不断迭代中持续优化。在工业化时代&#xff0c;Biz&#xff08;业务&#xff09;、Dev&#xff08;开发&#xff09;、Ops&#xff08;运维&#xff09;三者往往相对分离&#xff0c;甚至有…