Система обновления отношений Операции системы обновления отношений Назначение системы – установление соответствия отношений базы данных объекту реального мира, который описывает база данных • ADD – добавление кортежа • DEL – удаление кортежа • CH – изменение кортежа Добавление Добавление Возможные ошибки при выполнении операции добавления кортежа: • • Схема кортежа не соответствует схеме отношения Некоторое значение кортежа не принадлежит домену соответствующего атрибута • Добавляемый кортеж совпадает по ключу с кортежем, уже существующем в отношении В каждом из этих случаев операция добавления оставляет отношение неизменным и некоторым образом сообщает об ошибке. Удаление Удаление Возможные ошибки при выполнении операции удаления кортежа: 1. Отсутствие кортежа в отношении Изменение Изменение Изменение Возможные ошибки при выполнении операции изменения кортежа: • • • • Схема кортежа не соответствует схеме отношения Некоторое значение кортежа не принадлежит домену соответствующего атрибута Операция изменения приводит к тому, что кортеж совпадает по ключу с кортежем, уже существующем в отношении Кортеж отсутствует в отношении В каждом из этих случаев операция добавления оставляет отношение неизменным и некоторым образом сообщает об ошибке. Обновление отношений: примеры Дано отношение: расписание (НОМЕР_РЕЙСА, ПУНКТ_ОТПРАВЛЕНИЯ, ПУНКТ_НАЗНАЧЕНИЯ, ВРЕМЯ_ВЫЛЕТА, ВРЕМЯ_ПРИБЫТИЯ) {НОМЕР_РЕЙСА} – ключ отношения Обновление отношений: примеры Добавление кортежа: ADD(расписание; НОМЕР_РЕЙСА = 117, ПУНКТ_ОТПРАВЛЕНИЯ = Атланта, ПУНКТ_НАЗНАЧЕНИЯ = Бостон, ВРЕМЯ_ВЫЛЕТА = 22.05, ВРЕМЯ_ПРИБЫТИЯ=0.43) ADD(расписание; 117, Атланта, Бостон, 22.05, 0.43) Обновление отношений: примеры Удаление кортежа: DEL(расписание; НОМЕР_РЕЙСА = 83, ПУНКТОТПРАВЛЕНИЯ = Нью-Йорк, ПУНКТНАЗНАЧЕНИЯ = Чикаго, ВРЕМЯ-ВЫЛЕТА = 11.30, ВРЕМЯ-ПРИБЫТИЯ=13.43) DEL(расписание; 83, Нью-Йорк, Чикаго, 11.30, 13.43) DEL(расписание; 83) Обновление отношений: примеры Изменение кортежа: CH(расписание; НОМЕР_РЕЙСА = 109, ПУНКТОТПРАВЛЕНИЯ = Нью-Йорк, ПУНКТНАЗНАЧЕНИЯ = Лос-Анджелес, ВРЕМЯ-ВЫЛЕТА = 21.50, ВРЕМЯ-ПРИБЫТИЯ=2.52; ВРЕМЯВЫЛЕТА = 21.40, ВРЕМЯ-ПРИБЫТИЯ=2.42 ) CH(расписание; НОМЕР_РЕЙСА = 109; ВРЕМЯВЫЛЕТА = 21.40, ВРЕМЯ-ПРИБЫТИЯ=2.42) Заключение • Операции системы обновления отношений Добавление Удаление Изменение • Причины возникновения ошибок в процессе обновления отношений