数据库实验7 数据库视图的定义与使用
实验7 数据库视图的定义与使用
7.1实验目的及要求
掌握视图的用法,加深对视图作用的理解
7.2实验内容
1.创建、修改和删除视图
2.利用视图进行查询
- 7.3实验步骤
7.3.1视图的创建(查看视图结果用select语句)
1.创建网络工程学生信息的视图;
Create view IS_Student as select sno,sname,sage from student where sdept=’网络工程’;
2.创建网络工程选修了1号课程的学生的视图;
Create view IS_S1 as select student.sno,cno,grade from student,sc where student.sno=sc.sno and sdept=’网络工程’ and cno=’1’;
3.建立网络工程选修了1号课程且成绩在90分以上的学生的视图:
Create view IS_S2 as select * from IS_S1 where grade>=90;
4.创建一个反映学生出生年份的视图;
Create view BT_S(sno,sname,出生年份)as select sno,sname,year(now())-sage from student;
5.将所有女生的记录定义为一个视图:
Create view F_student as select * from student where ssex=’女’;
6.将所有学生的学号和他的平均成绩定义为一个视图;
Create view S_G(sno,avg_grade) as select sno,avg(grade) from sc group by sno;
7.3.2视图结构的修改
7.将视图F_student修改为网络工程的所有女士的视图
Alter view F_student as select * from student where ssex=’女’and sdept=’网络工程’;
说明:视图结构的修改的AS后的select语句与创建视图的完全一致,引入结构修改的目的是 了避免与视图相关的数据库对象的变换,如触发器,关联等。
7.3.3 视图查询
8.在网络工程的学生视图中查询年龄小于20岁的学生;
Select * from IS_student where sage<20;
9.查询网络工程选修了1号课程的学生;
Select sc.cno,sname from IS_Student,sc Where IS_Student.sno=sc.sno and cno=’1’;
10.在视图S_G中查询平均成绩在90分以上的学生的学号和平均成绩
select * from S_G where avg_grade>=90;
7.3.4更新视图
11.将网络工程学生视图IS_Student中学号为“12002”的学生姓名改为“刘辰”
Update IS_student set sname=”刘辰” where sno=’12002’;
比较:update IS_Student set sname=’刘辰’where sno=’12003’次语句不能实现数据的更新为什么?
12.向网络工程学生视图IS_Student 中插入一个新的学生的记录,学号为12009,姓名为“赵新”,年龄为20岁。
Insert into IS_Student values(‘12009’,‘赵新’,20);
//此处执行后显示Field of vew ‘xsgl.is_student’underlying table doesn’t have a default value,即在此视图中插入数据不能使基础表获得默认数值;
13.删除网络工程学生视图IS_Student 中学号为12009的学生的记录;
Delete from IS_student where sno=’12009’;(能删除成功吗,存在什么问题吗?)
7.3.5更新视图
14.删除视图IS_student;
Drop view IS_student;
思考:
- 创建所有学生的基本信息和选课信息的视图
Create view IS_Student(学号,姓名,性别,年龄,系别)as select sno,sname,ssex,sage,sdept from student;
Create view Course_view as select Student.,Course.,Grade from Student,Sc ,Course where Student.sno=Sc.Sno=Course.cno;
2.基于上述视图查询各系学生各门功课的平均成绩
Select sno,sname,cname,sdept,avg_grade from S_G;
数据库实验7 数据库视图的定义与使用相关推荐
- 合肥工业大学—SQL Server数据库实验九:视图的定义与使用
视图的定义与使用 1. 定义视图 2. 使用视图 1. 定义视图 在EDUC数据库中,已Student.Course 和SC表为基础完成一下视图定义: 1) 定义视图V_SC_G:该视图包含Stude ...
- 数据库实验:数据库和表、查询、视图与安全性、存储过程及游标、触发器、综合实验-水果商店进阶
数据库实验:数据库和表.查询.视图与安全性.存储过程及游标.触发器.综合实验-水果商店进阶 实验一.数据库和表 源码1: 源码2: 小结 实验二.查询 源码 小结 实验三.视图.安全性 源码: 小结 ...
- Oracle 11g 数据库 实验7 数据库安全管理
Oracle 11g 数据库实验7 数据库安全管理 1.实验目的 (1)掌握Oracle数据库安全控制的实现. (2)掌握Oracle数据库用户管理. (3)掌握Oracle数据库权限管理. (4)掌 ...
- 数据库实验:数据库高级查询
数据库实验:数据库高级查询 实验过程 (1) IN 嵌套查询 (2) 单层EXISTS 嵌套查询 (3) FROM 子句中的嵌套查询 (4) 集合查询(交) (5) 集合查询(并) (6) 集合查询( ...
- 数据库实验2 数据库安全性定义与检查
前言:记得验收时问了一个问题吧,就是用户和角色的区别是什么 实验2.1自主存取控制实验 1.实验目的 掌握自主存取控制权限的定义和维护方法. 2.实验内容和要求 定义用户.角色,分配权限给用户.角色, ...
- 数据库实验三:视图、安全性
实验三:视图.安全性 一.实验目的 二.实验内容 1.创建四类用户角色 2.为以上四类用户角色操作基本表的权限 3.为每类用户角色至少创建一个用户 4.测试 ①测试客户用户 ②测试供货商用户 ③测试商 ...
- 数据库实验一 数据库定义
实验一 数据库定义 一.实验目的 理解和掌握数据库DDL语言,能够熟练使用SQL DDL语句创建.修改.删除数据库.模式和表,能够创建合适的索引以提高数据库查询效率. 二.实验内容和要求 1.创建学生 ...
- 数据库实验六 数据库的完整性
实验六 数据库的完整性 一.实验目的 1.掌握实体完整性的定义和维护方法. 2.掌握参照完整性的定义和维护方法. 3.掌握用户自定义完整性的定义和维护方法. 4.掌0握触发器的设计和使用方法 二.实验 ...
- 数据库实验8 数据库安全性(用户与权限管理)实验
实验8 数据库安全性(用户与权限管理)实验 8.1实验目的及要求 加深对数据库安全性的理解 8.2实验内容 数据库用户与权限管理 8.3实验步骤 8.3.1创建新用户 1.创建新用户: Mysql&g ...
最新文章
- Oracle分析函数入门
- redis哨兵机制在集群中的应用
- 花40分钟写一个-CBIR引擎-代码公开
- docker 查看已安装容器_WIN7下安装Docker容器
- 《MySQL——增删改查以及常用语法》
- SRAM和SDRAM的区别
- 真格量化——做空波动率卖期权策略
- wex5 app应用 定时退出
- java解析xml报文_java 如何解析http请求返回的xml报文
- WIN8系统安装软件时提示“扩展属性不一致“的解决方法
- 有哪些皮一下就很开心的句子?
- 币安Binance API
- VM9.0链接+汉化包+序列号
- newifi3 高恪魔改_原地升值?newifi 3 路由器刷入高恪固件教程
- 电脑加域、exchange邮箱设置、绑定打印机
- 区块链从入门到精通 - 区块链培训
- 【群晖秘籍】如何在群晖中安装Redis数据库,群晖如何使用套件安装Redis(已解决无法访问问题)!
- swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法
- matlab分析总谐波失真THD,运放参数的详细解释和分析-part21,总谐波失真(THD)
- [VUE2/VUE3]基于echarts的动态折线图组件
热门文章
- 从零开始学习python编程-从零开始学python
- python培训价目表-参加python培训要多少钱?
- python下载-【Python下载 官方版】Python 3.8.0-ZOL软件下载
- 学python能做什么-非计算机专业的人学python能做什么?
- vb还是python强大-VB强大还是python强大
- 浅谈智能语音交互,看一个Windows语音识别程序
- 转:基于科大讯飞语音API语音识别开发详解
- makefile obj文件路径_makefile中包含的文件的路径
- a标签去掉下划线_html常用标签、包含关系、常用术语,以及网页设计中的字体分类
- Vue自定义组件封装及使用Excel