MYSQL必知必会 再捋[样例表](零)

本文介绍了一个基于MySQL的学习案例,通过创建并使用六个紧密相连的表来实现订单录入系统的功能,涵盖了供应商、产品、顾客及订单管理等方面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看一遍练一遍不可能就学会mysql

学习都是无聊的

记住了  才会转化  能力

注:认真捋一下,理解表与表之间的关系

样例表

书中使用的样例表为一个想象的随身物品推销商使用的订单录入系统,这些随身物品可能是你喜欢的卡通人物需要的(是的,卡通人物,没人规定学习MySQL必须沉闷地学)。这些表用来完成以下几个任务:
管理供应商;
管理产品目录;
管理顾客列表;
录入顾客订单。
要完成这几个任务需要作为关系数据库设计成分的紧密联系的6个

表。以下几节描述各个表。


表的描述
以下介绍6个表以及每个表中的列。
表的列出顺序 6个表之所以要用这里的次序列出是因为它

们之间的依赖关系。

因为products表依赖于vendors表,所以
先列出vendors,其他表的列出也有类似的关系。

vendors
vendors表存储销售产品的供应商。每个供应商在这个表中有一个记
录,
供应商IDvend_id)列用来匹配产品和供应商。
列 说 明
vend_id 唯一的供应商ID
vend_name 供应商名
vend_address 供应商的地址
vend_city 供应商的城市
vend_state 供应商的州
vend_zip 供应商的邮政编码

vend_country 供应商的国家

vend_id作为主键。 vend_id为一个自动增量字段。


products

products表包含产品目录,每行一个产品。每个产品有唯一的IDprod_id列),通过vend_id(供应商的唯一ID)关联到它的供应商。

列 说 明
prod_id 唯一的产品ID
vend_id 产品供应商ID(关联到vendors表中的vend_id

prod_name 产品名
prod_price 产品价格

prod_desc 产品描述

prod_id作为其主键。
为实施引用完整性,应该在vend_id上定义一个外键,关联到

vendorsvend_id


customers
customers表存储所有顾客的信息。每个顾客有唯一的IDcust_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
orders表存储顾客订单(但不是订单细节)。每个订单唯一地编号
order_num列)。 订单用cust_id列(它关联到customer表的顾客唯一ID
与相应的顾客关联。

列 说 明
order_num 唯一订单号
order_date 订单日期
cust_id 订 单 顾 客 ID ( 关 系 到 customers 表 的
cust_id


order_num作为它的主键。

order_num是一个自动增量字段。

为实施引用完整性,cust_id上定义一个外键,关联到 customerscust_id


orderitems
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_numorder_item作为其主键。
为实施引用完整性,order_num上定义外键,关联它到ordersorder_num,在prod_id上定义外键,关联它到products



productnotes
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    文件填充各个新表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值