附录B——MySQL样例表

时间:2024-04-23 16:04:00

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。