数据库课程设计 实验报告
学生选课管理系统
姓 名: 封欣楠
学 号: 1021030134 班 级: 10210301
专 业:信息管理与信息系统
日期:
2011.11.09
设计目录
1、
一:需求分析
根据分析,本系统的实体有学生、教师、课程和选课信息。 描述学生的属性有:学号、院系、姓名、性别、所在系。 描述教师的属性有:教师编号、姓名、性别、职称、专业。 描述课程的属性有:课程编号、课程名称、授课老师、上课时间、上课地点。
描述选课信息的属性有:学号、课程编号、考试成绩。
每个学生、教师只能属于一个院系,每个学生可选多门课程或者不选,每个教师教授最多一门课程。
学生进入查询系统后只能有查询功能,管理员进入则可以有修改成绩的权限。
数据字典:
二:概念设计
E-R 图:
三:逻辑设计 关系模式:
学生(学号、姓名、性别、年龄、所在系)
教师(教师编号、姓名、性别、职称、专业)
课程(课程编号、课程名、授课教师、上课时间、上课地点)
选课信息(学号、课程编号、授课教师、考试成绩)
四:数据库结构设计
Student
T eacher
Course
Select_Course
新建数据库:
Create database xuanke Go
新建学生表: Create table student (
Sno char(10) primary key, Sname char(10), Ssex char(5),
Age tinyint, Sdept char(10), );
新建教师表:
Create table teacher
(
Tno char(10) primary key, Tname char(10) , Tsex char(5), PROF char(10), Tdept char(20)
);
新建课程表: Create table course (
Cno char(10) primary key, Cname char(10), Cteacher char(10),
Ctime char(10), Cplace char(10) );
新建选课表:
Create table Select_Course (
Sno char(10),
Cno char(10), Result char(10)
Primary key(Sno,Cno )
Foreign key(sname)references student (sno), Foreign key(cno)references course(cno)
);
五、功能设计
1、学生信息管理 删除学生信息
delete from student where sno =(); 修改学生信息
update student set sno=(),sname = (), ssex = (),sdept=(); 增加学生信息 Insert
into student(sno,sname,ssex,sage,sdept) values (()()()()()) ; 2、课程管理 增加课程 insert
into course(Cno,Cname,Cteacher ,Ctype,Cplace )
, sage = ()
values (()()()()()) 课程修改 update course set grade =()
where sno = () and cno = () 3、查询管理 1) 学生查询 select * from student
select * from student
where sname like ‘赵%’
select * from student
where age>20
select *
from Select_Course,course
where Select_Course.sno =’s01’ and Select_Course.cno =
course.cno
select *
from Select_Course,course,student
where Select_Course.sno =’s03’ and Select_Course.cno = course.cno and Select_Course
.sno = student.sno
3.存储过程 ①创建存储过程
create proc proc_zg as select * from student where ssex='女';
create proc proc_20 @kh varchar(10) as select *
from student where age=@kh
②存储过程的查询 exec
proc_zg;
exec
proc_20 20;
六、系统设计、制作小结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有
了很大提高,而且随着在实验不断地进行,不断地进行修改,对直接从学习课本的知识有了更多了解并有了一定的掌握,通过实验我懂得了如何创建库、表,增,删,改,查也更为熟练。对与整体有个全面的提高。以前学完后总是断断续续的,连接感比较弱,现在可以做好细节了。
在自己没做数据库课程设计以前,总是觉得自己一定又很多都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实际操作方面的东西。总之,通过这次的课程设计,算是为自己的数据库的学习进行整体的总结,也为以后学习数据库类的知识打下了基础。
东华理工大学 课程设计评分表
学生姓名:封欣楠 班级:10210301 学号:1021030134 课程设计题目:学生选课管理系统
数据库课程设计 实验报告
学生选课管理系统
姓 名: 封欣楠
学 号: 1021030134 班 级: 10210301
专 业:信息管理与信息系统
日期:
2011.11.09
设计目录
1、
一:需求分析
根据分析,本系统的实体有学生、教师、课程和选课信息。 描述学生的属性有:学号、院系、姓名、性别、所在系。 描述教师的属性有:教师编号、姓名、性别、职称、专业。 描述课程的属性有:课程编号、课程名称、授课老师、上课时间、上课地点。
描述选课信息的属性有:学号、课程编号、考试成绩。
每个学生、教师只能属于一个院系,每个学生可选多门课程或者不选,每个教师教授最多一门课程。
学生进入查询系统后只能有查询功能,管理员进入则可以有修改成绩的权限。
数据字典:
二:概念设计
E-R 图:
三:逻辑设计 关系模式:
学生(学号、姓名、性别、年龄、所在系)
教师(教师编号、姓名、性别、职称、专业)
课程(课程编号、课程名、授课教师、上课时间、上课地点)
选课信息(学号、课程编号、授课教师、考试成绩)
四:数据库结构设计
Student
T eacher
Course
Select_Course
新建数据库:
Create database xuanke Go
新建学生表: Create table student (
Sno char(10) primary key, Sname char(10), Ssex char(5),
Age tinyint, Sdept char(10), );
新建教师表:
Create table teacher
(
Tno char(10) primary key, Tname char(10) , Tsex char(5), PROF char(10), Tdept char(20)
);
新建课程表: Create table course (
Cno char(10) primary key, Cname char(10), Cteacher char(10),
Ctime char(10), Cplace char(10) );
新建选课表:
Create table Select_Course (
Sno char(10),
Cno char(10), Result char(10)
Primary key(Sno,Cno )
Foreign key(sname)references student (sno), Foreign key(cno)references course(cno)
);
五、功能设计
1、学生信息管理 删除学生信息
delete from student where sno =(); 修改学生信息
update student set sno=(),sname = (), ssex = (),sdept=(); 增加学生信息 Insert
into student(sno,sname,ssex,sage,sdept) values (()()()()()) ; 2、课程管理 增加课程 insert
into course(Cno,Cname,Cteacher ,Ctype,Cplace )
, sage = ()
values (()()()()()) 课程修改 update course set grade =()
where sno = () and cno = () 3、查询管理 1) 学生查询 select * from student
select * from student
where sname like ‘赵%’
select * from student
where age>20
select *
from Select_Course,course
where Select_Course.sno =’s01’ and Select_Course.cno =
course.cno
select *
from Select_Course,course,student
where Select_Course.sno =’s03’ and Select_Course.cno = course.cno and Select_Course
.sno = student.sno
3.存储过程 ①创建存储过程
create proc proc_zg as select * from student where ssex='女';
create proc proc_20 @kh varchar(10) as select *
from student where age=@kh
②存储过程的查询 exec
proc_zg;
exec
proc_20 20;
六、系统设计、制作小结
通过这次的课程设计实验,我发现自己对数据库课程的兴趣有
了很大提高,而且随着在实验不断地进行,不断地进行修改,对直接从学习课本的知识有了更多了解并有了一定的掌握,通过实验我懂得了如何创建库、表,增,删,改,查也更为熟练。对与整体有个全面的提高。以前学完后总是断断续续的,连接感比较弱,现在可以做好细节了。
在自己没做数据库课程设计以前,总是觉得自己一定又很多都不会,但是现在做出来了,所以我觉得自己还是有能力做一些实际操作方面的东西。总之,通过这次的课程设计,算是为自己的数据库的学习进行整体的总结,也为以后学习数据库类的知识打下了基础。
东华理工大学 课程设计评分表
学生姓名:封欣楠 班级:10210301 学号:1021030134 课程设计题目:学生选课管理系统