看一遍练一遍不可能就学会mysql
学习都是无聊的
记住了 才会转化 能力
注:认真捋一下,理解表与表之间的关系
样例表
书中使用的样例表为一个想象的随身物品推销商使用的订单录入系统,这些随身物品可能是你喜欢的卡通人物需要的(是的,卡通人物,没人规定学习MySQL必须沉闷地学)。这些表用来完成以下几个任务: 管理供应商;
管理产品目录;
管理顾客列表;
录入顾客订单。
要完成这几个任务需要作为关系数据库设计成分的紧密联系的6个
表。以下几节描述各个表。
以下介绍6个表以及每个表中的列。
表的列出顺序 6个表之所以要用这里的次序列出是因为它
们之间的依赖关系。
因为products表依赖于vendors表,所以
先列出vendors,其他表的列出也有类似的关系。
vendors表存储销售产品的供应商。每个供应商在这个表中有一个记
录,供应商ID(vend_id)列用来匹配产品和供应商。
列 说 明
vend_id 唯一的供应商ID
vend_name 供应商名
vend_address 供应商的地址
vend_city 供应商的城市
vend_state 供应商的州
vend_zip 供应商的邮政编码
vend_country 供应商的国家
vend_id作为主键。 vend_id为一个自动增量字段。
products表
列 说 明
prod_id 唯一的产品ID
vend_id 产品供应商ID(关联到vendors表中的vend_id)
prod_name 产品名
prod_price 产品价格
prod_desc 产品描述
prod_id作为其主键。为实施引用完整性,应该在vend_id上定义一个外键,关联到
vendors的vend_id。
customers表存储所有顾客的信息。每个顾客有唯一的ID(cust_id
列)。
列 说 明
cust_id 唯一的顾客ID
cust_name 顾客名
cust_address 顾客的地址
cust_city 顾客的城市
cust_state 顾客的州
cust_zip 顾客的邮政编码
cust_country 顾客的国家
cust_contact 顾客的联系名
cust_email 顾客的联系email地址
cust_id作为它的主键。cust_id是一个自动增量字段。
orders表存储顾客订单(但不是订单细节)。每个订单唯一地编号
(order_num列)。 订单用cust_id列(它关联到customer表的顾客唯一ID)
与相应的顾客关联。
列 说 明
order_num 唯一订单号
order_date 订单日期
cust_id 订 单 顾 客 ID ( 关 系 到 customers 表 的 cust_id)
order_num是一个自动增量字段。
为实施引用完整性,cust_id上定义一个外键,关联到 customers的cust_id。orderitems表存储每个订单中的实际物品,每个订单的每个物品占
一行。对orders中的每一行, orderitems中有一行或多行。每个订单物
品由订单号加订单物品(第一个物品、第二个物品等)唯一标识。订单
物品通过order_num列(关联到orders中订单的唯一ID)与它们相应的订
单相关联。此外,每个订单项包含订单物品的产品ID(它关联物品到
products表)。
列 说 明
order_num 订单号(关联到orders表的order_num)
order_item 订单物品号(在某个订单中的顺序)
prod_id 产品ID(关联到products表的prod_id)
quantity 物品数量
item_price 物品价格
order_num和order_item作为其主键。为实施引用完整性,order_num上定义外键,关联它到orders的order_num,在prod_id上定义外键,关联它到products
productnotes表存储与特定产品有关的注释。并非所有产品都有相
关的注释,而有的产品可能有许多相关的注释。
列 说 明
note_id 唯一注释ID
prod_id 产品ID(对应于products表中的prod_id)
note_date 增加注释的日期
note_text 注释文本
note_id作为其主键。列note_text必须为FULLTEXT搜索进行索引。
由于这个表使用全文本搜索,因此必须指定ENGINE=MyISAM。
的一切东西都可以在http://www.forta.com/books/0672327120/上找到。
此网页包含两个可以下载的SQL脚本文件。
create.sql包含创建6个数据库表(包括所有主键和外键约束)
的MySQL语句。
populate.sql包含用来填充这些表的INSERT语句。
在下载了脚本后,可用它们创建和填充本书各章所用的表。以下是
要遵循的步骤。
(1)进入MYSQL数据库创建一张表
(2) USE 数据库名 (即:进入该数据库)
(3) 使用mysql命令行输入 source create.sql;(指定create.sql文件的完全路径)
(4) SOURCE populate.sql 文件填充各个新表。