附录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介绍及使 ...
随机推荐
- thinkPHP验证码不显示问题
使用验证码的时候,不显示图片时,要清理下输出缓存:ob_clean_end();
- ecplise中设置字体大小和背景
1 将ecplise中的代码背景设置为豆沙色 2 设置ecplise中的字体大小
- FZU-Problem 2294 Uint47 calculator
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2294 题意:按照所给负号进行赋值.加.减乘.除和取余的操作. 解题思路:用map来存储字符串与值之间的对应关系 ...
- 自定义Hook
在 class RegForm(form.Form) 中 1.验证两次密码是否相同 from django.core.exceptions import ValidationError def cle ...
- Observable详解
Observable详解 rxjs angular2 在介绍 Observable 之前,我们要先了解两个设计模式: Observer Pattern - (观察者模式) Iterator Patte ...
- 前端开发【第二篇: css】
css概述 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.CSS ...
- jmeter保持登录
1.添加配置元祖---http cookie 管理器(注意上面的http cookie管理器和其他的配置是对其的) 2.这里是当你想要配置多用户并发是要配置不同的账号,配置后记得上面的第一张图的清除c ...
- nc/netcat命令
nc/netcat命令 语法 nc/netcat(选项)(参数) 选项 -g<网关>:设置路由器跃程通信网关,最多设置8个: -G<指向器数目>:设置来源路由指向器,其数值为4 ...
- python3 操作配置文件
一 json文件 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用 ...
- mysql导出导入数据无权限
问题:The MySQL server is running with the --secure-file-priv option so it cannot execute this statemen ...