国家开放大学《MySQL数据库应用》实验训练4数据库系统维护作业

MySQL数据库应用 实验训练4答案


1.1   实验目的 通过创建数据库、并进行相应的维护,了解并掌握
Mysql 数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。
1.2   实验内容 1 .数据库创建与维护 (1)   创建数据库表 创
建学生选课数据库中所包含的数据库表,数据库表结构如下: 
学生(学号,姓名,性别,年龄,系别,班级) 课程(课程编号,
课程名称,学分) 选修(学号,课程编号,学生成绩) 要求为各数据库表属性选择合适的数据类型。
列名、数据类型(长度列、精度、小数位数项)、是否允许空值等。 
(2)   查看和修改表结构。
选择一个数据库表,练习对其表结构进行相应的修改。 
(3)   练习用交互式的 SQL 语句分别完成以上操作。 
(4)   对学生数据库中的三张表分别插入数据;
(5)   对表中的数据进行修改;
(6)   对表中的数据进行删除操作 2 .   ( 1 )建立如下视图: 
    学生选修课程信息视图,包括以下内容:  
    学生学号、姓名、所在系、选修的课程编号、课程名称、成绩  
( 2 )修改以上视图,增加学生所在班级信息。

  ( 3 )对以上视图删除。  
1.3   实验要求 1 .   数据库创建与维护实验则要求面向具体应用领域,利用 SQL Server 相关机制,创建并维护数据库系统,为后续各个实验提供前期准备 2 .   要求学生根据以上要求确定实验步骤,独立完成以上实验内容。并在安装和数据库运行后熟悉 SQLSERVER  的各种运行管理。
3 .   实验完成后完成实验报告 1.4   实验环境 Windows8 pc 机  
Mysql 配置的环境 Mysql 命令行工具 Workbench 可视化 工具 1.5  
实验步骤及结果分析 1.5.1   student 数据库创建   打开命令行
工具,输入密码,用 use 语句使用相应数据。 
U se  student 使用老师的给的数据库 。
在 workbench 中我们可以看到创建数据库的代码 :
    下面是输入的数据  此处我们会发现乱码问题,老师给的代码中写的是 Latin ,我们改成 utf -8 , 便解决了中文乱码问题 。 
创建数据库语句 , create table +` 数据库名 `(  ` 属性名 `  属性类型   约束 ) 1.5.2   数据库操作 — 属性查询 查询表结构:
即各个属性和属性的完整性约束等。( 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 `student` values('33333',' 茹兴康 ',' 男 ','
1997/7/7 8:00',' 计算机 ','314 6 ');  插入成功 , 因为
插入的 classno 为 3146  是 4 位的,所以说明 数据库结构修改成功。
我们查询一下 :
 插入成功 ,数据库结构修改成功。  
1.5.5   数据库操作 — 数据查询 例如:我们查询学号为 30201
的学生的所有信息 。 
采用语句结构 :
select+ 查询的属性  from+ 要查找的表  where + 约束条件 : 
S elect * from student where sno=30201;  1.5.6   数据库操作
— 数据修改 我们按学号为 30201 ,即第一个数据为例,修改他的名字, Update student set sname = ’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 as select
sno,sname,dept,cno,cname,grade,classno from student natural
join sc natural join course;  我们在 下面的 视图查询 操作 中检测试图是否创建成功 。
1.5.9   视图操作 — 视图查询 由于在上述实验中我们将第一个
学生的数据删除掉了,所以我们选择查询后面的同学, 查询视图操
作代码和查询表格是一样的。 
代码 :
select * from view1 where sno=30203;( 其中 view1 是我们创建
的视图名称 ) ;
 由于该同学选择了三门不同的课程,因此在进行表连接的时候,增
加了该同学的元组数量,最终查询出 3 条结果。
1.5.10   视图操作 — 视图结构修改 在视图创建中 , 我们创建
了视图的 classno 班级信息 , 现在我们删除这一属性 。 
使用语句 :

create or replace view 。
C reate  or replace view view1 as select
sno,sname,dept,cno,cname,grade from student natural join sc
natural join course; 然后我们在查询一下 view1 的结构 , 同
table 操作一样 , 用 desc 语句 。结果如下: 
 显然 , view1 视图结构中没有了 classno 属性 。  
1.5.11   视图操作 — 视图删除 最后 , 我们删除视图 view1 ,
采用语句 drop view ;
语句 :
drop view if exists view1; 结果 :
 删除成功 , 然后我们在查询视图 view1 时产生错误 , 验证了
view1 的删除 。
1.6   实验总结 我们进行了 对数据库表的基本操作;
对视图的基本操作。让我们将数据库的理论知识和具体操作很好的结合。
虽然 , 我们刚开始进行的实验操作都比较基础 , 适用语句都比较简单 , 但是我充分感受到了数据库的美妙 , 同时也大大增加了我对命令行操作的兴趣 。
在对数据库表和视图操作中 , 我经历了书上查阅 , 网上 mysql 命令行使用教程查阅 , 网上 mysql 命令语句查询 , 最终完成了此次实验 , 让我对数据库的基础语句使用以及常用语句使用有了更大的接触 。

同时 , 实验也让我对视图的作用最直接的了解 , 让我对理论课的学习有了更明确的目标性 。 
 

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享