典型案例数据库设计.docx
- 文档编号:29655513
- 上传时间:2023-07-25
- 格式:DOCX
- 页数:35
- 大小:142.04KB
典型案例数据库设计.docx
《典型案例数据库设计.docx》由会员分享,可在线阅读,更多相关《典型案例数据库设计.docx(35页珍藏版)》请在冰豆网上搜索。
典型案例数据库设计
CompanyDocumentnumber:
WUUT-WUUY-WBBGB-BWYTT-1982GT
典型案例数据库设计
本科学生综合性实验报告
课程名称:
数据库系统原理
电子商务数据库设计
项目组长学号0061375
班级选课03班小组第12组
实验项目名称乐购电子商城销售系统设计
指导教师
开课学期2008至2009学年第一学期
完成时间2008年12月30日
1、需求分析
系统的功能描述
电子商城销售管理系统ESS用户分为三类:
(1)商家管理员:
此类客户可以取得商城管理员的权限,可以浏览所有客户信息,查找客户,给客户分配合理的权限,删除不合法客户等。
(2)商城游客:
只可以浏览商城开放的业务和信息,不可以进行网上交
也不为该类客户提供个性化服务,该类客户无需注册。
(3)商城正式客户:
必须在商城注册,登录本商城后,这类客户可以
览商城开放的业务和信息,可以进行网上交易,也可享受商城提供的个性化服务以及优惠服务等。
作为在线购物商城,前台销售系统提供以下功能:
客户信息管理,商品信息管理,购物车管理,订单信息管理。
(1)客户信息管理
①客户必须注册并登录本系统才能进行网上交易活动。
一个客户只能拥有一个注册号(用户名),注册号可由客户根据自己的喜好自行定义,但必须唯一且在6-16位以内,且第一位必为字母C,其他只能由数字组成。
②同一时间内一个注册号不能在多处登录。
客户所填资料必须真实,其中注册号、密码、姓名、性别、地址、邮编为必填资料。
③客户的积分将根据客户的订单金额逐次积累,即客户每购买一元的商品,则客户积分增加一分.其积分等级分为一钻,二钻,三钻,一钻客户为普通客户,积分为0-499分,不享受任何优惠;二钻客户积分为500-999分以内,所有商品九折优惠;三钻客户积分为1000分以上,所有商品八折优惠.当客户积分达到一定分数后,自动修改为相应等级。
④客户注册成功以后,其注册信息将自动被加入客户表中。
登录系统后,客户可以查询或修改个人信息。
(2)商品信息管理
①客户登录本系统后,可以浏览本商城所展示的商品。
②客户登录本系统后,可以查找自己所需要的商品。
③客户登录本系统后,可以购买自己选中的商品。
(3)购物车管理
当客户选中某件商品时,可以将其放入购物车(生成一商品暂存表)我们在购物车设置一个“是否购买”字段(客户可以自己选择,用于确认),一个“商品数量”(客户自己填写)字段,一个商品编号,商品名称,商品单价,商品总额。
这样客户就可以自己决定购买哪些商品,购买多少,若不想买,可以在购物车中将其删除。
(4)订单信息管理
①客户确认购买购物车中的商品后,提交购物清单,此时将自动生成一张商家配送单,配送单中商品编号、商品数量、配送单编号将自动插入配送表中,而客户姓名、地址、邮编、电话则设置为默认值,即客户可以修改其中的信息。
②当客户付款后,将自动生成一张订单明细表。
明细表中包括商品价格和优惠价,同时自动生成一张订单总表,订单时间由系统自动生成,即系统当前时间;订单号由系统自动生成。
③生成订单后,一天后商家发出配送单,客户收到商品,若在一周以内提出退货商品且符合退货条件(商品存在严重质量问题),则为客户办理退货业务,同时修改相应的订单明细表和订单总表并减去客户相应的积分,同时生成相应的退货单,退货单包含商品编号,商品名称,商品单价,商品数量,退货日期。
本电子商城的后台管理系统将提供客户管理,商品管理,订单统计管理等功能,具体描述如下:
(1)客户管理
①为客户建立一张基本表,用于添加客户个人信息,客户登录后可以维护
己的个人信息,并且在向网站发出订单时会自动填写自己的联系信息。
②为客户赋予查询或修改个人信息的权利。
(2)商品管理
①若商品接近保质期(3个月),把该商品设为特价商品。
②若商品库存量小于等于100,则提示要添加商品。
③若某种商品已不再销售时,应将该商品信息删除。
④若某种商品价格改变,则修改商品价格。
⑤当商品入库时,将商品按不同的种类分类管理,分类标准为:
商品类别名,生产厂家。
(3)订单统计管理
①统计每种商品年销售总额,并显示销售总额排在前十名的商品以供客户浏览。
②统计商城所有订单的年销售总额,根据销售情况调整营销计划。
③统计每一地区的销售总额。
④统计每个客户年订单总额。
⑤统计商品上个月的销售总额,并显示销售总额排在前十名的商品供客户浏览。
系统总体功能图
根据上节分析的系统功能需求,我们可以得到系统的功能模块,如图所示。
图系统功能图
系统流程图
本商城客户购买商品的系统流程图,如图所示。
图系统流程图
数据流图
本商城的数据流图如图所示。
图数据流图
实体与数据
通过对电子商城各方面的分析,我们可以知道电子商城中的实体包括:
客户,商品,仓库,订单,优惠表,商品暂存表,商品配送单,商品退货单。
各实体包含的数据项分别如下:
(1)客户:
注册号,密码,地址,注册日期,邮编,电话,性别,姓名。
(2)商品:
商品编号,商品名称,商品生产日期,商品保质期,商品单价。
(3)商品类别:
商品类别编号,商品类别名。
(4)生产厂家:
生产厂家编号,生产厂家名。
(5)仓库:
仓库编号,仓库名称。
联系与数据
通过以上的实体与数据我们可以得到如下实体间的联系:
(1)订单:
订单编号,注册号,订单总额,订货日期,配送日期,发票号码,订单状态,商品编号,商品单价,商品折后价,商品数量。
(2)优惠表:
客户等级,优惠率,积分要求。
(3)商品暂存:
购物车编号,注册号,商品编号,商品单价,商品折后价,商品数量,是否购买,商品总金额。
(4)商品配送:
配送单编号,注册号,商品编号,商品数量,地址,姓名,邮编,电话,配送日期。
(5)商品退货:
退货单编号,订单编号,注册号,姓名,配送日期,商品编号,商品数量,退货原因。
通过以上分析,我们作如下规定:
(1)一个客户可以购买多种商品,一种商品可以被多个客户购买;
(2)一个商品可以属于一种类别,一种类别的商品可以包含多个商品;
(3)一个商品可以由多个厂家生产,一个厂家可以生产多个商品;
(4)一个订单对应一个客户,一个客户对应多个订单;
(5)一个订单对应一个商品配送单,一个商品配送单对应一个订单;
(6)一个客户对应多个商品退货单,一个商品退货单对应一个客户;
(7)一个仓库可以存放多种商品,一种商品可以存放在多个仓库;
(8)一个商品暂存表对应一个订单,一个订单对应一个商品暂存表。
实体之间的联系有:
(1)客户与商品之间(M:
N)
(2)商品与商品类别之间(1:
N)
(3)商品与生产厂家之间(M:
N)
(4)订单与客户之间(1:
M)
(5)订单与商品配送单之间(1:
1)
(6)客户与商品退货单之间(1:
M)
(7)仓库与商品之间(M:
N)
(8)商品暂存表与订单之间(1:
1)
数据字典
数据字典包括数据项、数据结构、数据流、数据处理4个部分。
其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。
(1)数据项
如表所示。
表数据项表
数据项
数据类型
别名
含义说明
取值范围
取值含义
cust_id
char(6)
注册号
唯一标识每一客户
C00001-C99999
C代表客户,后五位按顺序编号
cust_code
char(12)
密码
6-12位,由字母和数字组成
输错次数不得超过三次
addr
char(40)
地址
不得超过20字
用文字说明
zip
char(6)
邮编
000000-999999
tel_no
char(11)
电话
00000000000-
若输入家庭号码,则要输入地区号
sex
char
(2)
性别
f/m
f代表男性,m代表女性
discount
numeric(1,2)
优惠率
一钻不打折,二钻打九折,三钻打八折
sco_re
char(10)
积分要求
0-499/500-999/1000以上
0-499:
一钻,
500-999:
二钻,
1000以上:
三钻
prod_id
char(6)
商品编号
唯一标识每一商品
P00001-P99999
P代表商品,后五位按顺序编号
prod_name
char(20)
商品名称
不得超过20字
用文字说明
pro_date
datetime
商品生产日期
yyyy-mm-dd
生产日期必须在系统日期之前
keep_date
char(6)
商品保质期
yyyy-mm-dd
若保质期小于3个月,将其推为特价商品
unit_price
numeric
(7,2)
商品单价
商品单价必须小于商品总价格
sup_name
char(30)
生产厂家名
不得超过30字
用文字说明
order_no
int
订单编号
唯一标识每一订单
按顺序依次递增自动获得流水编号
tot_amt
numeric
(7,2)
订单总额
一张订单的总金额
order_date
getdate()
订货日期
yyyy-mm-dd
订货日期必须在配送日期之前
invoice_no
char(10)
发票号码
唯一标识每一发票
按顺序依次递增自动获得流水编号
order_status
char
(2)
订单状态
标识货物是否已发出
1和0
1代表货物已发出,0代表货物还未发出
ware_no
char(5)
仓库编号
唯一标识每个仓库
w0001-w9999
w代表仓库,后四位按顺序编号
qty
int
商品数量
00001-35536
客户所购商品数量不得小于库存量
shop_no
char(5)
购物车编号
唯一标识每一购物车
S0001-S9999
S代表购物车,后四位按顺序编号
buy
char(4)
是否购买
是/否
是代表购买,否代表不购买
pro_
totamt
numeric
(7,2)
商品总金额
一种商品的总金额
deliv_no
char(10)
配送单编号
唯一标识每一配送单
E000000001-
E代表配送单,后九位按顺序编号
deliv_date
getdate()
配送日期
yyyy-mm-dd
配送日期在订货日期之后(隔一天)
chan_no
char(10)
退货单编号
唯一标识每一退货单
T000000001-
T代表退货单,后九位按顺序编号
chan_rea
char(50)
退货原因
不得超过25个字
用文字说明
(2)数据结构
①数据结构:
客户
含义说明:
是客户管理子系统的主体数据结构,定义了一个客户的有关信息
组成:
注册号,密码,地址,注册日期,邮编,电话,性别,姓名
②数据结构:
优惠表
含义说明:
是优惠子系统的主体数据结构,定义了客户是否能享受优惠服务的
信息
组成:
客户等级,优惠率,积分要求
③数据结构:
商品
含义说明:
是商品管理子系统的主体数据结构,定义了一个商品的有关信息
组成:
商品编号,商品名称,商品生产日期,商品保质期,商品单价
④数据结构:
商品类别
含义说明:
定义了一个商品属于哪种类别的有关信息
组成:
商品类别编号,商品类别名
⑤数据结构:
生产厂家
含义说明:
定义了一个商品是哪个厂家生产的有关信息
组成:
生产厂家编号,生产厂家名
⑥数据结构:
订单表
含义说明:
是订单管理子系统的主体数据结构,定义了一个订单的有关信息
组成:
订单编号,注册号,订单总额,订货日期,发票号码,商品编号,商品单价,商品折后价,商品数量,配送日期
⑦数据结构:
商品暂存
含义说明:
是购物车管理子系统的主体数据结构,定义了一张商品暂存表的有关信息
组成:
购物车编号,注册号,商品编号,商品单价,商品折后价,商品数量,是否购买,商品总金额
⑧数据结构:
商品配送
含义说明:
是商品配送管理子系统的主体数据结构,定义了一张商品配送表的有关信息
组成:
配送单编号,注册号,商品编号,商品数量,地址,姓名,邮编,电话,配送日期
⑨数据结构:
商品退货
含义说明:
是商品退货管理子系统的主体数据结构,定义了一张商品退货表的有关信息
组成:
退货单编号,订单编号,注册号,姓名,配送日期,退货原因,商品编号,商品数量
⑩数据结构:
仓库
含义说明:
是商品仓库管理子系统的主体数据结构,定义了一张仓库的有关信息
组成:
仓库编号,仓库名称
(3)数据流
①数据流:
客户的个人信息
说明:
客户在注册时所登记的个人信息
数据流来源:
注册
数据流去向:
保留在客户表中
组成:
注册号,密码,地址,注册日期,邮编,电话,性别,姓名
②数据流:
客户的优惠信息
说明:
客户购买商品时所享受的优惠价格
数据流来源:
客户在订单表中的总金额
数据流去向:
保留在优惠表中
组成:
客户等级,优惠率,积分要求
③数据流:
商品的基本信息
说明:
当乐购电子购物平台增加、修改或是删除商品的时候对商品信息的更新
数据流来源:
当商品的信息发生变动的时候,由管理员执行的对商品表的增加、修改和删除的操作
数据流去向:
保存在商品表中
组成:
商品编号,商品名称,商品生产日期,商品保质期,商品单价
④数据流:
商品的类别信息
说明:
当乐购电子购物平台增加、修改或是删除商品的时候对商品类别信息的更新
数据流来源:
当商品的信息发生变动的时候,由管理员执行的对商品类别表的增加、修改和删除的操作
数据流去向:
保存在商品类别表中
组成:
商品类别编号,商品类别名
⑤数据流:
生产厂家信息
说明:
当乐购电子购物平台增加、修改或是删除厂家的时候对生产厂家信息的更新
数据流来源:
当厂家的信息发生变动的时候,由管理员执行的对生产厂家表的增加、修改和删除的操作
数据流去向:
保存在生产厂家表中
组成:
生产厂家编号,生产厂家名
⑥数据流:
订单信息
说明:
客户所选购的商品的一些基本信息
数据流来源:
当客户把选购的商品放到购物车里,点击确认以后,自动生成订单
数据流去向:
保存在订单表中
组成:
订单编号,注册号,订单总额,订货日期,发票号码,商品编号,商品单价,商品折后价,商品数量
⑦数据流:
商品暂存信息
说明:
即购物车管理系统的一些基本信息,在购物车里客户可以任意修改商品信息
数据流来源:
客户把选购的商品暂时存放到购物车里
数据流去向:
保存在商品暂存表中
组成:
购物车编号,注册号,商品编号,商品单价,商品折后价,商品数量,是否购买,商品总金额
⑧数据流:
商品配送信息
说明:
客户确认购买商品后,商家负责把商品送到客户手中
数据流来源:
订单的一些信息和客户的一些基本信息
数据流去向:
保存在商品配送表中
组成:
配送单编号,订单编号,注册号,商品编号,商品数量,地址,姓名,邮编,电话,配送日期
⑨数据流:
商品退货信息
说明:
客户若所选购的商品如有质量或者其他问题,客户可以要求退货
数据流来源:
商品的基本信息和订单的一些基本信息
数据流去向:
保存在商品退货表中
组成:
退货单编号,订单编号,注册号,姓名,配送日期,退货原因,商品编号,商品数量
⑩数据流:
仓库信息
说明:
存放各种商品
数据流来源:
当商品增加或减少时,仓库的商品库存量作相应的改变
数据流去向:
保存在仓库表中
组成:
仓库编号,仓库名称
(4)数据处理
数据处理过程如表所示。
表数据处理表
数据存储名
功能
处理说明
insert_cust
插入新的客户信息
当客户成功注册后,自动在客户表中添加该客户的注册信息
select_cust
查询客户个人信息
登录系统后,客户可以查询个人信息
update_cust
修改客户个人信息
登录系统后,客户可以修改个人信息
delete_cust
删除客户信息
若客户离最后一次登录的时间超过一年,则管理员删除该客户信息
chan_level
修改客户等级
当客户积分达到一定要求,自动修改客户等级
add_score
增加客户积分
生成订单后,则根据订单金额自动增加积分
code_detect
检测客户的注册密码是否符合要求
当客户输入密码时,自动检测密码是否在6-12位之间,否则将提示其重新输入
select_sales
查询订单
当客户查询时,只能查询其个人订单信息
insert_product
添加新的商品信息
在存储过程中用insert语句添加新的商品信息
insert_kind
添加新的商品类别信息
添加新的商品信息时,若其属于新的类别,则应先在类别表中添加该商品类别
insert_sup
添加新的生产厂家信息
添加新的商品信息时,若其为新的厂家生产,则应先在生产厂家表中添加该生产厂家名
delete_sup
删除生产厂家
用delete操作删除某个生产厂家,此时商品应做级联删除操作
delete_product
删除商品信息
当商品不再销售时,删除商品信息
add_prod
提示添加商品信息
当商品库存量小于100时,提示要添加商品
chan_price
修改商品价格
当商品接近保质期(用有效日期减去系统时间后,所得的值小于3个月),则把商品设为特价商品(根据商品类别修改商品价格)
kind_select
按商品类别名查询商品信息
客户可以输入商品类别名查询自己想要的商品
sup_select
按生产厂家名查询商品信息
客户可以输入生产厂家名查询自己想要的商品
prod_name_select
按商品名称查询商品信息
客户可以输入商品名称查询自己想要的商品
add_shopcart
生成商品暂存表(即往购物车中放入商品)
客户点击“购买”商品时,自动生成一张商品暂存表
delete_shopcart
删除商品暂存表(即清空购物车)
当客户提交购物清单后,自动把购物车中的商品信息清除
calculate_shop_amt
计算暂存表中的商品总额
根据商品暂存表中的商品数量和折后价计算客户购买的商品总额
update_buy
决定是否购买商品
通过update操作客户可以确认自己是否想购买该商品
update_qty
修改购物车中的商品数量
在商品暂存表中客户可以通过自己update操作决定自己购买多少数量的商品
delete_shop_prod
删除客户不想购买的商品
若商品暂存表中的“是否购买”字段为“否”,则删除该商品
calculate_price
计算商品折后价
根据客户等级计算商品暂存表和订单明细表的当客户提交购物清单后,商品折后价
add_deli
生成商品配送单
当客户提交购物清单后,自动生成一张商品配送单
update_deli
修改配送单中的客户信息
对配送单中的客户信息,客户自己可以修改
insert_item
生成订单明细表和订单总表
当客户付款后,根据商品暂存表自动生成一张订单明细表同时生成一张订单总表
calculate_tot
计算订单总表中的tot_amt值
根据订单明细表中的商品数量和单价计算订单总表中的tot_amt值
status_tri
修改订单状态
当商家发出配送单时,订单状态自动修改为‘1’,表示货物已发送
insert_return
生成退货单
为客户办理退货业务时,生成一张退货单
update_tri
修改订单
当退货单生成后,同时修改相应的订单明细表和订单总表,即级联更新
totamount
统计在某一地区的销售总额
根据客户地址统计在某一地区的销售总额
cal_cust
统计每个客户年订单总额
根据订单总表统计每个客户年订单总额
sum_tot
统计商城所有订单总额
统计所有订单总表的订单金额
触发器名
功能
处理说明
cust_tri
仅允许dbo用户删除客户信息
当删除客户信息时,如果为客户,他没有删除的权限,若为管理员,则可以删除
detect_qty
检测客户输入的商品数量是否超过库存量
当客户输入商品数量时,检测其是否超过库存量,若是,则提示“您所购买的数量超过库存量,请重新输入!
”,否则在商品表中库存量应做相应的减少
prod_date_detect
检测商品生产日期
添加新的商品信息时,检测其生产日期是否在系统日期之前,否则提示“生产日期不可能大于系统日期,请重新输入!
”
deliv_date_detect
检测配送日期
生成订单时,检测其订货日期是否在配送日期之前,否则提示“订货日期不可能大于配送日期,请重新输入!
”
update_sale_item
更新订单总表
当修改订单明细表的数量或单价时,订单总表的tot_amt值应做相应地修改
视图名
功能
处理说明
cust_hero_view
生成客户积分排行榜(英雄排行榜)
把客户表中积分排在前二十位的客户放在视图表中,以供客户浏览
calculate_year_sale_view
统计商品年销售总额
年终时统计商品本年度销售总额,并显示前十名的商品
prod_well_view
浏览热门商品
统计上个月商品销售总额,并显示前十名的商品,供客户浏览
2概念结构设计
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,并采用自底向上的方法.用E-R图表示各实体之间的联系。
实体图
通过需求分析我们得到客户,商品,优惠表和仓库等最基本的实体,画出它们的实体图如下:
(1)客户实体图,如图所示。
图客户实体图
(2)商品实体图,如图所示。
图商品实体图
(3)优惠表实体图,如图所示。
图优惠表实体图
(4)仓库实体图,如图所示。
图仓库实体图
多个实体间的联系图
实体与实体间有多种联系,画出各种实体间的联系图如下:
(1)客户与优惠表间的联系图,如图所示。
图客户与优惠
(2)商品与商品类别间的联系图,如图所示。
图商品与商品类别表联系图
(3)商品与生产厂家之间的联系图,如图所示。
图商品与生产厂家联系图
(4)商品与仓库实体之间的联系图,如图所示。
图商品与仓库联系图
(5)客户与商品实体之间的联系图,如图所示。
图客户与商品联系图
(6)客户与商品退货之间的关系图,如图所示。
图客户与商品退货单联系图
(7)订单与商品配送之间的联系图,如图所示。
图订单与商品配送单联系图
总体ER图
通过以上分ER图,我们得到下面的总ER图,如图所示。
图总ER图
3逻辑结构设计
本次设计的数据库在SQLServer2008上实现,将概念结构设计中的E-R图转换成SQLServer2008支持的关系数据模型。
关系设计
关系设计包括实体转换和联系转换。
(1)实体转换
将每个单独的实体转换为一张单独的表,具体转换如下:
客
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 典型 案例 数据库 设计