Cascade Delete Use Case - PullRequest
       16

Cascade Delete Use Case

1 голос
/ 28 апреля 2011

Я довольно новичок в бизнес-анализе. Я должен написать требования, которые показывают (пока) каскадное удаление (для двух таблиц), а остальные таблицы будут удалены явно.

Мне нужно руководство по написанию требований для каскадного удаления.

Ответы [ 3 ]

1 голос
/ 28 апреля 2011

Используйте параметр ON DELETE CASCADE, чтобы указать, хотите ли вы удалять строки в дочерней таблице при удалении соответствующих строк в родительской таблице. Если вы не укажете каскадное удаление, поведение сервера базы данных по умолчанию не позволяет вам удалять данные в таблице, если другие таблицы ссылаются на нее.

Если вы укажете эту опцию, позже при удалении строки в родительской таблице сервер базы данных также удалит все строки, связанные с этой строкой (внешние ключи) в дочерней таблице. Основным преимуществом функции каскадного удаления является то, что она позволяет сократить количество операторов SQL, необходимых для выполнения действий по удалению.

Например, таблица all_candy содержит столбец candy_num в качестве первичного ключа. Таблица hard_candy ссылается на столбец candy_num как на внешний ключ. Следующая инструкция CREATE TABLE создает таблицу hard_candy с опцией cascading-delete для внешнего ключа:

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

1 голос
/ 28 апреля 2011
  • Удалить дочерние объекты на родительском удаление.
  • Удалить членов коллекции, если объект коллекции удален.

На самом деле трудно понять задачу без контекста, а также она пахнет домашней работой университета / колледжа (у нас была очень похожая на это).

0 голосов
/ 01 мая 2011

Вы не пишете сценарии использования для функциональности - вот почему трудно правильно ответить на ваш вопрос - мы не знаем актера, который взаимодействует с системой, и, конечно, мы ничего не знаем о системе, поэтому мы не можем сказать вам, как написать описание их взаимодействия. Сначала вы должны написать свои сценарии использования, и из них получить функциональность.

...