这个问题已经在这里有一个答案:
什么是实现了一对多的关系在位于本地服务器上的大型自动化系统的信息的最佳方式?获取报告并记录它是系统中最重要的一点。
例如,考虑具有执行在一周一次游览几个导游旅行社。为了记录机构的信息,最好的办法是用三个表,一个用于存储机构的信息,以及一个用于存储个性化的指导信息和一个存储关系(一对多),但丝毫这种方式,改变了人的引导信息,将执行游览这个星期会发生变化,因此从系统也将改变收到的报告。存储的另一种方法是使用一个表,在该机构的信息存储,与人的信息也存储在JSON format.For例如柱,可以考虑如下表所示。
代理表:agency_id |名称| PHONE_NUMBER |地址| guides_details(存储在该列中的信息存储在如姓名,移动和JSON格式....)
现在,我的问题是:鉴于该项目的存储大小并不重要(因为在本地服务器上使用),是适合于大规模信息存储(存档)第二种方法?或者,如果有另一种方式来归档,教教我吧。
一般情况下,它是一个不好的做法来存储JSON数据表,如果它可以以表格的形式来表达。这样做的原因是因为你不就能够查询在轻松的数据库语言这些细节。
我建议如下表:
agency_id | (任何其他静态信息)
agency_detail_id | agency_id | CREATED_DATE |名称| PHONE_NUMBER |地址| (任何其他改变的细节)
guide_id | (任何其他静态信息)
guide_detail_id | guide_id | CREATED_DATE |电话|电子邮件| (任何其他改变的细节)
tour_id |名称|日期| agency_detail_id | guide_detail_id
推理:
细节表机构和指南将让你保持不同版本的每个机构的引导不同的旅行团,将允许你保存的记录链接到哪个机构或引导旅游属于即使细节不同的能力。
我们已经打破了引导细节成一个表格,以便它可以很容易地对进行查询。