资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
周慧周慧教学单元教学单元2.6第第8章章 视图的创建与应用(视图的创建与应用(T-SQL) SQL Server 2012数据库技术及应用数据库技术及应用案例案例2-8-1 2-8-1 图书管理视图的创建与管理图书管理视图的创建与管理案例案例2-8-2 2-8-2 图书管理视图的应用图书管理视图的应用MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *视图的创建与应用视图的创建与应用 学习导航学习导航2 2MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *视图的创建与应用视图的创建与应用 知识框架知识框架3 3使用T-SQL命令方式MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *单元单元2.6 视图的创建与应用(视图的创建与应用( T-SQL )vv能力目标能力目标能力目标能力目标n能够使用能够使用T-SQL创建视图创建视图n能够能够使用使用T-SQL修改和删除修改和删除视图视图n能够能够应用应用视图视图使用使用T-SQL对对表表进行操作进行操作n能够能够阅读并熟练书写阅读并熟练书写有关创建与管理视图的有关创建与管理视图的T-SQL命令和有关参数(英文命令和有关参数(英文)4 4MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *vv知识目标知识目标知识目标知识目标n使用使用T-SQL创建视图的语法与创建视图的语法与用法用法n使用使用T-SQL修改视图的语法与修改视图的语法与用法用法n使用使用T-SQL应用应用视图操作表的视图操作表的方法方法vv素质目标素质目标素质目标素质目标n加强加强数据库开发的核心能力和团队沟通数据库开发的核心能力和团队沟通能力能力n通过通过任务训练培养思维的灵活性、任务训练培养思维的灵活性、创造性创造性5 5单元单元2.6 视图的创建与应用(视图的创建与应用( T-SQL )MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *案例案例案例案例2 2 2 2 图书管理系统图书管理系统图书管理系统图书管理系统案例案例2-8-1 2-8-1 图书管理视图的创建与管理图书管理视图的创建与管理( T-SQL )案例案例2-8-2 2-8-2 图书管理视图的应用图书管理视图的应用( T-SQL )工作任务工作任务6 6单元单元2.6 视图的创建与应用(视图的创建与应用( T-SQL )MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *使用使用T-SQL创建与管理视图创建与管理视图一一使用使用T-SQL应用应用视图视图二二7 7单元单元2.6 视图的创建与应用(视图的创建与应用( T-SQL )MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *一、使用一、使用T-SQL创建与管理视图创建与管理视图案例案例案例案例2-8-1 2-8-1 2-8-1 2-8-1 图书管理视图的创建与管理(图书管理视图的创建与管理(图书管理视图的创建与管理(图书管理视图的创建与管理(T-SQLT-SQLT-SQLT-SQL)根据图书管理系统的功能需求,对于数据库根据图书管理系统的功能需求,对于数据库“Library”,在案例在案例2-6-1中所创建的基表(模式)的基础上,使用中所创建的基表(模式)的基础上,使用T-SQL创建与管理视图(外模式)。创建与管理视图(外模式)。工作任务工作任务8 8MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *一、使用一、使用T-SQL创建与管理视图创建与管理视图使用使用T-SQL创建视图创建视图1使用使用T-SQL修改视图修改视图23使用使用T-SQL删除视图删除视图9 9MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图语法:语法:CREATE VIEW 视图名视图名(列名列名,.n) -指定视图列名指定视图列名AS SELECT查询语句查询语句CREATE VIEW1010MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图准则准则可以在其他视图的基础上创建视图。可以在其他视图的基础上创建视图。SELECT查询语句如果包含查询语句如果包含ORDER BY子句,则必子句,则必须在须在SELECT子句后加子句后加TOP参数。参数。不能为视图定义全文索引。不能为视图定义全文索引。视图创建的说明视图创建的说明1111MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图视图中的列是从算术表达式、内置函数或常量派生而视图中的列是从算术表达式、内置函数或常量派生而来的。来的。视图中存在两列或多列具有相同的名称(由于定义中视图中存在两列或多列具有相同的名称(由于定义中通常涉及多个基表的连接)。通常涉及多个基表的连接)。希望为视图中的列指定一个与基表列不同的名称,视希望为视图中的列指定一个与基表列不同的名称,视图列将继承基表列的数据类型。图列将继承基表列的数据类型。必须必须指定视图中列的名称指定视图中列的名称1212MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图 若无需在创建视图时指定列名,若无需在创建视图时指定列名,SQL Server会为视会为视图中的列指定与创建视图的查询所引用的列,拥有相图中的列指定与创建视图的查询所引用的列,拥有相同的名称和数据类型。同的名称和数据类型。无需在创建视图时指定列名无需在创建视图时指定列名1313MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图例例1:在图书管理数据库在图书管理数据库“Library”中,由图书表中,由图书表“Book”创建出人民邮电出版社出版的图书视图创建出人民邮电出版社出版的图书视图“View_BookPostTel”。图书管理数据库视图的创建图书管理数据库视图的创建1414MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图代码:代码:USE LibraryGOCREATE VIEW View_BookPostTel -创建视图创建视图AS -为以下子查询为以下子查询 SELECT BID,Bname,Author,Publisher,Price FROM Book WHERE Publisher=人民邮电出版社人民邮电出版社 图书管理数据库视图的创建图书管理数据库视图的创建1515MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图执行结果:执行结果:命令已成功完成。命令已成功完成。打开视图编辑器:打开视图编辑器:在视图节点上单击右在视图节点上单击右键,在弹出的快捷菜键,在弹出的快捷菜单中选择单中选择“编辑前所编辑前所有行有行”命令(说明:命令(说明:打开之前要对视图节打开之前要对视图节点进行刷新点进行刷新图书管理数据库视图的创建图书管理数据库视图的创建1616MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图打开创建的视图打开创建的视图1717MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图例例2:创建视图创建视图“View_RBorrow”,得到读者借书应还日期,得到读者借书应还日期信息。信息。图书管理数据库视图的创建图书管理数据库视图的创建1818MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视创建视图图代码:代码:CREATE VIEW View_Rborrow(读者编号读者编号,姓名姓名,图书编号图书编号,图书名图书名,应还日期应还日期) -指定视图列名指定视图列名AS-投影子查询的各列和应还日期函数值投影子查询的各列和应还日期函数值SELECT Reader.RID,Reader.Rname,Book.BID,Book.Bname, DATEADD(dd,ReaderType.LimitDays,Borrow.LendDate) FROM Reader INNER JOIN Borrow ON Reader.RID = Borrow.RID INNER JOIN ReaderType ON Reader.TypeID = ReaderType.TypeIDINNER JOIN Book ON Borrow.BID = Book.BIDWHERE Borrow.ReturnDate IS NULL -子查询尚未还书选择条件子查询尚未还书选择条件图书管理数据库视图的创建图书管理数据库视图的创建1919MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图打开创建的视图打开创建的视图说明:说明:视图中的视图中的“应还日期应还日期”列来自子查询的函数表达式,在引列来自子查询的函数表达式,在引用视图时动态生成得到其值,是逻辑意义上的数据,不改用视图时动态生成得到其值,是逻辑意义上的数据,不改变源表。变源表。2020MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图例例3:创建视图创建视图“View_Overdue”,从视图,从视图“View_RBorrow”中查询出借阅超期的读者信息。中查询出借阅超期的读者信息。代码:代码:CREATE VIEW View_Overdue ASSELECT *FROM View_RBorrow -视图来自子查询的视图视图来自子查询的视图WHERE (应还日期应还日期GETDATE() -应还日期小于假设系统日期应还日期小于假设系统日期2017-12-01图书管理数据库视图的创建图书管理数据库视图的创建2121MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(一)使用(一)使用T-SQL创建视图创建视图打开创建的视图打开创建的视图说明:说明:假设系统日期函数假设系统日期函数GETDATE()的值为的值为2017年年12月月1日,可见这两位读者借阅超期了。日,可见这两位读者借阅超期了。2222MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *一、使用一、使用T-SQL创建与管理视图创建与管理视图使用使用T-SQL创建视图创建视图1使用使用T-SQL修改视图修改视图23使用使用T-SQL删除视图删除视图2323MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(二)使用(二)使用T-SQL修改视图修改视图语法:语法:ALTER VIEW 视图名视图名AS SELECT 查询语句查询语句说明:说明:此命令可以修改已经创建了的视图,除命令不此命令可以修改已经创建了的视图,除命令不同以外,其他参数与创建视图语句中的参数完同以外,其他参数与创建视图语句中的参数完全相同。全相同。ALTER VIEW2424MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(二)使用(二)使用T-SQL修改视图修改视图例例4:修改人民邮电出版社出版的图书视图修改人民邮电出版社出版的图书视图“View_BookPostTel”,为视图指定列名。,为视图指定列名。代码:代码:ALTER VIEW View_BookPostTel(图书编号图书编号,书名书名,作作者者,出版社出版社,价格价格) -指定视图中每列的名称指定视图中每列的名称AS SELECT BID,Bname,Author,Publisher,Price FROM Book WHERE Publisher=人民邮电出版社人民邮电出版社图书管理数据库视图的修改图书管理数据库视图的修改2525MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(二)使用(二)使用T-SQL修改视图修改视图打开修改的视图打开修改的视图说明:说明:视图各列指定了新的名称。视图各列指定了新的名称。2626MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *一、使用一、使用T-SQL创建与管理视图创建与管理视图使用使用T-SQL创建视图创建视图1使用使用T-SQL修改视图修改视图23使用使用T-SQL删除视图删除视图2727MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *(三)使用(三)使用T-SQL删除视图删除视图语法:语法:DROP VIEW 视图名视图名例例5:删除视图删除视图V1_BOOKS代码:代码:DROP VIEW V1_BOOKSDROP VIEW2828MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *单元单元2.6 视图的创建与应用(视图的创建与应用(T-SQL)使用使用T-SQL创建与管理视图创建与管理视图一一使用使用T-SQL应用应用视图视图二二2929MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图案例案例案例案例2-8-2 2-8-2 2-8-2 2-8-2 图书管理视图的应用图书管理视图的应用图书管理视图的应用图书管理视图的应用根据图书管理系统的功能需求,应用案例根据图书管理系统的功能需求,应用案例2-8-1所创建的视所创建的视图进行数据操作。图进行数据操作。工作任务工作任务3030MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图注意:注意:不不允允许许修修改改视视图图中中表表达达式式、聚聚合合函函数数和和GROUP BY子句派生的列。子句派生的列。视图来自多个表时,不允许插入和删除数据行视图来自多个表时,不允许插入和删除数据行其他操作都可以把视图当做(虚)表来进行其他操作都可以把视图当做(虚)表来进行3131MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图例例6:从读者借书应还日期信息视图从读者借书应还日期信息视图“View_RBorrow”中中查询出读者查询出读者“程鹏程鹏”所借图书的应还日期等信息。所借图书的应还日期等信息。代码:代码:SELECT 读者编号读者编号,姓名姓名,图书编号图书编号,图书名图书名,应还日期应还日期FROM View_RBorrow -查询来自视图查询来自视图WHERE 姓名姓名=程鹏程鹏 -选择读者为程鹏选择读者为程鹏1.使用使用T-SQL查询数据查询数据3232MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图例例6:从读者借书应还日期信息视图从读者借书应还日期信息视图“View_RBorrow”中查中查询出读者询出读者“程鹏程鹏”所借图书的应还日期等信息。所借图书的应还日期等信息。执行结果:执行结果:1.使用使用T-SQL查询数据查询数据3333MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图例例7:通过视图通过视图“View_BookPostTel”插入一本人民邮电出版插入一本人民邮电出版社出版的名为社出版的名为“SQL Server 2008数据库设计与实现数据库设计与实现”的的图书。图书。代码:代码:INSERT INTO View_BookPostTel(图书编号图书编号,书名书名,作者作者,出版社出版社,价格价格)VALUES(TP311.138/231,SQL Server 2008数据库设数据库设计与实现计与实现, Louis Davidson,人民邮电出版社人民邮电出版社,89.00)2.使用使用T-SQL插入数据行插入数据行3434MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图例例7:通过视图通过视图“View_BookPostTel”插入一本人民邮电插入一本人民邮电出版社出版的名为出版社出版的名为“SQL Server 2008数据库设计数据库设计与实现与实现”的图书。的图书。打开基本表打开基本表Book:2.使用使用T-SQL插入数据行插入数据行3535MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图例例8:通通过过视视图图“View_BookPostTel” 更更新新人人民民邮邮电电出出版版社社出出版版的的名名为为“SQL Server 2008数数据据库库设设计计与与实实现现”的的图书为图书为“SQL Server 2008数据库设计数据库设计”。代码:代码:UPDATE View_BookPostTelSET 书名书名=SQL Server 2008数据库设计数据库设计WHERE 书名书名=SQL Server 2008数据库设计与实现数据库设计与实现3.使用使用T-SQL更新数据更新数据3636MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图例例8:通通过过视视图图“View_BookPostTel” 更更新新人人民民邮邮电电出出版版社社出出版版的的名名为为“SQL Server 2008数数据据库库设设计计与与实实现现”的图书为的图书为“SQL Server 2008数据库设计数据库设计”。打开基本表打开基本表Book:3.使用使用T-SQL更新数据更新数据3737MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *二、使用二、使用T-SQL应用视图应用视图例例9:通通过过视视图图“View_BookPostTel”删删除除人人民民邮邮电电出出版版社社出版的名为出版的名为“SQL Server 2008数据库设计数据库设计”的图书。的图书。代码:代码:DELETE FROM View_BookPostTelWHERE书名书名=SQL Server 2008数据库设计数据库设计4.使用使用T-SQL删除数据行删除数据行3838MicrosoftSQL Server 2012 SQL Server 2012数据库技术及应用数据库技术及应用 人民邮电出版社人民邮电出版社 *视图的创建与应用(视图的创建与应用(T-SQL) 小小结3939周慧周慧SQL Server 2012数据库技术及应用数据库技术及应用
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号