【MySQL题】——基础概念论述(一)

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

🐠离散数学:离散数学_IT闫的博客-CSDN博客

​​​​​​🥽Linux:​​​​Linux_Y小夜的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

1、说明数据库中数据与程序逻辑独立性和物理独立性的含义。

2、所有视图是否都可以更新?为什么?

3、试述数据库设计的各个阶段。

4、参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为下面二者之一:

5、什么是视图?说明视图的优点。

6、登记日志文件时为什么必须先写日志文件,后写数据库?

7、试述事务的概念及事务的4个特性。恢复技术能保证事务的哪些特性?

8、DBMS的主要功能有哪些?

9、解释相关子查询和不相关子查询。


1、说明数据库中数据与程序逻辑独立性和物理独立性的含义。

答:

数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序也不必改变,这就是数据与程序的物理独立性,简称数据的物理独立性。

数据与程序的逻辑独立性:当数据的逻辑结构即模式改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变,从而应用程序不必修改,这就是数据与程序的逻辑独立性,简称数据的逻辑独立性。

2、所有视图是否都可以更新?为什么?

答:

基本表的行列子集视图一般是可更新的。若视图的属性来自聚集函数、表达式,则该视图肯定是不可以更新的。

因为视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。对视图的更新都要转换为对基本表的更新,而有些视图中的数据是统计的结果数据,无法对它的更新转换为对基本表的更新。

3、试述数据库设计的各个阶段。

答:

数据库设计过程的6个阶段:

①需求分析;

②概念结构设计;

③逻辑结构设计;

④数据库物理设计;

⑤数据库实施;

⑥数据库运行和维护。

这是一个完整的实际数据库及其应用系统的设计过程。不仅包括设计数据库本身,还包括数据库的实施、数据库的运行和维护。设计一个完善的数据库应用系统往往是上述6个阶段的不断反复。

4、参照完整性规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为下面二者之一:

(1)或者取空值(F的每个属性值均为空值);

(2)或者等于S中某个元组的主码值。

说明参照完整性(1)可以为空的情况(2)不能为空的情况。各举一例说明。

答案:

在参照完整性中,如果外码属性不是其所在关系的主属性,外码属性的值可以取空值。例如,在下面的“学生”表中,“专业号”是一个外码,它不是学生表的主属性,可以为空。其语义是,该学生的专业尚未确定。

学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)

而在下面的“选修”表中的“课程号”虽然也是一个外码属性,但它又是“选修”表的主属性,选修表必须满足实体完整性,所以其主属性“课程号”不能为空。

课程(课程号,课程名,学分)选修(学号,课程号,成绩)

5、什么是视图?说明视图的优点。

答案:

视图是从一个或几个基本表导出的表。视图本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。

视图的优点:

①视图能够简化用户的操作。

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

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

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

6、登记日志文件时为什么必须先写日志文件,后写数据库?

答案:

把对数据的修改写到数据库中和把表示这个修改的日志记录写到日志文件中是两个不同的操作。有可能在这两个操作之间发生故障,即这两个写操作只完成了一个。

如果先写了数据库修改,而在运行记录中没有登记这个修改,则以后就无法恢复这个修

改了。如果先写日志,但没有修改数据库,在恢复时只不过是多执行一次UNDO操作,并不会影响数据库的正确性。所以一定要先写日志文件,即首先把日志记录写到日志文件中,然后写数据库的修改。

7、试述事务的概念及事务的4个特性。恢复技术能保证事务的哪些特性?

答案:

事务是用户定义的一个数据库操作序列,这些操作要么全做、要么全不做,是一个不可分割的工作单位。

事务具有4个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这4个特性也简称为ACID特性。

原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。

持续性:持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。

故障恢复可以保证事务的原子性与持续性。

8、DBMS的主要功能有哪些?

答案:

①数据库定义功能;

②数据组织、存储和管理功能;

③数据操纵功能;

④数据库的事务管理和运行管理;

⑤数据库的建立和维护功能;

⑥其他功能,如不同数据库之间的互访和互操作功能等。

9、解释相关子查询和不相关子查询。

对于“学生-课程模式 S-T” ,包括如下3个模式:

学生表:     Student(Sno,Sname,Ssex,Sage,Sdept)

课程表:     Course(Cno,Cname,Cpno,Ccredit)

学生选课表:SC(Sno,Cno,Grade)

分别用不相关和相关子查询实现“查询学习了2号课的学生姓名”的SQL语句。

答案:

在嵌套查询中,如果子查询的查询条件不依赖于父查询,称为不相关子查询;如果子查询的查询条件依赖于父查询,称为相关子查询。

不相关子查询:

SELECT Sname  /*父查询*/

 FROM Student

 WHERE Sno IN

   ( SELECT Sno /*子查询*/

     FROM SC

     WHERE Cno='2'); 

相关子查询:

SELECT Sname /*父查询*/

FROM Student

WHERE  EXISTS

  ( SELECT * /*子查询*/

    FROM SC

    WHERE Student.Sno=SC.sno AND Cno='2');  

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

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

相关文章

Github 2024-02-09 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-02-09统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4Go项目2Scala项目1PLpgSQL项目1Ruby项目1HTML项目1Solidity项目1Lua项目1 开源个人理财应用 Mayb…

如何连接ChatGPT?无需科学上网,使用官方GPT教程

随着AI的发展,ChatGPT也越来越强大了。 它可以帮你做你能想到的几乎任何事情,妥妥的生产力工具。 然而,对于许多国内的用户来说,并不能直接使用ChatGPT,不过没关系,我最近发现了一个可以直接免科学上网连…

【图形图像的C++ 实现 01/20】 2D 和 3D 贝塞尔曲线

目录 一、说明二、贝塞尔曲线特征三、模拟四、全部代码如下​五、资源和下载 一、说明 以下文章介绍了用 C 计算和绘制的贝塞尔曲线(2D 和 3D)。    贝塞尔曲线具有出色的数学能力来计算路径(从起点到目的地点的曲线)。曲线的形…

新版MQL语言程序设计:模板方法模式的原理、应用及代码实现

文章目录 一、什么是模板方法模式二、模板方法模式的实现原理三、模板方法模式的应用场景四、模板方法模式的代码实现 一、什么是模板方法模式 模板方法模式是一种行为设计模式,它定义了一个算法的骨架,将一些步骤的实现延迟到子类中。在模板方法模式中&…

[145] 二叉树的后序遍历 js

题目描述:给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 解题思路: 迭代法: 后序(左右根) 先序是根左右 后序是左右根 后序翻转一下就是 根右左 所以后序的结果实际就是 先序的方法&#xff0…

Java汽车销售管理

技术架构: springboot mybatis Mysql5.7 vue2 npm node 有需要该项目的小伙伴可以私信我你的Q。 功能描述: 针对汽车销售提供客户信息、车辆信息、订单信息、销售人员管理、财务报表等功能,提供经理和销售两种角色进行管理 效果图&…

医院挂号预约|医院挂号预约小程序|基于微信小程序的医院挂号预约系统设计与实现(源码+数据库+文档)

医院挂号预约小程序目录 目录 基于微信小程序的医院挂号预约系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、小程序用户端 2、系统服务端 (1) 用户管理 (2)医院管理 (3)医生管理 &…

Cisco firepower2100系列使用FDM管理FTD

Cisco firepower2100系列使用FDM管理FTD 啥是FDM Firepower Device Manager 当思科Firepower系列运行的FTD镜像时,可以通过2种方式进行管理 第1种方式: FMC (Firepower management Center) 可以进行统一管理,一台FMC可以管理多个FTD&…

[office] 怎么在Excel2003菜单栏自定义一个选项卡 #其他#微信#知识分享

怎么在Excel2003菜单栏自定义一个选项卡 怎么在Excel2003菜单栏自定义一个选项卡 ①启动Excel2003,单击菜单栏--工具--自定义。 ②在自定义界面,我们单击命令标签,在类别中选择新菜单,鼠标左键按住新菜单,拖放到菜单栏…

设计模式巡礼:多板适配案例解析与深度重构

theme: cyanosis 月黑风高,好兄弟发给我一个重构需求,咨询我的意见。 一、 场景分析 开发的产品是需要运行到不同的定制Android板子,不同板子有对应的不同SDK提供的API,目前的业务端,业务流程基本是确定的&#xff0…

Python中HTTP隧道的基本原理与实现

HTTP隧道是一种允许客户端和服务器之间通过中间代理进行通信的技术。这种隧道技术允许代理服务器转发客户端和服务器之间的所有HTTP请求和响应,而不需要对请求或响应内容进行任何处理或解析。Python提供了强大的网络编程能力,可以使用标准库中的socket和…

单片机学习笔记---DS1302实时时钟工作原理

目录 DS1302介绍 学会读芯片手册(DS1302芯片手册) 封装 引脚定义 电源部分 时钟部分 通信部分 总结列表 内部结构图 电源控制部分 时钟控制部分 寄存器部分 访问部分 寄存器部分的详细定义 命令字 时序的定义 单字节读 单字节写 提前预…

flinksqlbug : AggregateFunction udf Could not extract a data type from

org.apache.flink.table.api.ValidationException: SQL validation failed. An error occurred in the type inference logic of function ‘default_catalog.default_database.CollectSetSort’. org.apache.flink.table.api.ValidationException: An error occurred in the t…

LC 1696. 跳跃游戏 VI

1696. 跳跃游戏 VI 难度 : 中等 题目大意: 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 一开始你在下标 0 处。每一步,你最多可以往前跳 k 步,但你不能跳出数组的边界。也就是说,你可以从下标 i 跳到 [i 1, min(n…

【JAVA WEB】CSS

目录 CSS是什么? 基本语法规范 引入方式 内部样式表 行内样式表 外部样式表 常用选择器的种类 基础选择器 标签选择器 类选择器 id选择器 通配符选择器 复合选择器 后代选择器 伪类选择器 常用元素属性: 字体属性: 文本属性…

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(一)

原文:Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 机器学习海啸 2006 年,Geoffrey Hinton 等人发表了一篇论文,展示了如何训练一个能够以最先进的精度…

OpenAI Altman的野心:筹资七万亿美元直指AI“芯片痛点”!

继推出突破性的AI产品ChatGPT之后,Sam Altman又欲筹集数万亿美元,重塑全球半导体产业格局。 据媒体周五报道,知情人士透露称,OpenAI CEO Sam Altman正在与包括阿联酋在内的投资者进行谈判,以筹集数万亿美元资金&#…

Mac 下JDK环境变量配置 及 JDK多版本切换

一、推荐官网下载: 二、环境变量配置 1、查看JDK地址,在终端输入以下命令: /usr/libexec/java_home -V 我的路径: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home /Library/Java/JavaVirtualMachines/zulu-11.j…

12.使用Promise封装Ajax

步骤都差不多,只是新创建了一个Promise对象,成功时调用resolve函数,失败时调用reject函数,然后再将这个promise返回出去 function ajax(options) {let promise new Promise(function (resolve, reject) {//创建xhr对象const xhr …

图像批量重命名(基于Python,本地运行)

图像批量重命名(基于Python,本地运行) 🌵文章目录🌵 🌳引言🌳🌳场景假设🌳🌳知识储备🌳os.path.splitext方法语法示例 os.listdir方法语法示例 🌳解决方案&am…