[关闭]
@artman328 2019-08-26T01:42:27.000000Z 字数 1575 阅读 1123

《数据库技术基础》专业技能实训

database 实训


第一部分 数据库应用案例讲解

1、问题描述

有一家商店,需要用应用软件来管理商品的销售。店主对软件的需求描述总结如下:
1. 商品进行了分类,分类级别不限;
2. 可以随时查看各种分类及其以下分类的所有商品的名称、型号规格、计量单位、成本单价、销售单价等;
3. 对每一次销售都有记录,可记录会员客户名称(非会员用“零散客户”记录)、销售日期、销售人员(开票人员)、销售总额、销售商品明细(品名、规格型号、单位、实收单价、小计)等。
4. 可查询任意日期区间内某个商品的销售总额;
5. 可查询任一客户在任意日期区间内的购物总额;
6. 可查询任一销售人员在任意日期区间内的销售总额;
7. 可以列出任意日期区间内的月销售总额记录;
8. 可以列出所有销售人员在任意日期区间内的销售总额;
9. 可以列出所有会员客户在任意日期区间内的购物总额;
10. 可列出所有商品在任意日期区间内的销售总额,并按销售总额降序排序;
11. 可列出所有商品在任意日期区间内的销售数量,并按销售数量降序排序;
12. 可查询未来10日内过生日的销售人员,便于发放生日礼物。
另外,商店需要记录销售人员的身份证号码、联系电话等基本信息。

2、分析与建模

2.1 实体及其属性

根据问题描述,我们可找出“商品分类”、“商品”、“销售记录”、“客户”、“销售商品明细”、“销售人员”等实体。

商品分类
分类编号、名称、说明等
商品
商品编号、分类编号(外键)、名称、型号规格、计量单位、成本单价、销售单价
客户
客户编号、名称、联系电话
销售人员
人员编号、身份证号、姓名、性别、出生日期、联系电话
销售记录
编号、销售日期、客户编号(外键)、销售人员编号(外键)、销售总额(可从销售明细计算得出)
销售商品明细
编号、商品编号(外键)、实收单价、数量、小计(计算字段)

2.2 实体关系

“商品分类” 对 “商品分类”
自关联,一个“商品分类”可能有零到多个下级“商品分类”,可能有零到1个上级“商品分类”。因此,关系为:(零到)一 对 (零到)多。
“商品分类” 对 “商品”
一个商品分类有零到多个商品,一个商品必须属于一个商品分类。关系为:一 对 (零到)多。
“客户” 与 “销售记录”
一个客户可有多个销售记录,一个销售记录只属于且必属于一个客户。关系:1 对 多。
“销售人员” 与 “销售记录”
一个销售人员可有多个销售记录,一个销售记录只属于且必属于一个销售人员。关系:1 对 多。
“销售记录” 与 “销售商品明细”
一个“销售记录”可有多个“销售商品明细”,一个“销售商品明细”只属于且必属于一个“销售记录”。关系:1 对 多。
“商品” 与 “销售商品明细”
一个“商品”可有多个“销售商品明细”,一个“销售商品明细”只属于且必属于一个“商品”。关系:1 对 多。

2.3 ER 图

此处输入图片的描述

3、数据字典

4、建库 SQL 脚本

5、验证

5.1 注入少量样例数据

5.2 数据操纵正确性验证

5.3 注入大量数据

5.4 数据操纵效率验证

第二部分 实训案例

有一家健康会所,下设多个体育锻炼俱乐部,如:篮球俱乐部、排球俱乐部、游泳俱乐部等,每个俱乐部的年费不等。一名顾客可加入多个俱乐部成为会员,顾客在加入一个俱乐部时,需要缴纳该俱乐部的年费(记费周期从当日到次年的同一日的前一天),年费可能会有折扣。现此会所想用数据库来管理俱乐部和会员,需求描述如下:
1. 可查询每个俱乐部拥有的会员数目;
2. 可查询每个顾客参加的俱乐部数目;
3. 可查询所有目前已欠费的会员;
4. 可查询某个日期区间的收费总额;
5. 可查询某个日期区间的支出总额;
6. 可列出各俱乐部有效会员(未欠费)的数目,并按有效会员数目从多到少进行排列;
7. 可统计各俱乐部到目前为止的支出总额,从高到低排序;
8. 可统计各俱乐部到目前为止的收费总额,从高到低排序;
9. 可统计各俱乐部到目前为止的结余总额,从高到低排序;
10. 可统计会所到目前为止的利润总额。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注