附录B——MySQL样例表
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。
附录B——MySQL样例表的更多相关文章
- 《MySQL必知必会》学习笔记——附录B 样例表
附录B 样例表 本附录简要描述本书中所用的表及它们的用途. 编写SQL语句需要对基础数据库的设计有良好的理解.不知道什么信息存储在什么表中,表之间如何关联以及行内数据如何分解,是不可能编写出高效的SQ ...
- Sakila——MySQL样例数据库解析(已经迁移)
一.Introduction Sakila可以作为数据库设计的参考,也可作为实验数据.我是用作数据仓库和ODI学习的实验数据. The Sakila sample database was devel ...
- mysql样例数据库employees
Oracle和sqlserver都有基于员工信息的样例数据库,同样mysql上也是有的. 给出一个连接地址https://github.com/datacharmer/test_db. 下载后直接调用 ...
- jsp操作mysql样例
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- Qt编程之Qt样例表(QSS)
For a long time, Qt has allowed you to decorate your GUIs with CSS’ish style sheets. Inspired by the ...
- 《MySQL必知必会》学习笔记——附录A MySQL入门
附录A MySQL入门 如果你是MySQL的初学者,本附录是一些需要的基础知识. A.1 你需要什么 为使用MySQL和学习本书中各章的内容,你需要访问MySQL服务器和客户机应用(用来访问服务器的软 ...
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- myloader恢复mysql数据库演示样例
mydumper是针对mysql数据库备份的一个轻量级第三方的开源工具.备份方式为逻辑备份.它支持多线程.备份速度远高于原生态的mysqldump以及众多优异特性.与其相配套的恢复工具则是mylo ...
- Linux下用OTL操作MySql(包含自己封装的类库及演示样例代码下载)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/ClamReason/article/details/23971805 首先重点推荐介绍otl介绍及使 ...
随机推荐
- Adversarial Examples for Semantic Segmentation and Object Detection 阅读笔记
Adversarial Examples for Semantic Segmentation and Object Detection (语义分割和目标检测中的对抗样本) 作者:Cihang Xie, ...
- react native获取组件高度,宽 度等
import React,{Component} from 'react'import { View, Text, Image, StyleSheet, TouchableHighlight, Tou ...
- vuex数据持久化插件--指定持久化特定的值
指定需要持久化的state,配置如下 import createPersistedState from "vuex-persistedstate" conststore = new ...
- python学习-序列基本知识
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. 用到的主要序列有元组和列表. 先定义一个列表 names=[&q ...
- Tensorflow描述张量的维度:阶,形状以及维数
张量 TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通. 阶 在TensorFl ...
- 计算机网路中CDP,LLDP,STP的详解
CDP,LLDP,STP知识详解 (1) CDP CDP(Cisco Discovery Protoco:Cisco发现协议)是Cisco专有的用来发现邻接点的协议 ,所有的Cisco产品都支持CDP ...
- python基础—字典的使用{}
info = {'stu1':"lili", 'stu2':'yoyo', 'stu3':'dudu'}print(info)print(info['stu1'])info['st ...
- mysql数据库的增量备份和全备
还有一种简单的方法 参考 https://blog.csdn.net/u010098331/article/details/50932064 (注意:5.6版本以上新加了gtid 功能,gtid开启之 ...
- 对lua中__newindex的理解
阅读了文章后用流程图来总结一下 __newindex的规则: a.如果__newindex是一个函数,则在给table不存在的字段赋值时,会调用这个函数.b.如果__newindex是一个table, ...
- 部署springboot工程到linux上及遇到的坑
一.步骤 1.将工程打成jar包 IDEA中点击file-project structure,如下图: 选择Artifacts-JAR-From modules,选择入口类Main Class,如下图 ...