пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Обновление отношений. Целостность базы данных

5.3. Обновление отношений

Для обновления отношений необходимо иметь возможность выполнять следующие операции;

  • добавление кортежа;
  • удаление кортежа;
  • изменение кортежа.

Рассмотрим их по порядку.

Операция добавления для отношения r со схемой (A1, A2, ..., An) имеет вид:

ADD (r :Al=dl, A2=d2, ..., An=dn).

Если порядок атрибутов фиксирован, возможна более короткая запись:

ADD (r : dl, d2,…, dn).

Выполнение этой операции может стать невозможным в ряде случаев:

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

Операция удаления предназначена для удаления кортежей. Она может быть записана следующим образом:

DEL (r ; Al=dl, A2=d2,…, An=dn),

или для упорядоченных атрибутов:

DEL (r ; dl, d2,…, dn) .

Для удаления некоторого кортежа часто достаточно указать значение некоторого ключа:

DEL (r ; ключ) .

Если указанный кортеж в отношении отсутствует, то отношение остается неизменным.

Операция изменения предназначена для модификации части кортежа. Для отношения r ее можно при {С1, С2, ... ,Ср} ∈ {А1, A2, ..., Аn} определить так:

СН (r ; Al=dl, A2=d2, ..., An=dn; Сl=el, С2=e2, ..., Сp=ep).

Если K = {B1, B2, ..., Bk} является ключом, то запись данной операции может быть сокращена:

СН (r ; Bl=dl, B2=d2, ..., Bk=dk; Сl=el, С2=e2, ..., Сp=ep).

Возможные ошибки в данном случае те же, что и у предыдущих операций:

  • указанный кортеж не существует;
  • изменения имеют неправильный формат;
  • используемые значения не принадлежат соответствующим доменам.

5.4. Целостность базы данных

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

Первый тип ограничений проистекает из того факта, что каждый атрибут определяется на своем домене, или наоборот: домен атрибута задает множество значений, которые может принимать атрибут. Указанное ограничение называется ограничением атрибута.

Важными понятиями в теории реляционных баз данных являются категорная целостность и целостность на уровне ссылок.

Категорная целостность ограничивает набор значений первичных ключей базовых отношений . Такого рода целостность заключается в следующем: кортеж не может записываться в БД до тех пор, пока значения его ключевых атрибутов не будут полностью определены. Иными словами: никакой ключевой атрибут любого кортежа отношения не может содержать отсутствующего значения, обозначаемого определителем NULL.

Целостность на уровне ссылок. При построении отношений для связывания строк одной таблицы со строками другой таблицы используются внешние ключи. База данных, в которой все непустые внешние ключи ссылаются на текущие значения ключей другого отношения, обладает целостностью на уровне ссылок.

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

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

  • При изменении значений полей первичного ключа в родительском отношении автоматически осуществляется каскадное изменение всех соответствующих значений в дочернем отношении.
  • Не позволяется изменять значения полей первичного ключа в родительском отношении, если в дочернем отношении имеется хотя бы одна запись, содержащая ссылку на изменяемую запись.
  • Позволяется изменять значения полей первичного ключа в родительском отношении, независимо от существования связанных записей в дочернем отношении. Целостность данных при этом не поддерживается.
  • При удалении записи в родительском отношении также возможны несколько вариантов действий.
  • При удалении записи в родительском отношении автоматически осуществляется каскадное удаление всех записей из дочернего отношения, связанных с удаляемой записью.
  • Не позволяется удалять записи в родительском отношении, если в дочернем отношении имеется хотя бы одна запись, содержащая ссылку на удаляемую запись. При попытке удаления записи возникает ошибка, которую можно обработать программно.
  • Позволяется удалять записи в родительском отношении независимо от существования связанных записей в дочернем отношении. Очевидно, что целостность данных при этом не поддерживается.

При добавлении новой записи в дочернее отношение или редактировании в нем существующей записи возможно выбрать один из вариантов:

  • не позволяется вводить запись, если значение индексного выражения дочернего отношения не соответствует одной из записей в родительском отношении;
  • при вводе данных в дочернее отношение не анализируется значение индексного выражения. Целостность данных при этом не поддерживается.

Еще один вид ограничений, накладываемый на информацию, содержащуюся в отношениях, связан с теми бизнес-правилами, которые существуют в данной организации или в моделируемой предметной области. Это так называемые дополнительные правила поддержки целостности данных, определяемые пользователем или администратором данных, которые называются корпоративными ограничениями целостности. Приведем примеры таких правил:

  • студентам нельзя планировать занятия продолжительностью более восьми часов в день;
  • студенты весь день должны заниматься в одном корпусе вуза, чтобы не требовалось дополнительное время на переходы из одного здания в другое.

07.06.2017; 13:49
хиты: 132
рейтинг:0
Точные науки
информатика
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь