1、客户订购登记系统,任*功能需求分析 1127318851朱*概念结构设计 1127312150杨*数据库逻辑设计 1127318555刘*应用系统功能模块 1127313851,前景分析,一个公司希望为其客户订购行为建立一个数据库。一个消费者可以有一个或多个订单,每个订单可以有一种或多种商品。每个订单有一个,可以通过多种方式来支付,例如支票、信用卡或者现金。开始运行这个客户订购登记的员工的名字要被记下来。有一个相应的部门工作人员来负责整理订单病把这些订单发给顾客。,需求分析信息要求,1.客户:每个客户的详细信息包括客户号、客户姓名、地址(街区、城市、州和邮编)、家庭电话号码、出生日期。2.员工
2、:员工中每个成员的详细信息包括员工号、员工姓名、地址、家庭电话号码、邮箱、出生日期、职位、性别、工资。3.发票:每一个订单有一个发票。记录发票的详细情况包括发票号码、开发票日期、支付发票日期、信用卡号、持卡者姓名、订单号、支付发票方式号。4.订单:订单的详细信息包括订单号、订单日期、送货地址(街区、城市、州和邮编)、预订日期、客户号、员工号。5.订单细节:每个订单可以由一种或多种商品。订单细节的详细信息包括订单号、商品号、预订数量。6.付款方式:发票可以通过多种方式来支付,例如支票、信用卡或者现金。付款方式的详细信息包括付款方式号、付款方式。7.商品:每个商品的详细信息包括商品号、商品名称、序
3、列号、统一价格、预订数量。,(二)数据字典数据概述,(三)数据字典数据项,客户:发票:,(三)数据字典数据项,订单细节: 商品: 付款方式:,(三)数据字典数据项,订单: 员工:,(三)完整性与安全性要求,1.客户: 客户号、客户姓名、地址(街区、城市、州和邮编)、家庭电话号码、传真为非空,出生日期可选填。2.员工:员工号、员工姓名、地址、家庭电话号码、出生日期、职位、性别、工资为非空,邮箱选填。3.发票:发票号码、开发票日期、支付发票日期、信用卡号、持卡者姓名、订单号、支付发票方式号为非空。4.订单:订单号、订单日期、送货地址(街区、城市、州和邮编)、预订日期、客户号、员工号为非空。5.订单
4、细节:订单号、商品号、预订数量为非空。6.付款方式:付款方式号、付款方式为非空。7.商品:商品号、商品名称、序列号、统一价格、预订数量为非空。,数据库概念设计E-R图,姓名,电话,订单,公司,客户,客户实体及属性订单实体及属性,订单,客户,支付方式,商品及数量,发票,数据库概念设计E-R图,支付方式,总额,客户,发票,发票实体及属性商品实体及属性,商品,名称,库存,单价,发票,数据库概念设计E-R图,实体及其联系图,属于,关联,属于,订单,发票,商品,客户,属于,1,1,1,1,1,n,n,n,数据库概念设计数据流图,客户,订单处理,订单需求,商品描述,订单信息,应收金额,发票,相关部门,有效
5、订单,价格,订单内容,反馈,付款,受理,选择支付方式,数据库逻辑设计,1. 将E-R图转换为关系模型客户:Cumtomer (Cnumber Cname Cadress Cphone Cbirthday Csex)。 员工:Employmee(Empnumber Empname Empadress Empphonne Empbirthday Empsex Income) 发票:Invoice(Innumber Indate Paytime Paymathod)订单:Order(Ordnumbe r ,Ordtime ,ordsdress ,Cnumber ,Empnuumber)订单细节:Or
6、derdetail(Pronumber,Ordnumber)支付方式:Patmathod(Paynumber ,Paymathod)商品:Product(Pronumber ,Proname),数据库逻辑设计,2. SQL建表 Creat table Cumtomer( Cnumber int primary key, Cname char(4) unique not null, Cadress char(10) , Cphone int(11) not null, Cbirthday datetime , Csex char(1);,数据库逻辑设计,Creat table Employmee
7、( Empnumber int pyimary key notnull, Empname char(4) notnull , Empadress char(10) , Empphone int(11) notnull, Empbirthday datetime , Empsex char(1) , lncome float ); Creat table Invoice( Innumber int primarykey notnull, Indatetime datetime , Paytime datetime , Paymathod char(5);,数据库逻辑设计,Creat table
8、Order( Ordnumber int(3) primary key nou null, Ordtime datetime , Ordadress char(10) , Cnumber int(3) unique, Empnumber int(3) not null); Creat table OrderDetail( Pronumber int not null, Ordnumber int(3) not null);,数据库逻辑设计,Creat table Paymentmethoa( Paynumber notnull primary key unique, Paymethod cha
9、r); Creat table Product( Pronumber int(3) not null primary key, Proname char not null Price not null);,功能模块设计,客户登陆订购系统,登陆界面,主界面,客户模块,订单模块,发票模块,商品模块,管理模块,退出模块,客户查询,新建客户,订单查询,新建订单,发票查询,商品查询,修改密码,新建账户,删除账户,退出,返回登录,系统功能模块图,功能模块设计存储过程,Create procedure onok(a int,c int)As e=0 int;f=0 int;sum float;ssum fl
10、oat;Begin select price from Goods where a= pronumber;If a is null then rollback; return; end if;While ec loop sum=price+sum e=e+1; end loop; return snm; commit;end;,客户登陆订购,总结,经过这3周的实验,让我们对数据库设计有了从简到深的认识。之前只听理论,没有实践,其实就是纸上谈兵。而这次实验,通过小组各个成员的努力协作,让我们独立的完成了这个大实验,收获颇丰。培养了我们的团队精神和分工合作,也让我们额外的了解了数据库实用性,拓展了我们的知识面。,谢谢观赏,Make Presentation much more fun,