通讯录管理系统数据库分析与设计说明书.docx

上传人:b****7 文档编号:16543893 上传时间:2023-07-14 格式:DOCX 页数:26 大小:537.53KB
下载 相关 举报
通讯录管理系统数据库分析与设计说明书.docx_第1页
第1页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第2页
第2页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第3页
第3页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第4页
第4页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第5页
第5页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第6页
第6页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第7页
第7页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第8页
第8页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第9页
第9页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第10页
第10页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第11页
第11页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第12页
第12页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第13页
第13页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第14页
第14页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第15页
第15页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第16页
第16页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第17页
第17页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第18页
第18页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第19页
第19页 / 共26页
通讯录管理系统数据库分析与设计说明书.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

通讯录管理系统数据库分析与设计说明书.docx

《通讯录管理系统数据库分析与设计说明书.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统数据库分析与设计说明书.docx(26页珍藏版)》请在冰点文库上搜索。

通讯录管理系统数据库分析与设计说明书.docx

通讯录管理系统数据库分析与设计说明书

通讯录管理系统数据库

分析与设计说明书

项目小组名称:

项目名称:

学校通讯录管理系统分析与设计说明书

小组成员:

1系统需求分析说明

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

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

例如:

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

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

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

在本通讯录系统中,可以将学校有关人员的密码、姓名、性别、电话、E-mail、备注等资料保存在数据库中,并可以随时进行登陆、退出、查看、添加、修改、删除、模糊查询、排序、个人设置等,在十足人性化的同时,提供一定的安全机制,是使该系统具有方便性、系统性、规划性、完备性和普遍性的性质。

1.1涉及部门和人员分析

用户的ID、密码、姓名、性别、电话、E-mail、用户权限;通讯录的联系人姓名、地址、联系电话、所属职务、所在单位、所属地区。

1.2涉及事件分析

●信息录入:

录入联系人信息(包括姓名、电话号码、地址、备注等);

●信息查询:

输入联系人姓名或电话,可查询到联系人信息;

●查询所有联系人的信息,并按可选的自定义规则进行排序;

●信息删除与修改:

输入联系人姓名或电话,查询显示出该联系人的所有信息,并在此基础上进行修改;或可以删除该联系人的信息;

●信息保存:

将联系人的信息保存于文件中。

1.3完成业务功能分析

●查看:

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

●模糊查询:

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

●排序:

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

●修改:

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

●删除:

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

●添加:

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

●账户设置:

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

●退出:

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

2基本数据信息描述

2.1数据元素

数据元素(dataelement)是计算机科学术语。

它是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。

本系统的数据元素有:

●用户的ID、密码、姓名、性别、电话、E-mail、用户权限;

●通讯录的联系人姓名、地址、联系电话、所属职务、所在单位、所属地区。

2.2数据组织

数据组织data0rganization:

按照一定的方式和规则对数据进行归并、存储、处理的过程。

3综合业务流程

整个系统的数据流程图如下:

4.数据库结构设计

4.1概念结构设计

概念设计是把用户的需求进行综合、归纳与抽象,统一到一个整体概念结构中,形成数据库的概念模型。

4.1.1实体识别

从数据处理的角度看,现实世界中的客观事物称为实体,它是现实世界中任何可区分,可识别的事物。

在这儿用到的实体有用户、通讯录。

●用户(TB_Users):

使用者。

●通讯录(TB_AddrList):

该使用者的通讯录。

4.1.2联系识别

实体之间的对应关系称为联系,它反应了现实世界事物之间的相互关联。

识别:

●一个用户只能有一个通讯录,一个通讯录也只可以属于一个用户。

4.1.3属性识别

实体的特征称为属性。

●用户具有用户ID、密码、姓名、性别、电话、E-mail、用户权限7个属性;

●通讯录具有联系人姓名、地址、联系电话、所属职务、所在单位、所属地区6个属性。

4.2E-R图

E-R图也称实体-联系图(EntityRelationshipDiagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型

4.2.1局部E-R图

●用户实体E-R图

用户的实体具有用户ID、密码、姓名、性别、电话、E-mail、用户权限7个属性,ER图如图:

图4-1用户E-R实体图

●通讯录E-R实体图

通讯录的实体具有联系人姓名、地址、联系电话、所属职务、工作单位、QQ6个属性,E-R图如图所示。

通讯录

联系电话

联系人姓名

QQ

工作单位

地址

所属职务

图4-5通讯录E-R实体图

4.2.2全局E-R图

用户与通讯录n:

m联系E-R图

图4-7E-R实体图

4.2.3概念模型

概念模型是在对用户需求分析之后,通过画出本系统抽象出的E-R图,由概念模型辅助工具PowerDesigner进行设计,通过具体地设置和绘画,最后就形成了如下所示的概念模型图,生成的概念结构就能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据处理要求,是对现实世界的一个真实模型。

如图所示:

4.3逻辑结构设计

现在需要将上面是数据库概念结构转化为数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。

4.3.1关系模式识别

设计数据库应用系统的一项重要工作是设计关系模式,也就是设计一组二维表的表头。

用户(用户ID,密码,姓名,性别,电话,E-mail、用户权限)

通讯录(联系人姓名,地址,联系电话,所属职务,工作单位,QQ)

4.3.2关系模式转换

●“用户”实体到关系模式的转换

从图4-1可以看出,“用户”实体具有用户ID、密码、姓名、性别、电话、E-mail、用户权限7个属性,其中用户ID是其关键属性。

●“通讯录”实体到关系模式的转换

从图4-5可以看出,通讯录的实体具有联系人姓名、地址、联系电话、所属职务、工作单位、QQ6个属性。

联系人姓名是其关键属性。

4.3.3主键,外键,域,规则,默认值等约束描述确认

●“用户”表中用户ID是其主键,并给“性别”列添加CHECK约束,规定“性别”只能为“男”或“女”。

●通讯录表中联系人姓名是其主键。

4.3.4物理模型

将生成的概念模型通过单击PowerDesigner工具菜单栏上的Tools选项,在选择GeneratePhysicalDataModel选项,就可以转换为物理模型,生成的最后结果具体如图:

4.4物理结构设计

4.4.1用户表设计

创建企业信息管理系统中的各数据表,在此系统中共涉及到2个数据表的应用,分别为如下。

●用户信息表

用户信息表(Users)用于存放校园通讯录信息管理系统中所有系统管理用户的信息,用户管理是每个管理系统中必不可少的,也是比较重要的一部分,本系统中进行了较详细的设计,表中各个字段的数据类型、大小以及简短描述如表4-1所示。

SN

列名

描述

类型

1

用户ID

用户ID[PK]

varchar(10)

2

姓名

用户姓名

varchar(20)

3

密码

记录用户登入本系统时的用户密码

varchar(10)

4

性别

用户性别

char

(2)

5

Email

用户E-mail

varchar(20)

6

联系电话

用户的联系电话

varchar(20)

7

权限

用户权限

char

(1)

表4-1用户信息表TB_Users

●5.通讯录信息表

通讯录信息表(product)用于存放通讯录信息管理系统中所有通讯录的信息,通讯录信息的管理是系统中比较重要的内容,联系电话是其中的关键信息,表中各个字段的数据类型、大小以及简短描述如表4-5所示。

SN

列名

描述

类型

1

联系人姓名

联系人姓名

varchar(50)

2

地址

联系人地址

varchar(20)

3

电话

联系人电话

varchar(20)

4

工作单位

联系人工作单位

varchar(50)

5

职务

联系人职务

varchar(20)

6

QQ

联系人QQ

varchar(20)

表4-5通讯录信息表TB_AddrList

4.4.2功能实现

因为使用存储过程可以给系统带来优化,所以系统将很大程度地使用存储过程,在系统中共应用了4个存储过程,以Add开头的存储过程为系统中信息添加的存储过程,以Update开头的存储过程为系统中信息修改的存储过程,这些存储过程将会在系统程序文件的后台应用中调用,下面将对系统中应用的存储过程进行解释。

●1.AddTB_用户存储过程

AddTB_用户存储过程用于向用户信息表中添加新的用户信息。

以下代码表示了这一存储过程。

CREATEPROCEDUREAddTB_用户

@用户IDvarchar(10),

@姓名varchar(20),

@密码varchar(10),

@性别char

(2),

@Emailvarchar(20),

@联系电话varchar(20),

@权限char

(1)

AS

INSERTINTOTB_Users

用户ID,

姓名,

密码,

性别,

Email,

联系电话,

sUserPurview

VALUES

@用户ID,

@姓名,

@密码,

@性别,

@Email,

@联系电话,

@权限

GO

●2.AddTB_通讯录存储过程

AddTB_通讯录存储过程用于往通讯录信息表中添加新的通讯录信息。

以下代码表示了这一存储过程。

CREATEPROCEDUREAddTB_通讯录

@联系人姓名varchar(20),

@地址varchar(50),

@电话varchar(20),

@工作单位varchar(20),

@职务varchar(20),

@QQvarchar(20),

AS

INSERTINTOTB_AddrList

联系人姓名,

地址,

电话,

工作单位,

职务,

QQ,

VALUES

@联系人姓名,

@地址,

@电话,

@工作单位,

@职务,

@QQ

GO

●3.UpdateTB_用户存储过程

UpdateTB_用户存储过程用于修改用户信息表中,符合条件的用户信息,其中密码信息不可以更新。

以下代码表示了这一存储过程。

CREATEPROCEDUREUpdateTB_用户

@用户IDvarchar(10),

@姓名varchar(20),

@性别char

(2),

@Emailvarchar(20),

@联系电话varchar(20),

@权限char

(1)

AS

UPDATETB_用户

SET

用户ID=@用户ID,

姓名=@姓名,

性别=@性别,

Email=@Email,

联系电话=@联系电话,

权限=@权限

WHERE

用户ID=@用户ID

GO

●4.UpdateTB_通讯录存储过程

UpdateTB_通讯录存储过程用于修改通讯录信息表中的通讯录信息。

以下代码表示了这一存储过程。

CREATEPROCEDUREUpdateTB_通讯录

@联系人姓名varchar(20),

@地址varchar(50),

@电话varchar(20),

@工作单位varchar(20),

@职务varchar(20),

@sDutyIDvarchar(20)

AS

UPDATETB_通讯录

SET

联系人姓名=@联系人姓名,

地址=@地址,

电话=@电话,

工作单位=@工作单位,

职务=@职务

QQ=@QQ

WHERE

联系人姓名=@联系人姓名

GO

5用户分角色使用数据库权限分配与设计

5.1数据操作设计

5.1.1查询

查询有关数据时,可以用SELECT语句:

SELECT[ALL|DISTINCT][TOPn[PERCENT]]select_listFROMtable_name

5.1.2添加

给表或视图添加数据时,可用INSERT语句:

INSERT[INTO]

{table_name|view_name}

{[(column_list)]

{VALUES

(value_list)

|derived_table

|execute_statement}

}

|DEFAULTVALUES

5.1.3修改

更改表或视图中单行、行组或所有行的数据值时,可用UPDATE语句:

UPDATE

{table_name|view_name}

SET

{{column_name|@variable}=expression

}[,…n]

[FROM{}[,…n]

[WHERE]

5.1.4删除

删除数据时可用DELETE语句或TRUNCATETABLE语句。

1DELETE语句

DELETE[FROM]

{table_name|view_name}

[FROM{}[,…n]]

[WHERE{}]

}

②TRUNCATETABLE语句

TRUNCATETABLEtable_name

5.1.5清零

删除表中所有数据可用以下方式:

1DELETE[FROM]table_name

②TRUNCATETABLEtable_name

5.2库表对象的T-SQL语言实现

5.2.1Sqlserver系统版本描述

SQLServer2012是Microsoft公司推出的SQLServer数据库管理系统的一个版本。

该版本继承了SQLServer以前版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows7的大型多处理器的服务器等多种平台使用。

优点:

1、高性能设计,可充分利用WindowsNT的优势。

2、系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。

3、强壮的事务处理功能,采用各种方法保证数据的完整性。

4、支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。

SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台

5.2.2库实现

在企业管理器下创建“通讯录管理”数据库或在查询分析器中用以下语句创建:

CREATEDATABASE’通讯录管理’

5.2.3表实现

●创建用户信息表TB_Users

createtableTB_Users

sUserIDvarchar(10),

sUserNamevarchar(20),

sUserPasswordvarchar(10),

sUserSexchar

(2),

sUserEmailvarchar(20),

sUserPhonevarchar(20),

sUserPurviewchar

(1)

图5-1TB_Users

●创建地区信息表TB_Area

createtableTB_Area

sAreaIDvarchar(20),

sAreaNamevarchar(50)

图5-2TB_Area

●创建职务信息表TB_Duty

createtableTB_Duty

sDutyIDvarchar(20),

sDutyNamevarchar(50)

图5-3TB_Duty

●创建学校信息表TB_School

createtableTB_School

sSchoolIDvarchar(20),

sSchoolNamevarchar(50),

iStudentNumint,

sAreaID_FKvarchar(20)

图5-4TB_School

●创建通讯录信息表TB_AddrList

createtableTB_AddrList

iAddrIDint,

sLinkNamevarchar(50),

sAddressvarchar(20),

sLinkPhonevarchar(20),

sUnitNamevarchar(50),

sSchoolID_FKvarchar(20),

sDutyID_FKvarchar(20),

sAreaID_FKvarchar(20)

图5-5TB_AddrList

共五张表如下:

图5-6用户表

建立关系图如下:

图5-7关系图

所建CHECK约束如下:

图5-8CHECK约束

5.2.4视图实现

创建学校信息视图表V_SchoolInfo,包含sSchoolName,sAreaName,sLinkName,sDutyName,sLinkPhone五列,来自TB_AddrList,TB_School,TB_Duty,TB_Area四个表。

createviewV_SchoolInfo

as

selectsSchoolName,

sAreaName,

sLinkName,

sDutyName,

sLinkPhone

fromTB_AddrList,TB_School,TB_Duty,TB_Area

whereTB_AddrList.sSchoolID=TB_School.sSchoolID

and

TB_AddrList.sDutyID=TB_Duty.sDutyID

And

TB_AddrList.sAreaID=TB_Area.sAreaID

图5-9学校信息视图表V_SchoolInfo

5.2.5存储过程实现

根据“4.4.5用户常用存储过程设计”中给出的代码,在SQLSERVER2000中执行以实现存储过程,执行语句如下:

EXECAddTB_Users

●EXECAddTB_Area

图5-10AddTB_Area

●EXECAddTB_Duty

图5-11AddTB_Duty

●EXECAddTB_School

图5-12AddTB_School

●EXECAddTB_AddrList

图5-13AddTB_AddrList

●EXECUpdateTB_Users

图5-14UpdateTB_Users

●EXECUpdateTB_Area

图5-15UpdateTB_Area

●EXECUpdateTB_Duty

图5-16UpdateTB_Duty

●EXECUpdateTB_School

图5-17UpdateTB_School

●EXECUpdateTB_AddrList

图5-18UpdateTB_AddrList

6小结

6.1组员XX小结

在完成概念结构设计时,主要弄清楚数据库中涉及的实体,所有实体的属性,以及所有实体之间的联系,这是对ER图设计和逻辑结构设计做铺垫。

ER图的设计要明确每个实体所具有的属性,再根据实体间的联系建立完整的ER图。

逻辑结构的设计首先要弄清有几张表,每张表有多少列,每列数据对应的类型,最后就是主键和外键的设置。

6.2组员XX小结

通讯录系统主要有三个模块:

用户登录、系统维护以及数据输入。

和输出。

通讯录系统的的主要功能是记录联系人信息,并提供查询信息的服务。

且能够自动更新相应的数据,确保数据的安全性,可靠性。

这一点数据的约束就起着至关重要的作用了。

本系统的合作完成让我加深了对数据库知识的掌握。

希望本系统能够符合老师的要求。

6.3组员XX小结

经过一周的努力,终于完成了此次项目设计,那种高兴、兴奋之情难以言表。

还记得刚刚开始做这个设计时,真的是茫然不知所措啊。

为了完成这个设计,我到处查找资料、翻阅教材,在这短短一周的时间里,我们学到了不少的新知识也巩固了许多旧知识。

整个设计过程中,我遇到了很多大大小小的困难,但都通过各种方式解决了,所以,我明白了,在困难面前,要无所畏惧,迎难而上!

在这之前,我们虽然已经学习了一学期的数据库技术与应用,但在实际运用的时候并不是很熟练。

所以学习数据库不仅要牢牢掌握理论知识,动手操作也是必不可少的环节,我们以理论知识为基础,并通过实践来真正掌握它。

7小组小结

经过一段时间的工作,终于完成了通讯录管理系统数据库分析与设计,总结实践经验可以得到如下结论:

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。

因此学好数据库技术与应用是十分必要的。

回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个设计,从理论到实践,在这短短的一周里,我们可以学到了很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。

我们做的是通讯录管理系统,虽然是很简单的一个小的程序,但对我们来说也不容易。

第一天大家开了第一次小会,讨论了一个上午把大概的思路确定了,然后就开始上网搜索有关资料并仔细的研究,经过一波三折,终于开始正式设计。

经过一周的努力,终于把程序完成了,通过这次课程设计,使我们对数据库有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,

在课程设计过程中,收获知识,提高能力的同时,我们也体会到了团队协作是是多么的重要!

团结就是力量,只要一个团队齐心协力,我们就一定能克服各种困难,走向成功!

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

当前位置:首页 > 经管营销

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2