Database 如何在一个access数据库中归档多个表中的记录

Database 如何在一个access数据库中归档多个表中的记录,database,ms-access,archive,Database,Ms Access,Archive,我有一个数据库,其中包含过去4-5年的数据。数据库已经变得相当大,而使用该数据库的应用程序的工作速度非常慢。我希望归档所有表中的一些数据。这个数据库有16-17个表,它们之间有关系,我正在寻找一种执行归档操作的方法,这样我就可以在几年内归档/删除数据。我试图阅读有关追加和删除查询的内容,但我不确定如何将它们应用于多个表 另一个问题是这个应用程序是由其他人创建的,我对数据库和表的结构没有足够的了解。非常感谢您的帮助/建议 您需要做的第一件事是了解您的数据集。如果您真的“对数据库和表的结构没有足够的

我有一个数据库,其中包含过去4-5年的数据。数据库已经变得相当大,而使用该数据库的应用程序的工作速度非常慢。我希望归档所有表中的一些数据。这个数据库有16-17个表,它们之间有关系,我正在寻找一种执行归档操作的方法,这样我就可以在几年内归档/删除数据。我试图阅读有关追加和删除查询的内容,但我不确定如何将它们应用于多个表


另一个问题是这个应用程序是由其他人创建的,我对数据库和表的结构没有足够的了解。非常感谢您的帮助/建议

您需要做的第一件事是了解您的数据集。如果您真的“对数据库和表的结构没有足够的了解”,那么您将面临一个巨大的失败

最重要的是确定表之间的相互关系。如果原始设计人员有能力,他应该在数据库中建立关系并强制执行引用完整性。您需要查看这些关系(转到数据库工具选项卡并选择关系),或者确定数据之间应该存在哪些关系

一旦确定了数据的关联方式,就需要设置新的存档表以镜像所有要存档的表。最简单的方法是右键单击表格,然后右键单击窗格中的其他位置并选择“粘贴”。您将得到一个如下所示的框:

选择“仅结构”,因为您只想设置表格。我会给它们起与原始表格相同的名字,并在末尾加上“_Archive”。这样,就可以很容易地确定正在使用哪些表

接下来,确定哪些是“父”表,哪些是“子”表。您可以通过确定哪些字段包含彼此的关系以及它们之间的关系来实现这一点。任何具有一对多关系的表都可以在“一”侧被视为“家长”,在“多”侧被视为“孩子”


在此之后,您需要确定希望如何存档。通常,表中有一些日期字段可以用作指南。例如,您有一个名为“订单日期”的字段。您可以选择归档订单日期在2010年1月1日之前的任何内容。因此,要做到这一点,您需要编写一个追加查询。您将把所有内容都附加到新的归档表中,因为这里没有足够的信息来回答这个问题,因为与您一样,我们也不熟悉这个数据库,但无法看到它。您可以“归档”数据,但这真的是您想要的吗?为什么它慢是一个更大的问题。数据是否通过网络传输?数据是否在运行时间较长的复杂查询中表示?DB有多大?最大的表有多大(记录和列)?连接看起来像什么?您可以看到,这不仅仅是“归档”旧数据,因为您可能不想删除任何内容。将数据库的副本作为“归档”怎么样然后从当前数据库中删除旧数据?你试过对数据库进行反编译吗?我需要做同样的事情,并且仔细思考,非常类似于你所说的。非常有用的答案!关于你的第三段到最后一段,他能不能从父母那里逐级删除?