手机通讯录系统设计论文Word下载.docx

上传人:b****5 文档编号:20394158 上传时间:2023-01-22 格式:DOCX 页数:17 大小:339.32KB
下载 相关 举报
手机通讯录系统设计论文Word下载.docx_第1页
第1页 / 共17页
手机通讯录系统设计论文Word下载.docx_第2页
第2页 / 共17页
手机通讯录系统设计论文Word下载.docx_第3页
第3页 / 共17页
手机通讯录系统设计论文Word下载.docx_第4页
第4页 / 共17页
手机通讯录系统设计论文Word下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

手机通讯录系统设计论文Word下载.docx

《手机通讯录系统设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《手机通讯录系统设计论文Word下载.docx(17页珍藏版)》请在冰豆网上搜索。

手机通讯录系统设计论文Word下载.docx

参考文献13

谢 辞14

通讯录系统数据库的设计

DatabaseDesigninTheAddressListSystem

数学与信息工程学院信息管理与信息系统专业

厉洁

指导教师:

陈国栋

1.系统功能需求分析

随着市场经济的飞速发展和人们生活水平的不断提高,计算机科学技术逐渐成熟,其强大的功能已为人们深刻认识,并且在代替和延伸脑力劳动方面发挥越来越重要的作用。

作为计算机应用的一部分,使用计算机对各项信息进行管理,具有着手工管理所无法比拟的优点。

例如:

检索迅速、查找方便、可靠性高、存储量大、保密性好等。

这些优点能够极大地提高工作的效率,也是企业的科学化、正规化管理与世界接轨的重要条件。

本次课程设计要求建立一个对手机通讯录进行电子化管理的通讯录系统,用SQLserver数据库来实现其功能。

在本通讯录系统中,可以将自己亲朋好友的姓名、手机号、宅电、性别、家庭地址、生日、QQ、邮件、公司、邮编、备注等资料保存在数据库中,并可以随时进行登陆、退出、查看、添加、修改、删除、模糊查询、排序、个人设置等,在十足人性化的同时,提供一定的安全机制,是使该系统具有方便性、系统性、规划性、完备性和普遍性的性质。

根据以上特性,本通讯录系统适合各岗位人员使用,例如行政人员、商务人员、教育人员和其他各种岗位在职员工以及非所有的非在岗人员。

2.数据库设计分析

本系统主要为日常的通讯录管理而开发,目的是方便人们管理联系人通讯工作需要,提高对联系人信息管理的效率,提高数据存储的可靠性。

本系统方便市场上无纸化办公需要,节约了支出,具有经济可行性;

本系统采用SQLserver强大的数据库功能,具有技术可行性;

本系统服务于大众部门,同时也方便了广大人民需要,具有社会可行性。

本着对手机通讯录系统完善性、普遍性、灵活性和人性化的要求,对本系统的模块做了以下设计:

系统总体包含四个模块,分别为登录模块、管理模块、设置模块和查询模块。

其中管理模块包括添加、修改、删除共三个功能;

登陆模块包括登陆、退出共两个功能;

设置模块包括个人设置、账户设置两个功能;

查询模块包括模糊查询、查看、排序三个功能。

在以上分析基础上得到系统功能结构图如下:

图1系统功能结构图

每个功能各有各的特色,下面对各个功能的特点进行简单介绍:

(1)查看:

用于查看所有记录于数据库中的联系人信息。

(2)模糊查询:

用于快速查找所需要的信息,输入姓氏就会出现所有使用该姓氏的联系人。

(3)排序:

用于对表中某一属性进行排序,便于找到相关的联系人。

(4)修改:

用于对变动的信息进行及时的修改并更新,同时能够及时的呈现给用户。

(5)删除:

用于删掉不需要的记录,留出空间给新记录,便于搜索信息。

(6)添加:

用于新建一条联系人记录到数据库当中。

(7)个人设置:

对常用的一些属性进行选择,对不需要的属性进行隐藏。

(8)账户设置:

对登录时使用的账户名、密码进行设置。

(9)登陆:

根据用户的手机号,密码来直接登陆,初始密码为“0000”,登陆以后可以设置用户名,也可以作为以后登录的条件。

(10)退出:

关闭程序,退出通讯录系统。

在系统功能需求分析的基础上,可以分析得到系统的数据流程。

在用户使用用户名和密码登录系统以后,开始进行用户管理,具体为对联系人信息表添加、修改、删除记录,还有对联系人信息表各个属性的选择设置;

同时,用户可以对联系人进行查询,输入要搜索的内容,系统就会返回所需要的个人信息表。

根据以上分析,得到整个系统的数据流程图如下:

图2数据流程图

由此分析一共设计了如下四个表用来存储所有的联系人信息和用户信息:

联系人信息表(包含属性:

姓名,群组,手机号,宅电,公司号码,QQ,电子邮件,生日,性别,家庭住址,公司,邮编,备注);

查询资料表(包含属性:

姓名,群组,手机号,生日,性别,家庭住址,公司);

属性信息表(包含属性:

用户名,用户号码,密码,属性选项);

用户信息表(包含属性:

ID,用户号码,用户名,密码)。

上述每个表都设置了能唯一识别联系人的属性,就是主关键字的设置,用以使各个表之间互相联系又相互区别,而且不会造成数据的重复记录。

其中,联系人信息表设置属性(姓名)为主关键字,设置查询信息表的属性(姓名)为外关键字,这样可以使各个表在操作管理过程中联系起来。

查询信息表设置属性(手机号)为主关键字,这样就不会出现重复记录,防止数据冗余。

属性信息表设置属性(用户名)为主关键字,设置属性(用户号码)为外关键字,其他属性可以根据用户意愿进行更改设置,各个用户之间就不会混淆。

用户信息表设置属性(手机号码)为主关键字,这样可以使其与设置信息表相对应起来。

通过各个不同表之间的关联,实现了整个数据库设计的完整性和一致性。

各表之间相对应的局部和整体E-R图如下:

(1)用户信息和查询资料之间的联系:

图3用户信息与查询资料ER图

(2)用户信息和属性资料之间的联系

图4用户信息与属性资料ER图

(3)用户和联系人信息之间的联系

图5用户信息和联系人信息ER图

(4)通讯录系统模型整体E-R图:

图6整体ER图

3.数据库整体逻辑结构设计

数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。

数据库设计目标可以从满足要求、数据库性能、对现实世界模拟的精确程度、开发应用的速度与质量等方面来考虑。

借助于SQLserver强大的数据库功能,本系统的数据库的设计仅需考虑数据库逻辑结构的设计

(1)下面是将各个实体和联系转化为相应的二维表即关系模式,指定各个关系的主关键字和外部关键字,并对各个关系的约束加以限定:

1)联系人信息表,如表1所示。

表1联系人信息表

字段名

数据类型

主关键字

外部关键字

取值说明

姓名

Char(6)

Yes

不允许为空

群组

Char(20)

性别

Char

(2)

只允许取“男”或“女”

生日

Datetime

家庭住址

Varchar(30)

公司

邮编

Char(10)

手机号

宅电

公司号码

QQ

email

Varchar(20)

备注

Varchar(50)

2)查询信息表,如表2所示。

表2查询资料表

Varchar(10)

Datatime

3)属性信息表,如表3所示。

表3属性信息表

用户名

Char(16)

密码

属性选项

用户号码

4)用户信息表,如表4所示。

表4用户信息表

ID

手机号码

(2)用户信息表(user)和属性信息表(set)通过属性(用户名)连接起来,当属性信息进行设置时,下次用户登录时的用户名也会同时更改为所设置的新用户名。

属性信息表(set)和查询资料表(s)之间通过属性(手机号)相联系,手机号存储不能重复,可以防止数据的重复记录,防止数据冗余。

联系人信息表(I)和查询资料表(S)之间通过属性(姓名)连接起来,有助于查询操作的快速有效。

依据以上分析,所有表之间的关系图,如图7所示。

图7所有表之间的关系图

4.数据库实现

4.1建立数据库和表

在SQLServer中建立数据库和表,这是整个系统的基石,注意各表属性的数据类型大小,各表之间相联系的属性要注意其大小的相同。

/*通讯录数据库的建立语句*/

CREATEDATABASE通讯录系统

ONPRIMARY

(NAME=N'

通讯录系统'

FILENAME=N'

D:

\SQLServer\

MSSQL.1\DATA\通讯录系统.mdf'

SIZE=10240KB,FILEGROWTH=1024KB)

LOGON

通讯录系统_log'

DATA\通讯录系统_log.ldf'

SIZE=5120KB,FILEGROWTH=10%)

图8建立数据库

/*联系人信息表的建立语句*/

CREATETABLEI(

[姓名][char](20)NOTNULL,

[手机号][char](20)NOTNULL,

[群组][char](20)NULL,

[宅电][char](20)NULL,

[公司号码][nchar](20)NULL,

[QQ][char](30)NULL,

[生日][datetime]NULL,

[家庭住址][nchar](20)NULL,

[公司][varchar](50)NULL,

[邮编][nchar](10)NULL,

[EMAIL][nchar](10)NULL,

[备注][varchar](40)NULL,

CONSTRAINT[PK_B]PRIMARYKEYCLUSTERED

([姓名]ASC

)WITH(IGNORE_DUP_KEY=OFF)ON[PRIMARY]

)ON[PRIMARY]

图9表I

/*查询资料表的建立语句*/

CREATETABLES(

[群组][varchar](20)NULL,

[性别][char](10)NULL,

[家庭住址][varchar](50)NULL,

CONSTRAINT[PK_S]PRIMARYKEYCLUSTERED

([手机号]ASC

图10表S

/*属性信息表的建立语句*/

CREATETABLESET(

[用户名][char](20)NOTNULL,

[密码][char](20)NOTNULL,

[属性选项][varchar](40)NOTNULL,

[用户号码][char](20)NOTNULL,

CONSTRAINT[PK_SET]PRIMARYKEYCLUSTERED

([用户名]ASC

)ON[PRIMARY]

图11表SET

/*用户信息表的建立语句*/

CREATETABLEuser(

[ID][char](10)NULL,

[用户名][char](20)NULL,

[手机号码][char](20)NOTNULL,

CONSTRAINT[PK_user1]PRIMARYKEYCLUSTERED

([手机号码]ASC

图12表user

4.2建立视图

视图用于用户查询时返回给用户的信息,可以实现排序、模糊查询等的功能。

/*创建查询群组为家人的联系人信息的视图*/

CREATEVIEW群信息

AS

SELECTTOP(100)PERCENT姓名,群组

FROMS

WHERE(群组='

家人'

ORDERBY姓名

图13群信息视图

/*创建查询群组为朋友,姓王的联系人信息的视图,按生日排序*/

CREATEVIEW生日

SELECT TOP(10)PERCENT姓名,手机号,生日,公司,群组

FROM dbo.I

WHERE (姓名=(SELECT 姓名 FROMdbo.IASI_1

WHERE(姓名LIKE'

王%'

)))AND(群组='

朋友'

ORDERBY生日

图14生日视图

4.3建立存储过程

存储过程在系统中用于用户对联系人的管理过程,例如对数据库中各个表的联系人信息进行插入、修改、删除等操作。

/*创建搜索名为cjj的存储过程,输入名字进行查询*/

CREATEPROCCJJ

@NAMEVARCHAR(8)=NULL

AS

IF@NAMEISNULL

PRINT'

请输入姓名'

ELSE

SELECT姓名,手机号,群组FROMS

GO

图15cjj存储过程

/*创建名为INF的加密存储过程*/

IFEXISTS(SELECTNAMEFROMSYSOBJECTS

WHERENAME='

INF'

ANDTYPE='

P'

)DROPPROCINF

CREATEPROCINF

@GROUPCHAR(20)='

群组'

WITHENCRYPTION

ASSELECT*FROMS

WHERE群组=@group

图16INF加密存储过程

4.4建立触发器

了实现表间数据的一致性和完整性,创建了触发器,具体代码如下:

/*添加联系人号码触发器*/

CREATETRIGGERADDONE

ONI

FORINSERT

IFEXISTS(SELECT*FROMINSERTEDA

WHEREA.手机号NOTIN(SELECT手机号fromI))

BEGIN

RAISERROR('

违背数据一致性'

16,1)

ROLLBACKTRANSACTION

END

/*更新删除以后的联系人信息表触发器*/

sdata'

tr'

)DROPtriggersdata

go

CREATETRIGGERsdata

ONS

FORUPDATe

IF(COLUMNS_UPDATED()&

1)>

UPDATES

SETS.姓名=(SELECTc.姓名FROMinsertedc)

WHERES.姓名=(SELECTb.姓名FROMDELETEDb)

end

5.课程设计总结

本次关于SQLServer数据库的课程设计,从当初的几乎不了解到现在的大致熟悉,对于我来说收获最大的是方法和能力,特别是分析和解决问题的能力。

在整个课程设计的过程中,我发现自己在经验方面十分缺乏,空有理论知识,没有实际的理性知识,许多东西都与实际脱节。

这次设计就将我们的学术知识与真实的系统设计联系起来,让我们既对许多以往掌握不够熟练或者是使用较少而易忽略的知识点有了一定的掌握,又对SQLServer数据库的应用方面有了许多了解。

通过设计前对整个通讯录系统的分析,使我对面向数据库程序设计有了更深层次的认识,通过对用户需求所作的人性化分析,在设计程序的过程中,我更加合理的构建了能够满足用户需求的系统功能,使用户在使用时能增强效率。

在编写代码的过程当中,我通过查阅有关的资料和分析实例,从中学到了很多能够不断优化自己功能和设计,提高了系统的合理性。

这次课程设计让我深刻体会到实践的重要性,只有通过实验才能把书本上的知识充分落实到位,还有同学之间的相互讨论也很重要。

像课程设计这种类型的作业对我们的帮助的确很大的,它需要我们将学过的相关知识系统地联系起来,从中暴露出自身的不足,以待改进!

 

参考文献

[1]赛奎春.SQLServer数据库开发实例解析[M].北京:

机械工业出版社,2006.1

[2]夏邦贵.SQLServer数据库开发经典实例精解[M].北京:

机械工业出版社,2006.1.

[3]黄德才.数据库原来及其应用教程[M].北京:

科学出版社,2006.7.

[4]唐红亮.SQLServer数据库设计与系统开发教程[M].北京:

清华大学出版社,2007.10.

[5](台州学院计算机基础教学网).

[6]黄梯云.管理信息系统[M].北京:

高等教育出版社,2005.3.

[7]詹英.数据库技术与应用—SQLServer2005教程[M].北京:

清华大学出版社,2008.9.

[8]Heidelberg.LectureNotesinComputerScience[J].Paris:

SpringerBerlin,2006.1-20.

[9]曹红根,丁勇.数据库应用系统开发实例[M].北京:

清华大学出版社,2008.9.

[10]程云志.数据库原理与SQLServer2005应用教程[M].北京:

机械工业出版社,2006.8.

[11]冯建华,周立柱.数据库系统设计与原理[M].北京:

清华大学出版社,2004.7.

谢 辞

这次设计让我获益匪浅,在此特别要感谢陈老师对我的热情指导和耐心教诲,还要感谢帮助我解决了许多难题的同学们。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1