《MySQL数据库应用案例教程》651-5(马洁)教案 第15课 视图(一)_第1页
《MySQL数据库应用案例教程》651-5(马洁)教案 第15课 视图(一)_第2页
《MySQL数据库应用案例教程》651-5(马洁)教案 第15课 视图(一)_第3页
《MySQL数据库应用案例教程》651-5(马洁)教案 第15课 视图(一)_第4页
《MySQL数据库应用案例教程》651-5(马洁)教案 第15课 视图(一)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE6PAGE6PAGE5PAGE5

课题视图(一)课时2课时(90min)教学目标知识技能目标:(1)了解视图的概念和作用(2)掌握创建和查看视图的方法素质目标:(1)认识我国优秀数据库产品,增强民族自豪感(2)树立正确的职业价值观教学重难点教学重点:视图的概念和作用,创建和查看视图的方法教学难点:创建和查看视图的方法教学方法案例分析法、问答法、讨论法、讲授法、实践法教学用具电脑、投影仪、多媒体课件、教材教学设计第1节课:→→→传授新知(38min)第2节课:→传授新知(20min)→课堂实训(15min)→课堂小结(3min)→作业布置(2min)教学过程主要教学内容及步骤设计意图第一节课课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过文旌课堂APP或其他学习软件,预习本节课要学习的知识【学生】完成课前任务通过课前任务,使学生预习本节课要学习的知识,增加学生的学习兴趣考勤(2min)【教师】使用文旌课堂APP进行签到【学生】班干部报请假人员及原因培养学生的组织纪律性,掌握学生的出勤情况问题导入(5min)【教师】提出以下问题:什么是视图?·通过问题导入,引导学生主动思考,激发学生的学习兴趣传授新知(38min)【教师】通过学生的回答引入要讲的知识,讲解视图的概念和创建视图的相关知识12.1视图概述✈【教师】随机邀请学生回答以下问题:视图的作用有哪些?✈【学生】聆听、思考、回答✈【教师】总结学生的回答视图是从数据库中的一张或多张表中导出的表。创建视图时所引用的表称为基表。视图中的数据并不是像表中那样存储在数据库中,它只是读取基表中的数据。对视图的操作与对表的操作一样,可以对其进行查询、修改和删除等操作。在对视图中的数据进行修改时,相应的基本表中的数据也会发生变化;同时,若基本表的数据发生变化,则这种变化也会反映到视图中。假设有worker和work_info两个表,worker表中包含员工的id号和姓名,work_info表中包含员工的id号、所在部门、手机号和薪资。现在要公布员工所在部门和手机号,只需要id号、姓名、所在部门和手机号。这就用到了视图,使用视图获取表的部分信息,这样既满足了要求,又不会破坏原表的结构。✈【教师】随机邀请学生回答以下问题:直接操作数据表与使用视图来操作数据表相比,哪种方式更方便,为什么?✈【学生】聆听、思考、回答✈【教师】总结学生的回答与直接操作数据表相比,视图主要有以下优势:简单:视图中看到的即是需要的,用户完全不需要考虑对应的表结构、关联条件和筛选条件。对于用户来说,经常使用的查询可以被定义为视图。安全:视图可以作为一种安全机制。通过视图,用户只能查看和修改他们所看到的数据,数据库中的其他数据或表既看不见也不可以访问,这样用户就被限制在了数据的不同子集上。数据独立:视图可以使应用程序和数据表在一定程度上独立,创建视图之后,应用程序可以建立在视图之上,从而使程序与数据表分割开来,这样就可以屏蔽表结构变化带来的影响。12.2创建视图✈【教师】组织学生扫码观看“创建视图”视频(详见教材),让学生对操作步骤有一个大致地了解视图可以以一张表为基础创建,也可以以多张表为基础创建。创建视图使用CREATEVIEW语句,其基本语法格式如下:CREATE[ORREPLACE]VIEWview_name[(column_list)]ASSELECT_statement;上述语句中,view_name表示视图的名称,column_list表示视图的字段列表,SELECT_statement表示SELECT语句。创建视图时应注意以下几点:定义中引用的任何表或视图都必须存在。如果在创建视图后,删除定义时引用的表或视图,则使用视图时将导致错误。创建视图不能引用临时表。SELECT语句中最大列名长度为64个字符。12.2.1在单表上创建视图在MySQL中,可以在单个数据表上创建视图,这也是最简单的一种创建方法。【实例12-1】以第5章中“实例5-1”创建的goods表为基表创建视图。步骤1启动并登录MySQL。步骤2执行以下语句,选择数据库db_shop。USEdb_shop;步骤3执行SQL语句,基于goods表创建视图v_table。CREATEVIEWv_tableASSELECTid,nameFROMgoods;步骤4执行SELECT语句,查询视图v_table。SQL语句及其执行结果如下:mysql>SELECT*FROMv_table;+++|id|name|+++|4|休闲西服||5|果汁||3|水果糖||9|牛仔裤||2|牛奶糖||10|红楼梦||8|苹果||1|西游记||7|西瓜||6|论语|+++10rowsinset(0.05sec)默认情况下,视图的字段名与基表的字段名相同。但是,为了增加数据安全性,也可以为视图字段指定不同的名称。【实例12-2】以第5章中“实例5-1”创建的goods表为基表创建视图,并重新为视图字段命名。SQL语句如下:CREATEVIEWv_table2(goods_id,goods_name)ASSELECTid,nameFROMgoods;语句执行成功,查看v_table2视图中的数据,结果如下:mysql>SELECT*FROMv_table2;+++|goods_id|goods_name|+++|4|休闲西服||5|果汁||3|水果糖||9|牛仔裤||2|牛奶糖||10|红楼梦||8|苹果||1|西游记||7|西瓜||6|论语|+++10rowsinset(0.00sec)由结果可以看出,虽然两个视图的字段名不同,但数据是相同的。因此,在使用视图时,有时用户根本就不需要了解基本表的结构,更接触不到实际表中的数据,这样就保证了数据库的安全。12.2.2在多表上创建视图MySQL中还可以在多张表上创建视图,下面通过实例介绍。【实例12-3】以第5章中“实例5-1”创建的goods表和“实例5-2”创建的orders表为基表,创建视图,并重新为视图字段命名。SQL语句如下:CREATEVIEWv_table3(o_id,name)ASSELECTorders.o_id,FROMgoodsJOINordersONgoods.id=orders.goods_id;语句执行成功后,查看v_table3视图中的数据,结果如下:mysql>SELECT*FROMv_table3;+++|o_id|name|+++|2|西游记||4|西游记||6|休闲西服||3|果汁||1|论语|+++5rowsinset(0.00sec)由结果可以看出,视图只列出了订单id和对应的商品名称,其他数据不会显示,这样就很好地保护了基本表中的数据。12.2.3使用图形化工具创建视图使用NavicatforMySQL也可以创建视图,具体操作步骤如下:步骤

1启动NavicatforMySQL并连接MySQL后,双击需要操作的数据库,此处为db_shop。步骤

2单击“视图”按钮,显示前面创建的视图。单击“新建视图”按钮,可以打开视图编辑界面步骤

3切换到“视图创建工具”选项卡,在左侧双击要创建视图的基本表,将其添加至右侧窗口,之后在右侧相应字段的复选框中单击可选择要在视图中显示的字段,最后在右下角的窗口中进一步编辑创建视图的SQL语句……(详见教材)【学生】聆听、思考、记录通过教师的讲解和演示,使学生了解视图的概念和创建视图的相关知识第二节课问题导入(5min)【教师】提出以下问题:如何查看视图信息?【学生】思考、举手回答通过问题导入,引导学生主动思考,激发学生的学习兴趣传授新知(20min)【教师】通过学生的回答引入新知,讲解查看视图的相关知识12.3查看视图✈【教师】组织学生扫码观看“查看视图”视频(详见教材),让学生对查看视图的方法有一个大致的了解视图创建完成之后,用户可以查看视图的相关信息,MySQL提供多种方法用于查看视图。本节将介绍如何查看视图信息。12.3.1查看视图基本信息使用DESC语句可以查看视图的结构,其基本语法格式如下:DESC视图名;【实例12-4】使用DESC语句查看视图v_table的结构。SQL语句及其执行结果如下:mysql>DESCv_table;+++++++|Field|Type|Null|Key|Default|Extra|+++++++|id|int(11)|NO||0|||name|char(30)|YES||NULL||+++++++2rowsinset(0.02sec)【实例12-5】使用DESC语句查看基本表goods的结构。SQL语句及其执行结果如下:mysql>DESCgoods;+++++++|Field|Type|Null|Key|Default|Extra|+++++++|id|int(11)|NO|PRI|NULL|auto_increment||type|char(30)|YES||NULL|||name|char(30)|YES|UNI|NULL|||price|decimal(7,2)unsigned|YES||NULL|||num|int(11)|YES||0|||add_time|datetime|YES||NULL||+++++++6rowsinset(0.00sec)由结果可以看出,视图中不存在主键,并且也不能在视图上创建索引,因为它实际上只是一个结果集。12.3.2查看视图定义语句使用SHOWCREATEVIEW语句可以查看视图定义语句,其基本语法格式如下:SHOWCREATEVIEW视图名;【实例12-6】使用SHOWCREATEVIEW语句查看视图v_table2的定义语句。SQL语句及其执行结果如下:mysql>SHOWCREATEVIEWv_table2\G***************************1.row***************************View:v_table2CreateView:CREATEALGORITHM=UNDEFINEDDEFINER=`root`@`localhost`SQLSECURITYDEFINERVIEW`v_table2`ASselect`goods`.`id`AS`goods_id`,`goods`.`name`AS`goods_name`from`goods`character_set_client:gbkcollation_connection:gbk_chinese_ci1rowinset(0.00sec)执行结果显示了视图的名称,及创建视图的语句等信息。12.3.3通过views表查看视图详细信息在MySQL中,所有视图的详细信息都存储在系统数据库information_schema下的views表中。通过views表,可以查看数据库中所有视图的详细信息。【实例12-7】通过views表查看数据库中视图的详细信息。SQL语句及其执行结果如下:mysql>SELECT*FROMinformation_schema.views\G***************************1.row***************************TABLE_CATALOG:defTABLE_SCHEMA:db_shopTABLE_NAME:v_tableVIEW_DEFINITION:select`db_shop`.`goods`.`id`AS`id`,`db_shop`.`goods`.`name`AS`name`from`db_shop`.`goods`CHECK_OPTION:NONEIS_UPDATABLE:YESDEFINER:root@localhostSECURITY_TYPE:DEFINERCHARACTER_SET_CLIENT:gbkCOLLATION_CONNECTION:gbk_chinese_ci***************************2.row***************************TABLE_CATALOG:defTABLE_SCHEMA:db_shopTABLE_NAME:v_table2VIEW_DEFINITION:select`db_shop`.`goods`.`id`AS`goods_id`,`db_shop`.`goods`.`name`AS`goods_name`from`db_shop`.`goods`CHECK_OPTION:NONEIS_UPDATABLE:YESDEFINER:root@localhostSECURITY_TYPE:DEFINERCHARACTER_SET_CLIENT:gbkCOLLATION_CONNECTION:gbk_chinese_ci【提示】实际的执行结果显示了所有视图的详细信息,此处限于篇幅只截取了前面一部分内容,可以看到12.2节创建的视图信息。下面简单介绍查询结果中的主要参数及其意义。TABLE_CATALOG:表示视图的目录。TABLE_SCHEMA:表示视图所属的数据库。TABLE_NAME:表示视图名称。VIEW_DEFINITION:表示视图定义语句。IS_UPDATABLE:表示视图是否可以更新。DEFINER:表示创建视图的用户。SECURITY_TYPE:表示视图的安全类型。CHARACTER_SET_CLIENT:表示视图的字符集。COLLATION_CONNECTION:表示视图的排序规则。12.3.4使用图形化工具查看视图使用Navica

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论