《学生档案管理系统数据库实验报告书》由会员分享,可在线阅读,更多相关《学生档案管理系统数据库实验报告书(24页珍藏版)》请在金锄头文库上搜索。
1、课程设计报告课程设计题目:学生档案管理系统 专 业:软件工程电子商务,政务班 级:XXXXX姓 名: XXXX学 号: XXXX指导教师: XXX 2011年12 月1 日学生档案管理系统实验时间:十四周实验地点:软件楼304实验目的:通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力。实验要求:描述:设计一个档案管理系统,实现以下功能:1 维护人员的档案信息输入、修改和删除;2 根据给定条件查询人员档案信息;3 档案报表输出;实验思路:需求分析:学
2、生档案内容应涉及:1,学生根本信息;2,学生修学分情况 3,所在辅导员,院系信息,5,学生在校期间的奖惩情况。因此根据上述分析,需要的根本表有(括号内为表名):1 学生根本信息表stu2 辅导员表fd3 院系表xb4 课程表 kc5 奖惩表 jc产生的关联表有:1 学生院系情况表stuxb2 学生奖惩表stujc3 学分情况表xfE-R图为:学生stu学生奖惩情况stujc奖惩jc学生系别stuxb院系xb辅导员fd学分xf课程kc学生stu姓名sname家庭住址sadd年龄age班级号class性别sex学号s#政治面貌sz学生奖惩情况stujc学号s#奖惩号j#奖惩时间jtime学分xf课
3、程号c#学号s#学分stu学生系别stuxb系别号x#学号s#辅导员号f#课程kc奖惩jc课程名cname课程号c#奖惩号j#奖惩名jname辅导员fd院系xb姓名fname班级号class系别名xname系别号x#辅导员号f#实验过程:需求分析:处理对象:系统要处理的对象包括学生根本信息,学生学分情况,学生奖惩情况三个方面,为了实现三个方面的功能与之间的联系,建立如下表:1,学生根本信息表stu:S#学号,sname姓名,age年龄,sex性别,sz政治面貌,sadd家庭住址,class班级号2,奖惩表(jc):J#奖惩号,jname(奖惩名)3,学生奖惩情况表stujc:S#学号,j#奖惩
4、号,jtime奖惩时间4,辅导员表fd:f#辅导员号,fname姓名,class班级号5,院系表xb:X#系别号,xname系别名6,学生系别表stuxb:S#学号,f#辅导员号,x#系别号7,学分表xf:S#学号,c#课程号,stu学分8,课程表kc:C#课程号,cname课程名处理的功能:1, 维护人员的档案信息输入、修改和删除;2, 根据给定条件查询人员档案信息;实现机制:表之间的联系增删改通过定义存储过程来实现,局部特殊功能使用触发器,因此定义如下:add_stu 增加学生add_xf 增加学生课程学分add_stujc 增加学生奖惩情况de_stu 删除学生学号de_class 删除
5、班级de_name 删除姓名up_stu 修改学号se_stu 查找按学号se_class 查找按班级号se_fd 查找按辅导员姓名se_xb 按系别名add_stujc 增加奖惩add_in_jc (触发器)处分累计,如果同一个处分超过两次,自动累加成上一级,比方两次警告变一次严重警告,两次留校观察,去除该学生档案se_xf 学分缺乏10个平安性与完整性:1, 平安性是通过视图机制,权限机制,定义了三个角色,管理员主管,日常工作人员,学生;主管可以对所有表操作管理,工作人员不能对辅导员表,院系表,课程表,奖惩表增删改,学生只能查看视图。2, 完整性通过规那么与权限实现,通过对相应字段设置规那
6、么,使它受到约束,如年龄设置为1565,性别设置为男女;实验过程:代码局部create table stu 学生表(s# numeric, 学号sname varchar(15), 姓名age int, 年龄sex char(2), 性别sz varchar(10), 政治面貌sadd varchar(20), 住址class char(10) 班级号create table fd 辅导员(f# int, 辅导员号fname varchar(10), 姓名class char(10) ) 班级号create table xb 院系(x# int, 系别号xname varchar(20) 系别
7、名create table xf 学分(s# numeric, 学号c# int, 课程号stu int ) 学分create table jc 奖惩(j# int, 奖惩号jname varchar(20) 名称create table kc 课程(c# int, 课程号cname varchar(20) ) 课程名create table stujc 学生奖惩(s# numeric, 学号j# int, 奖称号jtime datetime ) 时间create table stuxb 学生院系(s# numeric, 学号f# int, 辅导员号x# int ) 系别号create pro
8、c add_stu 增加学生s# numeric, sname varchar(15), age int, sex char(2), sz varchar(10), sadd varchar(20), class char(10),x# int,f# intasinsert into stu values(s#,sname,age,sex,sz,sadd,class)insert into stuxb values(s#,f#,x#)exec add_stu 1021112423,lj,18,nv,dangyuan,yichun,2,1,1create proc add_xf 增加学生课程学分
9、s# numeric,c# int,stu intasinsert into xf values(s#,c#,stu)exec add_xf 1021112423,2,3create proc add_stujc 增加学生奖惩情况s# numeric,j# int,jtime datetimeasinsert into stujc values(s#,j#,jtime)exec add_stujc 1021112423,3,2021create proc de_stu 删除学生学号s# numericasdelete from stu where s#=s#delete from xf whe
10、re s#=s#delete from stujc where s#=s#delete from stuxb where s#=s# exec de_stu 1021112425create proc de_class 删除班级class intasdelete from stu where class=classdelete from fd where class=classexec de_class 1create proc de_name 删除姓名sname char(10)asdeclare s# varchar(10)select s#=s# from stu where sname
11、=snamedelete from stu where sname=snamedelete from xf where s#=s#delete from stuxb where s#=s#delete from stujc where s#=s#exec de_name wcreate proc up_stu 修改学号olds# char(10),news# char(10)asupdate stu set s#=news# where s#=olds#update xf set s#=news# where s#=olds#update stujc set s#=news# where s#=olds#update