最近遇到了点瓶颈,主要是Mysql的外键着实不熟悉,之前即使是几百万的数据也都是存放在一张表中,昨儿又开始拿起了《MySQL必知必会》,开始恶补一些Mysql基础知识,Mysql的联结表,主要是《MySQL必知必会》第15章和第16章的内容,相关建表+数据sql语句,可在下方参阅链接中下载。关于操作Mysql数据库的工具,有 Mysql workbench,Navicat等,推荐使用Navicat for Mysql(免费)。
假如有一个包含产品目录的数据库表,其中每种类别的物品占一行。对于每种物品要存储的信息包括产品描述和价格,以及生产该产品的供应商信息。现在,假如有由同一供应商生产的多种物品,那么在何处存储供应商信息(如,供应商名、地址、联系方法等)呢?将这些数据与产品信息分开存储的理由如下
同一供应商生产的每个产品的供应商信息都是相同的,对每个产品重复此信息既浪费时间又浪费存储空间
如果供应商信息改变(例如,供应商搬家或电话号码变动),只需改动一次即可
如果有重复数据(即每种产品都存储供应商信息),很难保证每次输入该数据的方式都相同
关系表的设计就是要保证把信息分解成多个表,一类数据一个表。各表通过某些常用的值(即关系设计中的关系(relational))互相关联。
在这个例子中,可建立两个表,一个存储供应商信息,另一个存储产品信息。vendors表包含所有供应商信息&