通讯录管理系统数据库课程设计报告.docx_第1页
通讯录管理系统数据库课程设计报告.docx_第2页
通讯录管理系统数据库课程设计报告.docx_第3页
通讯录管理系统数据库课程设计报告.docx_第4页
通讯录管理系统数据库课程设计报告.docx_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南涉外经济学院 课 程 设 计 报 告课程名称数据库原理与应用课程设计题 目通讯录管理系统 组 员 学 院信息科学与工程学院班 级指导教师2015年 12月 30 日任务分配表第 03 组学号姓名负责部分成绩组长数据库代码及报告部分组员程序界面部分数据库需求分析,概念结构和逻辑设计及报告部分指导教师评语:摘 要随着社会的发展,人际关系变得越来越重要,为了保持良好的人际关系,必须经常与亲戚、朋友、同学、同事保持联系,但是有时候存在着许多的限制条件,比如怎样找到交流对象的各种信息?可能你会想到现实生活中的手机等通讯工具,由于这些工具的单一性,不可能在第一时间找到自己想要的信息资料,因此,为了能够快速查找到联系人的信息,节省查找时间,开发通讯录管理系统。通讯录管理系统是一个基于SQL数据库储存和JAVA界面模式的个人通讯录管理系统。它是将自己的联系人的具体信息集中管理,成为一个方便人们使用的小软件。在开发过程中主要运用Java, SQL Server技术,由于开发工具和数据库之间的良好使用,可以为开发带来方便,使之成为一个可施行的系统。从而达到开发的目的-实现对通讯录信息的管理。通过采用相关技术,以及老师的辅导和同学们的帮助,将系统设计的功能全部实现。功能包括:用户的登录, 添加联系人信息,修改联系人信息,删除联系人信息,查询联系人信息,可以浏览全部通讯的联系人,并且可以根据数据表的各字段来查询你所要找的联系人等功能关 键 词: SQL Server,JAVA。数据库原理与应用课程设计目录摘 要3第一章 绪 论51.1目的51.2背景51.3研究内容5第二章 数据库需求分析62.1 通讯录系统的功能62.2通讯录系统的数据流62.3 通讯录系统数据流程图72.4通讯录的数据字典8第三章 数据库概念结构设计113.1实体113.2实体间包括113.3 实体属性图113.4局部E-R图12第四章 数据库逻辑设计144.1 E-R图转化而得到的关系模式144.2 由关系模式转换得到的函数依赖144.3 关系模式优化144.4 对优化后的关系模式的结构14第五章 数据库实施165.1数据库创建代码165.2数据库表创建代码165.2.1用户表165.2.2联系人表165.2.3分组表175.3视图创建代码175.4存储过程代码创建18第六章 数据库运行和维护196.1登陆模块196.2联系人界面196.3朋友分组界面及详细查询196.4同学分组界面及详细查询206.5同事分组界面及详细查询216.6查询界面226.7增加界面236.8修改界面236.9删除界面24第七章 总结25参考文献26第一章 绪 论1.1目的个人通讯录是当前每个人不可缺少的信息系统,目前以纸质通讯录最为普遍。手工的信息管理存在许多弊端,信息容易丢失、查找费时、存储量有限等。随着科技的发展与任命生活水平的提高,计算机进入了许多的家庭。作为计算机应用的一部分,使用计算机对通讯录进行管理,着手工管理无法达到的有点,如:检索循序、查找方便、可靠、性能高、存储量大、保密性好等。这些有点能够极大的提高通讯录管的效率。因此,开发一套通讯录信息管理软件很有必要。1.2背景随着互联网的爆炸发展,人们越来越习惯于利用电脑实现若需的服务,电脑已经影响到人们生活的各个方面,广泛的人际关系成为一个人重要的资源。另外,传统的纸质通讯录不能满足一部分现在人的需要而电子通讯录,由于其不受时间空间的限制同时又具有传统通讯录的大部分功能,能够满足各类用户常规的需求,处理大量信息和联系方式,而且方便快捷。1.3研究内容该系统主要是:用户登录和联系人,和分组部分。为了方便用户查找自己想要的联系人信息,将联系人按分组类别进行分组。可以按组别查找,也可以按照联系人关键字查找第二章 数据库需求分析2.1 通讯录系统的功能通讯录管理系统功能有:用户登录、添加联系人、修改联系人、删除联系人、分组信息的查询和分组信息的删除。用户登录:实现用户登录通讯录系统。显示联系人:显示用户对所有存在数据库里的联系人数据的显示。查找联系人:实现用户在数据库空中查找自己需要的联系人的信息。添加联系人:实现用户对新联系人的添加 以及对联系人进行分组。修改联系人:实现用户对已有联系人的信息进行修改,然后保存。分组信息查询:方便用户对联系人的管理查询,针对通讯录中的人进行分组。分组信息数据的删除:实现用户对将要删除联系人对类别的分组信息进行删除。2.2通讯录系统的数据流显示查查改删增查显示通讯录管理主界面朋友分组同学分组通讯录管理主界面用户登陆图1.1 数据模块图2.3 通讯录系统数据流程图用户登录系统时,数据的流动 如图:图1.2 顶层数据流程图通讯录操作系统的数据流程 如图:图1.3 0层数据库流程图2.4通讯录的数据字典1.数据项数据项名含义数据类型长度数据项之间的关系用户名用户的唯一标识Char10通讯录登录管理密码对应用户的标识Char10编号联系人唯一的标识Char50姓-名联系人姓名Char50编号-姓名性别联系人性别Char10编号-性别出生日期联系人出生日期Char20编号-出生日期电话号码联系人电话号码Char10编号-电话号码E-mail联系人e-mailChar50编号-e-mail分组类别联系人的类别Char10编号-分组类别2.数据结构数据结构名含义说明组成用户表用户的登录信息用户名+密码联系人表联系人各项详细信息编号+姓名+性别+电话号码+出生日期+E-mail+分组类别同学分组表类别为同学联系人信息编号+姓名朋友分组表类别为朋友联系人信息编号+姓名3.数据流数据流名说明数据流来源数据流去向组成登录用于登录通讯录系统登录数据流通讯录用户名,密码联系人信息用于查询、修改、增加、删除联系人信息联系人数据流联系人模块编号,姓名,性别,电话号码,出生日期,E-mail,分组类别同学分组信息用于显示、查询、删除同学分组数据流同学分组模块、联系人模块姓名,编号朋友分组信息用于显示、查询朋友分组数据流朋友分组模块、联系人模块姓名,编号4.处理过程处理过程名说明输入数据流输出数据流处理登陆界面用户登陆的界面输入用户名密码进入联系人界面登陆成功,进入管理系统;失败,则显示密码错误。联系人信息界面查询、插入、修改、增加联系人时的界面编号,姓名,性别,电话号码,出生日期,E-mail,分组类别进入联系人界面查看个联系人详细信息朋友分组界面查询分组类别为朋友的姓名编号、姓名分组类别进入朋友界面查看分组类别为朋友的姓名同学分组界面查询分组类别为同学的姓名编号、姓名分组类别进入同学界面查看分组类别为同学的姓名第三章 数据库概念结构设计3.1实体由需求分析的结果可知,本系统设计的实体包括:(1).用户登陆信息:用户名,密码。(2).联系人详细星系:编号,姓名,性别,电话号码,出生日期,E-mail,分组类别。(3).同学分组信息:编号,姓名。(4).朋友分组信息:编号,姓名。3.2实体间包括(1).每位用户包括多个联系人,每个联系人对应多个用户。(2).每位联系人对应一个分组,一个分组对应多个联系人。3.3 实体属性图编号姓名朋友图1.2 用户实体图出生日期分组类别联系人E-mail姓名电话号码编号性别图1.3 联系人实体图编号姓名朋友图1.4 朋友分组实体图图1.4 朋友分组实体图朋友姓名编号图1.5 朋友分组实体图3.4局部E-R图用户名登陆密码用户编号联系人出生日期性别姓名分组类别电话号码E-mail MN图1.6 登陆局部E-R图朋友姓名同学编号性别出生日期姓名编号朋友分类同学分类同学朋友联系人N 11N电话号码E-mail同学编号同学姓名图1.7 总体E-R图第四章 数据库逻辑设计4.1 E-R图转化而得到的关系模式(1).联系人信息(编号,姓名,性别,出生日期,电话号码,E-mail,地址,分组类别),其主键为编号。(2).朋友分组信息(朋友编号,姓名),其外键为朋友编号。(3).同学分组信息(同学编号,姓名),其外键为朋友编号。4.2 由关系模式转换得到的函数依赖联系人信息中,姓名、性别、出生日期、电话号码、E-mail、地址分组类别都依赖编于编号,朋友分组信息中姓名依赖于朋友编号,同学分组信息中,姓名依赖于同学编号4.3 关系模式优化其联系人信息(编号,姓名,性别,出生日期,电话号码,E-mail,地址)中都为简单属性,因此属于第一范式,又不存在部分函数依赖为第二范式不存在传递依赖,所以,为第三范式。朋友分组信息(朋友编号,姓名)中都为简单属性,因此是第一范式,且不存在部分函数依赖为第二范式,又不存在传递依赖,所以,为第三范式。同学,分组信息(同学编号,姓名)中都为简单属性,因此是第一凡是,且不存在部分函数依赖为第二范式,又不存在传递依赖,所以,为第三范式。4.4 对优化后的关系模式的结构表XXX 联系人表数据名类型长度是否为主键能否为空是否为外键说明用户名Char30是否否用户登录系统唯一标识密码Char10否否否密码表XXX 联系人表数据名类型长度是否为主键能否为空是否为外键说明编号 Char50是否否联系人唯一标识,联系人编号姓名Char50否否否联系人姓名性别Char10否否否联系人性别电话号码Char10否否否联系人电话E-mailChar50否是否联系人邮件地址Char50否否否联系人住址分组类型Char10否否否联系人类别表XXX 朋友分组表数据名类型长度是否为主键是否为空是否为外键说明朋友编号Char50是否是对联系人表中的联系人一一对应姓名Char50是是否类别为朋友的联系人的姓名表XXX 同学分组表数据名类型长度是否为主键是否为空是否为外键说明同学编号Char50是否是与联系人表中的联系人一一对应姓名Char50是是否类别为同学的联系人的姓名第五章 数据库实施5.1数据库创建代码create database 通讯录管理系统on primary(name =通讯录管理系统,Filename=d:数据库通讯管理系统.mdf,size=10mb,maxsize=100mb,filegrowth=20%)log on(name=通讯录管理系统,filename=d:数据库通讯录管理系统.ldf,size=20mb,maxsize=100mb,filegrowth=20%)5.2数据库表创建代码5.2.1用户表create table 用户(用户名 char(20) primary key,密码 char(40) not null,)5.2.2联系人表create table 联系人(编号 char(10) primary key,姓名 char(10),性别 char(4) not null,电话号码 char(10) not null,E_mail char(50),地址 char(30),分组类型 char(10),)5.2.3分组表create table 同学分组(同学编号 char(10)primary key FOREIGN KEY(同学编号)REFERENCES 联系人(编号),姓名 char(10),)gocreate table 朋友分组(朋友编号 char(10)primary key FOREIGN KEY(朋友编号)REFERENCES 联系人(编号),姓名 char(10),)gocreate table 同事分组(同事编号 char(10)primary key FOREIGN KEY(同事编号)REFERENCES 联系人(编号),姓名 char(10),)5.3视图创建代码gocreate view 朋友asselect 朋友分组.朋友编号,朋友分组.姓名,电话号码,性别,E_mail,分组类型from 朋友分组,联系人where 朋友分组.朋友编号=联系人.编号gocreate view 同学asselect 同学分组.同学编号,同学分组.姓名,电话号码,性别,E_mail,分组类型from 联系人,同学分组where 同学分组.同学编号=联系人.编号gocreate view 所有联系人asselect 联系人.姓名,联系人.电话号码,联系人.性别,联系人.E_mail,分组类型from 联系人go5.4存储过程代码创建create procedure _朋友asselect 朋友分组.朋友编号,朋友分组.姓名,电话号码,性别,E_mail,分组类型from 联系人,朋友分组where 朋友分组.朋友编号=联系人.编号gocreate procedure _同学asselect 同学分组.同学编号,同学分组.姓名,电话号码,性别,E_mail,分组类型from 联系人,同学分组where 同学分组.同学编号=联系人.编号gocreate procedure _所有联系人asselect *from 联系人第六章 数据库运行和维护6.1登陆模块进入此系统后会出现用户登陆界面,用户输入用户名和密码即可进入此系统,若密码错误则显示错误提示6.2联系人界面用户在登录系统后成功进入下图所示的窗体,该窗体会显示所有联系人6.3朋友分组界面及详细查询在联系人界面会有分组信息,点击打开朋友分组信息,会出现朋友分组里面的联系人,选择某个联系人可以查看该联系人的详细信息6.4同学分组界面及详细查询在联系人界面会有分组信息,点击打开同学分组信息,会出现同学分组里面的联系人,选择某个联系人可以查看该联系人的详细信息6.5同事分组界面及详细查询在联系人界面会有分组信息,点击打开同事分组信息,会出现同事分组里面的联系人,选择某个联系人可以查看该联系人的详细信息6.6查询界面点击查询按钮,输入你要查询联系人的姓名,则会弹出该联系人的信息6.7增加界面在信息栏目里输入你要添加的联系人的具体信息,然后点击增加按钮,显示添加联系人成功6.8修改界面选中需要修改的联系人,对其个联系人信息进行编辑修改,按下修改按钮,显示修改成功6.9删除界面选中你要删除的联系人,点击删除,则成功删除该联系人第七章 总结为期2周的课程设计终于结束了,从本次课程设计中我们小组收获了不少。由于我们是初次接触数据库这门课程,所以本次的课程设计对于我们来说是一个不小的挑战,所以我们选择了难度相对较小的通讯录管理系统这个课程来进行设计,编码的时候,我们采用了Java面向对象编程语言来完成这个项目,通过类与对象来完成老师要求我们实现的功能。在本次课程设计的过程中,我们发现了数据库需求分析的重要性,数据库的需求分析成功与否是我们这次课程设计成功与否的关键,我们小组成员在需求分析遇到了一些小问题,成员之间的意见各不相一,但是我们通过小组讨论,网上查找资料以及向老师请教,我们终于达成了一致意见。结构设计对于本次课程设计也很重

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论