vendors表:
储存销售产品的供应商信息,每个供应商在这个表中有一个记录,供应商ID(vend_id)列用来匹配产品和供应商。
列名 | vend_id | vend_name | vend_address | vend_city | vend_state | vend_zip | vend_country |
---|---|---|---|---|---|---|---|
说明 | 唯一的供应商ID | ~名 | ~地址 | ~城市 | ~州 | ~邮政编码 | ~国家 |
这个表使用vend_id作为主键。vend_id为一个自动增量字段
products表:
包含产品目录,每个产品有唯一的ID(prod_id列),通过vend_id(供应商的唯一ID)关联到它的供应商。
prod_id | vend_id | prod_name | prod_price | prod_desc |
---|---|---|---|---|
唯一的产品ID | 产品供应商ID(关联到vendors表中的vend_id) | 产品名 | 产品价格 | 产品描述 |
这个表用prod_id作为其主键。为实施引用完整性,应该在vend_id上定义一个外键,关联到vendors的vend_id。
customers表:
存储所有顾客的信息。每个顾客有唯一的ID(cust_id列)。
cust_id | cust_name | cust_address | cust_city | cust_state | cust_zip | cust_country | cust_contact | cust_email |
---|---|---|---|---|---|---|---|---|
唯一的顾客ID | 顾客名 | 顾客的地址 | 顾客的城市 | 顾客的州 | 顾客的邮政编码 | 顾客的国家 | 顾客的联系名 | 顾客的联系email地址 |
这个表将使用cust_id作为它的主键。cust_id是一个自动增量字段。
orders表:
存储顾客订单(但不是订单细节)。每个订单唯一地编号(order_num列)。订单用cust_id列(它关联到customer表的顾客唯一ID)与相应的顾客关联。
order_num | order_date | cust_id |
---|---|---|
唯一订单号 | 订单日期 | 订单顾客ID ( 关系到customers 表的cust_id) |
这个表使用order_num作为它的主键。order_num是一个自动增量字段。为实施引用完整性,应该在cust_id上定义一个外键,关联到customers的cust_id。
orderitems表:
orderitems表存储每个订单中的实际物品,每个订单的每个物品占一行。对orders中的每一行,orderitems中有一行或多行。每个订单物品由订单号加订单物品(第一个物品、第二个物品等)唯一标识。订单物品通过order_num列(关联到orders中订单的唯一ID)与它们相应的订单相关联。此外,每个订单项包含订单物品的产品ID(它关联物品到products表)。
order_num | order_item | prod_id | quantity | item_price |
---|---|---|---|---|
订单号(关联到orders表的order_num) | 订单物品号(在某个订单中的顺序) | 产品ID(关联到products表的prod_id) | 物品数量 | 物品价格 |
这个表使用order_num和order_item作为其主键。为实施引用完整性,应该在order_num上定义外键,关联它到orders的order_num,在prod_id上定义外键,关联它到products的prod_id。
productnotes表:
存储与特定产品有关的注释。并非所有产品都有相关的注释,而有的产品可能有许多相关的注释。
note_id | prod_id | note_date | note_text |
---|---|---|---|
唯一注释ID | 产品ID(对应于products表中的prod_id) | 增加注释的日期 | 注释文本 |
所有表都应该有主键,这个表应该使用note_id作为其主键。列note_text必须为FULLTEXT搜索进行索引。 由于这个表使用全文本搜索,因此必须指定ENGINE=MyISAM。