客户资源管理系统数据库设计_第1页
客户资源管理系统数据库设计_第2页
客户资源管理系统数据库设计_第3页
客户资源管理系统数据库设计_第4页
客户资源管理系统数据库设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

客户资源管理系统数据库设计所属课程名称数据库原理与应用班级07计算机软件工程方向团队成员张灵惠吴欢斌成绩提交时间:2009年12月25日(一)、客户资源管理系统需求分析1、调查了解学籍管理系统的初步需求企业的发展离不开客户对企业的认知度、美誉度、忠诚度,为了提高客户满意度必须对客户资源进行科学有效的管理。客户资源管理系统对客户信息(包括潜在的和已有的客户)进行有效管理和应用,并通过适当的步骤来构建和维护有价值的客户关系。客户资源管理系统主要功能表序号功能名称功能说明1客户信息管理实现客户的增加、删除、修改和查询、打印,并提供客户分开查询、管理功能2市场活动管理针对各部门的活动主题、内容、类型、客户及负责员工进行合理安排3客服管理查看客户的服务请求,管理客服人员的服务内容、类型、处理等级以及客户的反馈信息和满意程度4日程提醒对未来事件的主题、日期、内容、处理状态进行维护,以保证及时联系重要客户5数据管理导入导出数据,数据备份与恢复6系统管理包括代码管理、员工管理和账号管理3、根据系统的初步需求,分析设计顶层数据流图(1)、1层数据流图如下图所示:00客户资源管理客户信息管理代码客户资料市场活动信息员工基本信息客户服务记录日程提醒信息员工管理人员客服信息(2)、2层数据流图如下图所示:55日程管理3市场活动管理4客服管理2客户管理客户资料员工市场活动信息客户服务记录客服信息实体日程提醒1系统管理管理人员员工信息代码客户基本信息市场活动信息客服管理客户资料客户资料汇总报表查询统计条件市场活动基本信息市场活动安排报表活动安排客服信息查询统计日程提醒信息4、制定整理数据字典(1)、分析数据流图,确定数据流的描述在客户管理数据流图中,包含“客户资料”、“变更客户资料要求”、“删除客户资料要求”、“新增的客户信息”、“修改后的客户资料”等数据流。数据流描述数据流卡编号:F1名称:客户资料来源:客户信息去向:客户信息显示数据结构:客户编号、客户名称、客户等级、客户状态说明:某公司的全部客户资料数据流卡编号:F2名称:变更客户资料要求来源:管理员输入去向:客户信息查询数据结构:客户编号、客户名称、客户等级、客户状态说明:某次要变动的客户资料要求数据流卡编号:F3名称:删除客户资料要求来源:管理员输入去向:删除客户资料数据结构:客户资料说明:某次要删除的客户资料要求数据流卡编号:F4名称:新增的客户信息来源:去向:数据结构:说明:某次添加的新的客户信息数据流卡编号:F7名称:修改后的客户资料来源:去向:数据结构:说明:某次修改后的客户资料(2)、分析数据流图,确定数据存储的描述在客户管理数据流图中,包含“客户资料”等数据存储,描述其数据存储。数据存储:客户资料说明:保存各个客户的资料信息流入数据流:新增的客户资料、修改后的客户资料流出数据流:客户资料显示组成:客户编号、客户姓名、客户等级存取方式:随机存取(3)、分析数据流图,确定数据项的描述◆数据项的定义:数据项编号:I01-01数据项名称:客户编号别名:客户编码简述:客户的顺序代号类型:数字数据项编号:I01-02数据项名称:客户姓名别名:客户名称简述:客户的称呼类型:文本

数据项编号:I01-03数据项名称:所属行业别名:简述:客户的行业类型:文本

数据项编号:I01-04数据项名称:所在地区别名:简述:客户的居住地类型:文本

数据项编号:I01-05数据项名称:电话号码别名:简述:客户的电话号码类型:数字

数据项编号:I01-09数据项名称:客户等级别名:简述:客户的重要性类型:文本(4)、分析数据流图,确定处理过程的描述在客户管理数据流图中,包含“客户信息查询”、“增加客户信息”、“修改客户信息”、“删除客户信息”、等处理过程,描述它们的处理流程。处理过程:增加客户信息查询说明:录入一个客户的资料信息输入:客户编号、姓名输出:客户基本信息处理:在“客户信息”数据存储中增加一个客户的基本信息处理过程:修改客户信息说明:录入一个客户的基本信息输入:客户编号、姓名输出:客户基本信息处理:在“客户基本信息”数据存储中修改一个客户的考试成绩③处理过程:客户信息查询说明:输入要查询的客户信息条件输入:管理人员输出:客户信息显示处理:输出某个客户的信息④处理过程:删除客户信息说明:删除某个客户的信息输入:客户编号、姓名输出:处理:在“客户信息”数据存储中少了一个客户的信息二、客户信息管理概念结构设计①在客户资料管理中抽象实体,实体的码用下划线标出客户实体的属性为:{客户编号、姓名、所属行业、电话、法人、经营范围、所在地区、客户等级、客户状态、传真}管理员实体的属性为:{管理员编号、管理员姓名、密码}员工实体的属性为:{员工编号、部门编号、员工名称、密码}部门实体的属性为:{部门编号、部门名称}客服信息实体的属性为:{服务编号、客户名称、联系人、受理方式、处理状态、处理部门编号、服务内容、处理日期、客户满意程度、客户反馈信息}市场活动信息实体的属性为:{活动编号、活动主题、负责员工编号、客户编号、部门编号、联系时间、活动时间、活动类型、活动方式、活动内容}(3)、确定实体间的关系,设计E-R图为了简化设计,使用以下约束:★一个管理员只管理一个部门,一个管理员可以管理多个多个员工★一个客户只受一个员工服务,一个员工可以服务多个客户★一个员工只能属于一个部门,一个部门可以有多个员工①在客户管理局部应用根据客户管理中的客户管理的局部应用,确定各实体间的联系★一个客户必须被一个员工服务,而一个员工可以为多个客户服务,因此客户与员工的所在联系为n:1联系;★一个员工必须隶属于一个部门,一个部门包含多个员工,因此部门与员工的隶属联系是1:n联系;★根据约定一个部门只有一个管理人员,一个管理人员只担任一个部门的经理,因此部门与经理的管理联系时1:1联系(4)、合并分E-R图,解决冲突,消除冗余,设计基本E-R图,如下图所示:(三)逻辑设计和物理设计(6)、使用PowerDesigner设计CDM由CDM生成PDM:(四)数据库实施各个表如下图所示:◆员工表:altertablecsinfodropconstraintFK_CSINFO_DISPOSE_WORKERgoaltertablemarketactivedropconstraintFK_MARKETAC_WORK_WORKERgoaltertableserverdropconstraintFK_SERVER_SERVER_WORKERgoaltertableworkerdropconstraintFK_WORKER_MANAGE_MANAGERgoaltertableworkerdropconstraintFK_WORKER_SUBJIECTI_DEPARMENgoifexists(select1fromsysindexeswhereid=object_id('worker')andname='manage_FK'andindid>0andindid<255)dropindexworker.manage_FKgoifexists(select1fromsysindexeswhereid=object_id('worker')andname='subjiection_FK'andindid>0andindid<255)dropindexworker.subjiection_FKgoifexists(select1fromsysobjectswhereid=object_id('worker')andtype='U')droptableworkergo/*==============================================================*//*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)goaltertableworkeraddconstraintFK_WORKER_MANAGE_MANAGERforeignkey(managerid)referencesmanager(managerid)goaltertableworkeraddconstraintFK_WORKER_SUBJIECTI_DEPARMENforeignkey(deparmentid)referencesdeparment(deparmentid)go◆客户表:altertablecsinfodropconstraintFK_CSINFO_TAKE_COMPANYgoaltertableserverdropconstraintFK_SERVER_SERVER2_COMPANYgoaltertabletakepartindropconstraintFK_TAKEPART_TAKEPARTI_COMPANYgoifexists(select1fromsysobjectswhereid=object_id('company')andtype='U')droptablecompanygo/*==============================================================*//*Table:company*//*==============================================================*/createtablecompany(companyidintnotnull,companynamevarchar(50)notnull,vocationvarchar(50)null,addressvarchar(50)null,companytelvarchar(50)null,companyleadervarchar(50)null,levelchar(8)null,companystatevarchar(30)null,constraintPK_COMPANYprimarykeynonclustered(companyid))Go◆服务表:altertableserverdropconstraintFK_SERVER_SERVER_WORKERgoaltertableserverdropconstraintFK_SERVER_SERVER2_COMPANYgoifexists(select1fromsysindexeswhereid=object_id('server')andname='server2_FK'andindid>0andindid<255)dropindexserver.server2_FKgoifexists(select1fromsysindexeswhereid=object_id('server')andname='server_FK'andindid>0andindid<255)dropindexserver.server_FKgoifexists(select1fromsysobjectswhereid=object_id('server')andtype='U')droptableservergo/*==============================================================*//*Table:server*//*==============================================================*/createtableserver(workeridbigintnotnull,companyidintnotnull,serverpingjiavarchar(50)notnull,constraintPK_SERVERprimarykey(workerid,companyid))go/*==============================================================*//*Index:server_FK*//*==============================================================*/createindexserver_FKonserver(workeridASC)go/*==============================================================*//*Index:server2_FK*//*==============================================================*/createindexserver2_FKonserver(companyidASC)goaltertableserveraddconstraintFK_SERVER_SERVER_WORKERforeignkey(workerid)referencesworker(workerid)goaltertableserveraddconstraintFK_SERVER_SERVER2_COMPANYforeignkey(companyid)referencescompany(companyid)go参与表:altertabletakepartindropconstraintFK_TAKEPART_TAKEPARTI_MARKETACgoaltertabletakepartindropconstraintFK_TAKEPART_TAKEPARTI_COMPANYgoifexists(select1fromsysindexeswhereid=object_id('takepartin')andname='takepartin2_FK'andindid>0andindid<255)dropindextakepartin.takepartin2_FKgoifexists(select1fromsysindexeswhereid=object_id('takepartin')andname='takepartin_FK'andindid>0andindid<255)dropindextakepartin.takepartin_FKgoifexists(select1fromsysobjectswhereid=object_id('takepartin')andtype='U')droptabletakepartingo/*==============================================================*//*Table:takepartin*//*==============================================================*/createtabletakepartin(activenobigintnotnull,companyidintnotnull,constraintPK_TAKEPARTINprimarykey(activeno,companyid))go/*==============================================================*//*Index:takepartin_FK*//*==============================================================*/createindextakepartin_FKontakepartin(activenoASC)go/*==============================================================*//*Index:takepartin2_FK*//*==============================================================*/createindextakepartin2_FKontakepartin(companyidASC)goaltertabletakepartinaddconstraintFK_TAKEPART_TAKEPARTI_MARKETACforeignkey(activeno)referencesmarketactive(activeno)goaltertabletakepartinaddconstraintFK_TAKEPART_TAKEPARTI_COMPANYforeignkey(companyid)referencescompany(companyid)go市场活动表:altertablemarketactivedropconstraintFK_MARKETAC_ADMINISTR_MANAGERgoaltertablemarketactivedropconstraintFK_MARKETAC_WORK_WORKERgoaltertabletakepartindropconstraintFK_TAKEPART_TAKEPARTI_MARKETACgoifexists(select1fromsysindexeswhereid=object_id('marketactive')andname='administrator_FK'andindid>0andindid<255)dropindexmarketactive.administrator_FKgoifexists(select1fromsysindexeswhereid=object_id('marketactive')andname='work_FK'andindid>0andindid<255)dropindexmarketactive.work_FKgoifexists(select1fromsysobjectswhereid=object_id('marketactive')andtype='U')droptablemarketactivego/*==============================================================*//*Table:marketactive*//*==============================================================*/createtablemarketactive(activenobigintnotnull,manageridintnull,workeridbigintnull,activetimedatetimenotnull,activecontentvarchar(100)null,constraintPK_MARKETACTIVEprimarykeynonclustered(activeno))go/*==============================================================*//*Index:work_FK*//*==============================================================*/createindexwork_FKonmarketactive(workeridASC)go/*==============================================================*//*Index:administrator_FK*//*==============================================================*/createindexadministrator_FKonmarketactive(manageridASC)goaltertablemarketactiveaddconstraintFK_MARKETAC_ADMINISTR_MANAGERforeignkey(managerid)referencesmanager(managerid)goaltertablemarketactiveaddconstraintFK_MARKETAC_WORK_WORKERforeignkey(workerid)referencesworker(workerid)go管理人员表:altertablemanagerdropconstraintFK_MANAGER_SUBJECTIO_DEPARMENgoaltertablemarketactivedropconstraintFK_MARKETAC_ADMINISTR_MANAGERgoaltertableworkerdropconstraintFK_WORKER_MANAGE_MANAGERgoifexists(select1fromsysindexeswhereid=object_id('manager')andname='subjection2_FK'andindid>0andindid<255)dropindexmanager.subjection2_FKgoifexists(select1fromsysobjectswhereid=object_id('manager')andtype='U')droptablemanagergo/*==============================================================*//*Table:manager*//*==============================================================*/createtablemanager(manageridintnotnull,deparmentidintnull,managernamevarchar(30)notnull,managerpwvarchar(50)notnull,constraintPK_MANAGERprimarykeynonclustered(managerid))go/*==============================================================*//*Index:subjection2_FK*//*==============================================================*/createindexsubjection2_FKonmanager(deparmentidASC)goaltertablemanageraddconstraintFK_MANAGER_SUBJECTIO_DEPARMENforeignkey(deparmentid)referencesdeparment(deparmentid)go客服信息表:altertablecsinfodropconstraintFK_CSINFO_DISPOSE_WORKERgoaltertablecsinfodropconstraintFK_CSINFO_TAKE_COMPANYgoifexists(select1fromsysindexeswhereid=object_id('csinfo')andname='dispose_FK'andindid>0andindid<255)dropindexcsinfo.dispose_FKgoifexists(select1fromsysindexeswhereid=object_id('csinfo')andname='take_FK'andindid>0andindid<255)dropindexcsinfo.take_FKgoifexists(select1fromsysobjectswhereid=object_id('csinfo')andtype='U')droptablecsinfogo/*==============================================================*//*Table:csinfo*//*==============================================================*/createtablecsinfo(infoidbigintnotnull,workeridbigintnull,companyidintnull,connectionvarchar(50)null,contentvarchar(100)null,managedatedatetimenull,feelchar(10)null,feedbackvarchar(50)null,managestatechar(10)null,constraintPK_CSINFOprimarykeynonclustered(infoid))go/*==============================================================*//*Index:dispose_FK*//*==============================================================*/createindexdispose_FKoncsinfo(workeridASC)go/*==============================================================*//*Index:take_FK*//*==============================================================*/createindextake_FKoncsinfo(companyidASC)goaltertablecsinfoaddconstraintFK_CSINFO_DISPOSE_WORKERforeignkey(workerid)referencesworker(workerid)goaltertablecsinfoaddconstraintFK_CSINFO_TAKE_COMPANYforeignkey(companyid)referencescompany(companyid)go部门表:altertablemanagerdropconstraintFK_MANAGER_SUBJECTIO_DEPARMENgoalter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论