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