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

上传人:b****4 文档编号:24854138 上传时间:2023-06-02 格式:DOCX 页数:39 大小:362.31KB
下载 相关 举报
通讯录管理系统数据库分析与设计说明书1.docx_第1页
第1页 / 共39页
通讯录管理系统数据库分析与设计说明书1.docx_第2页
第2页 / 共39页
通讯录管理系统数据库分析与设计说明书1.docx_第3页
第3页 / 共39页
通讯录管理系统数据库分析与设计说明书1.docx_第4页
第4页 / 共39页
通讯录管理系统数据库分析与设计说明书1.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

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

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

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

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

 

项目小组名称:

项目名称:

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

小组成员:

1系统需求分析说明

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

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

例如:

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

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

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

在本通讯录系统中,可以将学校有关人员的密码、姓名、性别、电话、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_Area):

该学校所在地区。

●职务(TB_Duty):

某人在该学校的职务。

●学校(TB_School):

该学校有关信息。

●通讯录(TB_AddrList):

该学校的通讯录。

4.1.2联系识别

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

识别:

●一个地区可以有多个学校,但一个学校只能在一个地区;

●学校里可以有多个职务,但每个职务也可以存在于多个学校中;

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

4.1.3属性识别

实体的特征称为属性。

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

●地区具有地区编号、地区名称2个属性;

●职务的实体具有职务编号、职务名称2个属性;

●学校具有学校名称、学校所在地区、在校学生人数3个属性;

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

4.2ER图

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

4.2.1局部ER图

●用户实体E-R图

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

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

●地区E-R实体图

地区的实体具有地区编号、地区名称2个属性,E-R图如图:

图4-2地区E-R实体图

●职务E-R实体图

职务的实体具有职务编号、职务名称2个属性,E-R图如图。

图4-3职务E-R实体图

●学校E-R实体图

学校的实体具有学校编号、学校名称、学校所在地区、在校学生人数3个属性,可用E-R图表示,如图所示。

图4-4学校E-R实体图

●通讯录E-R实体图

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

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

4.2.2全局ER图

学校与地区n:

1联系E-R图

图4-6E-R实体图

用户与通讯录n:

m联系E-R图

图4-7E-R实体图

4.3逻辑结构设计

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

4.3.1关系模式识别

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

TB_Users(sUserID,sUserName,sUserPassword,sUserSex,sUserEmail,sUserPhone,

sUserPurview)

TB_Area(sAreaID,sAreaName)

TB_Duty(sDutyID,sDutyName)

TB_School(sSchoolID,sSchoolName,iStudentNum,sAreaID)

TB_AddrList(iAddrID,sLinkName,sAddress,sLinkPhone,sUnitName,sSchoolID,sDutyID,sAreaID)

4.3.2关系模式转换

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

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

●“地区”实体到关系模式的转换

从图4-2可以看出,地区的实体具有地区编号、地区名称2个属性,其中sAreaID(地区编号)是其关键属性

●“职务”实体到关系模式的转换

从图4-3可以看出,职务的实体具有职务编号、职务名称2个属性,其中sDutyID(职务编号)是其关键属性

●“学校”实体到关系模式的转换

从图4-4可以看出,学校的实体具有学校编号、学校名称、学校所在地区、在校学生人数3个属性,其中sSchoolID(学校编号)是其关键属性,该实体与“地区(TB_Area)”实体间有一个n:

1的联系,为了描述这种联系,需要增加一个外部关键字sAreaID,转换结果见表4-4。

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

从图4-5可以看出,通讯录的实体具有联系人姓名、地址、联系电话、所属职务、所在学校、所在单位、所属地区7个属性,还与“学校”、“职务”、“地区”3个实体具有n:

1的联系,为描述这些联系,需要增加3个外部关键字,分别为“学校编号(sSchoolID)”、“职务编号(sDutyID)”、“地区编号(sAreaID)”。

转换结果见表4-5.

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

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

●地区表中地区编号(sAreaID)是其主键

●职务表中职务编号(sDutyID)是其主键。

●学校表中学校编号(sSchoolID)是其主键,地区编号(sAreaID)是外键

●通讯录表中通讯录编号(iAddrID)使其主键,学校编号(sSchoolID)、职务编号(sDutyID)、地区编号(sAreaID)为外键。

4.4用户库和报表的确认

4.4.1用户表设计

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

●用户信息表

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

SN

列名

描述

类型

1

sUserID

用户ID[PK]

varchar(10)

2

sUserName

用户姓名

varchar(20)

3

sUserPassword

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

varchar(10)

4

sUserSex

用户性别

char

(2)

5

sUserEmail

用户E-mail

varchar(20)

6

sUserPhone

用户的联系电话

varchar(20)

7

sUserPurview

用户权限

char

(1)

表4-1用户信息表TB_Users

●2.地区信息表

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

SN

列名

描述

类型

1

sAreaID

地区编号[PK]

varchar(20)

2

sAreaName

地区名称

varchar(50)

表4-2地区信息表TB_Area

●3.职务信息表

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

SN

列名

描述

类型

1

sDutyID

职务编号[PK]

varchar(20)

2

sDutyName

职务名称

varchar(50)

表4-3职务信息表TB_Duty

●4.学校信息表

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

表TB_School中sAreaID是外键,对应表TB_Area的sAreaID列。

SN

列名

描述

类型

1

sSchoolID

学校编号[PK]

varchar(20)

2

sSchoolName

学校名称

varchar(50)

3

iStudentNum

学校人数

int

4

sAreaID

地区编号[FK]

varchar(20)

表4-4学校信息表TB_School

●5.通讯录信息表

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

表TB_AddrList中sSchoolID,sDutyID,sAreaID是外键,分别对应表TB_School表中sSchoolID列,TB_Duty表中的sDutyID,表TB_Area的sAreaID列。

SN

列名

描述

类型

1

iAddrID

通讯录编号(自动编号)[PK]

int

2

sLinkName

联系人姓名

varchar(50)

3

sAddress

地址

varchar(20)

4

sLinkPhone

联系电话

varchar(20)

5

sUnitName

工作单位

varchar(50)

6

sSchoolID

学校编号[FK]

varchar(20)

7

sDutyID

职务编号[FK]

varchar(20)

8

sAreaID

地区编号[PK]

varchar(20)

表4-5通讯录信息表TB_AddrList

4.4.2用户视图设计

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

SN

字段名称

描述

类型

1

sSchoolName

学校名称

varchar(50)

2

sAreaName

地区名称

varchar(50)

3

sLinkName

联系人姓名

varchar(20)

4

sDutyName

职务名称

varchar(20)

5

sLinkPhone

联系电话

varchar(20)

表4-6学校信息视图表V_SchoolInfo

4.4.3用户常用存储过程设计

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

●1.AddTB_Users存储过程

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

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

CREATEPROCEDUREAddTB_Users

@sUserIDvarchar(10),

@sUserNamevarchar(20),

@sUserPasswordvarchar(10),

@sUserSexchar

(2),

@sUserEmailvarchar(20),

@sUserPhonevarchar(20),

@sUserPurviewchar

(1)

AS

INSERTINTOTB_Users

sUserID,

sUserName,

sUserPassword,

sUserSex,

sUserEmail,

sUserPhone,

sUserPurview

VALUES

@sUserID,

@sUserName,

@sUserPassword,

@sUserSex,

@sUserEmail,

@sUserPhone,

@sUserPurview

GO

●2.AddTB_Area存储过程

AddTB_Area存储过程用于往地区信息表中添加新的地区信息。

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

CREATEPROCEDUREAddTB_Area

@sAreaIDvarchar(20),

@sAreaNamevarchar(50)

AS

INSERTINTOTB_Area

sAreaID,

sAreaName

VALUES

@sAreaID,

@sAreaName

GO

●3.AddTB_Duty存储过程

AddTB_Duty存储过程用于往职务信息表中添加新的职务信息。

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

CREATEPROCEDUREAddTB_Duty

@sDutyIDvarchar(20),

@sDutyNamevarchar(50)

AS

INSERTINTOTB_Duty

sDutyID,

sDutyName

VALUES

@sDutyID,

@sDutyName

GO

●4.AddTB_School存储过程

AddTB_School该存储过程用于往学校信息表中添加新的学校信息。

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

CREATEPROCEDUREAddTB_School

@sSchoolIDvarchar(20),

@sSchoolNamevarchar(50),

@iStudentNumint,

@sAreaIDvarchar(20)

AS

INSERTINTOTB_School

sSchoolID,

sSchoolName,

iStudentNum,

sAreaID

VALUES

@sSchoolID,

@sSchoolName,

@iStudentNum,

@sAreaID

GO

●5.AddTB_AddrList存储过程

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

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

CREATEPROCEDUREAddTB_AddrList

@sLinkNamevarchar(20),

@sAddressvarchar(50),

@sLinkPhonevarchar(20),

@sUnitNamevarchar(20),

@sSchoolIDvarchar(20),

@sDutyIDvarchar(20)

AS

INSERTINTOTB_AddrList

sLinkName,

sAddress,

sLinkPhone,

sUnitName,

sSchoolID

sDutyID

VALUES

@sLinkName,

@sAddress,

@sLinkPhone,

@sUnitName,

@sSchoolID,

@sDutyID

GO

●6.UpdateTB_Users存储过程

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

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

CREATEPROCEDUREUpdateTB_Users

@sUserIDvarchar(10),

@sUserNamevarchar(20),

@sUserSexchar

(2),

@sUserEmailvarchar(20),

@sUserPhonevarchar(20),

@sUserPurviewchar

(1)

AS

UPDATETB_Users

SET

sUserID=@sUserID,

sUserName=@sUserName,

sUserSex=@sUserSex,

sUserEmail=@sUserEmail,

sUserPhone=@sUserPhone,

sUserPurview=@sUserPurview

WHERE

sUserID=@sUserID

GO

●7.UpdateTB_Area存储过程

UpdateTB_Area存储过程用于修改地区信息表中的地区信息。

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

CREATEPROCEDUREUpdateTB_Area

@sAreaIDvarchar(20),

@sAreaNamevarchar(50)

AS

UPDATETB_Area

SET

sAreaID=@sAreaID,

sAreaName=@sAreaName

WHERE

sAreaID=@sAreaID

GO

●8.UpdateTB_Duty存储过程

UpdateTB_Duty存储过程用于修改职务信息表中的职务信息。

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

CREATEPROCEDUREUpdateTB_Duty

@sDutyIDvarchar(20),

@sDutyNamevarchar(50)

AS

UPDATETB_Duty

SET

sDutyID=@sDutyID,

sDutyName=@sDutyName

WHERE

sDutyID=@sDutyID

GO

●9.UpdateTB_School存储过程

UpdateTB_School存储过程用于修改学校信息表中的学校信息。

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

CREATEPROCEDUREUpdateTB_School

@sSchoolIDvarchar(20),

@sSchoolNamevarchar(50),

@iStudentNumint,

@sAreaIDvarchar(20)

AS

UPDATETB_School

SET

sSchoolID=@sSchoolID,

sSchoolName=@sSchoolName,

iStudentNum=@iStudentNum,

sAreaID=@sAreaID

WHERE

sSchoolID=@sSchoolID

GO

●10.UpdateTB_AddrList存储过程

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

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

CREATEPROCEDUREUpdateTB_AddrList

@iAddrIDint,

@sLinkNamevarchar(20),

@sAddressvarchar(50),

@sLinkPhonevarchar(20),

@sUnitNamevarchar(20),

@sSchoolID_FKvarchar(20),

@sDutyID_FKvarchar(20)

AS

UPDATETB_AddrList

SET

sLinkName=@sLinkName,

sAddress=@sAddress,

sLinkPhone=@sLinkPhone,

sUnitName=@sUnitName,

sSchoolID=@sSchoolID

sDutyID=@sDutyID

WHERE

iAddrID=@iAddrID

GO

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

5.1数据操作设计

5.1.1查询

查询有关数据时,可以用S

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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