- 12
- 0
- 约1.37千字
- 约 13页
- 2021-11-20 发布于上海
- 举报
视图
引入视图的原因
安全因素
构建更符合特定用户直觉的个性化的关系集合
学生名单
学号
姓名
班级
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!
您可能关注的文档
最近下载
- SAP_HR_薪资_操作手册.docx VIP
- YueYu 鱼跃凯立特血糖仪305A 305B用户手册.pdf
- 小学劳动三年级下册人教版《劳动教育》合集.docx
- 生物工程设备课程设计110613.ppt VIP
- 2024年10月23日湖南省纪委监委遴选面试真题及答案解析(文字综合岗).doc VIP
- SH 3528-2014-T 石油化工钢制储罐地基与基础施工及验收规范.pdf VIP
- 《智能制造基础》机械电子 教学大纲.docx VIP
- 2025年下半年国家教师资格考试真题 综合素质 中学科目一.pdf VIP
- 操作人员安全环保履职能力评估表(式样).docx VIP
- 学前融合教育的理想与现实课件.ppt VIP
原创力文档

文档评论(0)