数据库课程设计客户信息管理系统实验报告事务与并发控制.docx
- 文档编号:9658890
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:57
- 大小:683.21KB
数据库课程设计客户信息管理系统实验报告事务与并发控制.docx
《数据库课程设计客户信息管理系统实验报告事务与并发控制.docx》由会员分享,可在线阅读,更多相关《数据库课程设计客户信息管理系统实验报告事务与并发控制.docx(57页珍藏版)》请在冰点文库上搜索。
数据库课程设计客户信息管理系统实验报告事务与并发控制
《客户信息管理系统》实验报告
实验序号:
实验项目名称:
事务与并发控制
学号姓名专业、班
实验地点指导教师实验时间
一、实验目的及要求
二、实验设备(环境)及要求
SQLServer2000、WindowXP、PowerDesigner12.0
三、实验内容与步骤
(一)、客户资源管理系统需求分析
1、调查了解学籍管理系统的初步需求
企业的发展离不开客户对企业的认知度、美誉度、忠诚度,为了提高客户满意度必须对客户资源进行科学有效的管理。
客户资源管理系统对客户信息(包括潜在的和已有的客户)进行有效管理和应用,并通过适当的步骤来构建和维护有价值的客户关系。
客户资源管理系统主要功能表
序号
功能名称
功能说明
1
客户信息管理
实现客户的增加、删除、修改和查询、打印,并提供客户
分开查询、管理功能
2
市场活动管理
针对各部门的活动主题、内容、类型、客户及负责员工进
行合理安排
3
客服管理
查看客户的服务请求,管理客服人员的服务内容、类型、
处理等级以及客户的反馈信息和满意程度
4
日程提醒
对未来事件的主题、日期、内容、处理状态进行维护,以
保证及时联系重要客户
5
数据管理
导入导出数据,数据备份与恢复
6
系统管理
包括代码管理、员工管理和账号管理
3、根据系统的初步需求,分析设计顶层数据流图
(1)、1层数据流图如下图所示:
员工基本信息
管理人员
代码
客户资料
客户请求
客服信息
0
处理情况
客户信息管理
市场活动信息
处
客
客
查
理
户
户
询
客户服务记录
资
反
自
料
馈
己
负
日程提醒信息
责
的
客
户
员工
2
(2)、1层数据流图如下图所示:
员工信息
员工信息
代1
码系统管理
代码
2
客户管理
客
客户资料
户
资
料
汇
客户资料
总
报
表
员工
日程提醒
管理人员
日程提醒信息
系统管理
日程基本信息
客
市
客
5
服
户
场
管
日程管理
基
活
理
本
动
信
信
息
息
4
客服管理
3
客
查
市场活动管理
服
客户服务记录
查
信询
询
息统
统
计
市
计活
市
客户服务记录
条动
场
场
件安
活
活
动
排
动
基
客服信息实体
安
本
排
信
报
息
表
市场活动信息
3
(3)、2层数据流图如下图所示:
管理员
客户信息
信息报表
查询条件
客户信息
客户信息
2.2
查询条件
2.1
信息查询
信息报表
信息录入
录入信息
员工
管理员
市场活动信息
信息报表
查询条件
市场活动信息
客户信息
3.2
查询条件
3.1
查询
信息报表
活动信息管理
员工
4、制定整理数据字典
(1)、分析数据流图,确定数据流的描述
在客户管理数据流图中,包含“客户资料”、“变更客户资料要求”、“删除客户资料要求”、“新增的客户信息”、“修改后的客户资料”等数据流。
◆数据流描述
数据流卡
编号:
F1名称:
客户资料
来源:
客户信息
去向:
客户信息显示
数据结构:
客户编号、客户名称、客户等级、客户状态
说明:
某公司的全部客户资料
4
数据流卡
编号:
F2
名称:
变更客户资料要求
来源:
管理员输入
去向:
客户信息查询
数据结构:
客户编号、客户名称、客户等级、客户状态
说明:
某次要变动的客户资料要求
数据流卡
编号:
F3
名称:
删除客户资料要求
来源:
管理员输入
去向:
删除客户资料
数据结构:
客户资料
说明:
某次要删除的客户资料要求
数据流卡
编号:
F4
名称:
新增的客户信息
来源:
去向:
数据结构:
说明:
某次添加的新的客户信息
数据流卡
编号:
F7名称:
修改后的客户资料
来源:
去向:
数据结构:
说明:
某次修改后的客户资料
(2)、分析数据流图,确定数据存储的描述
在客户管理数据流图中,包含“客户资料”等数据存储,描述其数据存储。
①数据存储:
客户资料
说明:
保存各个客户的资料信息
流入数据流:
新增的客户资料、修改后的客户资料流出数据流:
客户资料显示
5
组成:
客户编号、客户姓名、客户等级
存取方式:
随机存取
(3)、分析数据流图,确定数据项的描述◆数据项的定义:
数据项编号:
I01-01
数据项名称:
客户编号
别名:
客户编码
简述:
客户的顺序代号
类型:
数字
数据项编号:
I01-02
数据项名称:
客户姓名
别名:
客户名称
简述:
客户的称呼
类型:
文本
数据项编号:
I01-03
数据项名称:
所属行业
别名:
简述:
客房的行业
类型:
文本
数据项编号:
I01-04
数据项名称:
所在地区
别名:
简述:
客户的居住地
类型:
文本
数据项编号:
I01-05
数据项名称:
电话号码
别名:
6
简述:
客户的电话号码
类型:
数字
数据项编号:
I01-09
数据项名称:
客户等级
别名:
简述:
客户的重要性
类型:
文本
(4)、分析数据流图,确定处理过程的描述
在客户管理数据流图中,包含“客户信息查询”、“增加客户信息”、“修改客户信息”、
“删除客户信息”、等处理过程,描述它们的处理流程。
①处理过程:
增加客户信息查询
说明:
录入一个客户的资料信息
输入:
客户编号、姓名
输出:
客户基本信息
处理:
在“客户信息”数据存储中增加一个客户的基本信息
②处理过程:
修改客户信息
说明:
录入一个客户的基本信息
输入:
客户编号、姓名
输出:
客户基本信息
处理:
在“客户基本信息”数据存储中修改一个客户的考试成绩
③处理过程:
客户信息查询
说明:
输入要查询的客户信息条件
输入:
管理人员
输出:
客户信息显示
处理:
输出某个客户的信息
④处理过程:
删除客户信息
说明:
删除某个客户的信息
输入:
客户编号、姓名
输出:
处理:
在“客户信息”数据存储中少了一个客户的信息
二、客户信息管理概念结构设计
①在客户资料管理中抽象实体,实体的码用下划线标出
★客户实体的属性为:
{客户编号、姓名、所属行业、电话、法人、经营范围、所在地区、
客户等级、客户状态、传真}
★管理员实体的属性为:
{管理员编号、管理员姓名、密码}
★员工实体的属性为:
{员工编号、部门编号、员工名称、密码}
★部门实体的属性为:
{部门编号、部门名称}
★客服信息实体的属性为:
{服务编号、客户名称、联系人、受理方式、处理状态、处理部
7
门编号、服务内容、处理日期、客户满意程度、客户反馈信息}
★市场活动信息实体的属性为:
{活动编号、活动主题、负责员工编号、客户编号、部门编
号、联系时间、活动时间、活动类型、活动方式、活动内容}
(3)、确定实体间的关系,设计E-R图
为了简化设计,使用以下约束:
★一个管理员只管理一个部门,一个管理员可以管理多个多个员工
★一个客户只受一个员工服务,一个员工可以服务多个客户
★一个员工只能属于一个部门,一个部门可以有多个员工
①在客户管理局部应用
根据客户管理中的客户管理的局部应用,确定各实体间的联系
★一个客户必须被一个员工服务,而一个员工可以为多个客户服务,因此客户与员工的
所在联系为n:
1联系;
★一个员工必须隶属于一个部门,一个部门包含多个员工,因此部门与员工的隶属联系是
1:
n联系;
★根据约定一个部门只有一个管理人员,一个管理人员只担任一个部门的经理,因此部门
与经理的管理联系时1:
1联系
(4)、合并分E-R图,解决冲突,消除冗余,设计基本E-R图,如下图所示:
8
姓名
所在地区
员工编号
客户等级
姓名
部门编号
电话
客户编号
法人
密码
所属行业
服务
n
客户
员工
1
1
1
客户状态
处理
提交
n
n
服务编号
n
n
隶属
管理
受理方式
客服信息服务内容
1处理状态
客户状态
客户名称
部门
处理员工编号
1
联系人
隶属
1
处理日期
客户满意程度
1
管理人员
客户反馈信息
部门编号
编号
密码
部门编号
姓名
部门名
(5)、使用PowerDesigner设计CDM①打开PowerDesigner,新建CDM模型
●在PowerDesigner主窗体上,选择“File”—>“New”命令,如下图所示:
9
●在新建模型界面,设置模型的名称为客户资源管理,单击“确定”按钮,进入如
下界面:
②创建实体
●从设计元素面板上选择实体(Enitity),将鼠标指针指向设计区域的合适位置,
单击鼠标左键,在设计区域中创建一个实体,如下图所示:
10
●从设计元素面板上选择指针(Pointer),进入对象编辑状态,将鼠标指针指向刚才创建的实体并双击鼠标左键,出现如下所示属性编辑界面:
●选择“General”选项卡,设置通用属性,一班机为实体,设置该实体的Name属性为班级,Code列设置属性的代码;接着进入“Attributes”选项卡,设置实体的属性:
DataType列设置属性的数据类型;Domain列设置属性的域;M,P,D列设置属性的约束,设置员工的四个属性,员工编号与员工名称
名称;将员工编号所在行对应的P选项选中,设置该属性为主键,如下图所示:
③按照上面的方法创建其他实体,如下图所示:
11
④创建实体之间的关系,如下图所示:
12
⑤建立实体之间的联系,如下图所示:
⑥验证CDM的正确性
在PowerDesigner的主窗体中,选择“Tools”->“CheckModel”命令,进入如下图所示的模型检查设置界面:
选择需要检测的内容之后,单击“确定”按钮,进入下图的检查结果界面。
检
查结果包括警告和错误,其中警告不影响生成PDM,有错误的模型是不能生成PDM的。
如下图所示,可以知道没有发现错误!
13
如果有错误,可以选择查看发生错误的实体或数据项。
将鼠标指针指向错误列表中的错误并单击鼠标左键,查看并修改。
三、客户资料管理逻辑结构与物理结构设计
为了方便不同用户使用,需要使用更符合用户习惯的别名,并且针对不同级别的用
户定义不同视图,一满足系统对安全性的要求,为方便查询客户的信息情况,根据需要建立
如下子模式
(1)、使用PowerDesigner设计PDM
①直接用CDM转化成PDM,点击工具栏的tools—>checkphysicdatamodel,直
接就可以从CDM转换成PDM,如下图所示:
②此时可以看到每个表,分别如下图所示:
14
15
③生成每个表的代码如下图所示:
◆员工表:
altertablecsinfo
dropconstraintFK_CSINFO_DISPOSE_WORKER
go
altertableserver
dropconstraintFK_SERVER_SERVER_WORKER
go
altertableworker
dropconstraintFK_WORKER_MANAGE_MANAGER
go
altertableworker
dropconstraintFK_WORKER_SUBJIECTI_DEPARMEN
go
ifexists(select1
fromsysindexes
whereid=object_id('worker')
andname='manage_FK'
andindid>0
16
andindid<255)
dropindexworker.manage_FK
go
ifexists(select1
fromsysindexes
whereid=object_id('worker')
andname='subjiection_FK'
andindid>0
andindid<255)
dropindexworker.subjiection_FK
go
ifexists(select1
fromsysobjects
whereid=object_id('worker')
andtype='U')
droptableworker
go
/*==============================================================*/
/*Table:
worker*/
/*==============================================================*/createtableworker(
workeridbigintnotnull,
manageridintnull,
deparmentidintnull,
wnamevarchar(30)notnull,
workerpwvarchar(50)notnull,
constraintPK_WORKERprimarykeynonclustered(workerid)
)
go
/*==============================================================*/
/*Index:
manage_FK*/
/*==============================================================*/createindexmanage_FKonworker(
manageridASC
)
go
/*==============================================================*/
/*Index:
subjiection_FK*/
/*==============================================================*/createindexsubjiection_FKonworker(
deparmentidASC
)
go
altertableworker
17
addconstraintFK_WORKER_MANAGE_MANAGERforeignkey(managerid)
referencesmanager(managerid)
go
altertableworker
addconstraintFK_WORKER_SUBJIECTI_DEPARMENforeignkey(deparmentid)
referencesdeparment(deparmentid)
go
◆客户表:
altertablecsinfo
dropconstraintFK_CSINFO_TAKE_COMPANY
go
altertableserver
dropconstraintFK_SERVER_SERVER2_COMPANY
go
ifexists(select1
fromsysobjects
whereid=object_id('company')
andtype='U')
droptablecompany
go
/*==============================================================*/
/*Table:
company*//*==============================================================*/createtablecompany(
companyid
int
notnull,
companyname
varchar(50)
notnull,
vocation
varchar(50)
null,
address
varchar(50)
null,
companytel
varchar(50)
null,
companyleader
varchar(50)
null,
level
char(8)
null,
companystate
varchar(30)
null,
constraintPK_COMPANYprimarykeynonclustered(companyid)
)
go
◆服务表:
◆参与表:
◆市场活动表:
◆管理人员表:
◆客服信息表:
◆部门表:
18
④建立用户子模式
从设计面板中选择视图,在设计区中创建一个视图,如下图所示:
输入如上SQL语句后,在“Columns”选项卡中就会出现视图中的字段,如下图所示:
(2)、使用上面的方法创建表、表间关系、用户模式,完成客户资料管理
PDM的设计,
设计好的客户资料管理
PDM,如下图所示:
①
在“General”选项卡,选择产生类型(
Generationtype)为脚本产生并设置脚本
文件的保存位置和文件名,如下图所示:
②
在“General”选项卡中检查DBMS是否为MicrosoftSQLServer2000
,如下图所
示:
③
在“Option”选项卡上,设置生成选项
选择“Option”选项卡,如下图所示,根据需要设置生成数据库对象的脚本格式。
④
在“Selection
”选项卡中,选择生成对象,如下图所示:
⑤
在“Preview”选项卡中,预览生成的
SQL脚本,如下图所示:
⑥确定生成脚本
所以内容正确选择后,单击“确定”按钮,生成脚本。
脚本生成后,自动调用记事本进行编辑。
如下图所示:
(3)、执行脚本①连接ODBC
在PowerDesigner主窗体中选择“Database”—>“Connect”命令,进入如下图所示的链接ODBC界面。
选中“Machinedatasource”选项,并在数据源下拉列表框中选中已经
创建的数据源名称,输入“SM”数据库的用户名和口令之后,建立ODBC连接。
②执行SQL
19
在PowerDesigner主窗体中选择“Database”—>“ExcuteSQL”命令,选择自动生成的脚本文件并执行。
如下图所示:
③验证脚本执行结果
如果脚本执行正确,打开SM数据库,检查自动创建的数据库对象是否与设计一
致,如下图所示:
(4)、产生测试数据
在PowerDesigner主窗体中选择“Database”—>“GenerateTestdata”命令测试
数据,如下图所示产生测试数据界面:
①在“Selection”选项卡中选择需要产生测试数据的表,如下图所示:
②在“NumberofRows”选项卡中设置测试数据的行数,默认值为20行,如果要
修改,选择“NumberofRows”选项卡,单击需要修改测试数据行数的表对应的“TestNumber”列,进行行数编辑状态,修改对应表产生测试数据的行数,如下图所示
③产生测试数据
设置完成后,单击“确定”按钮,生成测试数据,如下图所示:
④验证产生的测试数据
打开SM数据库,检查产生的测试数据,如下图所示:
(5)、分析需要使用哪些表
(6)、设计存储过程的算法
createprocedurep_level
@idbigint(8)-入口参数:
客
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 客户 信息管理 系统 实验 报告 事务 并发 控制