​数据库原理及应用上机(实验六 视图的定义和维护)

news2024/11/22 11:08:56

作者:命运之光 
专栏:数据库原理及应用上机实验

 

目录

 ✨一、实验目的和要求

✨二、实验内容

✨三、实验结果

 ✨四.实验总结


🍓🍓前言: 数据库原理及应用上机实验报告的一个简单整理后期还会不断完善🍓🍓 


 ✨一、实验目的和要求

1.掌握SQL视图建立、修改和删除;

2.掌握SQL视图查询。

✨二、实验内容

方法一:利用SQL语言实现视图的建立、删除、查询、更新

(一)定义视图

1 建立视图

例1 建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系(MA)的学生,视图的属性名为Sno,Sname,Sage,Sdept。

 

CREATE  VIEW  C_Student
AS
SELECT  Sno, Sname, Sage, Sdept
FROM  Student
WHERE  Sdept= '数学系'
WITH CHECK OPTION

例2  建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。

本视图由三个基本表的连接操作导出,其SQL语句如下:

CREATE VIEW  Student_CR
AS
SELECT  Student.Sno, Sname, Cname, Grade
FROM  Student, SC, Course
WHERE  Student.Sno= SC.Sno AND SC.Cno=Course.Cno

例3  定义一个反映学生出生年份的视图。

CREATE VIEW Student_birth(Sno, Sname, Sbirth)
AS  SELECT  Sno, Sname, 2023-Sage
FROM  Student

2 删除视图

例4  删除视图Student_CR。

DROP VIEW Student_CR;

(二)查询视图

例5 在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。

SELECT  Sname, Sage
FROM  C_Student
WHERE  Sage<20;

说明:本例转换后的查询语句为:

SELECT  Sname, Sage
FROM  Student
WHERE  Sdept= '数学系' AND Sage<20;

例6  在Student_CR视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程名称(Cname)。

SELECT  Sno, Sname, Cname
FROM Student_CR
WHERE  Grade>85;

(三)更新视图

例7  将数学系(MA)学生视图C_Student中学号为200215123的学生姓名改为“黄海”。

UPDATE  C_Student
SET  Sname='黄海'
WHERE  Sno='200215123';

说明:DBMS自动转换为对基本表的更新语句如下:

UPDATE  Student
SET  Sname='黄海'
WHERE Sno='200215123' AND Sdept='数学系';

例8  向数学系学生视图C_Student中插入一个新的学生记录,其中学号为“200215124”,姓名为“王海”,年龄为20岁。

INSERT
INTO  C_Student
VALUES ('200215124', '王海', 20, '数学系');

例9  删除数学系学生视图C_Student中学号为“200215124”的记录。

DELETE
FROM  C_Student
WHERE  Sno= '200215124'

方法二:SSMS数据库管理工具实现视图的建立、删除、查询、更新

1.创建视图

(1)连接数据库,选择数据库,展开数据库->右键视图->选择新建视图

(2)在添加表弹出框->选择要创建视图的表、视图等->点击添加->添加完成后选择关闭。

 (3)在关系图窗格中-》选择表与表之间关联的数据列-》选择列的其他排序或筛选条件。

 

(4)点击保存或者ctrl+s-》刷新视图-》查看结果。

 2.查询视图。

 3.删除视图

在视图上右键-》删除。

✨三、实验结果

例1 建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系(MA)的学生,视图的属性名为Sno,Sname,Sage,Sdept。

 例2  建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。

 例3  定义一个反映学生出生年份的视图。

 例4  删除视图

 例5 在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。

 例6在Student_CR视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程名称(Cname)。

 例7  将数学系(MA)学生视图C_Student中学号为200215123的学生姓名改为“黄海”。

 例8  向数学系学生视图C_Student中插入一个新的学生记录,其中学号为“200215124”,姓名为“王海”,年龄为20岁。

例9  删除数学系学生视图C_Student中学号为“200215124”的记录。

 ✨四.实验总结

通过本次实验,我们了解了视图的定义和维护,学会了创建、修改和删除视图的方法,以及如何查询视图中的数据。视图在实际的数据库应用中具有广泛的应用价值,可以方便快捷地满足复杂的查询需求,同时也可以保护数据的安全性。

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

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

相关文章

小白漂流记(如何自学网络安全?)

一、前言&#xff08;关于我&#xff09; 我算是“入行”不久的一个新人安全工作者&#xff0c;为什么是引号呢&#xff0c;因为我是个“半个野路子”出身。早在13年的时候&#xff0c;我在初中时期就已经在90sec、wooyun等社区一直学习、报告漏洞。后来由于升学的压力&#xf…

【Python入门篇】——Python中循环语句(for循环的嵌套应用)

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; Python入门&#xff0c;本专栏主要内容为Python的基础语法&#xff0c;Python中的选择循环语句…

普洱突围“春茶江湖”,抖音电商「春茶普洱季」解锁好茶生意新增量

“越沉越香”&#xff0c;是普洱茶鲜明的味道符号。国内普洱茶市场热自2000年左右兴起&#xff0c;并逐渐在春茶市场上占据重要的一席之地。为顺应春茶季节打造“普洱爆品”&#xff0c;实现生意的应季增长&#xff0c;抖音电商也为品牌商家提供了更为完善的营销与经营解法。 …

极米科技发布新一代光源技术,投影行业要变天?

作者&#xff1a;坚白 2018年以来&#xff0c;在年轻人群的追捧下&#xff0c;此前主要应用于商用场景的投影仪&#xff0c;逐渐切换到家用场景&#xff0c;而且随着投影技术的持续改进&#xff0c;投影效果也不断提升&#xff0c;家用投影市场进入高速发展期。 但进入2022年…

微信小程序组件设计规范分享

WeUI是一套与微信原生视觉体验一致的基本样式库。微信官方设计团队为微信网页和微信小程序量身定制设计&#xff0c;使用户感知更加统一&#xff0c;包括button、cell、dialog、progress、toast、article、actionsheet、微信weui开发团队可以直接使用icon等各种元素。下面资源社…

基于postman测试接口(整套接口测试)(附视频教程加源码)

目录 可以解决的问题 开启控制台 单个测试尝试 使用请求结果当参数 打印结果(JSON) 自定义可视化结果 随机参数 测试用例连接 一键测试接口集合 从swagger导入接口 自定义全局变量 可以解决的问题 几百个接口人工测试接口过于繁杂大多测试无法使用请求结果当参数可以…

(转载)从0开始学matlab(第12天)—选择语句(if、switch、try/catch)

选择结构可以使 MATLAB 选择性执行指定区域内的代码 ( 称之为语句块 blocks)&#xff0c;而跳过其他区域的代码。选择结构在 MATLAB 中有三种具体的形式 :if 结构&#xff0c; switch 结构和try/catch 结构。 1 if 结构 1.1if语句的基本形式 if 结构的基本形式如下: 其…

菜鸡shader:L3三色环境光材质、阴影及光衰

三色环境光材质 先放上最终效果这里将环境光分为上中下三层&#xff0c;顶层是红色的&#xff0c;中间那层是绿色的&#xff0c;下层则是蓝色的。环境光遮蔽效果则是直接采样事先准备好的AO贴图。 首先是上层环境光&#xff1a; 这里我们只需要法线向量的第二个分量&#xf…

casbin基于RBAC模型实现权限管理

在casbin中权限都是基于匹配规则和访问控制模型实现的&#xff0c;除了上一章的ACL的实现方式&#xff0c;还有一个常用的访问控制模型RBAC。该模型带上了用户角色&#xff0c;基本满足大多数角色管理的系统。 在RBAC模型中多了一个角色的策略机制&#xff0c;其访问模型规则如…

消息中间件 - RabbitMQ篇之入门及进阶

这里写自定义目录标题 一. RabbitMQ简介1.1. 消息中间件1.1.1.什么是消息中间件1.1.2.消息中间件的传递模式1. 1.2.1 点对点1. 1.2.2 发布订阅模式 1.1.3 消息中间件种类1.1.4 消息中间件的作用 2. RabbitMQ介绍2.1.RabbitMQ的起源2.2.RabbitMQ的安装及简单使用 3. RabbitMQ的简…

Unity UI -- (6)增加Toggle和Slider

在前面的小节中&#xff0c;我们已经有了一个空的设置菜单。现在让我们来添加设置选项。 在本节最后&#xff0c;我们的设置菜单的样子参考如下&#xff1a; 添加一个音乐开关&#xff08;Toggle&#xff09; 现在让我们来增加一个toggle&#xff0c;让用户能够通过它来对场景的…

多功能语音芯片​NV040C的应用,为洗地机开辟新的应用领域

随着科技的快速发展&#xff0c;智能化和自动化已经成为了各个行业发展的主流趋势。传统的家庭洗拖工作日渐被各类洗地机、扫地机器人等取代&#xff0c;其中作为洗地机作为近几年家庭清洁的好物。近年来&#xff0c;不少洗地机厂商开始将语音芯片技术应用到产品中&#xff0c;…

多商户商城系统开发功能优势与选择技巧

电商行业的持续发展&#xff0c;让越来越多的商家企业开始选择入驻多商户商城&#xff0c;通过该系统不仅能够为消费者提供更加便捷良好的购物体验&#xff0c;而且也能够为企业提供一个高效稳定的电商平台&#xff0c;可以说是未来电商行业发展的重要趋势。那么多商户商城系统…

Milk -v 开发板烧录系统以及ssh连接

Milk -v 开发板烧录系统以及ssh连接 0. 前言1. 系统下载2. 驱动安装3. ssh连接 0. 前言 操作系统&#xff1a;Windows10 专业版 开发板&#xff1a;Milk -v 准备读卡器、内存卡、Typec 数据线 Milk-V开发板官方文档 到手后它的外形和宣传图片是一致的&#xff0c;但是更加的…

微信小程序云开发学习记录--1

目录 1.配置小程序项目 2. 云创建 3.新建云文件夹 4.数据库的建立和使用 5.增、删、改、查四种数据库基本操作 增加数据 查询数据 修改数据 删除数据 拿到微信小程序&#xff0c;首先可以先配置好自己的服务器或者是云环境&#xff0c;服务器的方法就不说了&#xff0…

前端实训——Day01

前言 学校最近开始实训周了&#xff0c;一上就是一个月&#xff0c;本来想在课上学点考研的东西的&#xff0c;但是无奈任务重&#xff0c;而且最后还能有点小奖励&#xff0c;就认真学了&#xff0c;再者说&#xff0c;html也挺重要的&#xff0c;学一学也不算浪费时间。 软…

Linux——安装tomcat并部署项目

目录 1、准备阶段 2、具体步骤 2.1、下载tomcat安装包 2.2、上传tomcat安装包 2.3、启动tomcat 2.4、访问页面 3、部署Maven项目至tomcat 3.1、打包Maven项目 3.2、上传打包后的war包至Linux 3.3、修改连接数据库配置文件中的ip 3.4、访问项目 3.5、直接访问ip访问…

Promise理解+ JS 的执行机制

做一道题,理解一下: function getPrinterList() {let res 初始setTimeout(() > {res 1},1000)return res }let res getPrinterList() console.log(res); //输出初始 在getPrinterList函数中,先分清同步异步. JS执行语句时,会区分同步异步,把所有的同步放在同步队列中,把…

【Python pymongo】零基础也能轻松掌握的学习路线与参考资料

Python pymongo是一款基于Python的MongoDB数据库的驱动程序&#xff0c;它提供了操作MongoDB数据库的接口和方法。学习Python pymongo可以帮助开发者更好地使用MongoDB数据库&#xff0c;从而实现更好的数据存储和管理。在这篇文章中&#xff0c;我们将介绍Python pymongo的学习…

chatgpt赋能Python-python_bin__

Python中的bin()方法&#xff1a;将数字转换为二进制字符串 Python中内置的bin()函数是一个非常有用的工具&#xff0c;它可以将一个整数转换成一个二进制字符串。这个函数非常简单易用&#xff0c;对于任何需要进行二进制操作的开发者来说都是一个必不可少的工具。 什么是二…