Введение в стандарты языка баз данных SQL


Определение ограничений целостности - часть 4


для данной строки таблицы, на которую указывает ссылка, соответствующими являются все строки ссылающейся таблицы, содержащие по крайней мере одно не неопределенное значение ссылающегося столбца, причем все не неопределенные значения столбцов этих строк совпадают со значениями соответствующих столбцов строки, на которую указывает ссылка;

для данной строки таблицы, на которую указывает ссылка, уникально соответствующими являются все соответствующие только ей строки; другие соответствующие строки называются неуникально соответствующими.

  • Для каждой строки таблицы, на которую указывает ссылка, соответствующие, уникально и неуникально соответствующие ей строки определяются непосредственно до выполнения любого оператора SQL. Во время выполнения оператора новые соответствующие строки не добавляются. Связь между неуникально соответствующими строками уничтожается в ходе выполнения оператора SQL, если строка, на которую ведет ссылка помечается для удаления или для изменения значения любого столбца, соответствующего не неопределенному ссылающемуся столбцу. Это происходит сразу после такой пометки. Сразу после этого происходит обнаружение новых уникально или неуникально соответствующих строк.
  • Если специфицировано правило удаления, и строка таблицы, на которую указывает ссылка, помечается для удаления, то

      (a) если тип соответствия не специфицирован или если специфицирован тип соответствия FULL, то

      (i) если в правиле удаления указано CASCADE, то все соответствующие строки помечаются для удаления;

      (ii) если в правиле удаления указано SETNULL, то во всех соответствующих строках в каждый ссылающийся столбец заносится неопределенное значение;

      (iii) если в правиле удаления указано SETDEFAULT, то во всех соответствующих строках в каждый ссылающийся столбец заносится соответствующее значение по умолчанию;

      (b) если специфицирован тип соответствия PARTIAL, то

      (i) если в правиле удаления указано CASCADE, то все уникально соответствующие строки помечаются для удаления;

      (ii) если в правиле удаления указано SETNULL, то во всех уникально соответствующих строках в каждый ссылающийся столбец заносится неопределенное значение;




      - Начало -  - Назад -  - Вперед -



      Книжный магазин