logo资料库

数据库实验报告.docx

第1页 / 共28页
第2页 / 共28页
第3页 / 共28页
第4页 / 共28页
第5页 / 共28页
第6页 / 共28页
第7页 / 共28页
第8页 / 共28页
资料共28页,剩余部分请下载后查看
实验题目
实验分析
大学教学管理数据库模式表设计
创建表代码
学生
系部
教师
班级
授课地点
课程
学生课程对应
插入数据代码(部分)
教室(13条数据)
系部(10条数据)
教师(10条数据)
学生(34条数据)
班级(14条数据)
课程(13条数据)
学生课程对应(34条数据)
解题代码
1.从课程表中查询所有课程信息
2.从课程表中查询课程类别的信息。
3.从课程表中查询课程类别,要求消除值相同的那些行。
4.从学生表中查询所有的信息,要求只显示查询结果的前6行数据。
5.查询课程表中课程编号、课程名称、 教师、上课时间、限制选课人数和报名人数。
6.在课程表中查询课程类别为“信息技术”,并且学分为“2”的课程。
7.查询课程表的课程信息、报名人数与限选人数之比。
8.查询课程表中最小的报名人数、最大的报名人数以及平均报名人数。
9.查询课程信息、报名人数与限选人数之比。要求查询结果按照报名人数升降排序。
11.查询课程编号为“004”、“007”、“013”的课程信息。
12.查询课程编号不为“004”、“007”、“013”的课程信息。
13.查询课程名以字母D开始的课程信息。
14.查询课程名以“制作”两字结尾的课程信息。
15.查询姓名第二个字为“宝”的学生信息。
16.查询不姓“刘”的学生信息。
17.查询课程表中教师姓名未定的课程信息。
18.查询报名人数少于15人的课程信息。
19.查询报名人数少于25并且多于15人的课程信息。
20.查询报名人数少于25并且等于15人的课程信息,要求查询结果按照报名人数降序排列。
21.查询报名人数少于25并且少于15人的课程信息,要求查询结果按照报名人数降序排列。
22.查询课程表中“信息技术”类课程信息,并计算平均报名人数。
23.按类别显示课程信息,并计算各类课程的平均报名人数。
24.按课程类别分组统计各类课程的平均报名人数。
25.查询“信息技术”类课程的平均报名人数。
26.查询平均报名人数大于25人的课程类别和每类平均报名人数。
27.查询报名人数大于平均报名人数的课程信息。
28.从班级表中查询班级名,从系部表中查询系部名称,实用UNION运算符合并两个查询结果。
29.从班级表中查询班级名,从系部表中查询系部名称,实用UNION运算符合并两个查询结果,要求按降序
30.查询班级信息,要求显示班级编号、班级名称、班级所在的系部编号、系部名称。
31.查询学生信息,显示信息包括学生基本信息和班级名称。
32.查询学生选课信息,要求显示姓名、课程名称、志愿号,按姓名和志愿号排序。
33.查询学生报名“计算机应用工程系”开设的选修课程情况,显示信息包括学生姓名、课程名称和授课教室。
35.查询每个班级可以选修的、不是自己所在系部开设的选修课程的信息,显示信息包括班级号码和课程名称
数据库原理 实验课实验报告 学 专 姓 院: 业: 名: 教 学 号: 软件学院 软件工程 王 某 某 2018 年 6 月 11 日
吉林大学 实验题目 软件学院 数据库原理 根据教材中的“教学管理系统”的数据库,创建表,索引和约束,输入数据并完成以下查询。 说明: 1. 可以根据题目要求,对书上的表结构略作调整 2. 每个表输入不少于十条数据(注意保证数据的关联性) 3. 最后的报告将所创建的表以及数据的插入、查询等语句列出来,并将查询结果截图 4. MySQL 和 SQL Server 两种数据库,任选一种,优先选用 MySQL,若有些机器上已经安装过 MySQL,可以 卸载重装,若安装仍旧出现问题,可以选用 SQL Server 要求: 1. 每个人独立完成; 2. 报告只交电子版即可,文件名为“教学号+姓名” 3. 提交的报告,拷贝到老师指定机器的指定文件夹中,即可 1.从课程表中查询所有课程信息 2.从课程表中查询课程类别的信息。 3.从课程表中查询课程类别,要求消除值相同的那些行。 4.从学生表中查询所有的信息,要求只显示查询结果的前 6 行数据。 5.查询课程表中课程编号、课程名称、 教师、上课时间、限制选课人数和报名人数。 6.在课程表中查询课程类别为“信息技术”,并且学分为“2”的课程。 7.查询课程表的课程信息、报名人数与限选人数之比。 8.查询课程表中最小的报名人数、最大的报名人数以及平均报名人数。 9.查询课程信息、报名人数与限选人数之比。要求查询结果按照报名人数升降排序。 10.查询课程表的教师名、课程编号、课程名,要求查询结果按照教师名降序排序,教师名相同时,则按照课 程编号升序排序。 11.查询课程编号为“004”、“007”、“013”的课程信息。 12.查询课程编号不为“004”、“007”、“013”的课程编号和课程名称。 13.查询课程名以字母 D 开始的课程信息。 14.查询课程名以“制作”两字结尾的课程信息。 15.查询姓名第二个字为“宝”的学生信息。 16.查询不姓“刘”的学生信息。 17.查询课程表中教师姓名未定的课程信息。 18.查询报名人数少于 15 人的课程信息。 19.查询报名人数少于 25 并且多于 15 人的课程信息。 20.查询报名人数少于 25 并且等于 15 人的课程信息,要求查询结果按照报名人数降序排列。 21.查询报名人数少于 25 并且少于 15 人的课程信息,要求查询结果按照报名人数降序排列。 22.查询课程表中“信息技术”类课程信息,并计算平均报名人数。 23.按类别显示课程信息,并计算各类课程的平均报名人数。 24.按课程类别分组统计各类课程的平均报名人数。 25.查询“信息技术”类课程的平均报名人数。 26.查询平均报名人数大于 25 人的课程类别和每类平均报名人数。 27.查询报名人数大于平均报名人数的课程信息。 28.从班级表中查询班级名,从系部表中查询系部名称,实用 UNION 运算符合并两个查询结果。 2
软件学院 吉林大学 数据库原理 29.从班级表中查询班级名,从系部表中查询系部名称,实用 UNION 运算符合并两个查询结果,要求按降序排 序。 30.查询班级信息,要求显示班级编号、班级名称、班级所在的系部编号、系部名称。 31.查询学生信息,显示信息包括学生基本信息和班级名称。 32.查询学生选课信息,要求显示姓名、课程名称、志愿号,按姓名和志愿号排序。 33.查询学生报名“计算机应用工程系”开设的选修课程情况,显示信息包括学生姓名、课程名称和授课教室。 34.查询每个班级可以选修的、不是自己所在系部开设的选修课程的信息,显示信息包括班级号码和课程名称 实验分析 综合分析 34 个数据库操作的要求,设计主体是一个大学教学管理数据库。教材上有一些大学数 据库的相关例子,可以用来参考,同时根据此次实验的题目具体要求进行调整,力求精简实用。 数据库结构设计:考虑到后期数据不易修改,需要设计一个合理的数据库,依据需求,看看是否 能完成所有的需求,再回去完善数据库设计,直到数据库可以处理所有的需求后,再进行数据的插入 操作。 信息插入:题干说每个表输入不少于 10 条数据,考虑到各个表之间的依赖性,应该选取有代表 性的几条数据插入,控制到数据量很重要。 查询操作:根据 34 个题目的具体要求对之前构建的数据库进行查询等操作。 大学教学管理数据库模式表设计 下面根据一个合理的建表顺序,依次介绍各个表的内容。  student(学生):学生的基本信息,包括 ID(学生编号),name(学生姓名),tot_cred(所得 学分),class_id(所在班级编号),dept_name(系名)。  class_room(教室): course_id(课程编号),building(所在教学楼),room(教室编号),capacity (教室容量)。 3
吉林大学 软件学院 数据库原理  department(系部):dept_id(系部编号),dept_name(系部名称),building(系部所在办公楼)  instructor(教师):ID(教师编号),name(姓名),dept_name(所属系),salary(薪水)  class(班级):class_id(班级编号),class_name(班级名称),dept_name(所属系)  course(课程):course_id(课程编号),title(课程名称),dept_name(课程所属系) credits(学分),instructor(授课老师),teach_time(上课时间),limit_num(限制报名人数) will_num(报名人数)  stu_course(学生课程对应表):stu_id(学生编号),cou_id(课程编号),will_num(学生志愿号) 创建表代码 学生 create table student( ID varchar(10) not null, name varchar(20) not null, tot_cre int not null, class_id varchar(20) , dept_name varchar(20), primary key (ID), foreign key class references class(class_id), foreign key dept_name references department(dept_name) ); 系部 create table department( dept_id varchar(20) not null, dept_name varchar(20) not null, building varchar(20), primary key (dept_id,dept_name), ); 4
吉林大学 教师 create table instructor( 软件学院 数据库原理 ID varchar(10) name varchar(20) salary int, dept_name varchar(20), primary key (ID), foreign key (dept_name) references department(dept_name) ); 班级 create table class ( class_id varchar(20) not null, class_name varchar(20) not null, dept_name varchar(20) not null, primary key (class_id), foreign key (dept_name) references department(dept_name) ); 授课地点 create table class_room( building varchar(20), room varchar (20). course_id varchar(20) ); 课程 create table course( course_id varchar(20) not null, title varchar(20), dept_name varchar(20), kind varchar(20) not null, credit int, instructor varchar(20), teach_time varchar(20), primary key (course_id), foreign key (instructor) references instructor(ID), foreign key(dept_name) references department(dept_name), ); 5
吉林大学 学生课程对应 create table stu_course( 软件学院 数据库原理 stu_id varchar(10) not null, cou_id varchar(20) not null, will_num varchar(20), foreign key (stu_id) references teacher(ID), foreign key (cou_id) references course(course_id) ); 插入数据代码(部分) 教室(13 条数据) insert into class_room values(‘001’'经信教学楼', 'A102',50); insert into class_room values(‘002’'经信教学楼', 'A203',50); insert into class_room values(‘003’'经信教学楼', 'C404',50); insert into class_room values(‘004’'经信教学楼', 'C406',60); insert into class_room values('005’’经信教学楼', 'F1',150); 系部(10 条数据) insert into department values('医学系',‘新民一教’,'5116'); insert into department values( '数学系',‘数学楼’,5216'); insert into department values( '文学系',‘逸夫楼’,'5316'); insert into department values( '材料系',‘南岭实验室’,’5416’); 6
吉林大学 insert into department values( '物理系',‘物理楼’,’5516’); 软件学院 数据库原理 教师(10 条数据) insert into instructor values('1201', '赵亮,‘计算机应用工程系’); insert into instructor values('1202', '钱亮',‘计算机应用工程系’); insert into instructor values('1203', '孙亮',‘计算机应用工程系’); insert into instructor values('1204, '李亮',‘计算机应用工程系’); insert into instructor values('1205', '周亮',‘文学系’); 学生(34 条数据) insert into department values('55160101', insert into department values('55160102', insert into department values('55160113', insert into department values('55160134', ‘张霖,‘计算机应用工程系’,’33’,’’001); ‘宿雅婷,‘计算机应用工程系’,’33’,’’001); ‘杨兆铭,‘数学系系’,’33’,004); ‘张文睿,‘艺术系’,’33’,’’005); 7
吉林大学 软件学院 数据库原理 班级(14 条数据) insert into class values(‘001’'5916', '计算一班'); insert into class values(‘002’'5916', '计算呢二班'); insert into class values(‘003’'5316', '文学班'); insert into class values(‘004’'5216', '数学班'); insert into class values('005’’5716', '艺术班'); 8
分享到:
收藏