数据库课程设计-学生学籍管理系统_第1页
数据库课程设计-学生学籍管理系统_第2页
数据库课程设计-学生学籍管理系统_第3页
数据库课程设计-学生学籍管理系统_第4页
数据库课程设计-学生学籍管理系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告科目:数据库系统概论设计题目:学生学籍管理系统专业:08届信息管理与信息系统姓名:卢坦〔20081775〕马潮〔20081759〕魏晓星〔20081741〕张佳彬〔20081749〕漆东升〔20081770〕数据库设计需求分析1.数据需求:〔1〕数据字典主要涉及到以下几个表,分别为:学生根本信息表,课程表,专业信息表,课程设置表,学生选课表,学生与专业之间的属于表以及管理人员的密码表。以下是数据字典:学生根本信息表专业信息表Sno学生的学号Sname学生姓名Ssex性别Ssbirth学生的出生年月Pno专业编号Pname专业名称Pnum专业人数Pdept专业所在院系课程表课程设置表Cno课程号Cname课程名Cperiod学时Cno课程号Cname课程名Cperiod学时

学生选课表学生与专业的属于表Sno学生的学号psenior学期cno课程编号grade成绩sno学生的学号pno专业的编号管理人员密码表uname管理人员的编号upasw管理人员的密码

〔2〕数据流图第一层学生名单学籍管理系统学生教师学籍管理系统学生教师成绩学生管理人员学生管理人员第二层1.录入1.录入存储处理2.查询处理学生记录学生信息成绩学生记录3.统计处理4.升留级处理本次考试成绩历次考试成绩3.统计处理4.升留级处理本次考试成绩历次考试成绩班平均成绩升留级表各科平均成绩第三层11.3录入存储学生信息各科成绩1.2是否新生审计1.1学生信息合格单1.2是否新生审计1.1学生信息学生成绩学生信息学生成绩第四层班级平均班级平均成绩3.1班级统计选择3.1统计选择3.1统计成绩各科平均成绩各科平均成绩3.3各科第五层是否升留级4.1是否升留级4.1更新记录4.2学生信息升留级名单学生记录成绩标准成绩标准2.功能需求:〔1〕实现学生根本情况的录入,修改,删除等根本操作。〔2〕对学生根本信息提供灵活的查询方式。〔3〕完成一个班级的学期选课功能。〔4〕实现学生成绩的录入,修改,删除等根本操作。〔5〕能方便的对学生的个人学期成绩进行查询。〔6〕具有成绩统计,排名等功能。〔7〕具有留级,休学等特殊情况的处理功能。〔8〕能输出常用的各种报表。〔9〕具有数据备份和数据恢复功能。二.数据库设计1.概念结构设计局部ER图性别姓名人数专业名专业号学生学号出生年月专业性别姓名人数专业名专业号学生学号出生年月专业院系院系课程号学时课程名课程号学时课程名课程课程整体的ER图专专业学生课程院系专业号学时出生年月性别姓名学号密码课程号专业名人数专业号设置课程号学期课程号选课属于学号成绩学期课程名2.逻辑结构设计(1)ER图转换为关系模型由ER图可见:图中有三个实体:学生,课程,和专业;三个关系:学生选课关系,学生与专业之间的属于关系,专业的课程设置。由于每个实体必须构造表,所以可以先得到三个实体的信息表,实体的码就是关系的码,实体的属性即关系模型的属性:学生根本信息表:S(sno,sname,ssex,sbirth,spasw)课程根本信息表:C(cno,cname,cperiord)专业根本信息表:P(pno,pname,pnum,psdept)对应的属性分别为:学号,姓名,性别,出生日期,登陆密码课程编号,课程名,学期专业编号,专业名,专业人数,所在院系对于多对多的关系来说,与该联系相连的实体的码以及本身的属性均转换为关系的属性,各实体之间的码组成关系的码或者关系的码的一局部。以上ER图的三个联系为多对多,所以转换为关系模式为:课程设置表:pc(pno,psenior,cno)与设置相连的实体有专业和课程,根据多对多的转换原那么:专业的码pno,课程的码cno以及设置本身的属性共同构成该关系模式的码,所以该关系模式的码为全码。学生选课表:SC(sno,psenior,cno,grade)与选课相连的实体有学生和课程,同上由学生的码sno,课程的码cno以及选课本身的码psenior构成该关系模式的码,即〔sno,cno,psenior〕。此外,选课表还有一个非主属性grade。学生与专业的属于表:SP(sno,pno)与属于关系相联的实体是学生和专业。同上由学生的码sno,专业的码pno构成该关系模式的码,由于此关系没有其他的码也就没有非主属性。〔2〕关系模式的优化:学生表s(sno,sname,ssex,sbirth,spasw)该关系模式的码为sno,由于只有一个码,所以不存在非主属性对码的局部函数依赖,可以到达2NCF。另外,该关系模式的函数依赖为:sno->sname,sno->ssex,sno->ssex,sno->sbirth,sno->spasw,其间不存在传递依赖,故学生表可到达3NCF.课程表C(cno,cname,cperiod)该关系模式的码为cno,cname,设主码为cno,因为该关系模式中的码都是单一的,即不存在有两个或者两个以上的属性组成的码,所以不存在非主属性对码的局部函数依赖,可以到达2NCF。另外,该关系模式的函数依赖为:cno->cname,cno->cperiod,cname->cno,cname->cperiod.因为cno->cname,cname->cperiodcno->cperiod,所以该关系模式中存在传递依赖,不能到达3NCF。故优化该表为:C1(cno,period),C2〔cname,cperiod〕.从而两表都到达了3NCF。专业表P(pno,pname,pnum,pdept)该关系模式的码为pno,pname,其中设定pno为主码。同课程表,该表不存在有两个或者两个以上属性组成的码,即不存在非主属性对码的局部函数依赖,故可到达2NCF。另外,此关系模式的函数依赖为:pno->pname,pno->pnum,pno->pdept,pname->pno,pname->pnum,pname->pdept;由于存在传递依赖:pno->pname,pname->pnum,pno->pnum.,所以未能到达3NCF。优化分解为:P1(pno,pnum,pdept),P2(pname,pnum,pdept)明显,两表都到达了3NCF.课程设置表PC(pno,psenior,cno),该关系模式的码为:(pno,psenior,cno)为全码,所以可直接到达3NCF学生选课表SC(sno,psenior,cno,grade)该关系模式的码为:〔sno,psenior,cno〕,因为不存在非主性grade对码的局部函数依赖,所以可到达2NCF,由于不存在函数依赖〔表中的函数依赖只有〔sno,psenior,cno〕->grade〕故也到达了3NCF属于表SP(sno,pno)该关系模式的码(sno,pno)也是全码,所以也到达了3NCF用户表U(uname,upasw)该表的码为uname,明显upasw对码uname是完全函数依赖的,从而到达2NCF。另外因为只有两个属性,所以不存在传递函数依赖,该表到达了3NCF物理结构设计〔1〕根本表学生表s列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)sname否否否无是Char(20)ssex否否否无是Char(2)只可取男或女sbirth否否否无是Char(20)spasw否否否无是Char(10)课程表c1列名主码候选码外码被参照表允许空数据类型约束条件cno是否否无否Char(10)cperiod否否否无是smallint课程表c2列名主码候选码外码被参照表允许空数据类型约束条件cname是否否无否Char(20)cperiod否否否无是smallint专业表p1列名主码候选码外码被参照表允许空数据类型约束条件pno是否否无否Char(10)pnum否否否无是smallintPnum>=0psdept否否否无是Char(20)专业表p2列名主码候选码外码被参照表允许空数据类型约束条件pname是否否无否Char(20)pnum否否否无是smallintPnum>=0psdept否否否无是Char(20)课程设置表pc列名主码候选码外码被参照表允许空数据类型约束条件pno是否否无否Char(10)psenior是否否无否Char(10)cno是否否无否Char(10)学生选课表sc列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)psenior是否否无否Char(10)cno是否否无否Char(10)grade否否否无是smallintgrade>=0学生与专业属于表sp列名主码候选码外码被参照表允许空数据类型约束条件sno是否否无否Char(10)pno是否否无否Char(10)管理人员密码表u列名主码候选码外码被参照表允许空数据类型约束条件uname是否否无否Char(20)upasw否否否无否Char(10)(2)视图,索引a.索引:本数据库中的表除了主键本身生成的主索引外,没有定义其他的索引。在查询时即引用主索引即可。表s的主索引列为:sno表c1的主索引列为:cno表c2的主索引列为:cname表p1的主索引列为:pno表p2的主索引列为:pname表sc的主索引列为:(pno,psenior,cno)表sp的主索引列为:(sno,pno)表u的主索引列为:unameb.视图:虽然关系数据模型分析的结果表示该数据库需要定义不同的用户视图,但考虑到数据库与前台开发程序的连接比拟复杂,所以该数据库中没有单独定义用户视图,不同的用户视图被有选择性的的select语句的结果集取.三.系统功能设计学生学籍管理系统学生学籍管理系统信息维护添加用户学生管理人员密码管理成绩维护根本信息信息查询成绩查询系统管理查询成绩统计个人成绩专业成绩欢送界面身份及密码验证成绩维护添加更新删除根本信息维护添加更新删除成绩维护添加更新删除根本信息维护添加更新删除四.系统实现1.建立数据库模式、视图及索引以下将对数据库进行实现,实现的环境为SQLSERVER2008。createdatabaseExpulsionon(name=Expulsion,filename='D:\Test\SQL\Expulsion\expulsion.mdf',size=5,filegrowth=10%,maxsize=10)logon(name=expulsion_log,filename='D:\Test\SQL\Expulsion\expulsion_log.ldf',size=5,filegrowth=10%,maxsize=10)gouseExpulsiongo(1).建立管理员表createtabletb_Admin(admin_IDintidentity,admin_Uservarchar(10)notnull,admin_Passvarchar(20)notnull,admin_Permintnotnull,constraintpk_Adminprimarykey(admin_ID))go(2).登陆日志表createtabletb_Log(log_IDintidentity,log_UsIDint,log_TimesmalldatetimedefaultgetDate(),log_IPvarchar(16),constraintpk_Logprimarykey(log_ID),constraintfk_Log_Adminforeignkey(log_UsID)referencestb_Admin(admin_ID),)go(3).院系表createtabletb_Department(depart_IDint,depart_Namevarchar(40)notnull,--院系名depart_Direvarchar(10),--系主任depart_Notevarchar(200),constraintpk_Departprimarykey(Depart_ID),)go(4).课程表createtabletb_Course(course_IDint,course_Namevarchar(20),course_PrNoint,--先行课号course_creditintnotnull,course_Notevarchar(200),--备注constraintpk_Courseprimarykey(course_ID),constraintfk_Courseforeignkey(course_PrNo)referencestb_Course(course_ID))go(5).专业表createtabletb_Professional(prof_IDint,prof_DeIDint,--院系编号prof_Namevarchar(40),--专业名prof_Notevarchar(200)constraintpk_Profprimarykey(prof_ID),constraintfk_Prof_Departforeignkey(prof_DeID)referencestb_Department(depart_ID)ondeletecascadeonupdatecascade,)go(6).班级表createtabletb_Class(class_IDint,class_Yearvarchar(4)defaultYear(getDate()),--入学年份哪一级的class_PrIDint,--专业编号class_Namevarchar(40),class_Instvarchar(10),--指导员instructorclass_Notevarchar(200),constraintpk_Classprimarykey(class_ID),constraintfk_Class_Profforeignkey(class_PrID)referencestb_Professional(prof_ID)ondeletecascadeonupdatecascade,)go(7).学生信息表createtabletb_Information(info_Novarchar(20),info_Namevarchar(10),info_Sexchar(2)check(info_Sexin('男','女')),info_Birtvarchar(10),info_NaFavarchar(8)default'汉族',info_Biplvarchar(10)default'山东省',--籍贯info_Addrvarchar(50),info_Postchar(6),--邮政编码info_Televarchar(20),info_IDchar(18),--返回不带前导空格(LTrim)、后续空格(RTrim)或前导与后续空格(Trim)的字符串副本。info_PoLavarchar(10)check(rtrim(info_PoLa)in('其他','群众','共青团','中共党员')),info_Photvarchar(100),info_Yearvarchar(10),--入学时间info_Depaint,--院系info_Profint,--专业info_Clasint,--班级info_Notevarchar(1000),constraintpk_Infoprimarykey(info_No),constraintfk_Info_clasforeignkey(info_Clas)referencestb_Class(Class_ID)ondeletecascadeonupdatecascade,)go(8).学生成绩表createtabletb_Result(resu_IDint,--成绩编号resu_CoIDint,--课程号resu_Yearvarchar(4),--年份resu_Termchar(2)check(resu_Termin('上','下')),--学期resu_Scorintnotnulldefault'0',constraintpk_Resuprimarykey(resu_ID,resu_CoID),constraintfk_Resu_Courforeignkey(resu_CoID)referencestb_Course(Course_ID)ondeletecascadeonupdatecascade,)go(9).奖罚记录createtabletb_RewardPunishment(rePu_IDintidentity,rePu_Typevarchar(4)check(rePu_Typein('奖励','惩罚')),rePu_Timevarchar(10)notnull,rePu_Notevarchar(1000)notnull,constraintpk_RePuprimarykey(rePu_ID),)(10).专业课程联系表gocreatetabletb_Prof_Cour(course_IDint,prof_IDint,constraintpk_Prof_Courprimarykey(course_ID,prof_ID),constraintfk_Prof_Cour_Courforeignkey(course_ID)referencestb_Course(course_ID),constraintfk_Prof_Cour_Profforeignkey(prof_ID)referencestb_Professional(prof_ID),)go(11).课程学生联系表createtabletb_Cour_Info(info_Novarchar(20),course_IDint,constraintpk_Cour_Infoprimarykey(info_No,course_ID),constraintfk_Cour_Info_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Cour_Info_Courforeignkey(course_ID)referencestb_Course(course_ID),)go(12).学生奖惩联系createtabletb_Info_RePu(info_Novarchar(20),rePu_IDint,constraintpk_Info_RePuprimarykey(info_No,rePu_ID),constraintfk_Info_RePu_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Info_RePu_RePuforeignkey(rePu_ID)referencestb_RewardPunishment(rePu_ID))go(13).学生成绩联系createtableInfo_Resu(info_Novarchar(20),resu_IDint,resu_CoIDint,constraintpk_Info_Resuprimarykey(info_No,resu_ID,resu_CoID),constraintfk_Info_Resu_Infoforeignkey(info_No)referencestb_Information(info_No),constraintfk_Info_Resu_Resu_IDforeignkey(resu_ID,resu_CoID)referencestb_Result(resu_ID,resu_CoID),)useExpulsiongo查看某用户的登录日志createviewvi_Admin_Log(UserName,IP,LoginTime)asselecta.admin_User,l.log_IP,l.log_Timefromtb_Adminasa,tb_Logaslwherea.admin_ID=l.log_UsIDgoselect*fromvi_Admin_LogwhereUserName='cache'go建立专业课程视图createviewvi_Prof_Cour(Professional,Course,Credit,Note)asselectf_Name,c.course_Name,c.course_credit,c.course_Notefromtb_Professionalasp,tb_Courseasc,tb_Prof_Couraspcwheref_ID=f_IDandc.course_ID=pc.course_IDgoselect*fromvi_Prof_Courgo查看学生奖惩信息createviewvi_Info_RePu(Sno,Name,Prof,Clas,rePu_Type,rePu_Time,Note)asselect_No,_Name,f_Name,c.class_Name,r.rePu_Type,r.rePu_Time,r.rePu_Notefromtb_Informationasi,tb_RewardPunishmentasr,tb_Info_RePuasir,tb_Professionalasp,tb_Classascwhere_No=_Noandr.rePu_ID=ir.rePu_IDandf_ID=_Profandc.class_ID=_Clasgoselect*fromvi_Info_RePugo建立学生成绩视图createviewvi_Info_Resu(Sno,Name,Prof,Clas,Cour,RYea,Term,Scor)asselect_No,_Name,f_Name,c.class_Name,co.course_Name,r.resu_Year,r.resu_Term,r.resu_Scorfromtb_Informationasi,tb_Resultasr,tb_Info_Resuasir,tb_Professionalasp,tb_Classasc,tb_Courseascowhere_No=_Noandr.resu_CoID=ir.resu_CoIDandr.resu_ID=ir.resu_IDandco.course_ID=r.resu_CoIDandf_ID=_Profandc.class_ID=_Clasgoselect*fromvi_Info_Resu2.装载数据useExpulsiongo插入用户表inserttb_Admin(admin_Pass,admin_Perm,admin_User)values('123',1,'cache')--0普通用户,管理员go插入登录日志表inserttb_Log(log_UsID,log_IP)values(1,'09')go插入系院表inserttb_Department(depart_ID,depart_Name,depart_Dire,depart_Note)values(1,'信息工程学院','张万民','青岛滨海学院')go插入课程表inserttb_Course(course_ID,course_Name,course_PrNo,course_credit,course_Note)values(1,'数据库原理',1,2,'一门重要的课程')go插入专业表inserttb_Pr

温馨提示

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

评论

0/150

提交评论