/***********************
 第十单元 创建与管理视图
************************/
/*
 为什么需要视图?参看教材P198~200
 视图:是基于一张或多张表的虚拟表(Virtual Table)
*/
/*
 任务:创建视图
 语法格式:
     CREATE VIEW 视图名
     [WITH ENCRYPTION]
     AS
       查询语句(SELECT语句)
*/
--1. 创建一个名为V_Student的视图,只显示班级号为20000001的学生信息
CREATE VIEW V_Student
AS
  SELECT *
  FROM Student
  WHERE ClassNo='20000001';
--说明:本语句的作用就是将AS后面的SQL查询结果保存到指定的视图里
--2. 查看视图V_Student的内容
--(1)命令方式
SELECT * FROM V_Student;
--(2)图形界面方式
-- 选中dbo.V_Student,单击右键,在快捷菜单里选择【打开视图】
--3. 将视图V_Student的列标题改为中文
ALTER VIEW V_Student(学号, 班级编号, 学生姓名, 选课密码)
AS
  SELECT StuNo, ClassNo, StuName, Pwd
  FROM Student
  WHERE ClassNo='20000001';
--注意:视图名后面的标题列表一定要和SELECT子句的字段列表要一一对应。
--4. 再次查看视图V_Student的内容
SELECT * FROM V_Student;
--5. 针对Course表,创建视图V_CourseSub,只显示课程名称与学分两个字段
CREATE VIEW V_CourseSub(课程名称, 学分)
AS
  SELECT CouName, Credit
  FROM Course;
--6. 查看视图V_CourseSub的内容
SELECT * FROM V_CourseSub;
--7. 针对Student、StuCou与Course表,创建视图V_StuCou,显示学生选课信息,包含学号,姓名,课程名称
CREATE VIEW V_StuCou(学号, 姓名, 课程名称)
AS
  SELECT Student.StuNo, StuName, CouName
  FROM Student INNER JOIN StuCou INNER JOIN Course
    ON StuCou.CouNo=Course.CouNo ON Student.StuNo=StuCou.StuNo;
--8. 查看视图V_StuCou的内容
SELECT * FROM V_StuCou;
--9. 统计各系部开设选修课门数,将统计结果保存为视图V_CouNumByDept
CREATE VIEW V_CouNumByDept
AS
  SELECT DepartNo 系部编号, COUNT(*) 选修课门数
  FROM Course
  GROUP BY DepartNo;
  
--10. 查看视图V_CouNumByDept
SELECT * FROM V_CouNumByDept;
--课堂练习:创建视图V_CouNumByDept2,显示系部编号、系部名称与选修课门数三列
CREATE VIEW V_CouNumByDept2
AS
  SELECT Department.DepartNo 系部编号, DepartName 系部名称, V_CouNumByDept.选修课门数
  FROM Department INNER JOIN V_CouNumByDept ON Department.DepartNo=V_CouNumByDept.系部编号;
--11. 查看视图V_CouNumBeDept2的内容
SELECT * FROM V_CouNumByDept2;
/*
  任务、修改视图
  语法格式:
  ALTER VIEW 视图名
     [WITH ENCRYPTION]
     AS
       查询语句(SELECT语句)  
*/
--1. 将视图V_CouNumByDept2进行加密
ALTER VIEW V_CouNumByDept2
WITH ENCRYPTION
AS
  SELECT Department.DepartNo 系部编号, DepartName 系部名称, V_CouNumByDept.选修课门数
  FROM Department INNER JOIN V_CouNumByDept ON Department.DepartNo=V_CouNumByDept.系部编号;
/*
  任务:重命名视图
*/
--1. 将视图V_CouNumByDept2名称修改为“系部选修课门数视图”
--(1)图形界面方式
--在Xk数据库的视图下选中dbo.V_CouNumByDept2,单击右键,选择【重命名】,输入新名称,敲回车即可
--(2)命令方式
sp_rename 'V_CouNumByDept2', '系部选修课门数视图'
/*
  任务:删除视图
*/
--1. 将视图“系部选修课门数视图”删除
DROP VIEW 系部选修课门数视图;

数据库笔记10:创建与管理视图相关推荐

  1. 实验1 在MySQL创建数据库及表_数据库表的创建、管理和数据操作(实验一),数据库创建...

    数据库表的创建.管理和数据操作(实验一),数据库创建 今天我们就以实验的形式对表的创建.管理和数据操作进行学习,上课吧. [实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识. ...

  2. 3.10 创建教学管理数据库的数据表

    学生表 教师表 系别表 选课表 课程表 授课表 学号 10 教师编号 4 系别ID 4 选课ID 课程号 4 授课ID 姓名 8 姓名 8 系别名称 8 学号 10 课程名称 10 课程号 4 性别 ...

  3. Spark学习笔记10:创建RDD

    目录 一.什么是RDD (一)RDD概念 (二)RDD示例 (三)RDD主要特征 二.做好准备工作 (一)准备文件 1.准备本地系统文件 2.启动HDFS服务 3.准备HDFS系统文件 (二)启动Sp ...

  4. [数据库实战]sql创建一个view视图

    CREATE OR REPLACE VIEW post_user AS SELECTposts.* ,users."name" FROMposts left join users ...

  5. 每天一点数据库之-----Day 2 创建与管理数据库表

    每天一点数据库之-----Day 2 创建与管理数据库表 ----转载请注明出处:coder-pig 本节引言: 本节介绍的是数据库中表的创建与管理,另外,因为不同DBMS所 支持的数据类型有所差别, ...

  6. 动态管理视图和动态管理函数学习

    动态管理对象是SqlServer2005新增的一个功能,包括动态管理视图和动态管理函数.我大概数了一下里面 提供的动态管理试图大概有70多个,还有10几个动态管理函数(IF).这个新功能可以对数据库服 ...

  7. 数据库笔记06:创建并管理数据表

    目录 /* 预备任务:创建数据库"选课",包含一个数据文件与一个日志文件 */ /* 任务:创建数据表(CREATE TABLE) */ --1. 创建Department表(表设 ...

  8. 数据库笔记11:创建与管理存储过程

    /*****************************  第十一单元 创建与管理存储过程 ******************************/ /*  知识点学习:参看教材P210. ...

  9. 数据库笔记05:创建与管理数据库

    /****************************  第五单元:创建与管理数据库 *****************************/ /* 任务:创建数据库friend,包含两个数据 ...

最新文章

  1. tkinter实现弹出输入对话框并获取输入对话框中的值
  2. rhel6多台主机的HA集群,并实现增加仲裁盘和共享存储
  3. MySQL查看与修改编码方式(mysql、数据库、表)
  4. unity, 非public变量需要加[SerializeField]才能序列化
  5. 逾期了,如何消除不良记录?
  6. GCT之数学公式(平面解析几何)
  7. 程序员不应该“躺平”
  8. Javascript设计网页中的下拉菜单
  9. 深入浅出数据分析 Head First Data Analysis Code 一书中的文档下载
  10. 系列之FIRST——跑酷小游戏:关卡+BOSS+技能版
  11. 三创赛优秀作品_厉害了!珠海这所学校的大学生夺得“三创赛”全国总决赛一等奖...
  12. earn the python in hard way习题31~35的附加习题
  13. mysql设置可以存表情_Mysql实例使MySQL能够存储emoji表情字符的设置教程
  14. Verilog除法器(32位无符号+带符号)
  15. 《小猪佩奇拜年歌》在QQ音乐和网易云音乐上线
  16. 人工智能入门四件套,你学人工智能避不开的知识点
  17. 消息循环中TranslateMessage和Dispatch函数的作用
  18. 组织级项目管理推广经验
  19. Kibana查询语言(KQL)
  20. IBM第二季度营收超预期 向云服务转型战略初见成效

热门文章

  1. 如何避免重要需求遗漏?
  2. 【华为云技术分享】《跟唐老师学习云网络》—router路咋走啊
  3. AOS编排语言系列教程(二):初识AOS编排语言,创建你的第一个AOS模板
  4. 【Python3网络爬虫开发实战】 1.7.1-Charles的安装
  5. 推荐系统实战-概念理解入门篇
  6. Python内置模块---random
  7. hive double 转decimal_大白话详解大数据hive知识点,老刘真的很用心(3)
  8. python selenium爬虫需要账号和密码登陆的网页_如何使用selenium和requests组合实现登录页面...
  9. Go编译exe可执行文件去掉运行时的CMD窗口
  10. #includebits/stdc++.h包含C++的全部头文件