数据库期末复习
数据库期末复习
分析题
1
(1)使用数据库系统可以大大提高应用开发的效率,方便用户的使用减轻数据库系统管理人员维护的负担,请回答数据库系统有哪些部分组成?什么是数据库管理系统,其主要功能包括哪些方而?(5分)
数据库系统一般由以下四个部分组成:
DB:数据库,长期存储在计算机内部,有组织,可以共享的大量数据的集合
DBMS:位于用户与操作系统之间的一层数据管理软件
DBA:数据库管理员是负责数据库的建立、使用和维护的人员。
硬件和软件:数据库系统还需要相应的硬件和软件支持。
数据库管理系统(DBMS):是一种软件工具或系统,用于管理和操作数据库。
-
数据定义语言(DDL):用于定义数据库结构、模式和数据类型。允许用户创建、修改和删除数据库对象,如视图、索引等。
-
数据操作语言(DML):用于执行数据操作,如插入、更新、删除和查询数据。用户可以使用查询语言(如SQL)编写和执行复杂的查询。
-
数据库安全和权限管理:提供安全和权限管理机制,以控制对数据库的访问和操作。允许管理员分配用户角色、权限和访问级别。
-
数据完整性和约束::支持定义数据完整性规则和约束条件,以确保数据库中的数据符合预期的规范。
2
(2)从数据库管理系统角度看,数据库系统中有哪三层模式结构?采用三层模式结构有什么好处?(5分)
数据库系统中有哪三层模式结构?
-
外模式
-
模式(逻辑模式)
-
内模式
好处?
-
保证了数据的独立性
-
概念模式和内模式分开,保证数据的物理独立性。
-
把外模式和概念模式分开,保证数据逻辑的独立性。
-
-
有利于数据共享
-
所有用户使用统一概念模式导出的不同外模式,减少数据冗余,有利于多种应用程序间共享数据。
-
-
有利于数据安全保密
-
每个用户只能操作属于自己的外模式数据视图,不能对数据库其他部分进行修改,保证了数据安全性。
-
-
三层模式结构还有利于数据库的设计、开发和维护,提高了数据库的灵活性和可扩展性。
4
(4)数据库的完整性是数据库管理系统的重要要求之一,根据您对数据库完整性的理解,请说明数据库的三类完整性是什么?并列出这三类完整性约束在SQL语句中关键词?(5分)
数据库的三类完整性:
-
实体完整性
-
定义:确保表中每一行数据的唯一性,通常通过主键实现。
-
SQL关键词:
PRIMARY KEY
-
-
域(用户定义)完整性
-
定义:确保表中数据的准确性和有效性,包括数据类型、非空约束、默认值、取值范围等。
-
SQL关键词:
NOT NULL
、DEFAULT
、CHECK
-
-
参照完整性
-
定义:确保表间数据的一致性,通过外键约束实现。
-
SQL关键词:
FOREIGN KEY
-
5
(5)DBA是从事管理和维护数据库管理系统的相关工作人员的统称,属于运维工程师的一个分支,请根据所学知识回答,DBA的主要职责是什么?(5分)
DBA的主要职责是什么
-
数据库备份与恢复: 制定并执行数据库备份计划,确保数据的安全性。在数据丢失或损坏时,能够迅速恢复数据,减少业务中断时间。
-
数据库设计,安装,配置 : 负责设计数据库架构,选择合适的数据库管理系统,并进行安装和配置,确保数据库系统能够稳定运行。
-
数据库安全管理 :负责数据库的安全管理工作,包括设置用户权限、审计数据库操作、防止安全威胁等,确保数据库系统的安全稳定运行。
-
数据库监控和维护 :定期监控数据库的运行状态,包括磁盘空间、内存使用、连接数等关键指标,及时发现并解决潜在问题。
-
数据迁移和升级 :随着业务的发展,负责数据库系统的迁移或升级工作,确保数据的完整性和业务的连续性。
设计题
(1)某商店管理涉及商店、商品和职工三个实体,它们分别具有下列属性:
商店:商店编号,店名,店址,店经理
**商品:商品编号,商品名,单价,产地
职工:职工编号,职工名,性别,工资
这些实体间的联系如下:百货公司管辖若干个连领商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。
职工参加某商店工作有开始时间:商店销售商品的有月销售量。
1
(1). 请画出商店、商品和职工的ER图。(7分)
确定实体和属性:
-
商店(Store):商店编号(StoreID)、店名(StoreName)、店址(StoreAddress)、店经理(StoreManager)
-
商品(Product):商品编号(ProductID)、商品名(ProductName)、单价(UnitPrice)、产地(Origin)
-
职工(Employee):职工编号(EmployeeID)、职工名(EmployeeName)、性别(Gender)、工资(Salary)
确定实体之间的关系:
-
商店与商品之间是一对多关系:每个商店经营若干商品。
-
商店与职工之间是一对多关系:每个商店有若干职工,但每个职工只能服务于一家商店。
-
商店销售商品的月销售量。
-
职工参加某商店工作的开始时间。
2
(2)数据库设计是将数据库系统与现实世界进行密切的、有机的、协调一致的结合的过程。假设需要设计某个信息管理系统的数据库,按照结构化系统设计的方法,请播述数据库的设计过程?(10分)
数据库的设计过程?
1+3+1+1=6
1分析+3设计+1实施+1运行和维护
应用题
使用SQL语句完成以下操作
(1)创建Srudent表(需要包含相应的约束)。(3分)
数据类型约束说明:
Sno(学号)
数据类型:字符(8)
约束:主键
含义:每个学生都有一个唯一的学号,长度为8个字符。
作用:确保学号的唯一性,以便准确标识每个学生。
默认值:无(主键通常没有默认值)
Sname(姓名)
数据类型:字符(12)
约束:非空
含义:学生的名字,长度为12个字符。
作用:确保每个学生都有一个名字。
默认值:无(姓名通常没有默认值)
Ssex(性别)
数据类型:字符(2)
约束:取“男”或“女”
含义:学生的性别,只能是“男”或“女”。
作用:标识学生的性别。
默认值:“男”
Sage(年龄)
数据类型:整型
约束:取值范围15~36,默认值22
含义:学生的年龄,必须是15到36之间的整数。
作用:记录学生的年龄信息。
默认值:22(当没有指定年龄时,默认年龄为22)
Sdept(院系)
数据类型:字符(20)
约束:默认值“计算机系”
含义:学生所属的院系,长度最多为20个字符。
作用:标识学生所在的院系。
默认值:“计算机系”(当没有指定院系时,默认院系为“计算机系”)
CREATE TABLE Student ( Sno CHAR(8) PRIMARY KEY, Sname CHAR(12) NOT NULL, Ssex CHAR(2) CHECK (Ssex IN ('男', '女')) DEFAULT '男', Sage INT CHECK (Sage BETWEEN 15 AND 36) DEFAULT 22, Sdept CHAR(20) DEFAULT '计算机系' ); --------------------------------------------------------------------------------- CREATE TABLE Course ( Cno CHAR(8) PRIMARY KEY, Cname CHAR(8) NOT NULL, Teacher CHAR(10) UNIQUE ); CREATE TABLE SC ( Sno CHAR(8), Cno CHAR(8), Grade SMALLINT CHECK (Grade BETWEEN 0 AND 100), PRIMARY KEY (Sno, Cno), FOREIGN KEY (Sno) REFERENCES Student(Sno) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (Cno) REFERENCES Course(Cno) ON UPDATE CASCADE ON DELETE RESTRICT );
(2)检索课程名以"DB“开头,且倒数第3个字符为k的课程的详细情况。(3分)
INSERT INTO Course (Cno, Cname, Teacher) VALUES ('C001', 'DB高等kad', 'John Doe'); select * from Course where rtrim(Cname) like 'DB_%K__';
(3)向学生选修课程表中插入元组“学生S10选修课程号C4”。(3分)
INSERT INTO SC (Sno, Cno) VALUES ('S10', 'C4');
要确保
student和course里有对应查找s10和C4的数据没有就插入
尝试在 SC
表中插入的学生编号 Sno
或课程编号 Cno
在相应的 Student
或 Course
表中不存在。这违反了外键约束。确保在插入数据之前,这些外键在相关表中存在。
(4)删除选课成绩在55分以下的学生记录。(3分)
模拟对应的数据再查找
INSERT INTO Student (Sno, Sname, Ssex, Sage, Sdept) VALUES ('S11', '小明', '男', 21, '计算机系'); INSERT INTO Course (Cno, Cname, Teacher) VALUES ('C5', '高等数学A1', '马老师'); INSERT INTO SC (Sno, Cno,Grade) VALUES ('S11', 'C5',100); select * from sc where Grade > 50; select * from sc where Grade < 50; select * from sc where Grade 50;
(6)求出女同学的每一年龄组(超过3人)有多少人?要求查询结果按人数降序排列,人数相同的按年龄升序排列。(3分)
SELECT Sage, COUNT(*) AS NumOfStudents FROM Student WHERE Ssex = '女' GROUP BY Sage HAVING COUNT(*) > 3 ORDER BY NumOfStudents DESC, Sage ASC;
(7)统计每门课程的选课人数和考试最高分。(3分)
SELECT Cno, COUNT(*) AS NumOfStudents, MAX(Grade) AS HighestGrade FROM SC GROUP BY Cno;
(8)定义视图Sagc,其中包括学生学号以及每个学生选修课程的门数(要求成绩非空)和平均成绩。(3分)
CREATE VIEW Sagc AS SELECT Sno, COUNT(Cno) AS CourseCount, AVG(Grade) AS AvgGrade FROM SC WHERE Grade IS NOT NULL GROUP BY Sno;
(9)在Course表中增加一个类型为char(10)的职称(pro)列。(3分)
ALTER TABLE Course ADD pro CHAR(10);
(10)为用户user1授权Student表的查询和插入权限:收回用户userl对Student表的查询权限。(3分)
GRANT 权限 ON 对象类型 对象名 TO 同户名 [WITH GRANT OPTION]
GRANT SELECT ON TABLE STUDENT TO user1[with grant option]
SQL复习
mysql简单入土 | cout<<"金缕衣";
相关文章:

数据库期末复习
数据库期末复习 分析题 1 (1)使用数据库系统可以大大提高应用开发的效率,方便用户的使用减轻数据库系统管理人员维护的负担,请回答数据库系统有哪些部分组成?什么是数据库管理系统,其主要功能包括哪些方而&…...

pyinstaller带浏览器一起打包playwright 独立运行exe
前置条件 没有安装自带环境,则 playwright install 安装了自带的浏览器 查看playwright的浏览器的位置 playwright install --dry-run 打开此文件夹可以看到 新建一个多层级目录playwright\driver\package.local-browsers 然后复制chromium-1124到playwright\dr…...

docker添加容器服务所需字体
1、在宿主机新建chinese目录 [rootHS-AP-application ~]#mkdir /usr/share/fonts/chinese 2、上传字体 把windows c盘下的Windows/Fonts下的所有字段上传至/usr/shared/fonts/chinese 3、授权chinese目录 chmod -R 755 /usr/share/fonts/chinese 4、生成fonts.scale文件 …...

Java面试八股之Spring AOP 和 AspectJ AOP 的区别
Spring AOP 和 AspectJ AOP 的区别 Spring AOP 和 AspectJ AOP 是两种不同的面向切面编程(Aspect-Oriented Programming, AOP)实现。它们各有特点,适用于不同的场景。下面是一些主要的区别: 1. 实现机制 Spring AOP: 基于代理…...

Java人力资源招聘社会校招类型招聘系统PC端
🔍【揭秘】人力资源新利器!社会校招一站式PC端招聘系统全攻略🚀 🌈 开篇引言:招聘新纪元,效率为王! Hey小伙伴们,你是否还在为繁琐的招聘流程头疼不已?🤯 面…...

C# 知识点总结
入门 C#程序在.NET上运行,.NET framework包含两个部分: ①:.NET framework类库 ②:公共语言运行库CLR(.NET虚拟机) CLS(公共语言规范) CTS(通用类型系统) .N…...
【ffmpeg命令入门】视频的旋转与翻转
文章目录 前言什么时候需要使用旋转与翻转1. 视频拍摄方向不正确2. 视频编辑特效使用什么参数1. 旋转视频 - transpose2. 水平翻转视频 - hflip3. 垂直翻转视频 - vflip 总结 前言 在视频编辑的过程中,我们经常会遇到需要旋转或翻转视频的情况。无论是因为拍摄时相…...
学懂C语言(二十五):深入理解 C语言结构体 位域 的概念
目录 一、位域的基本概念 二、位域的定义 三、位域的内存分配和大小计算 示例1:简单位域 示例2:跨越多个存储单元 注意事项 结构体对齐控制 总结 C语言中的位域(Bit-Field)是一种特殊的数据结构,允许在结构体中…...

LLM推理优化——KV Cache篇(百倍提速)
LLM推理优化——KV Cache篇(百倍提速) 注意:KV Cache本质上是空间换时间的技术。与计算机组成原理中的cache不同,它不涉及访存优化。 不知道大家在用LLM的时候,有没有注意到一个问题:我们在输入我们的问题…...

Linux进程--system
...

[Office] Word 特殊字符
0 打开“特殊字符集” 依次选择:Insert -> Symbol -> More Symbol 1 带圈编号 字体Font选择Wingdings...

联想电脑怎么重装系统_联想电脑U盘重装win10详细图文教程
联想电脑怎么重装系统?在当今科技发展迅猛的时代,联想电脑已经成为了人们生活中不可或缺的一部分。然而,随着时间的推移,我们可能会遇到一些问题,例如系统崩溃或者需要更换操作系统。这时,使用U盘来重新安装…...

前端开发者必备:揭秘谷歌F12调试的隐藏技巧!
前言 使用断点(breakpoint)是调试 JavaScript 代码的一种非常有效的方式。通过在代码的关键位置设置断点,可以阻止页面的状态变化,从而方便地检查和修改页面的当前状态。 1. 使用 setTimeout 配合 debugger 和 console.log setTi…...
vivado IP_REPO_PATHS
此属性允许您创建自定义IP目录,以与Vivado Design Suite一起使用。 IP_REPO_PATHS属性定义了一个或多个目录的路径,这些目录包含 第三方或用户定义的IP。指定的目录和任何子目录是 搜索要添加到Vivado Design Suite IP目录以用于设计的IP定义 进入或与IP…...

前端代码混淆加密(使用Terser、WebpackObfuscator)
零、相关技术及版本号 "vue": "2.6.12", "vue/cli-service": "4.4.6", "javascript-obfuscator": "^4.1.1", "terser-webpack-plugin": "^4.2.3", "vue-template-compiler": &quo…...
【复读EffectiveC++24】条款24:若所有参数皆需类型转换,请为此采用non-member函数
条款24:若所有参数皆需类型转换,请为此采用non-member函数 一、问题引入 举个例子,如果你设计一个表示有理数的类,允许从整型到有理数的隐式转换应该是合理的。在C内置类型中,从int转换到double也是再合理不过的了&a…...

Mac应用快速启动器:Alfred 5 for Mac 激活版
Alfred 5 是一款专为 macOS 系统设计的效率提升工具。这款软件以其快速启动和高效操作功能著称,通过使用快捷键来呼出输入界面,用户可以快速完成各种任务。 最新版本 Alfred 5.5 引入了一些新功能。其中包括整合了 ChatGPT 和 DALL-E,这意味…...

oracle语法介绍
Oracle数据库是关系型数据库管理系统之一,其SQL语法遵循标准的SQL规范,但也有一些自己的扩展。以下是一些Oracle SQL语法的基本示例: 1.选择数据: SELECT * FROM my_table; 1.插入数据: INSERT INTO my_table (colum…...

Python IDLE修改JetBrains Mono字体教程
自己在使用Python IDLE过程中发现原生字体不好看,不美观。尤其是对于部分字符,l打印不美观,区别不明显。于是诞生了换字体的想法。 教程简单,快速,3-5分钟不到即可完成。 目录 选型 下载安装 使用 选型 考虑到代码…...
CCF编程能力等级认证GESP—C++1级—20240629
CCF编程能力等级认证GESP—C1级—20240629 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)休息时间立方数 单选题(每题 2 分,共 30…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:
一、属性动画概述NETX 作用:实现组件通用属性的渐变过渡效果,提升用户体验。支持属性:width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项: 布局类属性(如宽高)变化时&#…...

家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...