当前位置: 首页 > news >正文

AHU 数据库 实验五

【实验名称】          实验5  数据库的数据更新与视图管理            

【实验目的】

1. 熟悉数据更新操作的概念与操作类型;

2. 熟练掌握INSERT、UPDATE、DELETE语句的基本语法;

3. 熟练运用INSERT、UPDATE、DELETE语句实现数据的插入、修改与删除操作;

4. 理解视图的基本概念与作用;

5. 熟练掌握创建视图的方法;

6. 熟悉通过视图访问基本表数据的方法。

【实验内容】

1. 针对供应管理数据库SPJ完成以下数据操作(删除操作有些需要分步进行)

(1) 插入一个供应商“S7”的信息,具体参数自己设定;

(2) 插入一个零件“P7”的信息,具体参数自己设定;

(3) 插入一个项目“J8”的信息,具体参数自己设定;

(4) 插入“S7”供应项目“J8”零件“P7”的信息,供应量为 500;

 

(5) 计算各个供应商供应各种零件的平均供货量,并将结果存放在数据库中(先建表);

(6) 将所有供应工程“J2”零件“P3”的供应商改为“S1”;

 

(7) 修改供应量大于100的供应详情,将供应量增加100;

(8) 将“J1”项目的最大供应量降为原来的一半;

(9) 删除“S7”供应商信息(注意参照完整性);

S037表中信息如图所示,同时应该级联删除spj037中S007的数据。

先修改表,增加完整性,级联删除。

(10) 删除零件“P7”的信息;

 先删除SPJ037的表,再删除P037的表

(11) 删除项目“J8”的信息;

 

(12) 删除项目“J7”的所有供应信息;

(13) 删除“天津安贝儿”供应商的所有供应信息;

(14) 删除使用了“北京”供应商供应的“螺丝刀”零件的供应信息和工程项目信息。

先增加级联完整性,然后再一起删除。

2. 针对供应管理数据库SPJ,进行各种视图操作:

(1) 建立“北京”供应商视图BJ_S ;

(2) 建立“北京”工程视图BJ_J ;

(3) 建立“红”色零件视图RED_P;

(4) 建立“北京”供应商的供应情况视图BJS_SPJ;

(5) 建立“北京”供应商供应“北京”工程的供应情况视图BJSJ_SPJ ;

(6) 建立“北京新天地”供应商的供应情况视图WM_SPJ ;

(7) 将“红”色零件的重量加1;

(8) 将“北京新天地”供应商的供应数量加倍;

(9) 分别删除以上定义的各个视图。

【小结或讨论】

本次实验我们主要使用了和视图相关的操作,以及对一个表的修改操作,对一个视图的修改操作,通过本次实验我发现,书上介绍的一些操作在华为OpenGauss的平台上不能通过,可能是因为不同的数据库还是有一些语法上的不同。当数据库中的数据被更新时,视图管理在很大程度上会影响到数据的可读性和可操作性。

更具体地说,当数据库中的数据被更新或删除时,与之相关的视图也需要相应地进行更新和管理。否则,依赖于这些视图的应用程序和查询可能会产生错误或不正确的结果。在关系型数据库中,视图通常是一个虚拟的表,其数据来自基础表的一些列或行的选择、汇总和计算。因此,当基础表中的数据发生更改时,相关的视图也需要更新以反映这些更改。通常,数据库系统提供了许多功能来处理数据更新和视图管理。例如:触发器:当在基础表上执行INSERT、UPDATE或DELETE操作时,可以使用触发器来自动更新与该表相关的视图。索引:为了提高查询效率,可以使用索引来加快视图的访问速度。权限:使用访问控制权限来控制用户对视图的访问,包括视图的读、写和修改等操作。总之,在设计和管理数据库时,需要考虑到数据更新和视图管理的需求,以确保数据的完整性、一致性和可读性。

相关文章:

AHU 数据库 实验五

【实验名称】 实验5 数据库的数据更新与视图管理 【实验目的】 1. 熟悉数据更新操作的概念与操作类型; 2. 熟练掌握INSERT、UPDATE、DELETE语句的基本语法; 3. 熟练运用INSERT、UPDATE、DELETE语句实现数据的插入、修改与删除…...

信号和槽1

信号和槽 Qt信号的三个要素。 信号源:由哪个控件发出的信号。 信号的类型:用户进行不同的操作,就可能触发不同的信号。 信号的处理方式:槽(slot) 差不多等于函数 Qt中可以使用connect这样的函数,把一个信号和一个…...

一个简单的微信小程序表单提交样式模板

没什么东西&#xff0c;只是方便自己直接复制使用 .wxml <view class"box"><form bindsubmit"formSubmit"><view class"form-item"><text class"head">姓名&#xff1a;</text><input class"…...

SpringController返回值和异常自动包装

今天遇到一个需求&#xff0c;在不改动原系统代码的情况下。将Controller的返回值和异常包装到一个统一的返回对象中去。 例如原系统的接口 public String myIp(ApiIgnore HttpServletRequest request);返回的只是一个IP字符串"0:0:0:0:0:0:0:1"&#xff0c;目前接口…...

生存预后不显著?最佳阈值来帮你!| 附完整代码 + 注释

大家在进行生存预后分析时发现结果不显著&#xff0c;是不是当头一棒&#xff01;两眼一黑&#xff01;难不成这就代表我们的研究没意义吗&#xff1f;NONONO&#xff01;别慌&#xff01;说不定还有救&#xff01;快来看看最佳阈值能不能捞你一把&#xff01; 对生存分析感兴趣…...

kangle一键安装脚本

Kangle一键脚本&#xff0c;是一款可以一键安装KangleEasypanelMySQLPHP集合的Linux脚本。 脚本本身集成&#xff1a;PHP5.38.2、MYSQL5.68.0&#xff0c;支持极速安装和编译安装2种模式&#xff0c;支持CDN专属安装模式。同时也对Easypanel面板进行了大量优化。 脚本特点 ◎…...

C#写入和调用方法

一、编写方法 在C#中&#xff0c;方法是在类或结构体内部定义的代码块&#xff0c;用于执行特定的操作。方法通常包括以下几个要素&#xff1a; 访问修饰符&#xff1a;指定方法的访问级别&#xff0c;如 public、private、protected 等。返回类型&#xff1a;指定方法返回的…...

Qt的定时器QTimer

定时器Qtimer&#xff1a;用于重复执行或延迟执行函数的类。它可以在一定的时间间隔内发出信号。 使用它&#xff0c;只需要创建一个QTimer类对象&#xff0c;然后调用start()函数开启定时器即可。 定时器的信号 当定时器超时后&#xff0c;就会发出一个timeout的信号函数。 …...

Python 导入Excel三维坐标数据 生成三维曲面地形图(面) 4-4、线条平滑曲面(修改颜色)去除无效点

环境和包: 环境 python:python-3.12.0-amd64包: matplotlib 3.8.2 pandas 2.1.4 openpyxl 3.1.2 scipy 1.12.0 代码: import pandas as pd import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from scipy.interpolate import griddata fro…...

某小厂java后端初面,记录一下

好吧&#xff0c;&#xff0c;&#xff0c;&#xff0c;&#xff0c;本人很菜&#xff0c;再接再励吧&#xff0c;继续刷。简单记录一下面试题&#xff0c;未亡羊补牢呗。 1.lift join ;inner join ;right join 的区别 2. union 和union all的区别 3.like查询会走索引吗&#x…...

Unity制作马赛克效果

大家好&#xff0c;我是阿赵。   之前在玩怒之铁拳4里面&#xff0c;看到了马赛克场景转换的效果&#xff0c;觉得很有趣&#xff0c;于是也来做一下。 一、2D版本的马赛克转场效果 先看看视频效果&#xff1a; 马赛克转场 这里我是直接写shader实现的&#xff0c;我这里是把…...

【零基础学习04】嵌入式linux驱动中信号量功能基本实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天给大家分享一下,linux系统里面信号量操作的具体实现,操作硬件为I.MX6ULL开发板。 第一:信号量基本简介 信号量是同步的一种方式,linux内核也提供了信号量…...

SQL中常见的DDL操作及示例,数据库操作及表操作

目录 一、数据库操作 1、创建数据库 2、查看所有数据库 3、使用数据库 4、删除数据库 二、表操作&#xff1a; 1、创建表 2、查看表结构 3、修改表结构 3.1 添加列 3.2 修改列数据类型 3.3 修改列名 3.4 删除列 3.5 修改表名 3.6 删除表 注意&#xff1a; 在数…...

python 基础练习题

目录 1、定义两个变量&#xff0c;交换两个变量【使用多种方式】 2、给定成绩&#xff0c;判断用户成绩的档次 3. 作业&#xff1a;下列哪一项是“4是奇数或-9为正数”的否定&#xff08; &#xff09; 4. 作业&#xff1a;判断一个整数是奇数还是偶数 5. 求矩形的面积和周…...

前端请求到 SpringMVC 的处理流程

1. 发起请求 客户端通过 HTTP 协议向服务器发起请求。 2. 前端控制器&#xff08;DispatcherServlet&#xff09; 这个请求会先到前端控制器 DispatcherServlet&#xff0c;它是整个流程的入口点&#xff0c;负责接收请求并将其分发给相应的处理器。 3. 处理器映射&#xf…...

Redis(5.0)

1、什么是Redis Redis是一种开源的、基于内存、支持持久化的高性能Key-Value的NoSQL数据库&#xff0c;它同时也提供了多种数据结构来满足不同场景下的数据存储需求。 2、安装Redis&#xff08;Linux&#xff09; 2.1、去官网&#xff08;http://www.redis.cn/&#xff09;下…...

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的木材表面缺陷检测系统(深度学习+Python代码+UI界面+训练数据集)

摘要&#xff1a;开发高效的木材表面缺陷检测系统对于提升木材加工行业的质量控制和生产效率至关重要。本篇博客详细介绍了如何运用深度学习技术构建一个木材表面缺陷检测系统&#xff0c;并提供了完整的实现代码。该系统采用了强大的YOLOv8算法&#xff0c;并对YOLOv7、YOLOv6…...

Rust 的 into_owned() 方法

into_owned 是 Rust 语言中 std::borrow::Cow 枚举的一个方法。Cow 是一个“克隆在写时”&#xff08;Copy on Write&#xff09;的智能指针&#xff0c;它可以包含对数据的引用或数据的实际所有权。这种设计模式在需要避免不必要的数据复制时特别有用&#xff0c;尤其是当数据…...

stimulsoft report for js vue3使用

项目后端使用的java&#xff0c;试验过积木报表&#xff08;web界面类型的&#xff09;、JasperReport&#xff08;.jasper报表文件&#xff09;、stimulsoft web版本&#xff08;.mrt报表文件&#xff09; 我们的项目是前后端分离的&#xff0c;用积木报表&#xff08;开箱即…...

JavaScript yield关键字使用举例

yield是JavaScript中的一个关键字,用于定义生成器函数(generator function)中的暂停点。它允许函数在执行过程中暂停,并在下一次调用时从暂停点继续执行。下面是一个使用yield的例子: function* generator() {yield Hello;yield World; }const gen = generator();console…...

【MATLAB去噪算法】基于CEEMD联合小波阈值去噪算法(第三期)

02.去噪算法原理 1.引言 传统EMD方法存在模态混叠问题&#xff0c;即信号成分在不同IMF分量中出现碎片化分布。为改进这一问题&#xff0c;Huang等&#xff08;1999&#xff09;提出间歇性测试算法&#xff0c;但效果有限。Wu和Huang&#xff08;2009&#xff09;发展的集合经…...

Ubuntu20.04中 Redis 的安装和配置

Ubuntu20.04 中 Redis 的安装和配置 Ubuntu 安装 MySQL 及其配置 1. Redis 的安装 更新系统包列表并安装 Redis &#xff1a; # 更新包管理工具 sudo apt update# -y&#xff1a;自动确认所有提示&#xff08;非交互式安装&#xff09; sudo apt install -y redis-server测…...

atc abc409E

原题链接&#xff1a;E - Pair Annihilation 题目背景&#xff1a; n 个点 n - 1 条边的有权无向图&#xff0c;每个点都有一个值&#xff0c;两个连通的点的值可以互相抵消&#xff0c;既将u 的 -1 传给 v 时可以抵消掉 v 的 1 并花费边权值&#xff1b;求最小花费。 考察算…...

零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)

经过这么长时间的学习&#xff0c;我相信大家已经有了很大的信心&#xff0c;有可能会有看不起的意思&#xff0c;因为皮卡丘是基础靶场&#xff0c;但是俗话说"基础不牢&#xff0c;地动山摇"&#xff0c;所以还请大家静下心来进行学习 来翻译一下是什么意思&#…...

《探秘跨网段局域网IP广播:解锁网络通信的新姿势》

一、从基础出发:广播与跨网段 在计算机网络的世界中,广播域是一个至关重要的概念。简单来说,广播域是指网络中能接收任一台主机发出的广播帧的所有主机集合。当一台主机在广播域内发出一个广播帧时,同一广播域内的所有其他主机都可以收到该广播帧。在没有路由器或 VLAN 分割…...

ASR技术(自动语音识别)深度解析

ASR技术(自动语音识别)深度解析 自动语音识别(Automatic Speech Recognition,ASR)是将人类语音转换为文本的核心技术,以下是其全面解析: 一、技术原理架构 #mermaid-svg-QlJOWpMtlGi9LNeF {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:1…...

ESP32开发之LED闪烁和呼吸的实现

硬件电路介绍GPIO输出模式GPIO配置过程闪烁灯的源码LED PWM的控制器(LEDC)概述LEDC配置过程及现象整体流程 硬件电路介绍 电路图如下&#xff1a; 只要有硬件基础的应该都知道上图中&#xff0c;当GPIO4的输出电平为高时&#xff0c;LED灯亮&#xff0c;反之则熄灭。如果每间…...

Mysql-定时删除数据库中的验证码

Moudle 1 使用调度器定时删除事件 数据库实现验证码自动删除的解决方案 -- 删除旧事件&#xff08;如果存在&#xff09; DROP EVENT IF EXISTS delete_expired_captchas;-- 创建新事件&#xff08;每分钟执行一次&#xff09; CREATE EVENT delete_expired_captchas ON SCHE…...

.Net Framework 4/C# 属性和方法

一、属性的概述 属性是对实体特征的抽象&#xff0c;用于提供对类或对象的访问&#xff0c;C# 中的属性具有访问器&#xff0c;这些访问器指定在它们的值被读取或写入时需要执行的语句&#xff0c;因此属性提供了一种机制&#xff0c;用于把读取和写入对象的某些特征与一些操作…...

用HTML5 Canvas打造交互式心形粒子动画:从基础到优化实战

用HTML5 Canvas打造交互式心形粒子动画&#xff1a;从基础到优化实战 引言 在Web交互设计中&#xff0c;粒子动画因其动态美感和视觉吸引力被广泛应用于节日特效、情感化界面等场景。本文将通过实战案例&#xff0c;详细讲解如何使用HTML5 Canvas和JavaScript实现一个「心之律…...