您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 客户关系管理系统数据库设计
..'系统名称:客户关系管理系统一、系统需求分析:客户管理系统是为了方便管理客户基本信息,完成公司决策的重要手段,通过该系统,系统管理员可以通过次系统查询客户的基本信息,以及客户所购产品的信息。并可以对新老客户进行添加和删除,也可对现有用户的基本信息进行更改。从而实现公司对其客户的管理。客户可以通过该数据库查看自己的基本信息和消费情况。职员可以通过该数据库查看自己的基本情况、业绩情况和工作计划。该数据库包含5个实体,分别是客户,联系人,产品,任务计划,反馈信息。通过该数据库,可以实现以下功能(举例)简单查询:①查询客户的基本信息②查询公司职员的业绩情况(即联系人发展的客户情况)③查询公司职员的任务计划复杂查询:①查询客户对某一类型产品的反馈信息(通过产品表和反馈信息表连接实现)②查询客户反馈信息的受理情况插入功能:增添新客户,新产品,新联系人,新反馈信息以及其相关属性修改功能:系统管理员修改客户的基本信息(如积分,联系方式等),修改联系人的工作计划,反馈信息的受理情况二、E-R图..'nn1n1n11购买购买数量购买时间客户编号产品编号客户编号反馈反馈编号发展联系人编号客户编号客户联系人反馈信息产品任务计划联系人编号所购产品编号购买反馈发展制定信用度姓名所属部门姓名工资客户编号联系方式联系地址积分产品类型工作计划编号产品类型质量级别优惠情况名称生产日期编号产品价格内容反馈时间反馈者反馈编号解决情况产品编号编号客户数量计划利润计划时间实施情况职工编号消费时间任务计划编号联系人编号制定时间..'三、关系模式系统中的实体有:客户,联系人,反馈信息,任务计划,产品关系模式如下:客户(客户编号,姓名,联系方式,联系地址,积分,信用度,所购产品,消费时间,联系人编号)联系人(联系人编号,姓名,所属部门,产品类型,任务计划编号,工资)反馈信息(反馈编号,反馈人姓名,反馈时间,反馈内容,产品编号,解决情况)任务计划(任务计划编号,联系人编号,客户数量,计划利润,计划时间,实施情况)产品(产品编号,产品名称,生产日期,产品类型,质量级别,价格,优惠情况)反馈(客户编号,反馈编号)发展(联系人编号,客户编号)购买(客户编号,产品编号,购买时间,购买数量)制定(联系人编号,任务计划编号,制定时间)四,物理设计反馈信息表结构反馈编号Int主键,identity(1,1)反馈人姓名Char(8)反馈时间DatetimeNotnull反馈内容Char(200)Notnull产品编号Char(10)Notnull解决情况Char(8)Default缺省值为“否”客户表结构客户编号Char(10)主键姓名Char(8)Notnull联系方式Char(12)积分Char(8)Check约束,在0到100内取整信用度Char(8)Check约束,在0到100内取整所购产品Char(20)Notnull消费时间datetimeNotnull联系地址Char(10)联系人编号Char(10)外键联系人表结构联系人编号Char(10)主键姓名Char(8)Notnull所属部门Char(10)Notnull产品类型Char(20)Check'电器','化妆品','炊具'任务计划编号Char(10)外键工资Char(10)Notnull..'任务计划表结构任务计划编号Char(10)主键联系人编号Char(10)Notnull客户数量Char(20)Notnull计划利润Char(20)Notnull计划时间DatetimeNotnull实施情况Char(2)Default缺省值为“否”产品表结构产品编号Char(10)主键产品名称Char(20)Notnull产品价格Char(10)Notnull产品类型Char(10)Chec约束,取'电器','化妆品','炊具之一'生产日期DatetimeNotnull质量级别Char(8)Check约束,取A,B,C,D,E之一优惠情况Char(10)反馈联系表结构反馈编号Char(10)Notnull客户编号Char(10)Notnull制定联系表结构工作计划编号Char(10)Notnull联系人编号Char(10)Notnull制定时间datetimeNotnull购买关系表结构客户编号Char(10)Notnull产品编号Char(10)Notnull购买时间datetimeNotnull购买数量Char(20)Notnull发展关系表结构联系人编号Char(10)Notnull客户编号Char(10)Notnull..'五,系统实现1.数据库及其基本表的建立数据库的建立:createdatabaseCustomerMSon(name='客户关系管理系统','d:\DAI\客户关系管理系统.mdf',size=10mb,maxsize=20mb,)logon(name='客户关系管理系统','d:\DAI\客户关系管理系统.ldf',size=10mb,maxsize=20mb,)建立基本表:useCustomerMScreatetable任务计划(任务计划编号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客户视图AsSelect客户.客户编号,客户.姓名,客户.联系方式,客户.积分,客户.信用度,客户.所购产品,客户.消费时间,联系人.姓名as联系人姓名,产品.产品名称,产品.生产日期,产品.产品类型,产品.质量级别,产品.产品价格,反馈信息.解决情况,反馈信息.反馈内容From客户join产品On客户.所购产品=产品.产品名称Join联系人On客户.联系人编号=联系人.联系人编号Join反馈信息on客户.姓名=反馈信息.反馈人姓名2.职工视图(联系人编号,姓名,所属部门,产品类型,任务计划编号,工资,姓名,联系方式,联系地址,任务计划编号,计划利润,计划时间,实施情况)代码如下:..'Createview职工视图AsSelect联系人.联系人编号,联系人.姓名,联系人.所属部门,联系人.产品类型,联系人.工资,客户.姓名as客户姓名,客户.联系方式,客户.联系地址,任务计划.任务计划编号,任务计划.计划利润,任务计划.计划时间,任务计划.实施情况From联系人join客户on联系人.联系人编号=客户.联系人编号Join任务计划on联系人.任务计划编号=任务计划.任务计划编号3、创建索引客户(在客户表中客户编号列建立索引)Createindex客户on客户(客户编号)产品(在产品表上产品编号列建立索引)Createindex产品on产品(产品编号)4、存储过程的创建①简单查询:1查询客户的基本信息CreateprocedureScustomer@namechar(8)AsSelect*from客户Where客户.姓名=@name2查询公司职员的业绩情况(即联系人发展的客户情况)Createprocedureworkerperformance@workercodechar(10)AsSelecttotal=count(客户.客户编号)From客户join联系人on客户.联系人编号=联系人.联系人编号Where联系人.联系人编号=@workercode3查询公司职员的任务计划Createprocedure查询任务计划@workchar(8)As..'Select*from任务计划Where任务计划.联系人编号=@work②复杂查询:1查询客户对某一类型产品的反馈信息(通过产品表和反馈信息表连接实现)Createprocedure查询反馈信息@productcodechar(8)AsSelect产品.产品类型,反馈信息.反馈内容From产品Join反馈信息on产品.产品编号=反馈信息.产品编号Where产品.产品类型=@productcode2查询客户反馈信息的受理情况Createprocedure反馈信息受理@customercodechar(8),@customernamechar(20)AsSelect客户.姓名,客户.客户编号,反馈信息.解决情况From客户Join反馈信息on客户.姓名=反馈信息.反馈人姓名Where客户.客户编号=@customercodeand客户.姓名=@customername③插入功能:增添新客户,新产品,新联系人,新反馈信息以及其相关属性增添新用户:Createprocedureinsertcustomer@客户编号char(10),@姓名char(20),@联系方式char(20),@联系地址char(20),@积分char(10),@信用度char(10),@所购产品char(20),@消费时间datetime,@联系人编号char(10)AsInsertinto客户values(@客户编号,@姓名,@联系方式,@联系地址,@积分,@信用度,@所购产品,@消费时间,@联系人编号)③修改功能:系统管理员修改客户的基本信息(如积分,联系方式等),修改联系人的工作计划,反馈信息的受理情况修改客户的基本信息(例:给特定客户增加积分)Createprocedu
本文标题:客户关系管理系统数据库设计
链接地址:https://www.777doc.com/doc-7330964 .html