【发布时间】:2012-12-25 23:36:51
【问题描述】:
我正在从事经济项目,我需要管理链接表中的大型数据,其中包含许多外键。 我有几年的 Oracle DBA 经验,所以我可以毫无问题地管理所有这些, 但我需要能够与没有数据库知识的其他人共享数据, 在那里,我需要让他们以某种图形方式显示数据。 Toad 可以满足我的所有需求,甚至更多,但程序对于我的需求来说太复杂了。
与其浪费时间用 C# 编写一个管理数据的程序,我正在寻找一个好的程序:
- 显示主表/视图数据,通过下拉框选项过滤/分组/排序
- 选择一行并根据所选行的数据在链接表中显示数据
- 制作我可以调整和打印的所选行的报告/数据页。 (我知道这是一个更大的要求)
此外,什么是最适合和最简单的数据库?我只与 Oracle 合作过,但肯定太多了,所以 MySql? Access(我先尝试在Access程序中做所有这些,但是调整表格太难了,最后你无法制作发布版本。
并且表格将具有相同 ID 的 start_date 和 finish_date, 但我不认为我可以最大限度地制作只显示最后一个的视图。 (顺便说一句,这种表叫什么名字,我从来不知道)
【问题讨论】:
-
关于您的最后一段:您是否在谈论维护对其他表中记录的更改日志,以便您知道何时创建、更新或删除每条记录以及该记录中的哪些信息那时?如果是这样,我听说它最常被称为审计表。
-
@coge.soft,我不谈论记录更改的附加表,您谈论的就像 oracle 进行汇总和热备份的方式。我所说的是一个表,每次您为该 ID 更改数据时,它不会编辑该行,而是为此行 end_date=sysdate 然后使用具有 start_date=sysdate 且 end_date null 的更新行创建新行或max_date,这样您可以以最简单的方式在不工作的情况下查看过去任何日期/时间的状态。在这项工作中,如果您删除行,则只需将 end_date=sysdate 放入没有新行。我不认为它是我发明的。
-
是的。这就是我想要谈论的。大多数 DBMS 具有表级触发器,这些触发器将在插入、更新或删除时执行,并允许轻松访问原始值和更改值。您可以将这些一起用于
INSERT旧值和新值(以及当前 sysdate)以保留审计日志。无论您最终选择哪种 DBMS,都可以在 Google 上搜索“(MySQL、Oracle 等)审计表”。 -
@coge.soft,是的,我知道审计表是什么,我正在谈论完整的不同类型的表,它使用 ID+t.start 的主键保存记录,因此每次行都有改变它实际上没有改变,而是创建一个新行,不知道那种表存储的名称。无论如何这不是重点,仍然停留在大问题中:*(
标签: mysql sql database ms-access