您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > SQL-Server课程设计报告
SQLServer课程设计报告学生选修课管理系统院系:经济与管理学院专业:农林经济管理15-3学号:6011211314姓名:唐道冬指导教师:张兵2012年6月目录1.系统开发背景...................................................21.1课题简介...................................................31.2设计目的...................................................31.3设计内容...................................................32.需求分析......................................................31.1数据需求………………………………………………………………………41.2功能需求………………………………………………………………………43.概念结构设计..................................错误!未定义书签。4.逻辑结构设计..................................................45.物理结构设计..................................错误!未定义书签。6.源程序代码....................................................56.1数据库程序...................................................66.2备份程序.....................................................76.3表程序.......................................................66.4视图.........................................................86.5存储过程.....................................................76.6触发器.......................................................87.数据库表及时视图截图...........................................98.结束语.......................................................121.系统开发背景1.1课题简介随着现代科技的高速发展,设备和管理的现代化,在实际工作中如何提高工作效率成为一个很重要的问题。而建立管理信息系统是一个很好的解决办法。经过三年的学习,我们对计算机方面的知识有了很大的提升,本着理论联系实际的宗旨,通过学校提供的这次软件技术实践的机会,在指导教师的帮助下,历经两周时间,我自行设计一套教学管理系统,在下面的各章中,我将以这套教学管理信息系统为例,谈谈其开发过程和所涉及到的问题。1.2设计目的应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。1.3设计内容运用基于E-R模型的数据库设计方法和关系规范化理论做指导完成从系统的分析到设计直至系统的最终实现,开发教学管理信息系统,完成教学管理信息系统的全部功能,包括学生管理子系统,教师管理自系统,后勤管理子系统。首先做好需求分析,并完成数据流图和数据字典。其次做概念分析,利用实体联系的方法将需求分析的用户需求抽象为信息结构,得到E-R图。然后就是逻辑结构设计,将E-R图转换为计算机系统所支持的逻辑模型2.需求分析1数据需求数据字典主要涉及到以下几个表,分别为:学生基本信息表,课程表,专业信息表,课程设置表,学生选课表,学生与专业之间的属于表以及管理人员的密码表。以下是数据字典:数据库表名关系模式名称学生学籍信息表学生课程基本信息表课程选课成绩信息表成绩学生基本情况数据表,结构如下:字段名字段类型约束控制学号charPrimarykey学生姓名varcharnotnull性别charnotnull专业班级varcharnotnull年龄varchar电话varcharnotnull地址charnotnull课程数据表,结构如下:字段名字段类型约束控制课程号char主键(primarykey)课程名称varcharnotnull任课教师varcharnotnull电话varcharnotnull上课地点varcharnotnull课时intnotnull学分numeric(2,1)notnull成绩情况数据表,结构如下:字段名字段类型约束控制课程号char外键学号char外键成绩intnotnull2.功能需求:(1)实现学生基本情况的录入,修改,删除等基本操作。(2)对学生基本信息提供灵活的查询方式。(3)完成一个班级的学期选课功能。(4)实现学生成绩的录入,修改,删除等基本操作。(5)能方便的对学生的个人学期成绩进行查询。(6)具有成绩统计,排名等功能。(7)具有留级,休学等特殊情况的处理功能。(8)能输出常用的各种报表。(9)具有数据备份和数据恢复功能3.概念结构设计(1)学生基本信息:学号,姓名,性别,专业班级,年龄,电话,地址。(2)课程基本信息:课程名,课程号,任课老师,电话,分数,学时,学分。这些实体间的联系包括四逻辑结构设计(1)学生(学号,姓名,性别,年龄,地址,专业班级),其主关键字为学号;(2)课程(课程名,课程号,任课老师,上课地点,分数,学时,学分),其中主关键字为课程号;(3)成绩(课程号,学号,分数)其中主关键字为学号和课程号。可以与学生关系模式合并为:学生(学号,姓名,性别,年龄,地址,专业班级,成绩,课程号)。电话电话上课地点上课地点选修课程成绩学生课程号课程名学时学分分数学号姓名性别专业地址年龄选修课程成绩学生课程号课程名学时学分分数学号姓名性别专业地址年龄五物理结构设计(1)数据结构:设置每一数据表的属性名,类型,宽度。(2)设置参照属性:成绩信息(课程号,学号,分数)的学号参照学生基本信息的学号。成绩信息(课程号,学号,分数)的课程号参照课程基本信息的课程号。(3)关系:学生基本信息与成绩信息建立关于学号的关系。课程基本信息与成绩信息建立关于课程号的关系。(4)数据库名称:选课管理系统。逻辑数据名称:选课管理系统。数据文件:选课管理.mdf,初始大小:2MB,最大空间:20MB,增加量:2MB。日志文件:选课管理_log.ldf,初始大小:2MB,最大空间:20MB,增加量:2MB。备份设备名:rsxtbf,备份文件:rsbf.bak(5)索引:对于每一数据表关于主关键字建立索引文件。(6)设置触发器:要求学生基本信息中的学号被修改时,学生的选修课信息表被修改。要求在学生基本信息中插入新的学号时,学生的选修课信息表被插入新的学号。要求在学生基本信息中删除工号时,学生的选修课信息表的学号被删除。(7)设置视图:为用户提供包含学号,姓名,性别,年龄,地址,专业班级,成绩,课程号的视图。(8)设置存储过程:根据用户所提交的成绩信息,为用户提供关于学生的学生基本信息(学号,姓名,性别,年龄,地址,专业班级)。根据用户所提交的成绩信息,为用户提供关于学生的选课信息(课程号,学号,分数)。6.源程序代码6.1数据库程序createdatabase学生选课管理系统onprimary(name=选课管理,filename='d:\选课管理.mdf',size=2,maxsize=20,filegrowth=2)logon(name=选课管理_log,filename='d:\选课管理_log.ldf',size=2,maxsize=20,filegrowth=2)6.2备份程序sp_addumpdevice'disk','rsxtbf','d:\beifen\rsbf.bak'gobackupdatabase学生选课管理系统torsbf6.3表程序(1)学生表基本信息表的建立Createtable学生基本信息(学号char(9)notnull,专业班级varchar(20)notnull,姓名varchar(10)notnull,性别varchar(2)notnull,年龄char(2),地址varchar(20)notnull,电话varchar(11)notnull,constraintPK_STUDENTprimarykey(学号))(2)选修课程基本信息表的建立Createtable选修课程基本信息(课程号char(5)notnull,课程名varchar(10)notnull,任课教师varchar(8)notnull,教师电话varchar(11)notnull,上课地点varchar(20)notnull,学时smallintnotnull,学分intnotnull,constraintPK_COURSEprimarykey(课程号))(3)成绩信息表的建立Createtable成绩信息(成绩varchar(3)notnull,学号char(9)notnull,课程号char(5)notnull,foreignkey(学号)references学生基本信息(学号),foreignkey(课程号)references选修课程基本信息(课程号))6.4视图createview学生基本信息视图(学号,专业班级,姓名,性别,年龄,地址,电话)asselect.学生基本信息.学号,学生基本信息.专业班级,姓名,性别,年龄,地址,电话from学生基本信息,成绩信息where学生基本信息.学号=成绩信息.学号6.5存储过程定义1.关于学生基本信息表的存储过程createprocedureyg@xlvarchar(8)=nullasif@xlisnullprint'请输入学号!'elseselect学生姓名,性别,地址,年龄,专业from学生基本信息,成绩信息where学生基本信息.学号=成绩信息.学号2.关于课程基本信息表的存储过程createprocedureyg@xlvarchar(8)=nullasif@xlisnullprint'请输入课程号!'elseselect学生姓名,性别,地址,年龄,专业from基本信息,成绩信息where课程基本信息.课程号=成绩信息.课程号6.6触发器(1).修改学号的触发器createtriggergohaon学生基本信息forupdateasbeginif(columns_updated()&01)0update成绩信息set成绩信息.学号=(selecta.学号frominserteda)where成绩信息.学号=(selectb.学号fromdeletedb)end(2)修改课程号的触发器createtriggergohaon课程基本信息forupdateasbeginif(columns_updated()&01)0update成绩信息set成绩信息.课程号=(selecta.课程号frominserteda)where成绩信息..课程号=(selectb.课程号fromdeletedb)end(3)插入新学号的触发器creat
本文标题:SQL-Server课程设计报告
链接地址:https://www.777doc.com/doc-6371515 .html