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