二.报告内容
1.数据库基础知识及设计;
(1)数据库的发展经历了哪三个阶段?(2)【案例]设计学生成绩管理数据库:
一个学生可以选修若干门课程,每门课程由多名学生选修。
学生信息包含学号,姓名,性别,出生日期,年级,院系,家庭住址等,课程信息包含课程号,课程名,开课学期,学分等,学生选修课程将产生成绩,成绩信息包含序号,学号,课程号,成绩等,按照数据库设计思想写出设计步骤;①需求分析.
②概念设计(根据各个实体间的联系绘制E-R图);逻辑设计(以上E-R图转换为关系模型)。
③物理设计。根据MySQL的数据结构,制定数据库文件的名字,设计表的结构。
2.数据库基本操作:
(1)根据数据库设计思想中的物理设计创建数据库stu,并且设置编码方式为 utf8.
(2)创建对应数据表(学生信息表(student)、课程信息表(course)和成绩信息表(score)).
(3)在 student表的sname字段上创建普通索引。
3.记录操作
(1)数据插入:分别为学生信息表(student)、课程信息表(course)和成绩信息表(score)插人若干数据。
(2)数据更新:将学生信息表(student)表中学生学号为‘0101’的生日修改为“2000-09-09’,addr修改为‘上海市’。
(3)数据删除:删除课程信息表(course)中开课学期为‘1’的记录。
4.查询与视图:
(1)单表查询:查询01号课程成绩前3名学生的学号,课程号,成绩,并按成绩从高到低排序,
(2)多表查询:查询学生表student的所有学生的所有选课可能.
(3)子查询:查询选修了“01”号课程的所有学生的学号,姓名,系部.
(4)外键:在stu数据库的student表和score表间创建外键约束;只要某学生有成绩记录,则不允许删除student表中该学生信息;如果修改student学号sid,则score 表中sid 同步更新。
(5)视图:创建多表视图V1,包含sid, sname, cno, cname, result 字段.
5.高级操作:
(1)创建一个函数,根据输入的学生学号查询student表中对应的学生性别,如果是男,返回1:如果是女,返回2:其他情况返回0.(使用if语句或case语句)
(2)创建一个存储过程,要求输人一个正整数,返回其自身的两倍。
(3)创建一个触发器,当对course表的cno列执行修改后,将score表中的cno列同时进行修改,以保证数据的一致性。
6.备份与还原:
(1)打开cmd窗口,备份数据库stu,备份文档命名为stu_copy.sql.(2)将备份的文件stu_copy.sql中的数据还原到数据库stu中.
7.用户与权限:
(1)创建普通用户:账号名zhangsan,密码123456.(2)查询默认用户root和zhangsan的权限。