数据库客户信息管理系统课程设计_第1页
数据库客户信息管理系统课程设计_第2页
数据库客户信息管理系统课程设计_第3页
数据库客户信息管理系统课程设计_第4页
数据库客户信息管理系统课程设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统原理课程设计课题名称:客户信息管理系统姓名:刘俊岭班级:信管10-3班学号:311009030319指导老师:刘小燕2013年1月6日目录TOC\o"1-3"\h\uHYPERLINK\l_Toc18493一、需求分析 PAGEREF_Toc184933HYPERLINK\l_Toc320151、系统的基本功能是: PAGEREF_Toc320153HYPERLINK\l_Toc172272、该系统数据库中的数据表: PAGEREF_Toc172273HYPERLINK\l_Toc147633、数据流程图(DFD)ﻩPAGEREF_Toc147633HYPERLINK\l_Toc219534、数据字典(DD) PAGEREF_Toc219534HYPERLINK\l_Toc13458二、概念结构设计ﻩPAGEREF_Toc134584HYPERLINK\l_Toc114781、定义每个实体的属性 PAGEREF_Toc114784HYPERLINK\l_Toc153792、E-R实体模型图 PAGEREF_Toc153795HYPERLINK\l_Toc17330三、逻辑结构设计ﻩPAGEREF_Toc173306HYPERLINK\l_Toc29827四、物理结构设计ﻩPAGEREF_Toc298277HYPERLINK\l_Toc51101、对E-R图所需的实体以及联系设计需要的表 PAGEREF_Toc51107HYPERLINK\l_Toc176851.1.企业员工表ﻩPAGEREF_Toc176857HYPERLINK\l_Toc214361.2.客户信息表ﻩPAGEREF_Toc214367HYPERLINK\l_Toc42041.3.订单表 PAGEREF_Toc42048HYPERLINK\l_Toc297931.4.设计数据库管理员表 PAGEREF_Toc297938HYPERLINK\l_Toc160382、SQL语句 PAGEREF_Toc160388HYPERLINK\l_Toc28885五、数据库实施和维护ﻩPAGEREF_Toc2888511HYPERLINK\l_Toc33275.1、建表插入记录结果 PAGEREF_Toc332711HYPERLINK\l_Toc121085.1.1员工基本信息表ﻩPAGEREF_Toc1210811HYPERLINK\l_Toc305185.1.2客户基本信息表 PAGEREF_Toc3051811HYPERLINK\l_Toc65235.1.3订单基本信息表ﻩPAGEREF_Toc652311HYPERLINK\l_Toc290085.1.4数据库管理员表 PAGEREF_Toc2900812HYPERLINK\l_Toc265765.2、查询操作ﻩPAGEREF_Toc2657612HYPERLINK\l_Toc73005.2.1对员工表的查询操作ﻩPAGEREF_Toc730012HYPERLINK\l_Toc161895.2.2对客户表的各种查询 PAGEREF_Toc1618912HYPERLINK\l_Toc144025.2.3对订单表的查询操作ﻩPAGEREF_Toc1440214HYPERLINK\l_Toc324025.2.4对数据库管理员表的查询操作 16HYPERLINK\l_Toc227105.3、定义视图ﻩPAGEREF_Toc2271017HYPERLINK\l_Toc162535.3.1定义员工表的视图 PAGEREF_Toc1625317HYPERLINK\l_Toc302715.3.2定义客户表的视图ﻩPAGEREF_Toc3027117HYPERLINK\l_Toc288355.3.3定义订单表的视图ﻩPAGEREF_Toc2883518HYPERLINK\l_Toc178335.3.4建立用户表的视图ﻩ783319HYPERLINK\l_Toc229005.4、定义触发器 PAGEREF_Toc2290020HYPERLINK\l_Toc18375.5、定义存储过程ﻩPAGEREF_Toc183722HYPERLINK\l_Toc75895.5.1定义客户表上的存储过程 PAGEREF_Toc758922HYPERLINK\l_Toc108865.5.2定义员工表上的存储过程 PAGEREF_Toc1088623HYPERLINK\l_Toc17783六、设计小结ﻩ8324一、需求分析客户信息管理系统主要是公司为客户建立的档案信息,从而可以使公司很方便的对客户信息进行查找、插入、修改和删除等操作,同时通过对客户详细资料的深入分析,了解客户的爱好习性,从而从最大程度满足客户需求,提高企业竞争能力。客户的基本信息应包括:编号、客户名称、出生日期、电话、性别、地址、客户级别等。1、系统的基本功能是:(1).新增客户:当有新客户时,向客户信息表里面添加一条新的记录。(2).修改客户:当有客户的信息如联系方式需要修改时,可更新客户资料。(3).删除客户:当客户的信息已经失效或无用时,可以删除该客户的信息。(4).查询客户;可以根据不同的条件查询不同客户的信息。(5).汇总反馈:可以进行总汇,反映每月、年的客户数量。2、该系统数据库中的数据表:(1).企业员工表;(2).客户信息表;(3).订单表;3、数据流程图(DFD)订单信息订单信息记录客户信息客户信息查询企业员工信息信息查询结果客户管理企业员工表订单表客户信息表数据库管理员4、数据字典(DD)数据项名数据项含义数据类型长度取值范围员工编号唯一标识员工char12数字员工姓名区分不同员工varchar25汉字或英语员工性别区别男女char2男、女员工职位判断员工级别varchar20汉字或英语员工电话跟员工联系varchar20数字员工住址联系员工varchar30汉字或英语客户编号唯一标识客户char12数字客户名称区分不同客户varchar40汉字或英语邮政编码了解客户现居地char8数字出生日期知道客户的年龄datatime数字客户电话公司联系客户varchar20数字客户性别知道男女char2男、女客户地址公司联系客户varchar40汉字、英语订单编号唯一标识商品char12数字客户编号唯一标识客户char12数字员工编号唯一标识员工char12数字订单运费运输费用char8数字订单数量计算每一笔成交订单int数字订单日期商品交易日期datetime二、概念结构设计概念结构的设计就是将需求分析得到的用户需求抽象为信息结构概念模型的过程,它是整个数据库设计的关键。描述概念模型的主要工具是E-R图,它将现实世界的信息结构统一用属性、实体以及他们之间爱你的联系来描述。根据需求分析,可看出有三个实体:员工、客户和订单。1、定义每个实体的属性企业员工:{员工编号,员工姓名,员工性别,员工职位,员工电话,员工住址}客户:{客户编号,客户名称,邮政编码,出生日期,客户电话,客户性别,客户地址}订单:{订单编号,客户编号,员工编号,运费,订单数量,订单日期}2、E-R实体模型图(1).企业员工实体E-R图如下:企业员工企业员工员工姓名员工编号员工职位员工性别员工电话员工住址(2).客户实体E-R图如下:客户客户客户名称客户编号出生日期邮政编码客户电话电话客户性别客户地址(3).订单实体E-R图如下:订单订单客户编号订单编号运费员工编号订单数量订单日期三、逻辑结构设计逻辑结构设计的任务是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。(1)E-R图向关系模型的转换,实现将实体型和实体间的联系转换为关系模式。把E-R图转换为关系模型如下:员工(员工编号,员工姓名,员工性别,员工职位,联系方式,员工住址)客户(客户编号,客户姓名,邮政编码,出生日期,客户电话,客户性别,客户地址)订单(订单编号,员工编号,客户编号,订单运费,订单数量,订单日期)(备注:在以上的关系模式中,用下划线标出的是各个关系的主键,用波波线标出的是外键)四、物理结构设计1、对E-R图所需的实体以及联系设计需要的表1.1.企业员工表属性名属性含义数据类型EmployeeID员工编号charEmployeeName员工姓名varcharEsex员工性别chartitle员工职位varcharEtelephone员工电话varcharEaddress员工住址varchar1.2.客户信息表属性名属性含义数据类型CustomerID客户编号charCustomerName客户名称varcharpostcode邮政编码charbirthday出生日期datatimeCtelephone客户电话varcharCsex客户性别charCaddress客户地址varchar1.3.订单表属性名属性含义数据类型OrderID订单编号charCustomeID客户编号charEmployeeID员工编号charfreight订单运费charOrdercount订单数量intOrderdate订单日期datetime1.4.设计数据库管理员表属性名属性含义数据类型UserID管理员编号charUserName管理员姓名charUserpassword管理员密码char2、SQL语句--建立员工基本信息表CREATETABLEEmployees( EmployeeIDchar(12)primarykey,ﻩEmployeeNamevarchar(25)NOTNULL,Esexchar(2)CHECK(EsexIN('男','女')),titlevarchar(20)NOTNULL,Etelephonevarchar(20)NOTNULL, Eaddressvarchar(30)NOTNULL)--插入5条员工基本信息记录insertintoEmployeesvalues('311008562301','张博','男','销售员','13320387869','洛阳市学生路')insertintoEmployeesvalues('311008562302','陈玉','女','市场专员','13739035684','郑州市农业路')insertintoEmployeesvalues('311008562303','刘鑫','男','销售经理',,'焦作市高新区')insertintoEmployeesvalues('311008562304','冯超','男','市场经理','15239102856','焦作市丰收路')insertintoEmployeesvalues('311008562305','李红','女','采购专员',,'周口市迎宾路')--建立客户基本信息表CREATETABLECustomers(CustomerIDchar(12)primarykey,CustomerNamevarchar(40)NOTNULL,postcodechar(8),birthdaydatetimeNOTNULL,Ctelephonevarchar(20)NOTNULL,Csexchar(2)CHECK(CsexIN('男','女')),Caddressvarchar(40)NOTNULL,);--向客户基本信息表内插入5条记录insertintoCustomersvalues('311009030301','张三',454000,'1990-6-15',,'男','焦作市高新区')insertintoCustomersvalues('311009030302','王晓东',454000,'1990-4-15','15239137568','男','焦作市高新区')insertintoCustomersvalues('311009030303','李丽',454000,'1991-7-23',,'女','焦作市高新区')insertintoCustomersvalues('311009030304','冯珊',454000,'1990-12-04','15239196854','女','焦作市高新区')insertintoCustomersvalues('311009030305','顾峰',454000,'1990-1-16',,'男','焦作市高新区')--建立订单基本信息表CREATETABLEOrders(ﻩOrderIDchar(12)primarykey,ﻩCustomerIDchar(12)NOTNULL,ﻩEmployeeIDchar(12)NOTNULL,Freightchar(8),Ordercountint,Orderdatedatetime )--插入5条订单基本信息记录insertintoOrdersvalues('A0012001','311009030301','311008562301','500',10,'2012-10-07')insertintoOrdersvalues('A0012002','311009030302','311008562302','900',15,'2012-10-11')insertintoOrdersvalues('A0012003','311009030303','311008562303','1500',25,'2012-11-03')insertintoOrdersvalues('A0012004','311009030304','311008562304','4500',95,'2012-11-11')insertintoOrdersvalues('A0012005','311009030305','311008562305','3000',70,'2012-12-20')--建立数据库管理员表CREATETABLEUsers( UserIDchar(12)primarykey,UserNamechar(40),Userpasswordchar(8)NOTNULL)--插入5条数据库管理员记录insertintoUsersvalues('000001','李华','123456')insertintoUsersvalues('000002','张涛','147258')insertintoUsersvalues('000003','吴斌','258369')insertintoUsersvalues('000004','孙福','748955')insertintoUsersvalues('000005','王铭','256654')五、数据库实施和维护5.1、建表插入记录结果5.1.1员工基本信息表5.1.2客户基本信息表5.1.3订单基本信息表5.1.4数据库管理员表5.2、查询操作5.2.1对员工表的查询操作select*fromEmployees查询所有的员工信息select*fromEmployeeswheretitle='市场经理'查询员工的基本信息select*fromEmployeeswheretitle='市场专员'5.2.2对客户表的各种查询select*fromCustomers查询所有的客户信息查询所有员工的住址selectCustomerName,CaddressfromCustomers查询所有员工的编号及其对应的名字selectCustomerName,CustomerIDfromCustomers通过电话查询客户的信息select*fromCustomerswhereCtelephone='15239195234'5.2.3对订单表的查询操作select*fromOrders查询所有的订单信息通过订单时间查询订单的详细信息select*fromOrderswhereOrderdate='2012-10-11'通过员工号查询所有的订单信息select*fromOrderswhereEmployeeID='311008562302'通过时间查询订单信息select*fromOrderswhereOrderdate='2012-10-11'通过运费查询订单信息select*fromOrderswherefreight>500查询员工编号为311008562303的姓名、联系方式、所拥有的客户及订单信息SelectEmployeeName,Etelephone,CustomerName,OrderID,Freight,Ordercount,OrderdateFromEmployees,Orders,CustomersWhereEmployees.EmployeeID=Orders.EmployeeIDandOrders.CustomerID=Customers.CustomerIDandEmployees.EmployeeID='311008562303'5.2.4对数据库管理员表的查询操作select*fromUsers查询数据库管理员的个数selectcount(*)客户数fromUsers修改数据库管理员的密码5.3、定义视图5.3.1定义员工表的视图createviewEmployees_viewasselect*fromEmployees命令完成后查询新建视图select*fromEmployees_view5.3.2定义客户表的视图createviewCustomers_viewasselect*fromCustomersselect*fromCustomers_view建立男客户的视图,并显示男客户的基本信息createviewCsex_viewasselect*fromCustomerswhereCsex='男'select*fromCsex_view5.3.3定义订单表的视图createviewOrders_viewasselect*fromOrdersselect*fromOrder_view定义运费大于900的订单的视图createviewOrders_freight_viewasselect*fromOrderswherefreight>900select*fromOrders_freight_view5.3.4建立用户表的视图createviewUsers_viewasselect*fromUsersselect*fromUsers_view5.4、定义触发器仅允许数据库管理员可以删除Customer表中的数据createtriggerCustomers_triggeronCustomersfordeleteasbeginifuser='dbo'commitelsebeginprint'仅允许dbo用户可以删除Customers表中的数据!!'rollbacktransactionendEnd仅允许数据库管理员可以修改Customers表中的数据createtriggerCustomers_trigger2onCustomersforupdateasbeginifuser='dbo'commitelsebeginprint'仅允许dbo用户可以修改Customers表中的数据!!'rollbacktransactionendend在Orders上创建触发器,插入数据时要先检查Customers表和Employees表里面是否存在和Orders表同值的订单编号、员工编号与客户编号。createtriggerOrders_triggeronOrdersforinsertasifexists(select*fromOrderswhereOrderIDnotin(selectOrderIDfromOrders)or(EmployeeIDnotin(selectEmployeeIDfromEmployees)andCustomerIDnotin(selectCustomerIDfromCustomers)))beginprint'Orders表中不存在订单编号,或者Customers表中不存在客户编号和Employees表中不存在员工编号

温馨提示

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

评论

0/150

提交评论