实验训练4:数据库系统维护作业.docx
《实验训练4:数据库系统维护作业.docx》由会员分享,可在线阅读,更多相关《实验训练4:数据库系统维护作业.docx(6页珍藏版)》请在冰豆网上搜索。
实验训练4:
数据库系统维护作业
1.1实验目的
通过创建数据库、并进行相应的维护,了解并掌握Mysql数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素.
1.2实验内容
1.数据库创建与维护
(1)创建数据库表
创建学生选课数据库中所包含的数据库表,数据库表结构如下:
学生(学号,姓名,性别,年龄,系别,班级)
课程(课程编号,课程名称,学分)
选修(学号,课程编号,学生成绩)
要求为各数据库表属性选择合适的数据类型。
列名、数据类型(长度列、精度、小数位数项)、是否允许空值等.
(2)查看和修改表结构。
选择一个数据库表,练习对其表结构进行相应的修改.
(3)练习用交互式的SQL语句分别完成以上操作。
(4)对学生数据库中的三张表分别插入数据;
(5)对表中的数据进行修改;
(6)对表中的数据进行删除操作
2.
(1)建立如下视图:
学生选修课程信息视图,包括以下内容:
学生学号、姓名、所在系、选修的课程编号、课程名称、成绩
(2)修改以上视图,增加学生所在班级信息。
(3)对以上视图删除。
1.3实验要求
1.数据库创建与维护实验则要求面向具体应用领域,利用SQLServer相关机制,创建并维护数据库系统,为后续各个实验提供前期准备
2.要求学生根据以上要求确定实验步骤,独立完成以上实验内容。
并在安装和数据库运行后熟悉SQLSERVER的各种运行管理。
3.实验完成后完成实验报告
1.4实验环境
Windows8pc机
Mysql配置的环境
Mysql命令行工具
Workbench可视化工具
1.5实验步骤及结果分析
1.5.1student数据库创建
打开命令行工具,输入密码,用use语句使用相应数据.Usestudent使用老师的给的数据库。
在workbench中我们可以看到创建数据库的代码:
下面是输入的数据
此处我们会发现乱码问题,老师给的代码中写的是Latin,我们改成utf-8,便解决了中文乱码问题.
创建数据库语句,createtable+`数据库名`(
`属性名`属性类型约束
)
1.5.2数据库操作---属性查询
查询表结构:
即各个属性和属性的完整性约束等。
(descstudent)
该语句给我们展示了我们创建的数据的所有(属性名+类型+默认初始情况+约束等)信息。
1.5.3数据库操作---数据结构修改
在老师给的默认数据库中,我发现最后一个属性classno的属性为varchar(3);但是数据库数据中classno本来是4位数,所以导致存储时与原数据不匹配.因此,我们修改一下该属性。
即:
将它改为4位长度的:
altertable`student`modify`classno`varchar(4)DEFAULTNULL;
我们在数据插入操作中进行检测.
1.5.4数据库操作—数据插入
例如,我们加入一个学生信息,以自己为例:
insertinto`student`values(’33333’,’茹兴康’,'男','1997/7/78:
00’,’计算机’,’3146');
插入成功,因为插入的classno为3146是4位的,所以说明数据库结构修改成功。
我们查询一下:
插入成功,数据库结构修改成功。
1.5.5数据库操作—-—数据查询
例如:
我们查询学号为30201的学生的所有信息.
采用语句结构:
select+查询的属性from+要查找的表where+约束条件:
Select*fromstudentwheresno=30201;
1.5.6数据库操作———数据修改
我们按学号为30201,即第一个数据为例,修改他的名字,
Updatestudentsetsname=’abc’wheresno=30201;
1.5.7数据库操作-——数据删除
我们按学号为30201,即第一个数据为例:
deletefrom`student`wheresno='30201';
因为我们已经删除了该数据,所以查询为空.
1.5.8视图操作-——视图创建
视图,用来更方便的展示某些信息,或者为了更安全的选择展示或隐藏某些信息。
我们将student表,sc表,course表连接起来创建新的视图,从而让学生信息更直观,更方便。
创建视图所需语句:
createview+视图名+as+查询语句.
createviewview1as
selectsno,sname,dept,cno,cname,grade,classno
fromstudentnaturaljoinscnaturaljoincourse;
我们在下面的视图查询操作中检测试图是否创建成功.
1.5.9视图操作-——视图查询
由于在上述实验中我们将第一个学生的数据删除掉了,所以我们选择查询后面的同学,
查询视图操作代码和查询表格是一样的。
代码:
select*fromview1wheresno=30203;(其中view1是我们创建的视图名称);
由于该同学选择了三门不同的课程,因此在进行表连接的时候,增加了该同学的元组数量,最终查询出3条结果.
1.5.10视图操作-—-视图结构修改
在视图创建中,我们创建了视图的classno班级信息,现在我们删除这一属性.
使用语句:
createorreplaceview。
Createorreplaceviewview1as
selectsno,sname,dept,cno,cname,grade
fromstudentnaturaljoinscnaturaljoincourse;
然后我们在查询一下view1的结构,同table操作一样,用desc语句。
结果如下:
显然,view1视图结构中没有了classno属性。
1.5.11视图操作—--视图删除
最后,我们删除视图view1,采用语句dropview;
语句:
dropviewifexistsview1;
结果:
删除成功,然后我们在查询视图view1时产生错误,验证了view1的删除。
1.6实验总结
我们进行了对数据库表的基本操作;对视图的基本操作.让我们将数据库的理论知识和具体操作很好的结合。
虽然,我们刚开始进行的实验操作都比较基础,适用语句都比较简单,但是我充分感受到了数据库的美妙,同时也大大增加了我对命令行操作的兴趣。
在对数据库表和视图操作中,我经历了书上查阅,网上mysql命令行使用教程查阅,网上mysql命令语句查询,最终完成了此次实验,让我对数据库的基础语句使用以及常用语句使用有了更大的接触.同时,实验也让我对视图的作用最直接的了解,让我对理论课的学习有了更明确的目标性。