《数据库原理与应用》课程设计
客户订单系统数据库设计
2010 年 12 月
一、问题描述:
1、背景:
随着公司规模的不断扩大,客户订单数量也相应的增加,有关货物的各种信息量也成倍增加,面对
着庞大的信息量,传统的人工方式管理会导致货物订单管理上的混乱,人力与物力过多浪费,从而使相
关部门部的客户订单方面负担过重,影响整个客户订单的运作和控制管理,因此,必须制定一套合理、
有效,规范和实用的客户订单管理系统,对货物订单进行集中统一的管理。
另一方面,IT 产业和 Internet 获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理
的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高客户订单相关工作效率,作到信息的规范管理,科学统计和快速查询,让客户订单更好的为公
司,企业服务。
2、数据需求 :
客户订购登记管理系统需要完成的主要功能有:
1.客户信息的基本输入,包括客户编号,客户名,电话,地址,性别,年龄.
2.客户基本信息的查询修改删除,包括客户编号,客户名,电话,地址,性别,年龄.
3.产品类别标准的制定,类别信息的输入,包括产品编号,产品名,型号,规格,价格,现有库存
量.
4.产品信息的查询修改删除,包括产品编号,产品名,型号,规格,价格,现有库存量.
5.订单信息的基本输入,包括客户编号,订单编号,产品编号,产品数量,时间,员工编号.
6.订单信息的查询修改删除,包括客户编号,订单编号,产品编号,产品数量,时间,员工编号.
7.员工信息的输入包括员工编号,姓名,性别,年龄,电话,地址.
8.员工信息的查询修改删除,包括员工编号,姓名,性别,年龄,电话,地址.
3、事物需求:
(1)在客户信息管理部分,要求:a.可以查询客户信息。b.可以对客户信息进行添加及删除的操作。
(2 )在产品信息管理部分,要求:a.可以浏览产品信息,要求:b.可以对产品信息进行维护,包括添加
及删除的操作。
(3)在订单管理部分,要求:。a.可以根据客户需求处理订单。b.可以对订单信息进行维护操作。
(4)员工信息部分,要求:a.可以浏览员工信息。b.对员工信息可维护操作。
4、关系模式:
客户(客户编号,客户名,电话,性别,年龄,联系地址)产品(产品编号,产品名,型号,规格,
产品单价,现有库存量)
订单(订单编号,客户编号,产品编号,员工编号,产品数量,时间)
员工(员工编号,姓名,性别,年龄,电话,联系地址)
以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。
二、方案图表设计 :
1、E-R 图(客户订购登记管理系统可以划分的实体有:客户实体、产品实体、订单实
体、发票实体,职工实体。用 E-R 图一一描述这些实体。)
客户实体 E-R 图:
客户表:客户编号,客户名,电话,性别,年龄,地址.
产品实体 E-R 图:产品表:产品编号,产品名称,型号,规格,产品单价,现有可存
量
订单实体 E-R 图:订单表:订单编号,产品编号,客户编号,员工编号,产品数量,
时间.
员工信息实体 E-R 图 :员工表:员工编号,姓名,性别,电话,联系地址.
总的信息实体 E-R 图:
2、功能结构设计:
3、数据流程图:
4、数据字典:
1.客户表
2.订单表
3.产品表
4.员工表
5、关系图:
三、数据库源代码:
1、数据库建立:
创建数据库:
创建数据库:
CREATE DATABASE kehudingdandengjisystem
GO
USE kehudingdandengjisystem
go
客户表建立:
CREATE TABLE clients(
cno char (10) NOT NULL primary key,
cname char (20) NOT NULL ,
csex char(2),
cage smallint,
ctel char (11) NOT NULL ,
cadress char(100) )
产品表建立:
CREATE TABLE product(
pno char (10) NOT NULL primary key ,
pname char (20) NOT NULL ,
pmodel char (8) NOT NULL ,
pnorm char (10) NOT NULL ,
pprice char (20) NOT NULL ,
ptotal char(50) NOT NULL )
员工表建立:
CREATE TABLE clerks(
clerkno char (20) NOT NULL primary key,
clerkname char (20) NOT NULL ,
clerksex char(2),
clerkage smallint,
clerktel char (11) NOT NULL ,
clerkadress char(100) )
订单表建立:
CREATE TABLE lists(
lno char (10) NOT NULL ,
cno char (10) NOT NULL ,
pno char (10) NOT NULL,
lnumber int NOT NULL,
ldate datetime,
clerkno char(20) NOT NULL,
primary key(lno,cno,pno,clerkno),
foreign key (cno) REFERENCES clients(cno),
foreign key (pno) REFERENCES product(pno),
foreign key (clerkno) REFERENCES clerks(clerkno))
2、数据初始化:
USE kehudingdandengjisystem
go
--将客户信息 加入表client 中
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1001','叶宇','女','20','15625475825','宝鸡市')
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1002','芳芳','女','32','13941684569','西安市')
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1003','陆楠','男','22','16359626595', '北京' )
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1004','围时','男','36','13541696246', '黑龙江')
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1005','周镇','男','52','14256335633', '甘肃')
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1006','齐涛','男','33','13558954598', '汉中')
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1007','夏玲','女','25','13645259974', '广西')
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1008','一一','女','20','13542695266', '广东')
insert
into clients(cno,cname,csex,cage,ctel,cadress)
values('1010','陈东','男','20','13455445541', '西安')
--将 产品信息 加入product 表中( )
insert
into product(pno,pname,pmodel,pnorm,pprice,ptotal)
values ('C02','玩具猫',' 13','小','38','655')
insert
into product(pno,pname,pmodel,pnorm,pprice,ptotal)
values ('C03','玩具长颈鹿','13','大','69','600')
insert
into product(pno,pname,pmodel,pnorm,pprice,ptotal)
values ('C12','玩具狗','10','小','20','500')
insert
into product(pno,pname,pmodel,pnorm,pprice,ptotal)
values ('C18','玩具老虎','13','大','59','750')
insert
into product(pno,pname,pmodel,pnorm,pprice,ptotal)
values ('C35','玩具猪','13','中','110','360')
insert
into product(pno,pname,pmodel,pnorm,pprice,ptotal)
values ('C53','玩具熊','13','大','100','360')
insert
into product(pno,pname,pmodel,pnorm,pprice,ptotal)
values ('C98','玩具蛇','13','中','45','200')
--将 产品信息 加入lists 表中( )
insert
into lists(lno,cno,pno,lnumber,ldate,clerkno)
values ('1001','1001','C12','200','2007-12-10','001')
insert
into lists(lno,cno,pno,lnumber,ldate,clerkno)
values ('1002','1003','C01','300','2008-10-02','002')
insert
into lists(lno,cno,pno,lnumber,ldate,clerkno)
values ('1003','1005','C53','200','2008-02-20','006')
insert
into lists(lno,cno,pno,lnumber,ldate,clerkno)
values ('1004','1004','C35','340','2008-10-10','003')
insert
into lists(lno,cno,pno,lnumber,ldate,clerkno)
values ('1005','1002','C18','200','2007-11-01','005')
insert
into lists(lno,cno,pno,lnumber,ldate,clerkno)