马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
一、实验目标
- 明白视图的概念。
- 把握创建、更改、删除视图的方法。
- 把握利用视图来访问数据的方法。
二、实验内容
在job数据库中,有聘任职员信息表:Work_lnfo表,其表布局如下表所示:
此中表中练习数据如下:
1.‘张明’,‘男’,19,‘北京市向阳区’,‘1234567’
2.‘李广’,‘男’,21,‘北京市昌平区’,‘2345678’
3.‘王丹’,‘女’,18,‘湖南省永州市’,‘3456789’
4.‘赵一枚’,‘女’,24,‘浙江宁波市’,‘4567890’
按照下列要求举行利用:
1.创建视图info_view,表现年龄大于20岁的聘任职员id,name,sex,address信息。- CREATE VIEW info_view AS
- SELECT Id, Name, Sex, Address
- FROM Work_Info
- WHERE Age > 20;
复制代码 2.查察视图info_view的根本布局和详细布局。- SHOW COLUMNS FROM info_view;
- SHOW CREATE VIEW info_view;
复制代码 3.查察视图info_view的全部纪录。4.修改视图info_view,满意年龄小于20岁的聘任职员id,name,sex,address信息。- DROP VIEW IF EXISTS info_view;
- CREATE VIEW info_view AS
- SELECT Id, Name, Sex, Address
- FROM Work_Info
- WHERE Age < 20;
复制代码 5.更新视图,将id号为3的聘任员的性别,由“男“改为“女”。- UPDATE Work_Info
- SET Sex = '女'
- WHERE Id = 3;
复制代码 6.删除info_view视图。- DROP VIEW IF EXISTS info_view;
复制代码 三、观察与简答
1.通过视图中插入的数据能进入到根本表中去吗?
是的,通过视图插入的数据通常会直接写入到关联的根本表中,条件是视图界说允许如许的利用,而且插入的数据满意视图和根本表的束缚条件。但假如视图利用了聚合函数、DISTINCT、GROUP BY、HAVING、子查询大概某些复杂的JOIN利用,直接插入大概会受到限定或不允许。
2.WITHCHECK OPTION能起什么作用?
WITH CHECK OPTION是一个可选的视图界说子句,用于限定通过视图举行的插入或更新利用,确保插入或更新的数据满意视图界说中的条件。这意味着,假如试图通过视图插入或更新的数据不符合视图的SELECT语句中的WHERE条件,利用将被拒绝,从而包管视图数据的同等性和逻辑完备性。
3.修改根本表的数据会主动反映到相应的视图中去吗?
是的,当根本表中的数据发生改变时,这些改变会主动反映到基于这些表创建的视图中。由于视图是根本表数据的动态查询效果,每次查询视图时都会重新盘算视图界说的查询表达式,以是任何对根本表的修改都会在视图中表现出来。
4.哪些视图中的数据不可以增编削利用?
不可以直接在基于聚合函数(如SUM,AVG等)、DISTINCT、GROUP BY、HAVING子句、复杂毗连(多表JOIN)大概包罗非确定性列(如盘算列)界说的视图上实行增编削(INSERT, DELETE, UPDATE)利用。这些范例的视图通常只用于读取数据,由于它们不直接对应于底子表中的单一行或可猜测的数据集。别的,假如视图界说中包罗了子查询或表达式,使得插入或更新利用无法直接转换为对根本表的利用,那么这些利用也将被克制。
|