1、西安科技大学数据库原理及应用课程设计报告 题目: 寄宿学校管理信息系统的设计与实现 学院: 计 算 机 科 学 与 技 术 学 院 专业及班级: 软件工程1202及1203班 学号: 1208010206 1208010207 1208010303 姓名: 李 倩 魏 楠 楠 王 青 枝 日期: 2014年7月9日 目 录1课程设计目的及意义22设计内容及人员分工23 需求分析23.1 需求陈述23.2 功能需求23.3 数据需求33.4 其它需求34 数据库设计34.1概念结构设计34.2逻辑结构设计44.3数据表结构设计45 系统功能设计66 系统实现6.1 开发环境76.2 数据库的创建
2、与连接技术74.3 主要功能的运行结果及代码97 总结13参考文献131、课程设计的目的和意义课程设计目的:通过本课程设计,培养学生具有C/S模式的数据库应用软件系统的设计和开发能力;熟练掌握SQL Server数据库的使用,熟练掌握使用VC、VB或其它开发工具开发数据库应用的能力;为毕业设计打下坚实的基础。学生根据所学的数据库原理与程序设计的知识, 通过对一个实际问题的分析,设计与实现,将原理与应用相结合,使学生学会如何把书本上学到的知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。课程设计的意义:通过对这个系统的设计,让我们更加熟悉SQL Sever
3、2008的相关操作,也巩固了这学期学习的数据库的一些知识,让我们更懂得数据库的重要性无论是在生活中,还是在软件的设计和制作过程中。让我们学会了数据库的设计,经历了数据库设计的几个阶段,比如需求分析,概念结构设计,逻辑结构的设计,都让我们努力的去想,去做,懂得数据库的优化,想想怎么做才是最好的。做出一个比较满意的数据库设计。2、设计内容及人员分工 魏楠楠: 数据库的需求分析,概念设计 王青枝:数据库逻辑设计,表结构设计李 倩:数据库触发器创建实现3、需求分析3.1 需求陈述:某寄宿学校需要开发一个信息管理系统,通过该管理系统可以对学生的日常事务进行管理:校长助理:可以对学生的档案进行管理,可以进
4、行新增、删除、查询、修改等操作。 财务人员:进行每月的收费和退费工作,每个学生的每月费用包括住宿费,伙食费220,在6-8月收取空调费20,在11-2月收取取暖费20,每个学期的开学初(3月、9月)收取书本费(不定)。住宿费分三种情况:双职工的子女为60,单职工的子女80元,父母均不在本单位工作为100元。 每个班的老师在每天要申报本班学生的出勤表,由校长助理完成各班的考勤录入,考勤情况决定上月的伙食退费,以每天10元计算。学生家长:在对退费有疑问时,可以查询学生的出勤情况。 校长助理可以对学生班级进行管理(新增、删除等),可以进行新学生的编班工作和调班工作,档案录入工作,查询班级名册等情况。
5、3.2功能需求:3.2.1需求理解如下:1. 系统在学生入学时,为其建立个人档按,并由校长助理进行录入。校长助理可对学生档案进行管理,包括删除,修改,查询等操作。2. 每天由老师记录考勤情况,然后由校长助理完成考勤录入。3. 校长助理对班级进行管理,包括新增和删除班级,进行学生的编班和调班工作,查询班级名册等情况。4. 费用部分有收费和退费两大模块,由财务人员完成。每月的费用由财务人员根据规定录入,所退费用由系统自动生成,5. 如果家长对收费、退费有疑问之处,可登陆系统进行查询。3.2.2通过分析需求,系统的功能需求应如下: (1)校长助理为新入校学生建立档案,并完成录入。(2)校长助理在学生
6、离校时删除学生档案。(3)校长助理可以对学生档案进行修改。(4)校长助理可以查询学生信息。(5)校长助理完成考勤的录入。(6)校长助理可以新增班级。(7)校长助理可以删除已有的班级。(8)校长助理可以对新入校的学生进行编班。(9)校长助理可以对学生进行调班。(10)财务人员根据学校的规定录入每月的费用数目。(11)财务人员进行费用的收取。(12)财务人员可以退费。(13)家长可以查询学生考勤及退费情况。3.3 数据需求:所需数据:某大学各个班级成员总数,班级名称,班级号,学生学号,学生姓名,学生所属类别(是单双或非职工子女),宿舍里的各种收费情况(住宿费,伙食费,空调费或取暖费,书本费),获得
7、学生档案并录入表中等。数据来源:通过与相关人员沟通,向相关负责人获得相关数据。3.4 其它需求:保证数据库的安全性(登录权限)和完整性(设置主键)数据库的备份和还原。4、数据库设计4.1概念结构设计:4.1.1分类:将需求分析和功能分析的结果综合起来,将此系统涉及到的实体进行划分。4.1.2聚集:将已经分好类的实体进行总结,将每个实体相关属性的聚集组成实体型。4.1.3 ER图:ER图4.2逻辑结构设计:将概念结构设计的E-R图转换为关系模型如下:Role(Type,Username,Password)Student(Sno,Sname,Cno,Stype)Class(Cno,Cname,Cn
8、umber)Fee(Sno, Fmonth, Fhee, Fzee, Fkee, Fqee, Fsee, Fscharge, Fcharge)Attendance(Ano,Sno,Date)4.3数据表结构设计:Role表结构列名数据类型约束类型说明Typevarchar(10)非空角色类型Usernamevarchar(10)非空用户账号Passwordvarchar(10)非空用户密码Student表结构列名数据类型约束类型说明Snochar(10)主键学号Snamechar(30)非空姓名Cnochar(10)非空班号Stypechar(40)非空家长类型Class表结构列名数据类型约束
9、类型说明Cnochar(10)主键班级号Cnamechar(30)非空班级名Cnumbersmallint非空班级人数Fee表结构列名数据类型约束类型说明Snochar(10)主键学号Fmonthsmallint非空月份Fheesmallint非空伙食费Fzeesmallint非空住宿费Fkeesmallint非空空调费Fqeesmallint非空取暖费Fseesmallint非空书本费Fschargesmallint非空上月缴费Fchargesmallint非空退费Attendance表结构列名数据类型约束类型说明Anoint编号SnoChar(10)主键学号Datedate非空入学日期5
10、、系统功能设计:本系统名为“寄宿学生管理系统”。其中的人员有财务人员,校长助理,学生家长,具体的操作就是:当这些人员想要进入此系统时,第一眼看到的是登录,然后选择自己相应的身份进行权限的认证(1)校长助理可以对班级信息进行查询、增加、删除、修改,还可对自己的密码进行修改等管理,也可对整个系统的数据进行备份。(2)财务人员:负责学生的收费、退费,以及学生缴费情况的录入,还负责学生考勤的录入,管理自己的登录密码。(3)家长:可以通过自己孩子的学号进入该系统,并且可查询自己孩子的缴费机出勤情况。还有管理自己的登录密码。6 系统实现6.1 开发环境:(1)vc+6.0(2)win7操作系统(3)SQL
11、 Sever 20086.2 数据库的创建与连接技术:ODBC连接技术和ADO连接6.2.1 ODBC连接技术:(1)数据源的配置:在计算机中找到数据源,打开然后选择添加,在弹出的选项中选择SQL Sever 即可(2)然后写出数据库名称和服务器。(3)配置好后进行测试:结果如下图所示: 6.3 主要功能的运行结果及代码:6.3.1建立触发器以实现校长助理的删除学生功能,当删除学生信息时将此学生的相关信息(考勤,收费等)全部删除。具体实现代码如下:USE SchoolGO/* Object: Trigger dbo.delStudent Script Date: 07/10/2014 17:2
12、7:05 */SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER trigger dbo.delStudent /*删除一条学生记录*/on dbo.StudentAFTER DELETEasdeclare number char(15) /*删除的学号*/declare cnumber char(15) /*班级号*/select number=Sno,cnumber=Cno from deletedupdate Class /*班级人数减一*/set Cnumber = Cnumber - 1where cnumber=Cnodelete
13、from Student /*从学生表中删除记录*/where number=Snodelete from Attendance /*从考勤表中删除记录*/where number=Snodelete from Fee /*从收费表中删除记录*/where number=Snodelete from Role /*从工作人员表中删除学生对应的家长信息*/where number=Type6.3.2校长助理的档案管理功能6.3.3校长助理的班级管理功能6.3.4各个密码修改功能6.3.5财务人员的考勤录入功能6.3.6财务人员缴费,退费功能6.3.7用户验证登陆功能6.3.7数据备份功能7 总结
14、:在这次的课程设计中,我们遇到了很多问题,在开始的设计中感觉有些迷茫,后来经过同学之间的交流终于明白了,然后在建立触发器的过程中,出了一点小问题,建立错了,没有把它删除,后来又建对了,但是程序中还是不能删除学生,最后发现是之前建立的错误的没有删除,当把它删除之后,就可以删除学生信息了。通过这次的课程设计,我们对于数据库的设计更加熟练了,对于SQL Sever 2008 软件的使用也熟练了一些,掌握了相关的功能。更加深入的理解了触发器的作用。以后还是要多多的参加这种设计,我们的数据库设计能力就能提高的更快。参考文献1王珊 萨师煊 数据库系统概述(第4版). 北京:高等教育出版社,20062 罗晓霞 朱莉 数据库原理及应用实验指导 西安科技大学,20123王珊 数据仓库与联机分析处理 北京:科学出版社,199814