通讯录管理系统数据库课程设计报告Word格式.docx
《通讯录管理系统数据库课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统数据库课程设计报告Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
从而达到开发的目的-----实现对通讯录信息的管理。
通过采用相关技术,以及老师的辅导和同学们的帮助,将系统设计的功能全部实现。
功能包括:
用户的登录,添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯的联系人,并且可以根据数据表的各字段来查询你所要找的联系人等功能
关键词:
SQLServer,JAVA。
第一章绪论
1.1目的
个人通讯录是当前每个人不可缺少的信息系统,目前以纸质通讯录最为普遍。
手工的信息管理存在许多弊端,信息容易丢失、查找费时、存储量有限等。
随着科技的发展与任命生活水平的提高,计算机进入了许多的家庭。
作为计算机应用的一部分,使用计算机对通讯录进行管理,着手工管理无法达到的有点,如:
检索循序、查找方便、可靠、性能高、存储量大、保密性好等。
这些有点能够极大的提高通讯录管的效率。
因此,开发一套通讯录信息管理软件很有必要。
1.2背景
随着互联网的爆炸发展,人们越来越习惯于利用电脑实现若需的服务,电脑已经影响到人们生活的各个方面,广泛的人际关系成为一个人重要的资源。
另外,传统的纸质通讯录不能满足一部分现在人的需要而电子通讯录,由于其不受时间空间的限制同时又具有传统通讯录的大部分功能,能够满足各类用户常规的需求,处理大量信息和联系方式,而且方便快捷。
1.3研究内容
该系统主要是:
用户登录和联系人,和分组部分。
为了方便用户查找自己想要的联系人信息,将联系人按分组类别进行分组。
可以按组别查找,也可以按照联系人关键字查找
第二章数据库需求分析
2.1通讯录系统的功能
通讯录管理系统功能有:
用户登录、添加联系人、修改联系人、删除联系人、分组信息的查询和分组信息的删除。
用户登录:
实现用户登录通讯录系统。
显示联系人:
显示用户对所有存在数据库里的联系人数据的显示。
查找联系人:
实现用户在数据库空中查找自己需要的联系人的信息。
添加联系人:
实现用户对新联系人的添加以及对联系人进行分组。
修改联系人:
实现用户对已有联系人的信息进行修改,然后保存。
分组信息查询:
方便用户对联系人的管理查询,针对通讯录中的人进行分组。
分组信息数据的删除:
实现用户对将要删除联系人对类别的分组信息进行删除。
2.2通讯录系统的数据流
图1.1数据模块图
2.3通讯录系统数据流程图
用户登录系统时,数据的流动如图:
图1.2顶层数据流程图
通讯录操作系统的数据流程如图:
图1.30层数据库流程图
2.4通讯录的数据字典
1.数据项
数据项名
含义
数据
类型
长度
数据项之间的关系
用户名
用户的唯一标识
Char
10
通讯录登录管理
密码
对应用户的标识
编号
联系人唯一的标识
50
姓-名
联系人姓名
编号->
性别
联系人性别
出生日期
联系人出生日期
20
电话号码
联系人电话号码
E-mail
联系人e-mail
e-mail
分组类别
联系人的类别
2.数据结构
数据结构名
含义说明
组成
用户表
用户的登录信息
用户名+密码
联系人表
联系人各项详细信息
编号+姓名+性别+电话号码+出生日期+E-mail+分组类别
同学分组表
类别为同学联系人信息
编号+姓名
朋友分组表
类别为朋友联系人信息
3.数据流
数据流名
说明
数据流来源
数据流去向
登录
用于登录通讯录系统
登录数据流
通讯录
用户名,密码
联系人信息
用于查询、修改、增加、删除联系人信息
联系人数据流
联系人模块
编号,姓名,性别,电话号码,出生日期,E-mail,分组类别
同学分组信息
用于显示、查询、删除
同学分组数据流
同学分组模块、联系人模块
姓名,编号
朋友分组信息
用于显示、查询
朋友分组数据流
朋友分组模块、联系人模块
4.处理过程
处理过程名
输入数据流
输出数据流
处理
登陆界面
用户登陆的界面
输入用户名密码
进入联系人界面
登陆成功,进入管理系统;
失败,则显示密码错误。
联系人信息界面
查询、插入、修改、增加联系人时的界面
查看个联系人详细信息
朋友分组界面
查询分组类别为朋友的姓名
编号、姓名
进入朋友界面
查看分组类别为朋友的姓名
同学分组界面
查询分组类别为同学的姓名
进入同学界面
查看分组类别为同学的姓名
第三章数据库概念结构设计
3.1实体
由需求分析的结果可知,本系统设计的实体包括:
(1).用户登陆信息:
用户名,密码。
(2).联系人详细星系:
编号,姓名,性别,电话号码,出生日期,E-mail,分组类别。
(3).同学分组信息:
编号,姓名。
(4).朋友分组信息:
3.2实体间包括
(1).每位用户包括多个联系人,每个联系人对应多个用户。
(2).每位联系人对应一个分组,一个分组对应多个联系人。
3.3实体属性图
图1.2用户实体图
图1.3联系人实体图
图1.4朋友分组实体图
图1.5朋友分组实体图
3.4局部E-R图
MN
图1.6登陆局部E-R图
N1
1N
图1.7总体E-R图
第四章数据库逻辑设计
4.1E-R图转化而得到的关系模式
(1).联系人信息(编号,姓名,性别,出生日期,电话号码,E-mail,地址,分组类别),其主键为编号。
(2).朋友分组信息(朋友编号,姓名),其外键为朋友编号。
(3).同学分组信息(同学编号,姓名),其外键为朋友编号。
4.2由关系模式转换得到的函数依赖
联系人信息中,姓名、性别、出生日期、电话号码、E-mail、地址分组类别都依赖编于编号,朋友分组信息中姓名依赖于朋友编号,同学分组信息中,姓名依赖于同学编号
4.3关系模式优化
其联系人信息(编号,姓名,性别,出生日期,电话号码,E-mail,地址)中都为简单属性,因此属于第一范式,又不存在部分函数依赖为第二范式不存在传递依赖,所以,为第三范式。
朋友分组信息(朋友编号,姓名)中都为简单属性,因此是第一范式,且不存在部分函数依赖为第二范式,又不存在传递依赖,所以,为第三范式。
同学,分组信息(同学编号,姓名)中都为简单属性,因此是第一凡是,且不存在部分函数依赖为第二范式,又不存在传递依赖,所以,为第三范式。
4.4对优化后的关系模式的结构
表XXX联系人表
数据名
是否为主键
能否为空
是否为外键
30
是
否
用户登录系统唯一标识
Char
联系人唯一标识,联系人编号
联系人电话
联系人邮件
地址
联系人住址
分组类型
联系人类别
表XXX朋友分组表
是否为空
朋友编号
对联系人表中的联系人一一对应
类别为朋友的联系人的姓名
表XXX同学分组表
同学编号
与联系人表中的联系人一一对应
类别为同学的联系人的姓名
第五章数据库实施
5.1数据库创建代码
createdatabase通讯录管理系统
onprimary
(
name='
通讯录管理系统'
Filename='
d:
\数据库\通讯管理系统.mdf'
size=10mb,
maxsize=100mb,
filegrowth=20%
)
logon
name='
filename='
\数据库\通讯录管理系统.ldf'
size=20mb,
5.2数据库表创建代码
5.2.1用户表
createtable用户
用户名char(20)primarykey,
密码char(40)notnull,
5.2.2联系人表
createtable联系人
(
编号char(10)primarykey,
姓名char(10),
性别char(4)notnull,
电话号码char(10)notnull,
E_mailchar(50),
地址char(30),
分组类型char(10),
5.2.3分组表
createtable同学分组
同学编号char(10)primarykeyFOREIGNKEY(同学编号)REFERENCES联系人(编号),
go
createtable朋友分组
朋友编号char(10)primarykeyFOREIGNKEY(朋友编号)REFERENCES联系人(编号),
createtable同事分组
同事编号char(10)primarykeyFOREIGNKEY(同事编号)REFERENCES联系人(编号),
5.3视图创建代码
createview朋友
as
select朋友分组.朋友编号,朋友分组.姓名,电话号码,性别,E_mail,分组类型
from朋友分组,联系人
where朋友分组.朋友编号=联系人.编号
createview同学
select同学分组.同学编号,同学分组.姓名,电话号码,性别,E_mail,分组类型
from联系人,同学分组
where同学分组.同学编号=联系人.编号
createview所有联系人
select联系人.姓名,联系人.电话号码,联系人.性别,联系人.E_mail,分组类型
from联系人
5.4存储过程代码创建
createprocedure_朋友
from联系人,朋友分组
createprocedure_同学
createprocedure_所有联系人
select*
第六章数据库运行和维护
6.1登陆模块
进入此系统后会出现用户登陆界面,用户输入用户名和密码即可进入此系统,若密码错误则显示错误提示
6.2联系人界面
用户在登录系统后成功进入下图所示的窗体,该窗体会显示所有联系人
6.3朋友分组界面及详细查询
在联系人界面会有分组信息,点击打开朋友分组信息,会出现朋友分组里面的联系人,选择某个联系人可以查看该联系人的详细信息
6.4同学分组界面及详细查询
在联系人界面会有分组信息,点击打开同学分组信息,会出现同学分组里面的联系人,选择某个联系人可以查看该联系人的详细信息
6.5同事分组界面及详细查询
在联系人界面会有分组信息,点击打开同事分组信息,会出现同事分组里面的联系人,选择某个联系人可以查看该联系人的详细信息
6.6查询界面
点击查询按钮,输入你要查询联系人的姓名,则会弹出该联系人的信息
6.7增加界面
在信息栏目里输入你要添加的联系人的具体信息,然后点击增加按钮,显示添加联系人成功
6.8修改界面
选中需要修改的联系人,对其个联系人信息进行编辑修改,按下修改按钮,显示修改成功
6.9删除界面
选中你要删除的联系人,点击删除,则成功删除该联系人
第七章总结
为期2周的课程设计终于结束了,从本次课程设计中我们小组收获了不少。
由于我们是初次接触数据库这门课程,所以本次的课程设计对于我们来说是一个不小的挑战,所以我们选择了难度相对较小的通讯录管理系统这个课程来进行设计,编码的时候,我们采用了Java面向对象编程语言来完成这个项目,通过类与对象来完成老师要求我们实现的功能。
在本次课程设计的过程中,我们发现了数据库需求分析的重要性,数据库的需求分析成功与否是我们这次课程设计成功与否的关键,我们小组成员在需求分析遇到了一些小问题,成员之间的意见各不相一,但是我们通过小组讨论,网上查找资料以及向老师请教,我们终于达成了一致意见。
结构设计对于本次课程设计也很重要,一个好的结构设计决定着这个系统功能实现的方式,也是影响用户和系统交互的方式。
在所有的工作做完以后,接下来的就是测试,测试能给我们找到之前我们所为发现的错误,通过测试,我们找到了一些错误,通过我们组员集体讨论和查资料,我们很快就解决了这些错误。
虽然这次我们选择的课程设计难度相对较小,但是我们通过我们自己的努力,一步一步的实现它,由于时间和我们的能力有限,我们并没有完全做出这个系统所有的功能。
总而言之,我们从中学到了很多东西,我认为这次课程设计对于我以后的工作有很大帮助。
参考文献
【1】王小玲,刘卫国.数据库应用基础教程【M】.北京:
中国铁道出版社.2008
【2】施伯乐,丁宝康,汪卫.数据库系统教程【M】.第3版.北京:
高等教育出版社.2008
【3】程云志,张帆,崔翔.数据库原理与SQLServer2005应用教程【M】.北京:
机械工业出版社.2006
【4】苗雪兰,刘瑞新,宋会群.数据库技术及应用【M】.北京:
【5】李春葆,曾平.数据库原理与应用:
基于SQLServer2000【M】.北京:
清华大学出版社.2006
【6】宁洪,赵文涛,贾丽丽.数据库系统原理【M】.北京:
北京邮电大学出版社.2005
【7】何玉洁.数据库基础及应用技术【M】.第2版.北京:
清华大学出版社.2004
【8】MicrosoftCorporation.SQLServer2005文档【OL】.