实验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;

思考:

  1. 创建所有学生的基本信息和选课信息的视图
    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 数据库视图的定义与使用相关推荐

  1. 合肥工业大学—SQL Server数据库实验九:视图的定义与使用

    视图的定义与使用 1. 定义视图 2. 使用视图 1. 定义视图 在EDUC数据库中,已Student.Course 和SC表为基础完成一下视图定义: 1) 定义视图V_SC_G:该视图包含Stude ...

  2. 数据库实验:数据库和表、查询、视图与安全性、存储过程及游标、触发器、综合实验-水果商店进阶

    数据库实验:数据库和表.查询.视图与安全性.存储过程及游标.触发器.综合实验-水果商店进阶 实验一.数据库和表 源码1: 源码2: 小结 实验二.查询 源码 小结 实验三.视图.安全性 源码: 小结 ...

  3. Oracle 11g 数据库 实验7 数据库安全管理

    Oracle 11g 数据库实验7 数据库安全管理 1.实验目的 (1)掌握Oracle数据库安全控制的实现. (2)掌握Oracle数据库用户管理. (3)掌握Oracle数据库权限管理. (4)掌 ...

  4. 数据库实验:数据库高级查询

    数据库实验:数据库高级查询 实验过程 (1) IN 嵌套查询 (2) 单层EXISTS 嵌套查询 (3) FROM 子句中的嵌套查询 (4) 集合查询(交) (5) 集合查询(并) (6) 集合查询( ...

  5. 数据库实验2 数据库安全性定义与检查

    前言:记得验收时问了一个问题吧,就是用户和角色的区别是什么 实验2.1自主存取控制实验 1.实验目的 掌握自主存取控制权限的定义和维护方法. 2.实验内容和要求 定义用户.角色,分配权限给用户.角色, ...

  6. 数据库实验三:视图、安全性

    实验三:视图.安全性 一.实验目的 二.实验内容 1.创建四类用户角色 2.为以上四类用户角色操作基本表的权限 3.为每类用户角色至少创建一个用户 4.测试 ①测试客户用户 ②测试供货商用户 ③测试商 ...

  7. 数据库实验一 数据库定义

    实验一 数据库定义 一.实验目的 理解和掌握数据库DDL语言,能够熟练使用SQL DDL语句创建.修改.删除数据库.模式和表,能够创建合适的索引以提高数据库查询效率. 二.实验内容和要求 1.创建学生 ...

  8. 数据库实验六 数据库的完整性

    实验六 数据库的完整性 一.实验目的 1.掌握实体完整性的定义和维护方法. 2.掌握参照完整性的定义和维护方法. 3.掌握用户自定义完整性的定义和维护方法. 4.掌0握触发器的设计和使用方法 二.实验 ...

  9. 数据库实验8 数据库安全性(用户与权限管理)实验

    实验8 数据库安全性(用户与权限管理)实验 8.1实验目的及要求 加深对数据库安全性的理解 8.2实验内容 数据库用户与权限管理 8.3实验步骤 8.3.1创建新用户 1.创建新用户: Mysql&g ...

最新文章

  1. Oracle分析函数入门
  2. redis哨兵机制在集群中的应用
  3. 花40分钟写一个-CBIR引擎-代码公开
  4. docker 查看已安装容器_WIN7下安装Docker容器
  5. 《MySQL——增删改查以及常用语法》
  6. SRAM和SDRAM的区别
  7. 真格量化——做空波动率卖期权策略
  8. wex5 app应用 定时退出
  9. java解析xml报文_java 如何解析http请求返回的xml报文
  10. WIN8系统安装软件时提示“扩展属性不一致“的解决方法
  11. 有哪些皮一下就很开心的句子?
  12. 币安Binance API
  13. VM9.0链接+汉化包+序列号
  14. newifi3 高恪魔改_原地升值?newifi 3 路由器刷入高恪固件教程
  15. 电脑加域、exchange邮箱设置、绑定打印机
  16. 区块链从入门到精通 - 区块链培训
  17. 【群晖秘籍】如何在群晖中安装Redis数据库,群晖如何使用套件安装Redis(已解决无法访问问题)!
  18. swagger在VS2019 .net core2.2中的使用,及报错undefined /swagger/v1/swagger.json的解决办法
  19. matlab分析总谐波失真THD,运放参数的详细解释和分析-part21,总谐波失真(THD)
  20. [VUE2/VUE3]基于echarts的动态折线图组件

热门文章

  1. 从零开始学习python编程-从零开始学python
  2. python培训价目表-参加python培训要多少钱?
  3. python下载-【Python下载 官方版】Python 3.8.0-ZOL软件下载
  4. 学python能做什么-非计算机专业的人学python能做什么?
  5. vb还是python强大-VB强大还是python强大
  6. 浅谈智能语音交互,看一个Windows语音识别程序
  7. 转:基于科大讯飞语音API语音识别开发详解
  8. makefile obj文件路径_makefile中包含的文件的路径
  9. a标签去掉下划线_html常用标签、包含关系、常用术语,以及网页设计中的字体分类
  10. Vue自定义组件封装及使用Excel