《数据库与信息系统》SQL语言_5视图.pptxVIP

  • 12
  • 0
  • 约1.37千字
  • 约 13页
  • 2021-11-20 发布于上海
  • 举报

《数据库与信息系统》SQL语言_5视图.pptx

视图 引入视图的原因 安全因素 构建更符合特定用户直觉的个性化的关系集合 学生名单 学号 姓名 班级 GPA 排名 1001 杜斯 CS1801 85 2 1002 汪洋 CS1801 86 1 1003 林豆豆 CS1802 74 3 数据表中所有字段对所有用户可见是不合适的。比如密码泄露。 辅导员希望了解的信息 视图 是在数据表基础上定义的一个虚拟表,在打开视图时从数据表提取查询结果。 选课人数 课号 人数 C001 5 C002 5 C003 4 学生名单 学号 姓名 1001 杜斯 1002 汪洋 1003 林豆豆 数据库设计者 教务长 班主任 student表 coursenenroll表 虚拟表并不预先计算并存储,而是在使用虚拟表的时候才通过执行查询被计算出来。 使用SQL创建视图 CREATE VIEW view_studentmale AS SELECT StudentCode 学号, StudentName 姓名,Gender 性别, Birthday 生日 FROM student WHERE Gender=男; 例如:创建男生视图view_studentmale,包括学生学号、姓名、性别和出生日期。 使用视图创建工具创建视图 举例1:视图(基于多个表) 创建视图view_studentscore,显示姓名、课程名和成绩,按成绩降序排序。 举例2:视图(基于视图) 创建视图view_studentexcellent,选拔优培生(平均成绩大于等于90的学生),并按平均成绩从高到低排列。 视图的使用 视图与表的用法相同,可以通过视图查询和更新数据库。 表3 表2 表1 视图1 视图2 举例1:使用视图查询数据 SELECT课程名, AVG(成绩) AS 平均分 FROM view_studentscore GROUP BY 课程名 HAVING 课程名称=多媒体技术及应用; 使用视图view_studentscore统计“多媒体技术及应用”课程的平均分。 举例2:使用视图更新数据 INSERT INTO view_studentmale VALUES(1104, 赵谦, 男,‘2002-12-12 ); 例2-1:向视图view_studentmale中插入一条记录(1104, 赵谦, 男, 2000-12-12)。 实际上是添加到Student表 UPDATE view_studentmale SET StudentName=‘赵廉’ WHERE StudentName=‘赵谦’; 例2-2:修改该记录:将“赵谦”名字改为“赵廉” 实际上是修改Student表 维护视图 在视图设计窗口进行修改 直接修改视图定义语句 在Navicat for MySQL左栏选中删除 Drop View语句删除 在Navicat for MySQL左栏选中,选择“重命名”可以修改视图名 视图 在数据表基础上定义的一个虚拟表,在打开视图时从数据表提取查询结果。 选课人数 课号 人数 C001 5 C002 5 C003 4 学生名单 学号 姓名 1001 杜斯 1002 汪洋 1003 林豆豆 数据库设计者 教务长 班主任 THANK YOU!

文档评论(0)

1亿VIP精品文档

相关文档