级联删除用例

时间:2011-04-28 17:22:44

标签: database cascade use-case

我是Business Analysis的新手。我必须编写要求,显示(现在)级联删除(对于两个表),其余表将显式删除。

我需要一些关于如何编写级联删除要求的指导。

3 个答案:

答案 0 :(得分:1)

  • 删除父级的子级实体 删除。
  • 如果删除了集合实体,则删除集合成员。

实际上,如果没有上下文就很难理解任务,而且它也像大学/学校的作业一样(我们有一个与此非常类似)。

答案 1 :(得分:1)

使用ON DELETE CASCADE选项指定在父表中删除相应行时是否要在子表中删除行。如果未指定级联删除,则数据库服务器的默认行为会阻止您删除表中的数据(如果其他表引用它)。

如果指定此选项,稍后在删除父表中的行时,数据库服务器还会删除子表中与该行(外键)关联的所有行。级联删除功能的主要优点是它允许您减少执行删除操作所需的SQL语句数量。

例如,all_candy表包含candy_num列作为主键。 hard_candy表将candy_num列称为外键。以下CREATE TABLE语句使用外键上的cascading-delete选项创建hard_candy表:

CREATE TABLE all_candy 
   (candy_num SERIAL PRIMARY KEY,
    candy_maker CHAR(25));

CREATE TABLE hard_candy 
   (candy_num INT, 
    candy_flavor CHAR(20),
    FOREIGN KEY (candy_num) REFERENCES all_candy
    ON DELETE CASCADE)

因为为从属表指定了ON DELETE CASCADE,所以当删除all_candy表的一行时,也会删除hard_candy表的相应行。有关从具有级联删除的表中删除行时的语法限制和锁定含义的信息,请参阅表具有级联删除时的注意事项。

来源:http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.sqls.doc/sqls292.htm

答案 2 :(得分:0)

你没有为功能编写用例 - 这就是为什么很难正确回答你的问题的原因 - 我们不知道与系统交互的演员,当然我们对系统一无所知,所以我们无法告诉你如何写出他们的互动描述。 您应该首先编写用例并从中派生出功能。