视图管理实验报告结果分析(MySQL索引、视图创建与管理操作实验)

2023-12-05 05:52:00 来源 : haohaofanwen.com 投稿人 : admin

下面是好好范文网小编收集整理的视图管理实验报告结果分析(MySQL索引、视图创建与管理操作实验),仅供参考,欢迎大家阅读!

视图管理实验报告结果分析

实验4:索引、视图创建与管理操作实验

一、实验目的:

理解索引的概念与类型。

掌握创建、更改、删除索引的方法。

掌握维护索引的方法。

理解视图的概念。

掌握创建、更改、删除视图的方法。

掌握使用视图来访问数据的方法。

二、验证性实验

在job数据库中有登录用户信息:userlogin表和个人信息:information 表。具体如表结构所示。

createdatabase job;use job;createtable userlogin(	id uniqueprimarykeyauto_increment,	name varchar	password varchar	info createtable information(	id primarykeyuniqueauto_increment,	name varchar	sex varchar	birthday date,	address varchar	tel varchar	pic  userlogin;desc information;

请在上述2表上完成如下操作:

1、在name字段创建名为index_name的索引

createindex index_name on information (name

2、创建名为index_bir的多列索引

createindex index_bir on information (birthday,address);

3、用 ALTER TABLE 语句创建名为index_id的惟一性索引

altertable information addindex index_id(id 

4、删除 userlogin 表上的index_ userlogin 索引

createindex index_userlogin on userlogin(id index_userlogin on userlogin;

5、查看 userlogin 表的结构的代码如下:

showcreatetable userlogin G

6、删除information 表上的index_name索引

dropindex index_name on information;

7、查看information 表的结构的语句如下:

showcreatetable information G

在job数据库中,有聘任人员信息表:Work_lnfo表,其表结构如下表所示:

其中表中练习数据如下:

1,‘张明’,‘男’,19,‘北京市朝阳区’,‘1234567’

2,‘李广’,‘男’,21,‘北京市昌平区’,‘2345678’

3,‘王丹’,‘女’,18,‘湖南省永州市’,‘3456789’

4,‘赵一枚’,‘女’,24,‘浙江宁波市’,‘4567890’

(	id primaryunique,;(id,name,sex,age,address,tel)values'北京市朝阳区','1234567''北京市昌平区','2345678''湖南省永州市','3456789''浙江省宁波市','4567890'(id,name,sex,age,address,tel)values'BJSCYQ','1234567''BJSCPQ','2345678''NMAN''HNSYZS','3456789''NMAN''ZJSNBS','4567890');select*;

按照下列要求进行操作:

1.创建视图info_view,显示年龄大于20岁的聘任人员id,name,sex,address信息。

createalgorithm info_view(id,name,sex,address)asselect id,name,sex, where ageoption;

2.查看视图info_view的基本结构和详细结构

查看基本结构的代码如下:

desc info_view;

查看详细结构的代码如下:

showcreateview info_view G

3.查看视图info_view的所有记录

select*from info_view;

4.修改视图info_view,满足年龄小于20岁的聘任人员id,name,sex,address信息

alteralgorithm info_view(id,name,sex,address)asselect id,name,sex, where ageoption;

5.更新视图,将id号为3的聘任员的性别,由“男“改为“女”。

update info_view set sex idupdate info_view set sex='NOMA'where id

6.删除info_view视图

dropview info_view;

三、设计性试验

在数据库job下创建worklnfo表。创建表的同时在id字段上创建名为index_id的唯一性索引,而且以降序的格式排列。Worklnfo表内容如表所示。

createtable workinfo(	id uniqueprimarykeyauto_increment,	name varcharvarchar	address varchar	wages year,	contents tinytext,	extra text,uniqueindex index_id(id 

请完成如下操作:

1、使用 CREATE INDEX 语句为name字段创建长度为10的索引index_name。

createindex index_name on workinfo(name

2、使用 ALTER TABLE 语句在type和address上创建名为index_t的索引。

altertable workinfo addindex index_taddress);

3、使用 ALTER TABLE 语句将workInfo表的存储引擎更改为MyISAM类型。

altertable workinfo ENGINE=MYISAM;

4、使用 ALTER TABLE 语句在extra字段上创建名为index_ext的全文索引。

altertable workinfo add fulltext index index_ext(extra);

5、使用 DROP 语句删除workInfo表的惟一性索引index_id。

dropindex index_id on workinfo;

在学生管理系统中,有学生信息表studentinfo表,其表结构如下:

createtable studentinfo(	number primarykeyunique,	name varchar	major varchar	age 

请完成如下操作:

使用CREATEVIEW语句来创建视图college_view,显示studentinfo表中的number,name,age,major,并将字段名显示为:

student_num,student_name,student_age,department。createalgorithm=undefinedviewcollege_view(student_num,student_name,student_age,department)asselect number,name,age,major from studentinfooption;

执行SHOW CREATE VIEW语句来查看视图的详细结构。

showcreateview college_view G

更新视图。向视图中插入如下3条记录:

0901,‘张三’,20,‘外语’

0902,‘李四’,22,‘计算机’

0903,‘王五’,19,‘计算机’

insertinto college_view(student_num,student_name,student_age,department)values

修改视图,使视图中只显示专业为“计算机”的信息。

createorreplacealgorithm=undefinedviewcollege_view(student_num,student_name,student_age,department)asselect number,name,age,majorfrom studentinfo where majoroption;

删除视图。

dropview college_view;

四、观察与思考

数据库中索引被破坏后会产生什么结果?

答:不能使用delete操作。

视图上能创建索引吗?

答:不能,视图是select语句的结果集,是放在内存中的数据索引是创建在存储空间的对象上,占用存储空间。

MySQL中组合索引创建的原则是什么?

答:1.创建查询频率高的字段索引;

2.索引的数目不宜太多;

3.选择唯一性索引;

4.对排序、分组、联合查询频率高的字段创建索引;

5.尽量使用前缀来索引;

6.尽量使用数据量少的索引。

主键约束和唯一约束是否会默认创建唯一索引?

答:会,主键约束的索引键在定义上不允许为NULL,而唯一约束的索引键在定义上允许为NULL。

通过视图中插入的数据能进入到基本表中去吗?

答:不能,视图被看成是虚拟表,它并不代表任何的物理数据,只是用来查看数据的视窗数据库中只储存视图的定义,并不是以一组数据的形式储存在数据库中。

with check option能起什么作用?

答:强制视图上执行的所有数据修改语句都必须符合由 select_statement 设置的准则。

修改基本表的数据会自动反映到相应的视图中去吗?

答:视图是一个虚拟表,其内容由查询定义。视图中的数据是由一张或多张表中的数据组成的。如果你改动了基本表,你的视图来源于这个基本表,那视图给你呈现的结果也会随之发生变化。

哪些视图中的数据不可以增删改操作

答:视图定义信息、隐藏视图定义


相关文章

专题分类