实验三,,MySQl数据库特殊对象,(2)

来源:公文范文 发布时间:2022-10-24 12:10:09

下面是小编为大家整理的实验三,,MySQl数据库特殊对象,(2),供大家参考。

实验三,,MySQl数据库特殊对象,(2)

 

  实 验 报 告 课程名称:

  数据库系统原理

  实验名称:

  MySQL 数据库特殊对象

  实验名称:

 MySQL 数据库特殊对象 实验目的:

 1. 掌握数据表格中索引的创建和删除操作; 2. 掌握数据表格中视图的创建、权限分配和删除等操作; 3. 在创建索引和视图时会合理选择存储过程并熟练使用常见函数; 4. 完成数据备份。

 实验设备与环境:计算机,MysqL,navicat 等。

 一、实验内容:(请将书本课后习题 6.3 补充下面内容,并完成下列要求)

 6.3 创建三个表分别为学生表(学号,姓名,专业,年龄,性别;并且以学号为主码),课程表(编号,名称;以编号为主码)以及选课表(学号,编号,教室,成绩;以学号和编号为主码)

 1、完成数据操作实现索引; 2、设置存储过程,并使用合适的函数完成索引操作; 3、完成数据操作实现视图; 4、设置存储过程,并使用合适的函数完成视图操作; 5、完成数据备份。

 二、运行程序:

 第一个表; CREATE TABLE IF NOT EXISTS 学生(

 学号 SMALLINT UNSIGNED AUTO_INCREMENT KEY,

 姓名 VARCHAR(20) NOT NULL UNIQUE,

 专业 VARCHAR(20),

 年龄 SMALLINT(3),

 性别 enum(" 男"," 女"," 保密") )ENGINE=INNODB,CHARSET=utf8; CREATE INDEX in_ 学号 ON 学生( 学号); CREATE INDEX in_ 姓名 ON 学生( 姓名); CREATE INDEX in_ 专业 ON 学生( 专业); CREATE INDEX in_ 年龄 ON 学生( 年龄); 第二个表; CREATE TABLE IF NOT EXISTS 课程(

 编号 TINYINT UNSIGNED AUTO_INCREMENT KEY,

 名称 VARCHAR(20) NOT NULL UNIQUE,

 INDEX in_ 名称( 名称),

 KEY in_ 编号( 编号) )ENGINE=INNODB, CHARSET=utf8; 第三个表; CREATE TABLE 选课(

  学号 SMALLINT UNSIGNED,

 编号 TINYINT UNSIGNED,

 教室 INT(4),

 成绩 TINYINT(3),

 PRIMARY KEY( 学号, 编号)

 )ENGINE=INNODB, CHARSET=utf8; ALTER TABLE 选课 ADD INDEX in_ 学号( 学号); ALTER TABLE 选课 ADD INDEX in_ 编号( 编号); ALTER TABLE 选课 ADD INDEX in_ 教室( 教室); ALTER TABLE 选课 ADD INDEX in_ 成绩( 成绩); 查看索引:

 SHOW INDEX FROM 学生 FROM suoyin;

  SHOW INDEX FROM 选课 FROM suoyin;

  SHOW INDEX FROM 课程 FROM suoyin;

 删除索引 ALTER TABLE 学生 DROP PRIMARY KEY ;

 视图 CREATE VIEW 视图( 学号, 姓名, 专业, 年龄, 性别, 编号, 教室, 成绩) AS SELECT 学生. 学号, 学生. 姓名, 学生. 专业, 学生. 年龄, 学生. 性别, 选课.编 编号 号, 选课. 教室, 选课. 成绩 FROM 学生, 课程, 选课

 WHERE 学生. 学号= 选课. 学号 查看视图 SHOW CREATE VIEW 视图; 删除视图 DROP VIEW 视图;

 三、实验结果分析:(提供关键结果截图和分析)

 1.1 创建学生表的索引

 1.2 创建课程表的索引

 1.3 创建选课表的索引

 2 2.2 查看索引:

 方法一:

 方法二:

 方法三:

 3 2.3 删除索引

 3.1.创建视图

  3.2 查看视图

  3.3 删除视图

 四、实验总结:( 包括心得体会、问题回答及实验改进意见,可附页 )

 )

 主键索引是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值。一般是在建表的时候同时创建主键索引。直接创建:CREATE INDEX std_idx_name ON student(std_name);修改表时创建索引:ALTER TABLE students ADD INDEX std_idx_name2(std_name);创建表时建立索引:加入 index std_idx_name3(std_name) 。查看索引:SHOW INDEX FROM students。root 登录服务器,运行命令,注意 username 和 data 修改。Grant 是分配权限的命令。all privileges 指所有的权限,也可以指定给某些权限给用户。Test_db 表示 test_db 库的所有表,可以指定某个表,test_db.table 或者所有数据库的所有表。

  成 成 绩 绩 评 评 定 定

 课堂 迟到早退 □

 无故旷课 □

 请假 □ 上机期间高声喧哗、随意走动、玩手机、做课堂无关的事 □ 严重影响课堂秩序、性质恶劣 □ 成绩:

  教师签字:

 编程 上机期间不动手 □

 找人编程 □

  规定时间内未完成任务 □ 实验 报告

 操作熟练,数据处理方法合理 □

 实验结果分析合理、准确 □ 总结具体,能够体现收获和思考 □

 实验报告内容完整 □

 抄袭、伪造他人程序及结果 □

 按时提交实验报告 □

推荐访问: MySQl数据库特殊对象 (2) 对象 实验 数据库
上一篇:新闻发布管理系统数据库设计实践(完整文档)
下一篇:期末测试卷(一)(2022年)

Copyright @ 2013 - 2018 小艾秘书网 All Rights Reserved

小艾秘书网 版权所有 湘ICP备11019447号-75