通讯录管理系统大数据库分析资料报告与设计说明书.docx
- 文档编号:8830903
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:22
- 大小:504.78KB
通讯录管理系统大数据库分析资料报告与设计说明书.docx
《通讯录管理系统大数据库分析资料报告与设计说明书.docx》由会员分享,可在线阅读,更多相关《通讯录管理系统大数据库分析资料报告与设计说明书.docx(22页珍藏版)》请在冰豆网上搜索。
通讯录管理系统大数据库分析资料报告与设计说明书
通讯录管理系统数据库
项目小组名称:
项目名称:
学校通讯录管理系统分析与设计说明书
小组成员:
1系统需求分析说明3
1.1涉及部门和人员分析3
1.2涉及事件分析3
1.3完成业务功能分析3
2基本数据信息描述4
2.1数据元素4
2.2数据组织4
3综合业务流程4
4.数据库结构设计5
4.1概念结构设计5
4.1.1实体识别5
4.1.2联系识别5
4.1.3属性识别6
4.2ER图6
4.2.1局部ER图6
4.2.2全局ER图8
4.3逻辑结构设计9
4.3.1关系模式识别9
4.3.2关系模式转换9
4.3.3主键,外键,域,规则,默认值等约束描述确认10
4.4用户库和报表的确认11
4.4.1用户表设计11
4.4.2用户视图设计13
4.4.3用户常用存储过程设计13
5用户分角色使用数据库权限分配与设计19
5.1数据操作设计19
5.1.1查询19
5.1.2添加19
5.1.3修改20
5.1.4删除20
5.2库表对象的T-SQL语言实现21
5.2.1Sqlserver系统版本描述21
5.2.2库实现21
5.2.3表实现21
5.2.4视图实现26
5.2.5存储过程实现26
6小结31
6.1组员1小结31
6.2组员2小结32
6.3组员3小结32
7小组小结32
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图如图所示。
图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
用户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
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
(
联系人,
地址,
工作单位,
职务,
)
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{
[WHERE
5.1.4删除
删除数据时可用DELETE语句或TRUNCATETABLE语句。
1DELETE语句
DELETE[FROM]
{table_name|view_name}
[FROM{
[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小组小结
经过一段时间的工作,终于完成了通讯录管理系统数据库分析与设计,总结实践经验可以得到如下结论:
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。
因此学好数据库技术与应用是十分必要的。
回顾起此次课程设计,至今我们仍感慨颇多,的确,自从拿到题目到完成整个设计,从理论到实践,在这短短的一周里,我们可以学到了很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。
我们做的是通讯录管理系统,虽然是很简单的一个小的程序,但对我们来说也不容易。
第一天大家开了第一次小会,讨论了一个上午把大概的思路确定了,然后就开始上网搜索有关资料并仔细的研究,经过一波三折,终于开始正式设计。
经过一周的努力,终于把程序完成了,通过这次课程设计,使我们对数据库有了更进一步的认识和了解,要想学好
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通讯录 管理 系统 数据库 分析 资料 报告 设计 说明书
![提示](https://static.bdocx.com/images/bang_tan.gif)