数据库精选题(二)(引言+关系代数)

🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀数据库

💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 

目录

前言

常见概念

一、什么是数据库?

二、什么是数据独立性?数据库系统如何实现数据独立性?

三、简述数据库管理员的职责

四、简述数据库系统三级模式结构及其同数据独立性之间的关系

五、什么是 DBMS?

六、 试述 ER 模型、层次模型、网状模型、关系模型和面向对象模型的主要特点

关系代数

题目一 

题目二

总结 


前言

本系列的重点是大学本科课程《数据库系统概念》。总结数据库学习中的各类知识点,并且对各类数据库考试中可能遇到的题型和对应的解法做总结归纳。在自我复习的同时也将这份心得带给大家,希望能对大家的数据库学习提供帮助~~
本篇复习的点是数据库中的常见概念

常见概念

一、什么是数据库?

定义:数据库=存放数据的一个仓库=数据集合

修饰:按照数据模型组织、长期存储在计算机内、为多用户共享、由数据库管理系统统一管理

数据库是按照一定的数据模型组织的、长期存储在计算机内,可为多个用户共享的、由数据库管理系统统一管理和控制的数据的集合

二、什么是数据独立性?数据库系统如何实现数据独立性?

数据独立性:数据和应用程序相互独立

数据库利用三级结构两级映像实现数据独立性

数据独立性是指应用程序和数据之间是相互独立的,即数据发生变化不必修改应用程序。数据变化包括数据逻辑结构变化、数据物理结构变化,因此独立性可以分为逻辑独立性物理独立性。逻辑独立性指数据逻辑结构变化不影响应用程序变化;物理独立性指数据物理结构变化不必修改应用程序。

数据独立性包括以上两个部分,是由DBMS的三级模式两级映像实现的。三级模式包括外模式、模式、内模式,两级映像包括外模式/模式映像和模式/内模式映像。当数据物理结构变化时,通过修改模式/内模式映像,可以使得模式不发生变化,因此应用程序不用修改;当数据逻辑结构变化时,通过修改外模式/模式,可以使得外模式不变,因此应用程序不变。因此保证了数据独立性

三、简述数据库管理员的职责

定义:模式定义、存储结构及存取方式定义、

修改:模式及物理组织的修改

日常使用:数据访问授权、日常维护

模式定义:数据库管理员通过DDL书写一系列的定义来构造最初的数据库模式

存储结构和存取方式定义:定义数据库用什么存储结构来存储,同时决定是否使用索引等存取方式

模式及物理组织的修改:在定义完成后,因需求变化或提高性能,改进数据库模式/物理结构

数据访问授权:在日常使用中,DBA能够授予不同的用户不同的权限去访问数据库不同的部分

日常维护:定期备份数据库、监视数据库的运行

四、简述数据库系统三级模式结构及其同数据独立性之间的关系

1、简述数据系统三级模式结构

2、简述数据独立性

3、通过两级映像分析三级模式结构和数据独立性的关系

数据库系统存在三级模式分别是外模式、模式和内模式,同时三级模式中存在二级映像分别是外模式/模式映像、模式/内模式映像。数据独立性是指应用程序和数据相互独立,包括逻辑独立性和物理独立性。当物理结构发生变化可以修改模式/内模式映像使得模式不发生变化,从而使得应用程序不发生变化;当逻辑结构发生变化时可以修改模式/模式映像,使得外模式不发生变化,从而使得应用程序不变化

五、什么是 DBMS?

DB:数据库

DBA:数据库管理员

DBMS:数据库管理系统

数据库管理系统,对数据库进行统一的管理和控制

六、 试述 ER 模型、层次模型、网状模型、关系模型和面向对象模型的主要特点

模型描述:

1、数据结构

2、靠什么实现联系

3、执行效率

4、用户理解难度

5、DML是过程化还是非过程化——>编程难度

1、E-R模型是实体联系模型。从实体和实体间的各种关系来表达联系,与计算机系统无关,用户容易理解,且能够充分表达现实世界

2、层次模型的数据结构是树结构,记录之间联系通过指针实现,查询较快,但是DML属于过程化的,操作复杂

3、网状模型的数据结构是有向图,记录之间联系通过指针实现,查询较快,但是DML属于过程化的,编程复杂,不易理解

4、关系模型的数据结构是二维表格,联系靠关系实现。DML属于非过程化的,编程简单,容易理解

5、面向对象模型的数据结构主要是类和对象,联系靠封装、多态、继承等实现。具有丰富的表达能力,能够很好反映现实世界的实际情况。但是用户难以理解,知识面较广

关系代数

关系代数求解流程:

1、确定需要哪几个关系模式

2、确定关系模式之间的关系应该怎么样(技巧见下面)

各种关系使用的场景:

1、产生联系——>自然连接(员工和经理在同一城市——>员工经理要有联系)

2、比较条件(相等、大于、小于)——>笛卡尔积(员工和经理在同一城市——>同一城市同一街道)

3、否条件=全集-正条件(不在那里工作=全集-在那里工作)

4、与“所有”比较大小关系——>可以用Gmin和Gmax聚集处理(比所有高——>Gmax找最高,比较)

5、查询“所有”元组——>利用与全集自然连接

6、爷孙关系——>利用同一关系模式做笛卡尔积(爸爸1儿子1 爸爸2儿子2关系 满足 儿子1=爸爸2)

7、需要多属性参与——>自然连接拓充属性

8、找+比较“所有”下的“所有"——>Gcount+Gmax(聚集函数不能嵌套使用,应该用中间关系分开)

9、与“所有”比较大小关系——>可以用全集-不满足条件=满足条件(减少一次聚集函数使用)

10、使用聚集函数后的更名操作是不必要的,属性名就可以用聚集函数代替(类似sum(salary)就是一个属性名)

11、对于需要用到多次聚集函数/复杂运算的题目——>赋值运算利用中间关系简化

12、已知一个关系,包含所有这个关系元组——>除运算

13、每个+每个——>两个属性进行分组研究(所有出版社找所有员工里满足的)

14、没有借书、上课的也包括——>在加入时就要用左外连接(左边的一定存在)

15、求平均——>用avg

15、平均数=所有/人数——>利用count求每个的值+利用avg实现所有/人数

题目一 

基于员工关系模式完成以下查询:

Employee(person_name, street, city)

Works(person_name,company_name,salary)

Company(company_name, city)

Manages(person_name,manager_name) 

1、找出与其经理居住在同一城市同一街道的员工

  1. 确定关系模式用employee和manages
  2. 思考两个关系模式用的具体关系

2、找出不在First Bank Corporation 公司工作的职工

  1. 确定关系模式用works和employee(首先是职工,然后是不在~工作;职工在employee中找,因为是职工可能最近刚刚辞职不在works里)
  2. 思考两个关系模式用的具体关系

Πperson-name(employee) - Πperson-name(σcompany-name = ‘First Bank Corporation’(works))

3、找出比First Bank Corporation 公司所有员工的收入都高的员工姓名

  1. 确定关系模式用works
  2. 思考两个关系模式用的具体关系

4、找出所有在经理’Jones’下工作的员工

  1. 确定关系模式用managers
  2. 思考两个关系模式用的具体关系

修正:

1、mname=manager_name

2、选择后还要投影到person_name 

 5、找出所有在经理’Jones’下工作的员工所居住的城市

  1. 确定关系模式用managers
  2. 思考两个关系模式用的具体关系

 6、找出’Jones’经理的经理

  1. 确定关系模式用managers
  2. 思考两个关系模式用的具体关系

 7、找出比住在‘Mumbai’的所有员工收入都高那些员工

  1. 确定关系模式用employee⋈works(同时考虑地址和收入)
  2. 思考两个关系模式用的具体关系

8、找出First……的所有员工姓名和居住城市

Πperson_name,city(σcompany name = ‘First Bank Corporation’(works⋈employee))

9、找出所有居住地与工作的公司在同一城市的员工姓名

Πperson_name(σcompany.city=employee.city(employee⋈ works⋈ company))

10、找出员工最多的公司

1、找到所有公司的员工——>聚集函数Gcount

2、在所有公司的员工数关系中找最大的——>Gmax

3、在所有公司的员工数关系中找最大的这里用了另一个思路——>求全集的补集

本题的属性更名运算可以不必要,t1的属性默认就是cname、count(pname) 

13 、 找出工资总额最少的公司 (smallest payroll)

本题思路和上一题相类似 

14 、 找出人均工资比 First 公司人均工资高的公司

题目二

基于图书关系模式完成以下查询

Member(memb_no,name,dob)

Books(isbn,author,publisher)

Borrowed(memb_no, isbn,date)                                                                                                                                                                                                                                                                                                                              

 1、找出借了任何由MG出版的书的员工的姓名

∏name(σpublisher=’MG’(member ⋈ books ⋈ borrowed))

确定好需要三个关系来共同处理本题便做完了

2、找出借了由MG出版的所有的书的员工的姓名

∏name( (∏memb_no,isbn(borrowed) ÷ ∏isbn(σpublisher=’Mc’(books))) ⋈ member)

本题的关键点在于——除运算

3、找出借了至少5本不同的由MG出版的书的员工的姓名

 4、对于每个出版商,找出借了至少5本该出版商的书的员工的姓名

5、找出平均每个成员借了多少本书(没借书的成员也包含在内)。

左外连接将没借的也包括在里面 

总结 

本文的所有知识点、图片均来自《数据库系统概念》(黑宝书)、山东大学李晖老师PPT。不可用于商业用途转发。

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

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

相关文章

查找和排序

目录 一、查找 1.1查找的基本概念 1.2顺序查找 1.3折半查找(二分查找) 1.4散列表的查找 1.4.1基本概念 1.4.2散列函数的构造方法 1.4.3解决冲突的方法 二、排序 2.1排序的基本概念 2.2插入排序 2.2.1直接插入排序: 2.2.2希尔排序…

C++回溯算法(2)

棋盘问题 #include<bits/stdc.h> using namespace std; void func(int,int); bool tf(int,int); void c(); int n,k; char a[110][110]; int cnt20; int main() {cin>>n>>k;for(int i0;i<n;i){for(int j0;j<n;j){cin>>a[i][j];}}func(0,0);cout…

北京BJ90升级新款迈巴赫大连屏四座头等舱行政四座马鞍

北京BJ90升级奔驰迈巴赫头等舱行政四座大联屏的内饰效果会非常出色&#xff0c;将为车辆带来更豪华、高端的内饰氛围。以下是升级后可能的效果&#xff1a; • 科技感提升&#xff1a;奔驰的中控系统一直以来都以其先进的科技和用户友好的界面而闻名。升级后&#xff0c;北京B…

EndNote 21 for Mac v21.3 文献管理软件安装

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行安装EndNote212、升级 三、运行1、打开软件&#xff0c;测试 安装完成&#xff01;&#xff01;&#xff01;四、注意事项 效果 一、下载软件 下载软件 链接&#xff1a;http://www.macfxb.cn 二、开始安装 1、双击…

深信服科技:2023网络钓鱼趋势分析报告

随着互联网的快速发展和广泛应用&#xff0c;网络钓鱼活动带来的安全隐患愈演愈烈。因应威胁发展&#xff0c;我 们编撰了此份分析报告&#xff0c;旨在全面了解其发展态势&#xff0c;并提醒相关部门、企业和公众加强防范。 在本报告中&#xff0c;我们将详细梳理网络钓鱼的近…

编程精粹—— Microsoft 编写优质无错 C 程序秘诀 07:编码中的假象

这是一本老书&#xff0c;作者 Steve Maguire 在微软工作期间写了这本书&#xff0c;英文版于 1993 年发布。2013 年推出了 20 周年纪念第二版。我们看到的标题是中译版名字&#xff0c;英文版的名字是《Writing Clean Code ─── Microsoft’s Techniques for Developing》&a…

USB - USB在消费领域的应用

Switching in USB Consumer Applications 通用串行总线&#xff08;USB&#xff09;已成为满足终端设备之间日益增长的快速数据传输需求的主流接口--例如&#xff0c;在个人电脑和便携式设备&#xff08;如手机、数码相机和个人媒体播放器&#xff09;之间下载和上传数据。 The…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-37微调

37微调 import os import torch import torchvision from torch import nn import liliPytorch as lp import matplotlib.pyplot as plt from d2l import torch as d2l# 获取数据集 d2l.DATA_HUB[hotdog] (d2l.DATA_URL hotdog.zip,fba480ffa8aa7e0febbb511d181409f899b9baa5…

已解决javax.management.BadStringOperationException异常的正确解决方法,亲测有效!!!

已解决javax.management.BadStringOperationException异常的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 出现问题的场景 报错原因 解决思路 解决方法 分析错误日志 检查字符串值合法性 确认字符串格式 优化代码逻辑 增加…

pcl::PointXYZRGBA造成点云无法显示

如果pcd文件没有rgba信息&#xff0c;使用pcl::PointXYZRGBA类型打开会提示以下信息&#xff1a; Failed to find match for field rgba另外&#xff0c;显示出来的点云是黑色&#xff0c;如果使用默认背景色为黑色&#xff0c;就无法显示点云了。 如果设置其它背景色&#xf…

多分类情绪识别模型训练及基于ChatGLM4-9B的评论机器人拓展

你的下一个微博罗伯特何必是罗伯特 这是一篇我在使用开源数据集(Twitter Emotion Dataset (kaggle.com))进行情绪识别的分类模型训练及将模型文件介入对话模型进行应用的过程记录。当通过训练得到了可以输入新样本预测的模型文件后&#xff0c;想到了或许可以使用模型文件对新样…

LLM漫谈(七)| 使用PyTorch从零构建LLM

LLM是最流行AI聊天机器人的核心基础&#xff0c;比如ChatGPT、Gemini、MetaAI、Mistral AI等。在每一个LLM&#xff0c;有个核心架构&#xff1a;Transformer。我们将首先根据著名的论文“Attention is all you need”-https://arxiv.org/abs/1706.03762 来构建Transformer架构…

三国之家网站的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;论坛管理&#xff0c;公告管理&#xff0c;三国视频管理&#xff0c;基础数据管理&#xff0c;三国图文管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#…

Inception_V2_V3

Inception_V2_V3 CNN卷积网络的发展史 1. LetNet5(1998) 2. AlexNet(2012) 3. ZFNet(2013) 4. VGGNet(2014) 5. GoogLeNet(2014) 6. ResNet(2015) 7. DenseNet(2017) 8. EfficientNet(2019) 9. Vision Transformers(2020) 10. 自适应卷积网络(2021) 上面列出了发展到现在CNN的…

Flume基础教程

Apache Flume教程 资料来源&#xff1a;Apache Flume - Introduction (tutorialspoint.com) Flume是一个标准的、简单的、健壮的、灵活的、可扩展的工具&#xff0c;用于将从各种数据生产者(web服务器)中所产生的数据抽取到Hadoop中。在本教程中&#xff0c;我们将使用简单的…

NeRF从入门到放弃4: NeuRAD-针对自动驾驶场景的优化

NeuRAD: Neural Rendering for Autonomous Driving 非常值得学习的一篇文章&#xff0c;几乎把自动驾驶场景下所有的优化都加上了&#xff0c;并且也开源了。 和Unisim做了对比&#xff0c;指出Unisim使用lidar指导采样的问题是lidar的垂直FOV有限&#xff0c;高处的东西打不…

Python18 数据结构与数据类型转换

1.python中的数据结构 在Python中&#xff0c;数据结构是用来存储、组织和管理数据的方式&#xff0c;以便有效地执行各种数据操作。Python提供了几种内置的数据结构&#xff0c;每种都有其特定的用途和操作方法。以下是Python中一些主要的数据结构&#xff1a; 1.列表&#…

Mac数据如何恢复?3 款最佳 Mac 恢复软件

如果您认为 Mac 上已删除的文件永远丢失了&#xff0c;那您就大错特错了&#xff01;实际上&#xff0c;即使您清空了 Mac 上的垃圾箱&#xff0c;也有许多解决方案可以帮助您恢复已删除的文件。最好的解决方案之一是 Mac 恢复删除软件。最好的Mac 恢复删除应用程序可以轻松准确…

【STM32c8t6】AHT20温湿度采集

【STM32c8t6】AHT20温湿度采集 一、探究目的二、探究原理2.1 I2C2.1. 硬件I2C2.1. 软件I2C 2.2 AHT20数据手册 三、实验过程3.1 CubeMX配置3.2 实物接线图3.3 完整代码3.4 效果展示 四、探究总结 一、探究目的 学习I2C总线通信协议&#xff0c;使用STM32F103完成基于I2C协议的A…

国产AI算力训练大模型技术实践

ChatGPT引领AI大模型热潮&#xff0c;国内外模型如雨后春笋&#xff0c;掀起新一轮科技浪潮。然而&#xff0c;国内大模型研发推广亦面临不小挑战。面对机遇与挑战&#xff0c;我们需保持清醒&#xff0c;持续推进技术创新与应用落地。 为应对挑战&#xff0c;我们需从战略高度…