版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库系统课程设计题目学生学籍管理系统学生姓名 学号 学院 专业 指导教师 二O一O年十二月三十日目录1系统目标 11.1功能要求 11.2平安要求 11.3环境要求 12概念设计 12.1系统E-R图 12.2系统功能模块设计 13逻辑设计 24系统实现 34.1用户登录模块 34.2学生信息管理模块 3学生学籍管理系统1系统目标1.1功能要求〔1〕实现学生根本情况的录入,修改,删除等根本操作。〔2〕对学生根本信息提供灵活的查询方式。〔3〕完成一个班级的学期选课功能。〔4〕实现学生成绩的录入,修改,删除等根本操作。〔5〕能方便的对学生的个人学期成绩进行查询。〔6〕具有成绩统计,排名等功能。〔7〕具有留级,休学等特殊情况的处理功能。〔8〕能输出常用的各种报表。〔9〕具有数据备份和数据恢复功能。1.2平安要求用户登录时要有用户和密码,对于不正确的用户和密码登录超过规定的次数时应予以拒绝。1.3环境要求客户端操作系统:windowsXP,或者windows2000数据库:SQLServer2005;CPU:2.4GHz以上;内存:512以上;硬盘:80GB以上;VGA显示器或更高;数据库管理系统:windowsXP,windows2000前台开发工具:SQLServer2005,VisualStudio20052概念设计2.1系统E-R图2.2系统功能模块设计3逻辑设计(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)4系统实现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,'信息工程学院','张万民','青岛滨海
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 病人出入院工作制度
- 病理科基本工作制度
- 监考证工作制度模板
- 社区医保员工作制度
- 社区治安员工作制度
- 离退休干部工作制度
- 税务局税收工作制度
- 美国检测室工作制度
- 群众体育科工作制度
- 蛋糕店员工工作制度
- DB43T 2563-2023 滑坡崩塌泥石流治理工程勘查规范
- 有限空间模板拆除施工方案
- 16S524塑料排水检查井-井筒直径Φ700~Φ1000
- 年产4万吨丁苯橡胶的工艺设计
- FZ∕T 73029-2019 针织裤行业标准
- JJG 455-2000工作测力仪行业标准
- 宠物腹部手术-肠管切除和端端吻合术
- 第5课+家族の写真+课件 【知识精讲精研】 初中日语七年级人教版第一册
- 克罗恩病诊断与治疗新指南详解
- 苏教版高一化学《化学能与电能的转化》单元复习学案
- 江苏省手术分级目录(2023)word版
评论
0/150
提交评论