通讯录管理系统数据库分析与设计说明书1.docx
- 文档编号:24854138
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:39
- 大小:362.31KB
通讯录管理系统数据库分析与设计说明书1.docx
《通讯录管理系统数据库分析与设计说明书1.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统数据库分析与设计说明书1.docx(39页珍藏版)》请在冰豆网上搜索。
通讯录管理系统数据库分析与设计说明书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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 管理 系统 数据库 分析 设计 说明书