收录日期:2020/07/12 21:48:23 时间:2016/07/18 18:11:06 标签:MySQL
数据库table原先是这样的:

table company (
company_id 
company_name
... ...
... ...


商家 - 客户

company A, company B,company C, company D ... ...都是 company Z的客户。1:MANY

company table只有一个是商家company Z,其它都他的客户。


现在要改 company Z,company ZZZ,company ZZZZ ... ...都是商家. MANY:MANY

办法到是有,加一table就可以了。但不知好好,想听其他人的想法。

一种设计方法。

create table company (
company_id int primary key,
company_name varchar(100) not null,
... ...
... ...
);

create table supplyChain (
supplier int ,
cusomter int ,
primary key (supplier,cusomter),
foreign key (supplier) references company(company_id),
foreign key (cusomter) references company(company_id)
);
支持这种设计,达到了第三范式。
不过,使用外键的话最好支持级联删除和修改,这样更容易保持数据一致性。
另外,如果楼主使用mysql 4.0以前的版本不支持外键。

引用 1 楼 acmain_chm 的回复:
一种设计方法。

 create table company (
  company_id int primary key,
  company_name varchar(100) not null,
  ... ...
  ... ...
 );

 create table supplyChain (
  supplier int ,
  cusomter int ,
  primary key (supplier,cusomter),
  foreign key (supplier) references company(company_id),
  foreign key (cusomter) references company(company_id)
 );

HST-24002SAR和88E6122-LKJ1 关于socket通信问题 多个AT指令是根据什么规则连接到一起的? sql server 2005 数据导入 oracle数据库 外部排序磁盘读写次数 Setup Factory打包VC程序,双击setup文件弹出Runtime error varchar转成datetime 字符串截取 sql server 2005 数据 导入 oracle 求师父~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!! 新手 求助 谢谢 记那些稀奇怪的程序问题 安卓listview问题 微信回复消息问题 今天北京艳阳高照 有没有mvc3 下比较好用 tree 带有 checkbox 关于apache日志管道 淘宝第三方应用 How to allow null value 无法连接到数据库的问题 黄道吉日 cxf+spring 在eclipse下遇到的问题 实体转换类型 Qt如何读取大量数据? 如何截取与更换字符串中的指定字符?求帮忙在线等!~~~ 请教高手一个坐标的算法!!!!! php webservices 问题 中国贫富标准线 如何判断点在旋转后的矩形内 每次启动mysql的时候都报错