如何管理表所需的数据

时间:2013-02-06 03:42:54

标签: database required

我有一个表,必须存在3个必需记录才能使使用此表的应用程序正常运行。例如,如果这是一个链表树表,在我的例子中,必须存在三个顶级组。当我开始使用此表时,所有未来的组必须始终在一个组下,并且不能创建其他顶级组。

Group TL1
   Group A
       Group AA

Group TL2
   Group B
   Group B1
      Group B1B

Group TL3
   Group C

注意必须始终存在组TL1,TL2和TL3,否则数据完整性会因应用程序的要求而中断。

插入/保护所需顶级组的最佳方法是什么?

我的一个想法是在创建表时插入所需的数据,并具有检查所需数据是否存在的函数。但是,我也不想总是检查它们的存在,因为它似乎过度且无效。

非常感谢您的回复。

1 个答案:

答案 0 :(得分:0)

根据数据库的不同,您可以尝试以下方式:

1)有一个外键约束,如果它被破坏则阻止更新/删除 - 如果行A通过外键引用行重要,那么你不能删除行重要,因为数据库将检查约束并阻止它。

2)在删除/更新/插入之前运行一个触发器(根据需要),确保存在重要的行并阻止操作(或插入),如果它违反了这一行。

我会研究你使用的数据库风格的选项。