- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西工大《数据库概论》实验3
实验3:视图操作和安全性控制 主要内容: 视图 创建、操作、删除 安全性 登录、用户、角色、权限 视图概述 视图的含义和作用 是基于某个查询结果的虚表。是用户查看和修改数据表中数据的一种方式。 每个视图都有几个被定义的列和多个数据行。 视图与基本表的关系 视图中的数据列和行来源于其所引用的基本表。 视图所对应的数据并不实际存储在数据库中,而是仍存储在视图所引用的基本表中。 数据库中只存储视图的定义。视图创建、操作、删除 视图的特点 1. 视图能够简化用户的操作,从而简化查询语句 2. 视图使用户能以多种角度看待同一数据,增加可读性 3. 视图对重构数据库提供了一定程度的逻辑独立性; 4. 视图能够对机密数据提供安全保护; 5. 适当的利用视图可以更清晰的表达查询。 使用视图的注意事项 只能在当前数据库中创建视图; 视图的命名必须遵循标识符命名规则,不可与表同名; 如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。 当视图引用基表或视图被删除,该视图也不能再被使用。 不能在视图上创建全文索引,不能在规则、默认的定义中引用视图。 一个视图最多可以引用1024个列。 视图最多可以嵌套32层。 利用图形用户界面创建视图 在SQL Server Management Studio中创建视图的方法主要在视图设计器中完成。 添加好各表后,单击关闭按钮关闭【添加表】对话框。以后需要用可以在关系图窗口的空白处右击。 在关系图窗口中,可以建立表与表之间的联系,只需要将相关联的字段拖动到要连接的字段上即可 单击【执行SQL】按钮 ,运行select语句,查看运行结果。 用命令创建视图 语句格式: create view 视图 [ (列名表) ] as select 子查询 [ with check option ] 创建视图例题 例1:创建所有学生学号、姓名及年龄的信息视图stu_info CREATE VIEW stu_info AS SELECT sno,sname,sage From student 创建视图例题 例3:创建信息系男生基本信息视图stu_is,包括学号、姓名及年龄,并要求进行修改和插入操作时仍保证该视图只有信息系的学生; CREATE VIEW stu_is AS SELECT sno,sname, sage from student Where sdept = ‘IS’ and ssex=‘男’ WITH CHECK OPTION 创建基于多个基表的视图 例1:建立信息系选修了1号课程的学生视图tu_is_c1。 CREATE VIEW stu_is_c1 (学号,姓名,成绩) AS SELECT Student. Sno,Sname,Grade FROM Student,SC WHERE Sdept= ‘IS’ AND SC.Cno= 1 AND Student.Sno=SC.Sno 创建基于多个基表的视图 例2:创建学生选修课程详细情况视图stu_sc; CREATE VIEW stu_sc AS SELECT s.sno,sname,ssex, sage,sdept,c.cno,cname,grade From student s,sc,course c Where s.sno=sc.sno and c.cno=sc.cno 创建基于视图的视图 例1:建立信息系选修了1号课程且成绩在90分以上的学生的视图; 创建代表达式的视图 例1: 定义一个反映学生出生年份的视图; CREATE VIEW stu_year(Sno,Sname,Sbirth) AS SELECT Sno,Sname,出生年份=2007-Sage FROM Student 创建分组视图 例1:将学生的学号及其平均成绩定义为一个视图; CREATE VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno --- 例:创建一个视图,用于查看学生学号、姓名和平均成绩。 CREATE VIEW v_example4 ( 学号, 姓名, 平均成绩) AS SELECT stu_id, name, AVG(grade) FROM v_examples3 GROUP BY
您可能关注的文档
- 草房子读书交流.ppt
- 英语音标认读(最全版).ppt
- 苏科版 奇妙的物理现象.ppt
- 英语口语课ppt 第四纪冰河时代.ppt
- 药品生产统计质量控制方法.pptx
- 英语小讲堂第102讲.ppt
- 荷塘月色示范课件.ppt
- 英文介绍德国Introduction_to_Germany.ppt
- 莲湖区小学简介.doc
- 获取靶基因的方法.ppt
- 年三年级数学下册第三四单元过关检测卷新人教版.docx
- 第十三章轴对称(复习课)1.ppt
- 15.1.2分式基本性质(2).ppt
- 期末冲刺(补全对话30道).docx
- 【华创证券-2025研报】2025年二季报公募基金十大重仓股持仓分析.pdf
- 【港交所-2025研报】景福集团 截至2025年3月31日止年度年报.pdf
- 【天风证券-2025研报】2025中报前瞻:关注预告日至财报日的景气超额.pdf
- 【国金证券-2025研报】连连数字(02598):跨境支付先行者,前瞻布局虚拟资产.pdf
- 【第一上海证券-2025研报】云工场(02512):云工(02512):IDC方案服务商,边缘云业务打造第二成长曲线.pdf
- 【东方证券-2025研报】主动权益基金2025年二季报全解析:重点关注科技医药双主线和中小盘高成长主题基金.pdf
文档评论(0)