华北科技大学学院学院通讯录管理系统.docx
- 文档编号:16713022
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:15
- 大小:142.50KB
华北科技大学学院学院通讯录管理系统.docx
《华北科技大学学院学院通讯录管理系统.docx》由会员分享,可在线阅读,更多相关《华北科技大学学院学院通讯录管理系统.docx(15页珍藏版)》请在冰点文库上搜索。
华北科技大学学院学院通讯录管理系统
华北科技学院
《数据库系统》
课程设计说明书
班级:
姓名:
学号:
设计题目:
学院通讯录管理系统
设计时间:
2012.12.24至2013.1.4
指导教师:
耿子林
评语:
_________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:
____评阅教师:
_____
目 录
1引言1
1.1课程设计选题1
1.2课程设计的目的1
1.3本选题的设计背景1
2系统分析与设计1
2.1功能及性能分析1
2.1.1功能需求1
2.1.2性能需求1
2.1.3数据流图表示1
2.2系统的开发运行环境1
2.3系统总体设计2
3数据库设计2
3.1数据库概念结构2
3.2数据库逻辑结构2
3.2.1关系模型2
3.2.2关系模型的优化2
3.2.3视图的设计2
3.3数据库的实现2
3.3.1表2
3.3.2安全性设计2
3.3.5触发器的设计2
4详细设计与实现3
4.1登录模块3
4.2学生查询模块3
4.3教师查询模块3
4.4管理员操作模块3
结 论3
参考文献3
1引言
1.1课程设计选题
《学院通讯录管理系统》
1.2课程设计的目的
通过数据库系统课程设计,熟悉SQLSERVER数据库管理系统的结构与组成;尽可能多地掌握SQLSERVER数据库管理系统的应用技术和的使用;应用VC++6.0开发工具实践《学院通讯录管理系统》的数据库应用系统的设计方法、开发过程和SQLSERVER数据库的一些基础的管理与维护。
最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。
1.3本选题的设计背景
选择通讯录管理系统作为题目是想通过设计一个小型数据库系统方便学校对于同学,教师的联系管理。
能够在一些事情发生的时候方便学校对于同学和教师的联系以便于提供一定的帮助。
还能帮助学校的管理部门对学校学院,学生,教师的变动进行相关的信息调整以便于把握师生们的最新相关信息方便管理。
2系统分析与设计
2.1系统的需求分析
系统实现了对学生,教师,管理员三种不同用户的不同权限的操作。
满足了学生,教师的通讯查询需求,同时也隐藏了部分信息以保证学生和教师相互之间的个人隐私得到保障。
同时,要进行对通讯对象的基本信息修改要通过管理员进行管理员登录后才能进行相关的删除修改等工作。
2.2系统的开发运行环境
本系统开发平台:
VC++6.0和SQLServer2008。
本系统采用架构:
CS结构
本系统运行环境:
windows7操作系统。
2.3系统总体设计
系统功能是先根据不同用户提示输入相应密码进行登录。
有学生用户登录,教师用户登录和管理员用户登录三种模式。
登录成功后可进行相应的信息模块选择查询,并且管理员还有进一步对基础数据表进行删除修改等基本操作的权限。
下面是系统总体结构的设计图:
3数据库设计
3.1数据库概念结构
系统建立了五个基本表。
分别是学生表,用来存放包括学号,姓名,电话,邮箱,家庭地址,所属专业等六个信息。
然后是教师表,用来存放包括职工号,姓名,电话,邮箱,所属学院等五个信息。
还有学院分类表,有学院编号,学院名称,学院邮箱,学院负责处联系方式等四个信息。
另外还有两个表分别是变动学生表和变动教师表,用来存放短期内有信息变动的学生和教师的基本信息。
其属性分别和学生表还有教师表相同。
这两个表的建立是保存修改学生和教师的信息用以确认其正确性。
系统关键结构E-R图:
3.2数据库逻辑结构
3.2.1关系模型
由关键系统架构的E-R图所转换的关系模式如下:
academy(aca_name,aca_id,aca_post,aca_phone)
student(stu_id,stu_name,stu_post,stu_phone,stu_address,stu_academy)
teacher(tea_id,tea_name,tea_post,tea_phone,tea_academy)
上述关系模式当中,第一个属性设为该关系模式的主键。
3.2.2关系模型的优化
上述关系模式都经过了一定的优化,若有优化不足的地方可以在系统操作运行时候体现出来,然后根据体现的问题进行相关的修改。
3.2.3视图的设计
系统创建了三个视图,分别是查询部分学生信息的视图stupt(apartoftable),查询部分教师信息的视图teapt(apartoftable),以及查询全部学院信息的视图acaall(alloftable)。
之所以这样设计就是考虑到管理员对于教师,学生,学院信息的操作权限和教师,学生的权限不同。
并且教师和学生对系统进行操作的权限也不尽相同,这样做在一定程度上保证了通讯系统的功能完善也同时对不同角色采取限制措施用以保证个人隐私得到足够的保护。
3.3数据库的实现
3.3.1表
首先是学院表的建立,其中学院名称设置为主键。
createtableacademy
(
aca_idvarchar(30),
aca_namevarchar(30)constraintacademy_PrimPRIMARYKEY,
aca_postvarchar(30),
aca_phonevarchar(30)
)
然后是学生表的建立,其中学号设为主键,专业有外键约束。
createtablestudent
(
stu_idvarchar(30)constraintstudent_PrimPRIMARYKEY,
stu_namevarchar(30),
stu_postvarchar(30),
stu_phonevarchar(30),
stu_addressvarchar(30),
stu_aca_namevarchar(30)
notnullconstraintstudent_ForeFOREIGNKEYREFERENCESacademy(aca_name)
)
最后是教师表的建立,教师工号设置为主键,所在专业也是外键约束。
createtableteacher
(
tea_idvarchar(30)constraintteacher_PrimPRIMARYKEY,
tea_namevarchar(30),
tea_postvarchar(30),
tea_phonevarchar(30),
tea_aca_namevarchar(30)
notnullconstraintteacher_ForeFOREIGNKEYREFERENCESacademy(aca_name)
)
另外再设计两个表分别存放教师和学生的变动信息。
由于其结构和属性分别于教师信息表和学生信息表相同,所以在此不详细列出。
3.3.2视图
视图的建立和前文所述一样。
由于考虑到权限等问题所以将视图设计为查询部分部分学生信息的视图,查询教师部分信息的视图,和查询全部学院信息的视图。
具体设计结构如下:
先是建立基于学生信息表的视图,查询的部分学生信息分别是学生学号,学生姓名,学生家庭地址和学生所在学院名称,这是给学生用户访问时操作的界面,在一定程度上保证了学生的个人信息的保密问题。
createviewstu_pt
asselectstu_id,stu_name,stu_address,stu_aca_name
fromstudent
然后是基于教师信息表建立的视图。
查询的部分教师信息分别是教师的职工号,教师姓名,教师所属学院。
这个视图是提供给学生用户所访问的教师模块和教师用户对教师的访问模块的权限限制的措施。
同样是基于权限和隐私所考虑的。
createviewtea_pt
asselecttea_id,tea_name,tea_aca_name
fromteacher
最后是基于学院信息表建立的视图,一开始感觉建立这个视图没有必要,但进行管理员的相关操作时会出现相关的权限漏洞,于是也建立了一个基于学院信息表所有信息的视图,方便了管理员实际的操作。
createviewaca_all
asselectaca_id,aca_name,aca_post,aca_phone
fromacademy
3.3.3安全性设计
该系统建立了三个不同的用户,分别是学生用户,教师用户和管理员用户。
其中学生用户,教师用户和管理员用户都可以访问学生信息,教师信息,学院信息三个模块。
只是在访问模块的时候由于访问视图的不同所以造成了访问权限的不一样。
其中学生和教师的访问权限只是基本的查询,但是教师查询的内容要比学生多一些。
然后管理员可以实现相关的基础操作,如添加,删除等基本操作。
3.3.5触发器
当往学生信息变动表插入数据时就会触发显示所插入的信息,先是基于学生信息变动表的触发器:
createtriggerstu_insert
onstu_change
forinsert
asselect*fromstu_change
然后是基于教师信息变动表建立的触发器:
createtriggertea_insert
ontea_change
forinsert
asselect*fromtea_change
4主要模块的详细设计与实现
4.1登录模块
1.界面
2.功能
根据不同的用户角色输入相应密码登录系统进行相关查询,如果输入密码错误会显示错误信息。
从登录界面就开始对不同用户进行相关的授权操作。
4.2学生查询模块
创建学生用户的部分代码:
createloginstuselectwithpassword='345'
usecommunicate
createuserstudentsforloginstuselect
grantselect
onstu_pt
tostudents
4.3教师查询模块
教师查询模块的界面与学生查询相差不大,都是在登录成功之后根据弹出的提示选择是对学生信息查询还是教师信息查询以及学院信息查询。
其查询的权限也与学生查询的权限相差不大。
下面是选择查询信息的截图:
4.4管理员模块
管理员模块是系统中最主要的部分,包含对后台的数据库的学生信息表,教师信息表,学院信息表等基本信息表的直接操作。
具体的操作有清除信息,添加记录,删除记录和修改记录等。
其中每一项操作都可以直接改动后台数据库里的信息。
下面是管理员的进行的操作的截图:
结 论
本次课程设计总体上算是能满足模拟一个小型学院通讯录管理系统的操作,实现了不同角色对于通讯录系统的不同操作。
也考虑到了一定的安全性。
这次课程设计主要花费的时间都在于实现对后台数据表的直接操作,还有多个表连接和从用户到表的连接上。
特别是在管理员的创建过程中遇到了很多意想不到的问题和困难。
总之,这次设计算是很基础地完成了大体上要实现的功能。
通过了这一次的数据库编程,我更好的把握了数据库编程的一些技巧。
也更熟悉了制作前台的相关知识,如C++以及VC6.0开发工具的操作。
最主要的是,这一次的设计让我能把相关的知识结合起来,我想,这种结合就是以后去工作所必不可少的技能。
因此,要能进行高质量的编程首先要把基础的东西都踏踏实实去学好,这样才能保证以后的更广阔的发展空间。
同时这次设计业为以后进行更多的项目的实现提供了很多帮助,让我对数据库编程和图形编程引起了一定的兴趣。
相信通过这次的练习,我能更好的去开发自己所感兴趣的东西。
在这里,我想说的是,本次设计还是有很多地方不足,如检索,部分查询等功能都还没有实现。
同时,我也明白,很多错误并不是编程的时候调试可以碰到并解决的。
很多时候往往是认为程序运行正确了,但被别人拿去使用却发现了一些意想不到的错误,我想,这也许是自己基本功不够扎实的体现吧。
最后,我认为这次数据库课程设计最重要的并不是要做的多么的出色。
而是要学到对一件事进行整体构思,规划,分析,然后才一步步踏实的去做。
不仅现在要这样开始练习,包括将来的工作,生活,都需要这种总体规划分析的思想。
参考文献
[1]陈志泊,王春玲。
数据库原理及应用教程。
人民邮电出版社,2008
[2]杜茂康,吴建,王永。
C++面向对象程序设计。
电子工业出版社,2007
[2]高守传郑静。
VC++开发指南。
清华大学出版社,2004
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华北 科技大学 学院 通讯录 管理 系统