数据库实战(二)(引言+关系代数)

news2025/2/26 6:12:51

🌈 个人主页:十二月的猫-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.coloradmin.cn/o/1841803.html

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

相关文章

AJAX 原理-day3

XMLHttpRequest AJAX原理 是 XMLHttpRequest对象 定义: 关系:axios 内部采用 XMLHttpRequest 对象与服务器交互 步骤: 1. 创建 XMLHttpRequest 对象 2. 配置 请求方法 和请求 url 地址 3. 监听 loadend 事件,接收 …

AI绘画Stable Diffusion神级插件AnimateDiff超稳动画教程来了!手把手教你一次性学会

大家好,我是设计师阿威 今天给大家分享AI做稳定动画的新教程,这一次的稳定效果,比上一次和上上次都更加惊艳,而且实现难度直线下降!几乎可以说是有手就会,非常适合追求高效高质效果的商用场景!…

(7)摄像机和云台

文章目录 前言 1 云台 2 带有MAVLink接口的摄像机 3 相机控制和地理标签 4 视频质量差的常见修复方法 5 详细主题 前言 Copter、Plane 和 Rover 最多支持 3 轴云台,包括自动瞄准感兴趣区域(ROI)的相机和自动触发相机快门等先进功能。按…

【OS基础】符合AUTOSAR标准的RTAOS-Alarms详解

目录 前言 正文 7.报警Alarms 7.1配置Alarms 7.1.1激活一个任务 7.1.2 设置一个事件 7.1.3报警回调Alarm Callback 7.1.4 增加计数器值 7.2设置Alarms 7.2.1 绝对Alarms 7.2.2 相对Alarm 7.3自启动Alarms 7.4 删除Alarms 7.5确认何时会发生Alarm 7.6非周期Alarm…

Appium:Appium-Python-Client与Selenium版本不兼容导致的问题

一、问题描述 在执行python代码过程中&#xff0c;出现了以下错误&#xff1a; 错误一&#xff1a;No module named appium.webdriver.common.touch_action Traceback (most recent call last):File "d:\xxx\index.py", line 3, in <module> ModuleNotFound…

山西青年杂志山西青年杂志社山西青年编辑部2024年第10期目录

本刊专稿 共融共创、校企共建BIM创新创业中心的探索与实践 黄强;马福贵;贾晓敏;苏艳贞;魏艳卿; 1-3 财务管理课程专创融合教学改革与实践 宋衍程; 4-7 数字化赋能国际贸易实务课程建设研究 吴珍彩; 8-11《山西青年》投稿&#xff1a;cn7kantougao163.com 青年教育研…

VSCode 安装NeoVim扩展(详细)

目录 1、安装NeoVim扩展 2、windows安装Neovim软件 3、优化操作相关的配置&#xff1a; 5、Neovim最好的兼容性配置 6、技巧和特点 6.1 故障排除 6.2、Neovim 插件组合键设置 6.3、跳转列表 1、安装NeoVim扩展 在扩展商店搜索NeoVim&#xff0c;安装扩展 2、windows安装…

CSS 实现电影信息卡片

CSS 实现电影信息卡片 效果展示 CSS 知识点 CSS 综合知识运用 页面整体布局 <div class"card"><div class"poster"><img src"./poster.jpg" /></div><div class"details"><img src"./avtar…

React-Redux学习笔记(自用)

1. 环境搭建 插件安装&#xff1a;Redux Toolkit和react-redux npm i reduxjs/toolkit react-redux2、 store目录结构设计 集中状态管理的部分会单独创建一个store目录&#xff08;在src下&#xff09;应用通常会有很多个子模块&#xff0c;所以还会有个modules目录&#x…

net start mysql服务名无效

问题背景 起因是我的电脑因为停电烧坏了系统固态硬盘&#xff0c;再新装系统后&#xff0c;之前的MySQL服务无法通过下面的命令启动。 net start mysql # 报错&#xff1a;服务名无效 报错&#xff1a;服务名无效 报错信息 未找到&#xff1a;在Windows服务中找不到MySQL 找…

【无线传感网】分簇路由算法介绍

目录 1、LEACH路由算法 2、PEGASIS 算法 3、TEEN 算法 5、APTEEN 5、LEACH-C 算法 无线传感网中的路由协议就是寻找一条路径让网络中节点沿着这条路径将数据信息传输出去。路由协议的两大关键要点就是路径的优化和数据的分组,在传统计算机网络中,是将网络的拓扑…

帝国cms批量取消文章审核-把已审核的文章改成未审核的方法

帝国cms很多人采集的时候,把文章弄成了审核过的文章,或者因为其他的原因,文章都是审核通过,为了seo又不能把全部文章放出来,所以需要把文章弄成未审核以下就是解决本问题的办法 首先来修改后台列表文件,自行找文件路径 第二步,增加函数 在ecmsinfo.php的150行后面增加…

中年帕金森:守护健康,从容面对生活挑战

在快节奏的现代生活中&#xff0c;中年人群面临着越来越多的健康挑战。其中&#xff0c;帕金森病作为一种常见的神经系统疾病&#xff0c;逐渐引起了人们的关注。帕金森病不仅影响患者的身体健康&#xff0c;还对其日常生活造成极大的困扰。那么&#xff0c;我们该如何应对中年…

协同编辑:只是在线协作这么简单吗?揭秘协同编辑的深层价值

经常很多朋友咨询&#xff0c;无忧企业文档是否支持协同编辑&#xff0c;首先肯定是支持的。但是&#xff0c;我发现很多人对于“协同编辑”的理解可能比较表面&#xff0c;仅仅停留在多人同时编辑一份文档的层面。实际上&#xff0c;协同编辑的功能远不止于此&#xff0c;它更…

【Java】BigDecimal类型——BigDecimal 为什么可以保证精度不丢失

目录 简介类介绍案例分析总结BigDecimal类型的使用场景MySQL中存储BigDecimal类型数据补充&#xff1a;BigDecimal类型使用时的注意事项BigDecimal类型的其他使用 简介 BigDecimal是Java中的一个类&#xff0c;用于处理大数运算。它提供了精确的数值计算&#xff0c;可以处理任…

51单片机STC89C52RC——2.3 两个独立按键模拟控制LED流水灯方向

目的 按下K1键LED流水向左移动 按下K2键LED流水向右移动 一&#xff0c;STC单片机模块 二&#xff0c;独立按键 2.1 独立按键位置 2.2 独立按键电路图 这里要注意一个设计的bug P3_1 引脚对应是K1 P3_0 引脚对应是K2 要实现按一下点亮、再按一下熄灭&#xff0c;我们就需…

『Z-Weekly Feed 08』加密资产观 | FHE应用前景 | OPAL协议

一位机构投资者的加密资产观 作者&#xff1a;Hongbo 01 &#x1f4a1;TL;DR 在加密投资领域如何找到真正的“价值”&#xff1a;Crypto 作为一种新兴资产&#xff0c;应该找到一种区别于传统公司股票资产的估值方法&#xff0c;本文重点阐述了加密货币作为新的资产类型与传统资…

北京健康检测小程序开发,爱自己,从体检开始

随着经济与科技的不断发展&#xff0c;人们也越来越重视自身的身体健康。面对市面上众多的体检机构与五花八门的体检产品&#xff0c;人们往往没有充足的时间进行筛选&#xff0c;好不容易选好了医院、但进行单项体检的价格较高&#xff0c;选择套餐&#xff0c;又包含了一些不…

Codeforces Round 953 (Div.2)

传送门 A. Alice and Books 时间限制&#xff1a;1秒 空间限制&#xff1a;256MB 输入&#xff1a;标准输入 输出&#xff1a;标准输出 题目描述 Alice 有 n 本书。第 1 本书有 页&#xff0c;第 2 本书有 页&#xff0c;依此类推&#xff0c;第n本…

c库函数:strrchr使用demo案例

1. strrchr库函数说明 头文件 <string.h> 函数形式 char *strrchr( const char *str, int ch ); 功能 在str所指向的空终止字节串中寻找字符ch的最后出现。 参数 str - 指向要分析的空终止字节字符串的指针 ch - 要搜索的字符 返回值 指向 str 中找到的字符的…