在这种情况下,我应该如何存储一个字段

时间:2015-03-17 10:29:30

标签: mysql database

所以我有一个文件表我想存储文件的历史记录:


Id |Doc_number| Date | Statue_Id | Type_id

type_id可以是1(表示导出)或2(表示导入)。 所以问题是我想要存储这个:

insert into Documents values(

    (1,'AA10',10.03.2015,1,2),
    (2,'AA10',12.03.2015,2,2),
    (3,'AA10',15.03.2015,3,2));

我可以这样做,还是应该制作两张桌子(在这种情况下,每次都是相同的type_id): Documents_export,Documents_import,没有类型id?例如上面的AA10文档有一个导入类型


Id |Doc_number| Date | Statue_Id |

2 个答案:

答案 0 :(得分:0)

什么是 Statue_Id 用法?它似乎区分了你的每一行值。

但我仍然建议历史记录,如果你将所有值保存在单个表中,那么它的好处就是每次都存储type_id,以便通过查看历史记录可以确保特定文档发生了什么动作,多少次。这是保存任何项目历史的一般基础

答案 1 :(得分:0)

关于数据结构应如何基于如何使用信息的问题。你没有提供这些信息,所以任何答案都是推测。

那就是说,你似乎在问“导入文件”和“出口文件”是两个独立的实体。或者,“文档”是具有用于区分这些类型的属性的单个实体。

我倾向于认为后者,因为你唯一的区别特征是type列。这表明一个类型的单个表。但是,我可以轻松地设想一个系统,这些系统是不同的东西。导入文档可能包含与之关联的源,日期和用户。导出文档可能包含格式,版本,日期,目的地和其他信息。在这种情况下,将它们分成两个单独的表会有更强的理由。