




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计题 目 客户信息管理系统学 院 计算机科学与信息工程学院 专 业 计算机科学与技术班 级 2010计算机 1班学生姓名 刘小燕 指导教师 康世瀛2012 年 6 月 10 日重庆工商大学课程设计成绩评定表 指导教师评定成绩:指导教师签名:年 月 日目 录一、系统分析 (41. 系统目标(42. 系统功能分析(4 二、需求分析 (51、 数据字典 (52、 数据流图 (6 三、概念结构设计 (71、 目的与任务 (72、 实体属性 (73、 E-R 实体模型图 (8四、逻辑结构设计 (9五、物理结构设计(9六、数据库实施 (161、建表插入记录结果 (162、查询操作 (183、定义视图(264、定义游标 (305、定义存储过程 (346、定义触发器 (36七、 系统优缺点分析(38八、 参考文献(38一. 系统分析(一系统目标:1、 系统的开发背景:为某从事商品销售的企业单位设计一个客户信息管理系统,方便单位部门更 好的管理客户信息,通过对客户详细资料的深入分析,了解客户的爱好习性,从 而从最大程度满足客户需求,从而提高企业竞争能力。2、 系统功能的基本要求:1 增删改查客户信息;2 可以进行总汇,反映每月、年的客户数量, ;3 可以统计各个客户的消费总金额,当累计消费超过某个数值时,可以让 该客户成为 VIP 客户,在以后的交易中可以给予相关优惠政策;可以计算各个客 户在每个月、每年的消费总金额,消费金额前几名企业部门给予客户相关奖励, 通过此类优惠策略,构建客户与企业部门友好和谐的交易关系,同时也能达到双 赢的目的。3、数据库要求:在数据库中至少应该包含下列数据表:1 销售员工表;2 客户信息表;3 商品库存表;4 客户交易明细表;(二系统功能分析:客户信息管理系统的主要功能是对客户信息进行录入、删除、修改、浏览、 查找和排序等操作,用户可以对文件中存储的客户信息进行查找和浏览。具体功 能如下:新增客户:当有新客户时,向客户信息表里面添加一条新的记录。 修改客户:当有客户的信息如联系方式需要修改时,可更新客户资料。 盘存管理:系统的使用用户可以根据各自的权限查询各自权限范围的各种 记录。二、需求分析(1该企业单位的组织机构及各部门的业务活动情况采购部:负责批发采购商品,并把采购发票交予商品入库员,负责及时准确 更新商品库。商品验收员:负责核对商品采购订单,核对无误后产品入库。销售员工:负责与客户进行交易,记录与客户的交易详细记录,有新增客户 时要负责把新客户添加入客户信息表, 有优惠活动时要负责与客户一起进行各项 优惠活动,当客户累计消费金额达到规定时,负责把客户升级为 VIP 客户。 人事部门:制订、 修改公司各项人力资源管理制度和管理办法, 建立制度化、 规范化、科学化的人力资源管理体系。 组织建立绩效管理体系,制订相关方案; 牵头组织公司各部门进行绩效考核并予以指导和监督, 协助总经理室对各部门负 责人的考核; 做好考核结果的汇总、 审核和归档管理等工作。 根据岗位需求状况 和人力资源规划, 制定招聘计划, 做好招聘前的准备、 招聘实施和招聘后的手续 完备等工作,也即有新员工时,要为员工表里加入一条记录;有辞职员工,在员 工表里删除相应记录。(2数据字典 (3数据流程图 (DFD1 增添员工数据流图 2增添客户及客户交易数据流图 三、概念结构设计(1目的与任务模型是对现实世界的模拟和抽象, 概念模型是对现实世界的第一层抽象。 是用户 与数据库设计人员之间进行交流的语言。 概念结构设计是将需求分析后得到的用 户需求抽象为反映用户观点的概念模型。根据需求分析,可看出有五个实体:客户,员工,商品,销售明细。(2对每个实体定义的属性如下:客户:客户姓名 , 客户编号 , 出生日期 , 联系电话 , 性别 , 地址 , 客户级别 ,VIP 号 员工:员工编号 , 员工姓名 , 性别 , 联系电话 , 部门 商品:商品名称 , 商品编号 , 商品价格 销售明细:发票编号 , 商品编号 , 销售员编号 , 客户编号 , 销售数量 , 销售价格 , 销 售日期 (3E-R实体模型图分析1客户实体 E-R 图如下: 2员工实体 E-R 图 2销售明细 E-R 图 四、 逻辑结构设计(1任务与目的逻辑结构设计的任务是把概念结构设计阶段设计好的基本 E-R 图转换为与 选用 DBMS 产品所支持的数据模型相符合的逻辑结构。(2 E-R 图向关系模型的转换, 实现将实体型和实体间的联系转换为关系模式。 把 E-R 图转换为关系模型如下:客户(客户姓名 , 客户编号 , 出生日期 , 联系电话 , 性别 , 地址 , 客户级别 ,VIP 号 员工(员工编号 , 员工姓名 , 性别 , 联系电话 , 部门商品(商品名称 , 商品编号 , 商品价格销售明细(发票编号 , 商品编号 , 销售员编号 , 客户编号 , 销售数量 , 销售价格 , 销售日 期注:每个关系模式的主键码都用下划线标出,外键用波浪线标出。五、物理结构设计1、对以上 E-R 图所需的实体以及联系需要的表的设计如下:1客户基本信息表 2 员工基本信息表 3商品基本信息表4 销售明细表 5还应设计一个用户表,进入系统时应验证身份,以确保安全性 2、具体 SQL 计划(1建立所有表并向相关表中插入若干记录-建立客户基本信息表CREATE TABLE dbo.Customer (customerNo char (8 primary key,customerName varchar (40 NOT NULL ,birthday datetime NOT NULL ,sex char (2 CHECK(sex IN(男 , 女 ,telephone varchar (20 NOT NULL ,address varchar (40 NOT NULL ,cust_level varchar (10 CHECK (cust_level IN(一般客户 ,VIP 客户 ,VIP_no varchar (10 NULLON PRIMARY-向客户基本信息表内插入 10条记录insert into Customer values(C,何淋 ,1965-6-15, 男 , 上海市北京路 8号 , 一般客户 ,insert into Customer values(C,陈易 ,1975-4-15, 男 , 上海市南京路 18号 ,VIP 客户 ,VIP00001insert into Customer values(C,陈璐希 ,1970-2-15, 女 , 南京市青海路 18号 , 一般客户 ,insert into Customer values(C,汤诗 ,1968-4-25, 女 , 南昌市青山路 100号 , 一般客户 ,insert into Customer values(C,谢炜 ,1977-6-12, 女, 上海市福州路 135号 , 一般客户 ,insert into Customer values(C,高源 ,1980-12-13, 男 , 南昌市中山路 1号 ,VIP 客户 ,VIP00002insert into Customer values(C,刘诗一 ,1985-3-27, 女 , 上海市九江路 88号 ,VIP 客户 ,VIP00003insert into Customer values(C,安源 ,1979-5-21, 男 , 深圳市阳关大道 10号 , 一般客户 ,insert into Customer values(C,陈诗诗 ,1981-7-17, 女 , 上海市浦东大道 6号 , 一般客户 ,insert into Customer values(C,但衍 ,1983-9-19, 男 , 江西财经大学 5栋 1-1室 ,VIP 客户 ,VIP00004-建立员工基本信息表CREATE TABLE dbo.Staff (staffNo char (8 primary key,staffName varchar (25 NOT NULL ,sex char (2 CHECK(sex IN(男 , 女 ,telephone varchar (20 NOT NULL ,address varchar (40 NOT NULL ,department varchar (30 NOT NULLON PRIMARY-插入 5条员工基本信息记录insert into Staff values(S,张良 , 男 , 南昌市 阳明路 99号 , 业务科 insert into Staff values(S,张廊 , 男 , 南昌市高新开发区 12号 , 财务科 insert into Staff values(S,徐诺 , 女 , 上海市 九江路 12号 , 业务科 insert into Staff values(S,瞿颖 , 女 , 南昌市 青石路 22号 , 业务科 insert into Staff values(S,张娜 , 女 , 南昌市 阳明路 12号 , 业务科 -建立商品基本信息表CREATE TABLE dbo.Product (productNo char (8 primary key,productName varchar (40 NOT NULL ,price numeric (7,2 NOT NULLON PRIMARY-插入 5条商品基本信息记录insert into Product values(P,17寸显示器 ,550insert into Product values(P,120GB硬盘 ,180insert into Product values(P,3.5寸软驱 ,340insert into Product values(P,键盘 ,58insert into Product values(P,VGA显示卡 ,88-建立销售明细表CREATE TABLE dbo.SellDetail (invoiceNo char (12 primary key,productNo char (8 NOT NULL ,salerNo char (8 NOT NULL ,customerNo char (8 NOT NULL ,quantity int NOT NULL ,Sell_price numeric(7, 2 NOT NULL,Sell_date datetime NOT NULLON PRIMARY-插入 20条销售明细记录insert into SellDetail values(I,P,S,C,8,520,2009-2-2 4insert into SellDetail values(I,P,S,C,4,180,2009-2-2 6insert into SellDetail values(I,P,S,C,1,340,2009-8-2 4insert into SellDetail values(I,P,S,C,2,58,2009-10-2 4insert into SellDetail values(I,P,S,C,1,88,2009-11-2 3insert into SellDetail values(I,P,S,C,2,550,2009-12-11insert into SellDetail values(I,P,S,C,5,520,2009-12-24insert into SellDetailvalues(I,P,S,C,8,520,2010-2-2 4insert into SellDetail values(I,P,S,C,8,88,2010-3-2 insert into SellDetail values(I,P,S,C,3,530,2010-4-2 4insert into SellDetail values(I,P,S,C,5,180,2010-5-2 insert into SellDetail values(I,P,S,C,2,58,2010-6-24 insert into SellDetail values(I,P,S,C,1,520,2010-7-2 insert into SellDetail values(I,P,S,C,2,520,2010-7-2 1insert into SellDetail values(I,P,S,C,5,88,2010-7-24 insert into SellDetail values(I,P,S,C,3,180,2010-8-2 2insert into SellDetail values(I,P,S,C,8,58,2010-8-27 insert into SellDetail values(I,P,S,C,3,520,2010-12-24insert into SellDetail values(I,P,S,C,8,160,2011-2-2 4insert into SellDetail values(I,P,S,C,1,540,2011-4-1 6-建立用户表CREATE TABLE dbo.User (User_ID char (8 primary key,User_level varchar (20 NOT NULL ,password char (8 NOT NULLON PRIMARY-插入 15条用户记录insert into User_check values(C,一般客户 ,w insert into User_check values(C,VIP客户 ,w insert into User_check values(C,一般客户 ,w insert into User_check values(C,一般客户 ,w insert into User_check values(C,一般客户 ,w insert into User_check values(C,VIP客户 ,w insert into User_check values(C,VIP客户 ,w insert into User_check values(C,一般客户 ,w insert into User_check values(C,一般客户 ,w insert into User_check values(C,VIP客户 ,winsert into User_check values(S,业务科职员 ,w insert into User_check values(S,财务科职员 ,w insert into User_check values(S,业务科职员 ,w insert into User_check values(S,业务科职员 ,w insert into User_check values(S,业务科职员 ,w六、数据库实施1、建表插入记录结果如下:1客户基本信息表 2员工基本信息表 3商品基本信息表 4销售明细表 4用户表 2、查询操作2-1对客户表的各种查询select * from Customer查询所有的客户信息 select customerName,addressfrom Customerwhere customerNo=C查询编号为 C的客户的姓名和地址 select * from Customerwhere cust_level=VIP客户 查询所有的 VIP客户的基本信息 2-2对员工表的查询操作select * from Staff查询所有的员工信息 select * from Staffwhere department=业务科 查询业务科员工的基本信息 2-3对商品表的查询操作select * from Product 查询所有的商品信息select productNo,productName from Product where productName=键盘 查询商品名为键盘的商品编号 2-4 对销售明细表的查询select * from SellDetail查询所有的销售明细信息 select * from SellDetailwhere productNo=P查询商品编号为 P的销售明细 select * from SellDetailwhere salerNo=S查询业务员编号为 S的业务员的销售明细 select * from SellDetailwhere quantity*Sell_price2000查询一次性购物金额大于 2000 的销售明细select * from SellDetailwhere CustomerNo=C查询编号为 C的客户的购物记录 select * from SellDetailwhere year(Sell_date=2009查询 2009 年的销售商明细select a.customerNo,a.customerName,b.invoiceNo,ductName,b.quantity,b.Sell_price,b. Sell_Date from Customer a,SellDetail b,Product c wherea.customerNo=b.customerNo and ductNo=ductNo andb.customerNo=C查询客户编号为 C的的客户名称、 购物发票编号、 所购商品名称、 数量、 单价和购物日期 select b.customerNo,a.customerName,sum(quantity *Sell_price 总金额from Customer a,SellDetail bwhere a.customerNo=b.customerNogroup by b.customerNo,a.customerNameorder by 总金额 DESC在销售明细里面查询每位客户的累计消费总金额, 并按照消费金额降序排列, 同 时可找出消费最高的客户update Customer set cust_level=VIP客户 from Customer a,(select customerNo,sum(quantity*Sell_price总消费from SellDetailgroup by customerNohaving sum(quantity*Sell_price2000 bwhere a.customerNo=b.customerNoselect * from Customerwhere cust_level=VIP客户 把所有累计消费金额大于 2000的客户升级为 VIP 客户更新前的 更新后新增一位 VIP 客户 select top 8 b.customerNo,a.customerName,sum(quantity *Sell_price 总金额 from Customer a,SellDetail bwhere a.customerNo=b.customerNogroup by b.customerNo,a.customerNameorder by 总金额 DESC查询消费总金额排名前 8 名的客户2-5 对用户表的查询操作select * from User_check查询所有的用户,一共有 15个用户 select count(* 客户数 from User_checkwhere User_level=一般客户 or User_level=VIP客户 查询用户表里面级别为客户的数目,包括一般用户和 VIP 用户 3、定义视图3-1 定义客户表的视图create view cust_VIP_view as select * from Customerwhere cust_level=VIP客户 select * from cust_VIP_view建立 VIP 客户的视图,显示 VIP 客户的基本信息create view cust_sex_view as select * from Customer where sex=男 select * from cust_sex_view 建立男客户的视图,显示男客户的基本信息3-2定义员工表的视图create view staff_dept_view as select * from Staff where department=业务科 select * from staff_dept_view 建立员工视图,显示业务科的所有员工3-3定义商品表的视图create view prodt_price_view as select * from Product where price between 100 and 300select * from prodt_price_view建立商品单价的视图,显示价格在 100 300 间的商品 3-4建立商品明细表的视图create view Detail_prodt_view as select * from SellDetailwhere productNo=Pselect * from Detail_prodt_view建立一个商品明细表的视图,显示商品编号为 P 的商品销售明细create view Detail_saler_view as select * from SellDetailwhere salerNo=Sselect * from Detail_saler_view建立一个商品明细表的视图,显示编号为 S 的销售员的销售情况Create view Detail_cust_view asSelect a.customerNo,a.customerName,b.invoiceNo,ductName,b.quantity,b.Sell_price,b.Sell_Datefrom Customer a,SellDetail b,Product cWhere a.customerNo=b.customerNo and ductNo=ductNo and b.customerNo=Cselect * from Detail_cust_view查询客户编号为 C的的客户名称、 购物发票编号、 所购商品名称、 数量、 单价和购物日期 create view Detail_consume_order asselect top 8 b.customerNo,a.customerName,sum(quantity *Sell_price 总金额 from Customer a,SellDetail bwhere a.customerNo=b.customerNogroup by b.customerNo,a.customerNameorder by 总金额 DESCselect * from Detail_consume_order建立一个销售明细的视图,显示消费总金额排名前 8名的客户 create view Detail_consume_year asselect sum(quantity *Sell_price 总金额from SellDetailwhere year(Sell_date=2009select * from Detail_consume_year建立一个销售明细的视图,显示 2009 年度交易总金额3-5 建立用户表的视图create view user_cust_countas select count(* 客户数 from User_checkwhere User_level=一般客户 or User_level=VIP客户 select * from user_cust_count建立一个用户表的视图,显示用户级别为客户(包括一般客户和 VIP 客户的 总数目4、定义游标4-1 定义客户表上的游标declare cur_cust cursor forselect * from Customerwhere cust_level=VIP客户 order by customerNoopen cur_custselect cursor内数据条数 =cursor_rowsfetch next from cur_custwhile (fetch_status-1beginselect cursor读取状态 =fetch_statusfetch next from cur_custendclose cur_custdeallocate cur_cust利用游标选取客户级别为 VIP 的客户的所有字段,并逐行显示游标中的信息 4-2定义销售明细表上的游标declare cur_cust_detail cursor forselect a.customerNo,a.customerName,b.invoiceNo,ductName,b.quantity,b.Sell_price,b. Sell_Datefrom Customer a,SellDetail b,Product cwhere a.customerNo=b.customerNo and ductNo=ductNo and b.customerNo=Copen cur_cust_detailselect cursor内数据条数 =cursor_rowsfetch next from cur_cust_detailwhile (fetch_status-1beginselect cursor读取状态 =fetch_statusfetch next from cur_cust_detailendclose cur_cust_detaildeallocate cur_cust_detail利用游标选取编号为 C的客户的客户名称、购物发票编号、所购商品名 称、数量、单价和购物日期,并逐行显示游标中的信息 declare cur_detail_top5 cursor forselect top 5 b.customerNo,a.customerName,sum(quantity *Sell_price 总金额 from Customer a,SellDetail bwhere a.customerNo=b.customerNogroup by b.customerNo,a.customerNameorder by 总金额 DESCopen cur_detail_top5select cursor内数据条数 =cursor_rowsfetch next from cur_detail_top5while (fetch_status-1beginselect cursor读取状态 =fetch_statusfetch next from cur_detail_top5endclose cur_detail_top5deallocate cur_detail_top5利用游标选取消费前 5 名的客户的编号、姓名和消费总金额 5、定义存储过程5-1定义客户表上的存储过程create procedure customer_search c_no char(8asselect * from Customerwhere customerNo=c_noexec customer_search C 带输入参数的存储过程,根据客户编号查询该客户的基本信息create procedure VIPcustomer_searchasselect * from Customerwhere cust_level=VIP客户 exec VIPcustomer_search建立存储过程,显示 VIP 客户的基本信息5-2定义商品表上的存储过程create procedure product_searchasselect productNo,productName from Productwhere productName=17寸显示器 exec product_search建立存储过程,显示商品名为 17 寸显示器的商品编号、商品名5-3定义销售明细表上的存储过程create procedure detail_product_search cust_no char(8 as selecta.customerNo,a.customerName,b.invoiceNo,ductName,b.quantity,b.Sell_price,b.Sell_Date from Customer a,SellDetail b,Product cwhere a.customerNo=b.customerNo and ductNo=ductNo and b.customerNo=cust_noexec detail_product_search C建立一个带输入参数的存储过程, 根据输入的客户编号查询客户名称、 购物发票 编号、所购商品名称、数量、单价和购物日期create procedure detail_consume_top5asselect top 5 b.customerNo,a.customerName,sum(quantity *Sell_price 总金额 from Customer a,SellDetail bwhere a.customerNo=b.customerNogroup by b.customerNo,a.customerNameorder by 总金额 DESCexec detail_consume_top5建立一个存储过程,查询消费前五名的客户6、定义触发器 6-1 定义客户表上的触发器 6-1-1仅允许dbo用户可以删除Customer表中的数据 create trigger Tr_cust o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 收废铁基础知识培训内容课件
- 2025年养生知识竞赛试题及答案
- 播音主持培训课件社团
- 播音与主持社团课件
- 2025年水上交通安全责任协议
- 2025社会工作者面试试题及答案
- 摸鱼儿-雁丘词课件
- 2025年国家工作人员学法用法考试题库附参考答案
- 2025年社会工作者《初级实务》考试真题及答案
- 2024年保险行业人员(保险学教程)基础知识试题与答案
- 2024年“泰山杯”山东省网络安全职业技能竞赛理论试题库(含答案)
- 手术室医院感染控制规范(详细版)
- 机电工程安装工艺细部节点做法2022
- NB-T31022-2012风力发电工程达标投产验收规程
- NB-T10859-2021水电工程金属结构设备状态在线监测系统技术条件
- ICU谵妄患者的评估及护理
- 口腔种植一期手术
- 身份证办理委托书
- 员工团队意识培训课件
- 2023年南京金陵中学初一分班考试数学试题word版
- 妇女反家暴知识讲座
评论
0/150
提交评论