AHU 数据库 实验五

news2024/11/20 0:49:29

【实验名称】          实验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操作时,可以使用触发器来自动更新与该表相关的视图。索引:为了提高查询效率,可以使用索引来加快视图的访问速度。权限:使用访问控制权限来控制用户对视图的访问,包括视图的读、写和修改等操作。总之,在设计和管理数据库时,需要考虑到数据更新和视图管理的需求,以确保数据的完整性、一致性和可读性。

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

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

相关文章

应对恶意IP攻击的有效方法

在当今数字化时代,网络攻击已经成为了互联网安全的重大挑战之一。恶意IP攻击是网络安全领域中的一种常见威胁,它可能导致数据泄露、服务中断、系统瘫痪等严重后果。因此,有效地应对恶意IP攻击至关重要。IP数据云将深入探讨如何应对恶意IP攻击…

OpenHarmony开源项目—工程管理

DevEco Studio的基本使用,请参考DevEco Studio使用指南。本章主要介绍如何使用DevEco Studio进行多设备应用开发。 说明: 本章的内容基于DevEco Studio 3.1.1 Release版本进行介绍,如您使用DevEco Studio其它版本,可能存在文档与产…

Oracle PL/SQL Programming 第9章:Numbers 读书笔记

总的目录和进度,请参见开始读 Oracle PL/SQL Programming 第6版 本章谈3点: 可使用的数字数据类型如何在数字和文本间转换PL/SQL 内置数值函数 Numeric Datatypes NUMBER:平台无关的实现,适合处理货币金额PLS_INTEGER 和 BINA…

HBuilder发行微信小程序

首先需要完善mainifest.json中的基本配置 这个需要组测dcloud才可以获取,注册后点击重新获取就可以。 然后发行前还需要完成dcloud的信息,这个他会给你网址 点击连接完成信息填写就可以了 然后就可以发行了。 发行成功后会自动跳转微信小程序&#xff…

uniapp封装统一请求(get和post)

uniapp封装请求 request.js文件 import Vue from vue // 全局配置 import settings from ./settings.js function computedBaseUrl(url) {// console.log(url);return (url.indexOf(http) -1 ? settings.baseUrl : ) url }// 发送请求 export default (options) > {const…

一.java介绍和idea基础使用

java技术体系 Java技术体系说明Java SE(Java standard Edition):标准版Java技术的核心和基础Java EE(Java Enterprise Edition):企业版企业级应用开发的一套解决方案Java ME(Java Micro Edition):小型版针对移动设备应用的解决方案(认可少,主要是安卓和…

基于Vue移动端电影票务服务APP设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 Vue框架 3 1.2 数据库MongoDB 3 1.3 Axios请求 3 1.4 H5、CSS3和JavaScript 4 1.5 本章小结 4 2 系统分析 5 2.1 功能需求 5 2.2 用例分析 5 2.3 用户功能 6 2.4本章小结 6 3 基于Vue电影票务服务APP设计 7 3.1 页面设计 …

Java_8 移除元素

移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出…

微信小程序之表单组件

1、button 常用的属性: 属性类型默认值必填说明sizestringdefault否按钮的大小 合法值说明default默认大小mini小尺寸typestringdefault否按钮的样式类型 合法值说明primary绿色default白色warn红色plainbooleanfalse否按钮是否镂空,背景色透明disable…

Transformer原理

在《机器学习综述》中大致罗列人工智能常见算法,近些年深度学习发展快速,其中Transformer为甚,其英文的意思是变形金刚,对的就是我们看电影变形金刚的意思。Transformer是大语言模型的基础,比如现在常见的GPT、Bert、P…

详解Python中%r和%s的区别及用法

首先看下面的定义: %r用rper()方法处理对象 %s用str()方法处理对象 函数str() 用于将值转化为适于人阅读的形式,而repr() 转化为供解释器读取的形式(如果没有等价的语法,则会发生SyntaxError 异常) 某对象没有适于人…

数据库增删改查以及联合查询——数据库——day1

今天学习了数据库的知识 首先数据库分为关系型数据库和非关系型数据库 关系型数据库:Mysql OracleSqlServerSqlite 非关系型数据库:RedisNoSQL我们首先来看一下数组、链表、文件、数据库的区别 数组、链表: 内存存放数据的方式(代码运行结束、关机数据丢失) …

JS数组相关知识

获取数组的最大值/最小值&#xff1a; let arrary [2,5,4] let max arrary[0] for(let i 0;i<arrary.length;i){if(arrary[i]>max){max arrary[i]} }console.log(max);//查询数组最小值let arr [2,21,34,23,45] let min arr[0] for(let i 0;i<arr.length;i){if…

“我快无聊死了”用英语怎么说?柯桥英语口语学习,成人零基础学外语

每日一句 Im bored to death. 我快无聊死了。 单词解析&#xff1a; bored / bɔːd / adj.无聊的&#xff0c;厌倦的 bored to d15857575376eath&#xff1a;指非常无聊或厌烦&#xff0c;达到了极点的程度。 "bored" 和 "boring" 都与无聊相关&#…

蓝桥杯练习系统(算法训练)ALGO-980 斐波那契串

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;10.0s Java时间限制&#xff1a;30.0s Python时间限制&#xff1a;50.0s 问题描述 斐波那契串由下列规则生成&#xff1a;   F[0] "0";   F[1] "1";   F[n] F[n-1] F[n-2]…

AI人工智能改变项目管理及控制的5种方式,最后一个你认同吗?

前言 斯蒂芬霍金说&#xff1a;“AI is likely to be either the best or the worst thing to happen to humanity. 人工智能可能是发生在人类身上的最好或最坏的事情”。根据Gartner的说法&#xff0c;它将是前者。它预测到2020年&#xff0c;人工智能将减少1万个就业机会&am…

软件设计师15--进程资源图

软件设计师15--进程资源图 考点1&#xff1a;进程资源图例题&#xff1a; 考点1&#xff1a;进程资源图 例题&#xff1a; 1、在如下所示的进程资源图中&#xff0c;D&#xff09;。 A、P1、P2、P3都是非阻塞节点&#xff0c;该图可以化简&#xff0c;所以是非死锁的 B、P1、…

Linux:1_常见指令以及权限理解(上)

常见指令以及权限理解 一.补充知识 为方便初学者更好的理解Linux系统,这部分将对比windows系统补充一部分必要知识1 2 3 4 5 6 二.补充指令 1. 重新认识指令: 指令本质都是程序 —指令、程序、可执行程序都是一回事(都是文件内容属性)指令就是程序 … 安装和卸载是在把可…

【Axure高保真原型】下拉列表切换图表

今天和大家分享通过下拉列表动态切换统计图表的原型模板&#xff0c;我们可以通过下拉列表选择要显示的图表&#xff0c;包括柱状图、条形图、饼图、环形图、折线图、曲线图、面积图、阶梯图、雷达图&#xff1b;而且图表数据可以在左侧表格中动态维护&#xff0c;包括增加修改…

深入理解Vue3中利用mitt:实现轻量级事件监听与触发

深入理解Vue3中利用mitt&#xff1a;实现轻量级事件监听与触发 摘要&#xff1a;本文将介绍如何在Vue3中利用mitt库实现轻量级的事件监听与触发。我们将详细介绍mitt库的特性和使用方法&#xff0c;并通过实际示例展示如何在Vue3组件中应用mitt。 一、引言 在前端开发中&…