客户关系管理系统数据库设计.docx

上传人:b****6 文档编号:15719901 上传时间:2023-07-07 格式:DOCX 页数:14 大小:91.17KB
下载 相关 举报
客户关系管理系统数据库设计.docx_第1页
第1页 / 共14页
客户关系管理系统数据库设计.docx_第2页
第2页 / 共14页
客户关系管理系统数据库设计.docx_第3页
第3页 / 共14页
客户关系管理系统数据库设计.docx_第4页
第4页 / 共14页
客户关系管理系统数据库设计.docx_第5页
第5页 / 共14页
客户关系管理系统数据库设计.docx_第6页
第6页 / 共14页
客户关系管理系统数据库设计.docx_第7页
第7页 / 共14页
客户关系管理系统数据库设计.docx_第8页
第8页 / 共14页
客户关系管理系统数据库设计.docx_第9页
第9页 / 共14页
客户关系管理系统数据库设计.docx_第10页
第10页 / 共14页
客户关系管理系统数据库设计.docx_第11页
第11页 / 共14页
客户关系管理系统数据库设计.docx_第12页
第12页 / 共14页
客户关系管理系统数据库设计.docx_第13页
第13页 / 共14页
客户关系管理系统数据库设计.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

客户关系管理系统数据库设计.docx

《客户关系管理系统数据库设计.docx》由会员分享,可在线阅读,更多相关《客户关系管理系统数据库设计.docx(14页珍藏版)》请在冰点文库上搜索。

客户关系管理系统数据库设计.docx

客户关系管理系统数据库设计

系统名称:

客户关系管理系统

一、系统需求分析:

客户管理系统是为了方便管理客户基本信息,完成公司决策的重要手段,

通过该系统,

系统管理员可以通过次系统查询客户的基本信息,以及客户所购产品的信息。

并可以对新老客户进行添加和删除,也可对现有用户的基本信息进行更改。

从而实现公司对其客户的管理。

客户可以通过该数据库查看自己的基本信息和消费情况。

职员可以通过该数据库查看自己的基本情况、业绩情况和工作计划。

该数据库包含5个实体,分别是客户,联系人,产品,任务计划,反馈信息。

通过该数据库,可以实现以下功能(举例)

简单查询:

1查询客户的基本信息

2查询公司职员的业绩情况(即联系人发展的客户情况)

3查询公司职员的任务计划

复杂查询:

1查询客户对某一类型产品的反馈信息(通过产品表和反馈信息表连接实现)

2查询客户反馈信息的受理情况

 

插入功能:

增添新客户,新产品,新联系人,新反馈信息以及其相关属性

修改功能:

系统管理员修改客户的基本信息(如积分,联系方式等),修改联系人的工作计划,反馈信息的受理情况

 

二、E-R图

 

n

 

n

 

1n1n

 

1

 

1

 

三、关系模式

系统中的实体有:

客户,联系人,反馈信息,任务计划,产品

关系模式如下:

客户(客户编号,姓名,联系方式,联系地址,积分,信用度,所购产品,消费时间,联系人编号)

联系人(联系人编号,姓名,所属部门,产品类型,任务计划编号,工资)

反馈信息(反馈编号,反馈人姓名,反馈时间,反馈内容,产品编号,解决情况)

任务计划(任务计划编号,联系人编号,客户数量,计划利润,计划时间,实施情况)

产品(产品编号,产品名称,生产日期,产品类型,质量级别,价格,优惠情况)

反馈(客户编号,反馈编号)

发展(联系人编号,客户编号)

购买(客户编号,产品编号,购买时间,购买数量)

制定(联系人编号,任务计划编号,制定时间)

四,物理设计

客户表结构

客户编号

Char(10)

主键

姓名

Char(8)

Notnull

联系方式

Char(12)

积分

Char(8)

Check约束,在0到100内取整

信用度

Char(8)

Check约束,在0到100内取整

所购产品

Char(20)

Notnull

消费时间

datetime

Notnull

联系地址

Char(10)

联系人编号

Char(10)

外键

 

联系人表结构

联系人编号

Char(10)

主键

姓名

Char(8)

Notnull

所属部门

Char(10)

Notnull

产品类型

Char(20)

Check'电器','化妆品','炊具'

任务计划编号

Char(10)

外键

工资

Char(10)

Notnull

 

反馈信息表结构

反馈编号

Int

主键,identity(1,1)

反馈人姓名

Char(8)

反馈时间

Datetime

Notnull

反馈内容

Char(200)

Notnull

产品编号

Char(10)

Notnull

解决情况

Char(8)

Default缺省值为“否”

任务计划表结构

任务计划编号

Char(10)

主键

联系人编号

Char(10)

Notnull

客户数量

Char(20)

Notnull

计划利润

Char(20)

Notnull

计划时间

Datetime

Notnull

实施情况

Char

(2)

Default缺省值为“否”

产品表结构

产品编号

Char(10)

主键

产品名称

Char(20)

Notnull

产品价格

Char(10)

Notnull

产品类型

Char(10)

Chec约束,取'电器','化妆品','炊具之一'

生产日期

Datetime

Notnull

质量级别

Char(8)

Check约束,取A,B,C,D,E之一

优惠情况

Char(10)

反馈联系表结构

反馈编号

Char(10)

Notnull

客户编号

Char(10)

Notnull

 

制定联系表结构

工作计划编号

Char(10)

Notnull

联系人编号

Char(10)

Notnull

制定时间

datetime

Notnull

 

购买关系表结构

客户编号

Char(10)

Notnull

产品编号

Char(10)

Notnull

购买时间

datetime

Notnull

购买数量

Char(20)

Notnull

 

发展关系表结构

联系人编号

Char(10)

Notnull

客户编号

Char(10)

Notnull

五,系统实现

1.数据库及其基本表的建立

数据库的建立:

createdatabaseCustomerMS

on

name='客户关系管理系统',

'd:

\DAI\客户关系管理系统.mdf',

size=10mb,

maxsize=20mb,

logon

name='客户关系管理系统',

'd:

\DAI\客户关系管理系统.ldf',

size=10mb,

maxsize=20mb,

建立基本表:

useCustomerMS

createtable任务计划

任务计划编号char(10)primarykey,

联系人编号char(10)notnull,

客户数量char(20)notnull,

计划利润char(20)notnull,

计划时间datetimenotnull,

实施情况char

(2)default('否')

createtable联系人

联系人编号char(10)primarykey,

姓名char(8)notnull,

所属部门char(10)notnull,

产品类型char(20)check(产品类型in('电器','化妆品','炊具')),

任务计划编号char(10)references任务计划(任务计划编号),

工资char(10)notnull

createtable客户

客户编号char(10)PRIMARYKEY,

姓名char(8)notnull,

联系方式char(12),

积分char(8)check(积分between'0'and'100'),

信用度char(8)check(信用度between0and100),

所购产品char(20)notnull,

消费时间datetimenotnull,

联系地址char(10),

联系人编号char(10)references联系人(联系人编号)

 

createtable反馈信息

反馈编号intprimarykeyidentity(1,1),

反馈人姓名char(8),

反馈时间datetimenotnull,

反馈内容char(200)notnull,

产品编号char(8)notnull,

解决情况char(8)default('否')

 

createtable产品

产品编号char(10)primarykey,

产品名称char(20)notnull,

产品价格char(10)notnull,

产品类型char(10)check(产品类型in('电器','化妆品','炊具')),

生产日期datetimenotnull,

质量级别char(8)check(质量级别in('A','B','C','D','E')),

优惠情况char(10)

createtable反馈

反馈编号intidentity(1,1),

客户编号char(10)notnull

createtable制定

工作计划编号char(10)notnull,

联系人编号char(10)notnull,

制定时间datetimenotnull

createtable购买

客户编号char(10)notnull,

产品编号char(10)notnull,

购买时间datetimenotnull,

购买数量char(20)notnull

createtable发展

联系人编号char(10)notnull,

客户编号char(10)notnull

2、创建视图

1.客户视图

(客户编号,姓名,联系方式,联系地址,积分,信用度,所购产品,消费时间,联系人姓名,产品名称,生产日期,产品类型,质量级别,价格,解决情况反馈内容)

代码如下:

Createview客户视图

As

Select客户.客户编号,客户.姓名,客户.联系方式,客户.积分,客户.信用度,客户.所购产品,客户.消费时间,联系人.姓名as"联系人姓名",产品.产品名称,产品.生产日期,产品.产品类型,产品.质量级别,产品.产品价格,反馈信息.解决情况,反馈信息.反馈内容

From客户join产品On客户.所购产品=产品.产品名称

Join联系人On客户.联系人编号=联系人.联系人编号

Join反馈信息on客户.姓名=反馈信息.反馈人姓名

2.职工视图

(联系人编号,姓名,所属部门,产品类型,任务计划编号,工资,姓名,联系方式,联系地址,任务计划编号,计划利润,计划时间,实施情况)

代码如下:

Createview职工视图

As

Select联系人.联系人编号,联系人.姓名,联系人.所属部门,联系人.产品类型,联系人.工资,客户.姓名as"客户姓名",客户.联系方式,客户.联系地址,任务计划.任务计划编号,任务计划.计划利润,任务计划.计划时间,任务计划.实施情况

From联系人join客户on联系人.联系人编号=客户.联系人编号

Join任务计划on联系人.任务计划编号=任务计划.任务计划编号

3、创建索引

客户(在客户表中客户编号列建立索引)

Createindex客户on客户(客户编号)

产品(在产品表上产品编号列建立索引)

Createindex产品on产品(产品编号)

4、存储过程的创建

①简单查询:

1查询客户的基本信息

CreateprocedureScustomer@namechar(8)

As

Select*from客户

Where客户.姓名=@name

 

2查询公司职员的业绩情况(即联系人发展的客户情况)

Createprocedureworkerperformance@workercodechar(10)

As

Select"total"=count(客户.客户编号)

From客户join联系人on客户.联系人编号=联系人.联系人编号

Where联系人.联系人编号=@workercode

 

3查询公司职员的任务计划

Createprocedure查询任务计划@workchar(8)

As

Select*from任务计划

Where任务计划.联系人编号=@work

②复杂查询:

1查询客户对某一类型产品的反馈信息(通过产品表和反馈信息表连接实现)

Createprocedure查询反馈信息@productcodechar(8)

As

Select产品.产品类型,反馈信息.反馈内容

From产品Join反馈信息on产品.产品编号=反馈信息.产品编号

Where产品.产品类型=@productcode

2查询客户反馈信息的受理情况

Createprocedure反馈信息受理@customercodechar(8),@customernamechar(20)

As

Select客户.姓名,客户.客户编号,反馈信息.解决情况

From客户Join反馈信息on客户.姓名=反馈信息.反馈人姓名

Where客户.客户编号=@customercodeand客户.姓名=@customername

③插入功能:

增添新客户,新产品,新联系人,新反馈信息以及其相关属性

增添新用户:

Createprocedureinsertcustomer@客户编号char(10),@姓名char(20),@联系方式char(20),@联系地址char(20),@积分char(10),@信用度char(10),@所购产品char(20),@消费时间datetime,@联系人编号char(10)

As

Insertinto客户values(@客户编号,@姓名,@联系方式,@联系地址,@积分,@信用度,@所购产品,@消费时间,@联系人编号)

3修改功能:

系统管理员修改客户的基本信息(如积分,联系方式等),修改联系人的工作计划,反馈信息的受理情况

修改客户的基本信息(例:

给特定客户增加积分)

Createprocedureaddmarks@markchar(10),@customercodechar(10)

As

Update客户

set客户.积分=客户.积分+@mark

Where(客户.客户编号=@customercode)

5.创建触发器

客户的信用度取在0到100之间,当对信用度进行更新操作时,执行触发器

Createtriggercredit

On客户

Forupdate

As

Declare@totalint

Select@total=信用度

From客户

If(@total>100)

Begin

Print'信用度不能超过100'

Rollbacktransaction

End

Return

 

完成日期:

年月日

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

当前位置:首页 > 农林牧渔 > 林学

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

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