数据库系统设计实验报告教务管理系统_第1页
数据库系统设计实验报告教务管理系统_第2页
数据库系统设计实验报告教务管理系统_第3页
数据库系统设计实验报告教务管理系统_第4页
数据库系统设计实验报告教务管理系统_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库系统设计实验报告教务管理系统数据库系统设计实验报告 教务管理系统学院: 计算机科学与技术 专业: 软件工程 班级: 学号: 姓名: 指导老师: 一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:sql server 2008二、需求分析 1、系统的概述n 一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身份证号、入学时间等属性。n 每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置有1个教务秘书,这些信息都由教务秘书进行输

2、入。每个院系的课程都有自己的唯一编码,比如计算机系上的c语言,和电子系上的c语言,虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机学院的07计算机科学专业都有c语言课程,这两门课程的课程代码是相同的。n 教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点(理工楼234),有的课程是单周上,有的双周,也有是每周都

3、上的。n 在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能给任何学生选择了。n 学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。n 为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成绩表中。n 学生在老师输入完成绩、教务秘书审核后,可以登录到网上

4、查询自己某个学期的成绩。成绩数据非常重要,为了防止教务秘书随意更改成绩,需要对成绩表的插入、删除、修改做出监控,凡是对成绩表做了上述操作,必须记录下来,放在另外一个表中,可以称为成绩变动记录表,这个表要求记录在什么时候,更新了那个同学那门课的成绩数据,原始值是什么,现在值是什么。如果是插入,则原始值为null,如果是删除,则现在值是null。n 为了在数据库层次上保证数据库的安全性,在数据库中,建立两类数据库用户,一类是教务秘书访问的,称为u_jwms, 这个用户能对除了成绩变动记录表不能访问外,可以对所有的数据进行修改、选择、删除、插入。另外一类用户成为u_web, 是为web用户访问所设计

5、的。这类用户只对学生选课的数据、老师输入成绩的临时的表据有删除、插入、修改权限,其它的表只有只读的权限。2、教务系统的e-r图3、数据库表(1)学生信息表 student表:列名称类型宽度允许空值约束条件键说明student_idcharacters10否主键学生学号student_namevarchar20是学生姓名student_tenderbool是男或女性别class_idcharacters10否外键班级代号identity_novarchar20否身份证号date_entrancedate是入学时间date_birthdate是出生日期major_idcharacters10否外键

6、专业代码college_idcharacters10否外键学院代码(2)教师表teacher表:列名称类型宽度允许空值约束条件键说明teacher_idcharacters10否主键教师编号teacher_namevarchar20是教师姓名teacher_usenamevarchar20是用户名teacher_passwordvarchar20是密码 (3)班级信息表class表:列名称类型宽度允许空值约束条件键说明class_idcharacters10否主键班级代码class_namevarchar20是班级名字class_accomint是大于等于0班级人数major_idcharac

7、ters10否外键专业代码gradeint是年级(4)学院表college表:列名称类型宽度允许空值约束条件键说明college_idchar10否主键学院代码college_namenvarchar20是学院名称secretary_idchar10否外键教务秘书编号count_majorint是默认为0专业数(5)教务秘书信息表secretary表:列名称类型宽度允许空值约束条件键说明secretary_idcharacters10否主键教务秘书编号secretary_namevarchar20是教务秘书姓名secretary_usenamevarchar20是用户名secretary_pa

8、sswordvarchar20是密码college_idcharacters10否外键学院代码(6)专业信息表major表:列名称类型宽度允许空值约束条件键说明major_idcharacters10否主键专业代码major_namevarchar20是专业名称count_classint是大于等于0班级数college_idcharacters10否外键学院代码 (7)教学计划表teachingplan表:列名称类型宽度允许空值约束条件键说明major_idcharacters10否主键专业代码course_idcharacters10否主键课程编码course_namevarchar20是

9、课程名称gradecharacters2是年级termint是学期college_idcharacters10否外键学院代码course_creditint是学分course_lengthint是学时accommodateint是容量(8)课程表course表:列名称类型宽度允许空值约束条件键说明course_idcharacters10否主键课程编码class_idcharacters10否主键班级代码teacher_idcharacters10否外键教师编号class_timevarchar15是上课时间class_addrvarchar20是上课地点weekvarchar15是单、双、单

10、双均上单双周或每周都上termint是学期major_idcharacters10否外键专业代码(9)学生选课表courseelect表:列名称类型宽度允许空值约束条件键说明student_idcharacters10否主键学生学号course_idcharacters10否主键课程编码termint是学期student_fullbool是是或否是否人满textbookbool是是或否是否需要教材 (10)教师上课表teaching表:列名称类型宽度允许空值约束条件键说明teacher_idcharacters10否主键教师代码teacher_namenvarchar20是教师姓名class_

11、idcharacters10否主键班级代码course_idcharacters10否主键课程编码termint是学期major_idcharacters10是专业代码 (11) 临时成绩表tempscore表:列名称类型宽度允许空值约束条件键说明student_idcharacters10否主键学生学号course_idcharacters10否主键课程编码class_idcharacters10否外键班级代码termint是学期score_ordtimeint是大于等于0平时成绩score_midint是大于等于0期中成绩score_terminalint是大于等于0期末成绩score_e

12、xpeint是大于等于0实验成绩score_finalint是大于等于0总评成绩course_creditint是大于等于0学分 (12) 最终成绩表finalscore表:列名称类型宽度允许空值约束条件键说明student_idcharacters10否主键学生学号course_idcharacters10否主键课程编码class_idcharacters10否外键班级代码termint是学期score_ordtimeint是大于等于0平时成绩score_midint是大于等于0期中成绩score_terminalint是大于等于0期末成绩score_expeint是大于等于0实验成绩sco

13、re_finalint是大于等于0总评成绩course_creditint是大于等于0学分 (13) 成绩变动记录表modifylog表:列名称类型宽度允许空值约束条件键说明student_idcharacters10否主键学生学号course_idcharacters10否主键课程编码update_timedate是更改时间score_pri_ordtimeint是原始平时成绩score_pri_midint是原始期中成绩score_pri_terminalint是原始期末成绩score_pri_expeint是原始实验成绩score_pri_finalint是原始总评成绩pri_cours

14、e_creditint是原始学分socre_cur_ordtimeint是现在平时成绩score_cur_midint是现在期中成绩score_cur_terminalint是现在期末成绩score_cur_expeint是现在实验成绩score_cur_finalint是现在总评成绩cur_course_creditint是现在学分三、程序清单 /*数据库的建立*/create database jwgl on primary(name = jwgl,filename = d:我的文件sqljwgl.mdf,size = 4096kb,maxsize = unlimited,filegrow

15、th = 1024kb)log on (name = jwgl_log,filename = d:我的文件sqljwgl_log.ldf,size = 1024kb,maxsize = 2048gb,filegrowth = 10%)go/*基本表的建立*/*学生表*/use jwglcreate table dbo.student(student_name nvarchar(8) null,student_id nvarchar(10) primary key not null,student_tender nvarchar (8) null,date_birth datetime null

16、,identity_no nvarchar(10) null,date_entrance datetime null,class_id nvarchar(10) not null,major_id nvarchar(10) not null,college_id nvarchar(10) not null,)/*班级表*/use jwglcreate table dbo.class(class_id nvarchar(10) primary key not null,class_name nvarchar(20) null,class_accom int null,grade int null

17、,major_id nvarchar(10) not null)/*专业表*/use jwglcreate table dbo.major(major_id nvarchar(10) primary key not null,major_name nvarchar(20) null,count_class int null,college_id nvarchar(10) not null)/*教务秘书表*/use jwglcreate table dbo.secretary(secretary_id nvarchar(10) primary key not null,secretary_nam

18、e nvarchar(8) null default 教务秘书,college_id nvarchar(10) not null,secretary_usename nvarchar(10) null default secretary,secretary_password nvarchar(10) null default 0000)/*学院表*/create table dbo.college(college_id nvarchar(10) primary key not null,college_name nvarchar(20) null,count_major int null,se

19、cretary_id nvarchar(10) not null)/*教学计划表*/use jwglcreate table dbo.teachingplan(college_id nvarchar(10) not null,major_id nvarchar(10) primary key(major_id,course_id) not null ,grade int not null,term int not null,course_id nvarchar(10) not null,course_name nvarchar(20) null,course_credit real null,

20、course_length real null,accommodate int null default 0)/*课程表*/use jwglcreate table dbo.course(course_id nvarchar(10) primary key(course_id,class_id) not null,teacher_id nvarchar(10) null,class_time datetime null,class_addr nvarchar(20) null,week nvarchar(10) null default 单双周均上,term int null,class_id

21、 nvarchar(10) not null,major_id nvarchar(10) null,)/*学生选课表*/use jwglcreate table dbo.courseelect(student_id nvarchar(10) primary key(student_id,course_id) not null,term int null,course_id nvarchar(10) not null,textbook nvarchar(2) null default 是,student_full nvarchar(2) null default 否)/* 教师表*/use jw

22、glcreate table dbo.teacher(teacher_name nvarchar(8) null,teacher_id nvarchar(10) primary key not null,teacher_usename nvarchar(10) null default teacher,teacher_password nvarchar(10) null default 0000)/* 教师上课表*/use jwglcreate table dbo.teaching(teacher_id nvarchar(10) primary key(teacher_id,course_id

23、,class_id)not null,teacher_name nvarchar(8) null,term int null,major_id nvarchar(10) null,class_id nvarchar(10) not null,course_id nvarchar(10) not null)/*成绩临时表*/use jwglcreate table dbo.tempscore(class_id nvarchar(10) not null,student_id nvarchar(10) primary key(student_id,course_id) not null,cours

24、e_id nvarchar(10) not null,term int null,score_terminal real null default 0,score_mid real null default 0,score_ordtime real null default 0,score_expe real null default 0,score_final real null default 0,course_credit real null default 0)/*最终成绩表*/use jwglcreate table dbo.finalscore(class_id nvarchar(

25、10) not null,student_id nvarchar(10) primary key(student_id,course_id) not null,course_id nvarchar(10) not null,term int null,score_terminal real null default 0,score_mid real null default 0,score_ordtime real null default 0,score_expe real null default 0,score_final real null default 0,course_credi

26、t real null default 0)/*成绩记录变动表*/use jwglcreate table dbo.modifylog(student_id nvarchar(10) primary key(student_id,course_id) not null,course_id nvarchar(10) not null,update_time datetime null,score_pri_terminal real null,score_pri_mid real null,score_pri_ordtime real null,score_pri_expe real null,s

27、core_pri_final real null,pri_course_credit real null,score_cur_terminal real null,score_cur_mid real null,score_cur_ordtime real null,score_cur_expe real null,score_cur_final real null,cur_course_credit real null)/*检查约束*/use jwglalter table studentadd constraint ck_student_tendercheck (student_tende

28、r = 男 or student_tender = 女)alter table classadd constraint ck_class_accom check (class_accom = 0)goalter table majoradd constraint ck_count_classcheck (count_class = 0)goalter table collegeadd constraint ck_count_majorcheck (count_major = 0)goalter table teachingplanadd constraint ck_course_creditc

29、heck (course_credit = 0)alter table teachingplanadd constraint ck_course_lengthcheck (course_length = 0)alter table teachingplanadd constraint ck_accommodatecheck (accommodate = 0)goalter table courseadd constraint ck_weekcheck (week = 单周 or week = 双周 or week = 单双周)goalter table courseelectadd const

30、raint ck_textbookcheck (textbook = 是 or textbook = 否)alter table courseelectadd constraint ck_student_fullcheck (student_full = 是 or student_full =否)goalter table tempscoreadd constraint ck_score_ordtime_tempcheck (score_ordtime = 0)alter table tempscoreadd constraint ck_score_mid_tempcheck (score_m

31、id = 0)alter table tempscoreadd constraint ck_score_terminal_tempcheck (score_terminal = 0)alter table tempscoreadd constraint ck_score_expe_tempcheck (score_expe = 0)alter table tempscoreadd constraint ck_score_final_tempcheck (score_final = 0)alter table tempscoreadd constraint ck_course_credit_te

32、mpcheck (course_credit = 0)goalter table finalscoreadd constraint ck_score_ordtime_finalcheck (score_ordtime = 0)alter table finalscoreadd constraint ck_score_mid_finalcheck (score_mid = 0)alter table finalscoreadd constraint ck_score_expe_finalcheck (score_expe = 0)alter table finalscoreadd constra

33、int ck_score_terminal_finalcheck (score_terminal = 0)alter table finalscoreadd constraint ck_score_final_finalcheck (score_final = 0)alter table finalscoreadd constraint ck_course_credit_finalcheck (course_credit = 0)go/*外键约束*/alter table studentadd constraint fk_class_id_student_classforeign key (c

34、lass_id)references class(class_id)alter table studentadd constraint fk_major_id_student_majorforeign key (major_id)references major(major_id)alter table studentadd constraint fk_college_id_student_collegeforeign key (college_id)references college(college_id)goalter table classadd constraint fk_major

35、_id_class_majorforeign key (major_id)references major(major_id)goalter table majoradd constraint fk_college_id_major_collegeforeign key (college_id)references college(college_id)goalter table collegeadd constraint fk_secretary_id_college_secrectaryforeign key (secretary_id)references secretary(secre

36、tary_id)goalter table secretaryadd constraint fk_college_id_secrectary_collegeforeign key (college_id)references college(college_id)goalter table teachingplanadd constraint fk_college_id_plan_collegeforeign key (college_id)references college(college_id)goalter table courseadd constraint fk_teacher_i

37、d_course_teacherforeign key (teacher_id)references teacher(teacher_id)goalter table courseadd constraint fk_major_id_course_majorforeign key (major_id)references major(major_id)goalter table tempscoreadd constraint fk_class_id_temp_classforeign key (class_id)references class(class_id)goalter table f

38、inalscoreadd constraint fk_class_id_score_classforeign key (class_id)references class(class_id)go/*建立用户,分配权限*/*u_jwms, 能对除了成绩变动记录表不能访问外, 可以对所有的数据进行修改、选择、删除、插入。*/use jwglgocreate login jingqi-pcadministrator from windows with default_database=jwglgouse jwglgocreate user u_jwms for login jingqi-pcadmi

39、nistratorgo/*把class等表的select,insert,delete,update权限授予用户u_jwms*/grant select,insert,delete,update on class to u_jwms with grant option grant select,insert,delete,update on college to u_jwms with grant option grant select,insert,delete,update on course to u_jwms with grant option grant select,insert,d

40、elete,update on teachingplan to u_jwms with grant option grant select,insert,delete,update on major to u_jwms with grant option grant select,insert,delete,update on finalscore to u_jwms with grant option grant select,insert,delete,update on courseelect to u_jwms with grant option grant select,insert

41、,delete,update on secretary to u_jwms with grant option grant select,insert,delete,update on student to u_jwms with grant option grant select,insert,delete,update on teacher to u_jwms with grant option grant select,insert,delete,update on teaching to u_jwms with grant option grant select,insert,delete,update on tempscore to u_jwms with grant optiondeny view definition on modifylog to u_jwms go/*u_web, 是为web用户访问所设计的。只对学生选课的数据、老师输入成绩的临时的表据有删除、插入、修改权限,其它的表只有只读的权限。*/use jwglgocreate login jingqi-pcguest from windows with default_database=jwglgouse jwglc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论