Mysql-所有表的单序列表

时间:2013-05-03 05:46:13

标签: mysql database

我已经从Firebird数据库在Mysql中创建了一个数据库。 在数据库中有一个公共序列表(Common_ID),它为所有表生成序列(数据库中有45个表)。一些表是

Table1 = Sequence (ID Auto-increment)-The Common Sequence Table
Table2 = Process (Sequence, Process_Number(Unique), Category_Name)
Table2 = Tasks (Sequence, Barcode(Unique), Process_Number(sequence from Process Table), Product_Name)

此数据库已有超过600,000条记录。 一个"过程"可以有很多"任务"。 我的问题是: "序列"之间应该是什么关系?表和"流程/任务"表? 流程表和任务表之间应该有什么关系? 我如何插入"序列"表和使用" ID"在其他表中?

这是我的第一个问题,我是数据库新手,所以对任何错误道歉。

1 个答案:

答案 0 :(得分:0)

序列和过程之间的关系是一对一的,序列和任务之间的关系也是一对一的(并且与以这种方式使用序列表的每个其他表相同)。这种关系的一方(Process resp.Task)不需要存在。

流程与任务之间的关系是一对多的。

您的插入内容就像

insert into Sequence values (0);
insert into Process values (last_insert_id(), ....);

insert into Sequence values (0);
insert into Task values (last_insert_id(), ....);

顺便提一下,在您的数据模型中,表Process现在有两个主键。当您在“任务”中将进程的序列用作外键时,它可能是更好的数据模型。