附录A解读
- 编写者: Nirvanaliu;
- 日期 : 2019-10-08 23:01;
- 目的 : 理解《SQL必知必会》的表结构
样例表
本属中所用的表是一个假象玩具经销商使用的订单录入系统的组成部分。
- 管理供应商
- 管理产品目录
- 管理顾客列表
- 录入顾客订单
需要5张表 (作为一个关系数据库设计的组成部分紧密关联)
表的描述
- Vendors 表 – 供应商表
所有表都应该有主键
列 | 说明 | 键 |
---|---|---|
vend_id | 唯一供应商ID | 主键 |
vend_name | 供应商品名 | |
vend_address | 供应商的地址 | |
vend_city | 供应商所在城市 | |
vend_state | 供应商所州 | |
vend_zip | 供应商邮编 | |
vend_country | 供应商所在国家 |
- Product表 – 产品目录表 – 每个产品有唯一ID prod_id列,并借助 vend_id 与供应商相关联
列 | 说明 | 键 |
---|---|---|
prod_id | 唯一产品id | 主键 |
vend_id | 产品供应商ID | 外键(关联到Vendors表的vend_id列) |
prod_name | 产品名 | |
prod_price | 产品价格 | |
prod_desc | 产品描述 |
- Customers表 – 客户表 – 目测针对公司名
列 | 说明 | 键 |
---|---|---|
cust_id | 唯一顾客ID | 主键 |
cust_name | 顾客名 | |
cust_address | 顾客地址 | |
cust_city | 客户所在城市 | |
cust_state | 顾客所在州 | |
cust_zip | 顾客所在邮编 | |
cust_country | 顾客所在国家 | |
cust_contact | 顾客的联系名 | |
cust_email | 顾客的电子邮件地址 |
- Orders表 – 顾客订单表 – 有唯一订单编号order_num – Orders表 用外键 cust_id 关联到Custorms表
列 | 说明 | 键 |
---|---|---|
order_num | 唯一订单号 | 主键 |
order_date | 订单日期 | |
cust_id | 订单顾客ID | 外键 – Custorms表 |
- OrderItems表
-
存储每个订单中的实际物品,可以理解为Orders表的扩展,对于Orders表中的每一行来说,再OrderItem表中可能对应着很多行
-
每个订单由订单号+订单物品 为 唯一标识
-
订单物品用order_num列关联到 Order表
-
cust_id 关联到 Products表
列 | 说明 | 键 |
---|---|---|
order_num | 订单号 | 主键(1/2) 外键 |
order_item | 订单物品号(订单内的顺序) | 主键(2/2) |
prod_id | 产品ID | 外键 – Product表 |
quantity | 物品数量 | |
item_price | 物品价格 |
样本关系图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rjCiqfrX-1571752298337)(附录/样本关系图.bmp)]
|物品数量|
|item_price|物品价格|
样本关系图
[外链图片转存中…(img-rjCiqfrX-1571752298337)]
以OrderItems为根