欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数据库系统设计实验报告教务管理系统.doc

    • 资源ID:2395590       资源大小:309.50KB        全文页数:22页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库系统设计实验报告教务管理系统.doc

    数据库系统设计实验报告 教务管理系统学院: 计算机科学与技术 专业: 软件工程 班级: 学号: 姓名: 指导老师: 一、概述 项目背景:数据库课程设计 系统名称:教务管理系统 开发环境:SQL Server 2008二、需求分析 1、系统的概述n 一个学校由很多个学院组成,每个学院有多个专业,每个专业有1个或者多个班级。一个学生只属于1个班级,学生有姓名、学号、性别、身份证号、入学时间等属性。n 每个专业的每个年级都有对应的教学计划。教学计划指定了这个专业这个年级的某门课程在那个学期上,学分、学时是多少。每个学院都设置有1个教务秘书,这些信息都由教务秘书进行输入。每个院系的课程都有自己的唯一编码,比如计算机系上的C语言,和电子系上的C语言,虽然都是同一门课,但是编码是不同的。但是同一个院系中的相同的课程,课程代码是唯一的。比如计算机学院的07计算机软件专业和计算机学院的07计算机科学专业都有C语言课程,这两门课程的课程代码是相同的。n 教务秘书在每个学期的中间时刻,为下一个学期进行排课,排课的内容根据教学计划,比如08计算机软件专业的学生,在2009-2010年第2学期上的课程,可以通过教学计划得知要上什么课程,然后对这些课程安排上课教师(比如陈越)、上课时间(比如星期2,第1-2节)和地点(理工楼234),有的课程是单周上,有的双周,也有是每周都上的。n 在每个学期期末,学生登录到网站上选择下一个学期需要上的课,选择的时刻,可以选择是否需要教材,如果某门课程的人数选满了,则不能给任何学生选择了。n 学生根据选择的课程进行上课,参加考试。每个老师可以用自己的用户名和密码登陆网站,选择这个学期自己所教的课程(一个老师可以上多个班级的课程),输入这个班级的成绩,成绩分为期末考试成绩、期中考试成绩、平时成绩、实验成绩以及总评成绩。这些成绩都需要进行存储。n 为了保证安全性,老师输入的成绩并不是直接放到最终的成绩表中,而是放在一个临时的表中,只有当教务秘书审核过后,才导入到最终的成绩表中。n 学生在老师输入完成绩、教务秘书审核后,可以登录到网上查询自己某个学期的成绩。成绩数据非常重要,为了防止教务秘书随意更改成绩,需要对成绩表的插入、删除、修改做出监控,凡是对成绩表做了上述操作,必须记录下来,放在另外一个表中,可以称为成绩变动记录表,这个表要求记录在什么时候,更新了那个同学那门课的成绩数据,原始值是什么,现在值是什么。如果是插入,则原始值为NULL,如果是删除,则现在值是NULL。n 为了在数据库层次上保证数据库的安全性,在数据库中,建立两类数据库用户,一类是教务秘书访问的,称为U_JWMS, 这个用户能对除了成绩变动记录表不能访问外,可以对所有的数据进行修改、选择、删除、插入。另外一类用户成为U_Web, 是为Web用户访问所设计的。这类用户只对学生选课的数据、老师输入成绩的临时的表据有删除、插入、修改权限,其它的表只有只读的权限。2、教务系统的E-R图3、数据库表(1)学生信息表 Student表:列名称类型宽度允许空值约束条件键说明student_idCharacters10否主键学生学号student_namevarchar20是学生姓名student_tenderbool是男或女性别class_idCharacters10否外键班级代号identity_novarchar20否身份证号date_entrancedate是入学时间date_birthdate是出生日期major_idCharacters10否外键专业代码college_idCharacters10否外键学院代码(2)教师表Teacher表:列名称类型宽度允许空值约束条件键说明teacher_idCharacters10否主键教师编号teacher_namevarchar20是教师姓名teacher_usenamevarchar20是用户名teacher_passwordvarchar20是密码 (3)班级信息表Class表:列名称类型宽度允许空值约束条件键说明class_idCharacters10否主键班级代码class_namevarchar20是班级名字class_accomint是大于等于0班级人数major_idCharacters10否外键专业代码gradeint是年级(4)学院表College表:列名称类型宽度允许空值约束条件键说明college_idchar10否主键学院代码college_namenvarchar20是学院名称secretary_idChar10否外键教务秘书编号count_majorint是默认为0专业数(5)教务秘书信息表Secretary表:列名称类型宽度允许空值约束条件键说明secretary_idCharacters10否主键教务秘书编号secretary_namevarchar20是教务秘书姓名secretary_usenamevarchar20是用户名secretary_passwordvarchar20是密码college_idCharacters10否外键学院代码(6)专业信息表Major表:列名称类型宽度允许空值约束条件键说明major_idCharacters10否主键专业代码major_namevarchar20是专业名称count_classint是大于等于0班级数college_idCharacters10否外键学院代码 (7)教学计划表TeachingPlan表:列名称类型宽度允许空值约束条件键说明major_idCharacters10否主键专业代码course_idCharacters10否主键课程编码course_namevarchar20是课程名称gradeCharacters2是年级termint是学期college_idCharacters10否外键学院代码course_creditint是学分course_lengthint是学时accommodateint是容量(8)课程表Course表:列名称类型宽度允许空值约束条件键说明course_idCharacters10否主键课程编码class_idCharacters10否主键班级代码teacher_idCharacters10否外键教师编号class_timevarchar15是上课时间class_addrvarchar20是上课地点weekvarchar15是单、双、单双均上单双周或每周都上termint是学期major_idCharacters10否外键专业代码(9)学生选课表CourseElect表:列名称类型宽度允许空值约束条件键说明student_idCharacters10否主键学生学号course_idCharacters10否主键课程编码termint是学期student_fullbool是是或否是否人满textbookbool是是或否是否需要教材 (10)教师上课表Teaching表:列名称类型宽度允许空值约束条件键说明teacher_idCharacters10否主键教师代码teacher_namenvarchar20是教师姓名class_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_expeint是大于等于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实验成绩score_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_course_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,filegrowth = 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,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,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_name 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,secretary_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,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 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 JWGLcreate 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,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,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_credit real null default '0')/*最终成绩表*/use JWGLcreate table dbo.FinalScore(class_id nvarchar(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_credit 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,score_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_tender = '男' 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_creditcheck (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 constraint 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_mid >= 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_tempcheck (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 constraint 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 (class_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_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(secretary_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_id_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 FinalScoreadd 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-PCAdministratorGO/*把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,DELETE,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,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

    注意事项

    本文(数据库系统设计实验报告教务管理系统.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开