Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bazy_dannykh.docx
Скачиваний:
4
Добавлен:
21.11.2019
Размер:
164.72 Кб
Скачать

Ограничения целостности базы данных.

Целостность базы данных (integrity)- это соответствие имеющиеся в базе данных информации и ее внутреннее логика, структура и ее явно заданные правила.

Ограничения целостности можно классифицировать следующими способами:

  1. По области действия. Делят на три категории:

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

    2. Сущностная целостность – главная задача отследить, чтобы информация об одной сущности не попала в базу данных два раза. Обеспечивается уникальностью и ключами.

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

      1. No action (Restrict) – запретить удаление родительской строки, если есть подчинённые строки.

      2. Каскад – при удалении родительской записи автоматически удалить все подчиненные записи.

      3. Set NULL – установить пусто у подчиненных записях.

      4. Set default

Аналогичное действие можно задать при обновлении родительской записи

  1. По способам реализации. По способам реализации:

    1. Декларативная поддержка ограничения целостности

    2. Процедурная поддержка целостности.

  2. По времени проверки. По времени ограничения делятся:

    1. Немедленно проверяемые ограничения.

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

11.10.12

Реляционная алгебра. Реляционное исчисление

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

  1. Языки реляционной алгебры

  2. Языки реляционного исчисления.

Реляционная алгебра - это процедурный язык обработки реляционных таблиц. То-есть используется пошаговое выполнение задачи.

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

Реляционная алгебра – набор объединений и операций над ними.

Реляционная алгебра состоит из девяти операций:

  1. Объединение

  2. Пересечение

  3. Разность

  4. Декартовое произведение

  5. Выборка

  6. Проекция

  7. Соединения

  8. Деление

  9. Присвоение

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

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

  1. Объединения двух совместимых таблиц R1 и R2 называется таблица R состоящая из всех строк принадлежащих хотя бы одной из таблиц R1 и R2.

  2. Операция пересечения таблиц R1 и R2 называется таблица R, состоящая из строк, являющихся общими для таблицы R1 и R2.

  3. Разностью таблицы R1 и R2 называется таблица R, состоящая из строк находящихся в таблице R1 и не находящихся в таблице R2.

R1 (ФИО, школа, паспорт) – первый раз

R2(––––) – второй раз

R3 (––––) - поступили

Найти список абитуриентов, которые поступали два раза и не поступили.

R=(R1 R2)-R3

Список абитуриентов, которые поступили с первого раза.

R3-(R1 R2)

Те, кто поступали один раз, но не поступили.

((R1-R2) (R2-R1))-R3

  1. Под декартовым произведением двух таблиц R1 и R2, не обязательно совместимых, называется такая таблица R состоящая из строк, каждая из которых является конкатенаций по двух строк из R1 и R2. Таблица будет состоять из всех столбцов обоих таблиц и всеми возможными комбинациями пар строк.

  2. Операция выборки создает таблицу, которая состоит из всех строк, удовлетворяющих определенному условию.

  3. Проекция – создает новую таблицу путем исключения столбцов из существующей таблицы.

  4. Соединения состоит из декартового произведения и выборки по заданному условию (в общем случае).

У операции соединения есть несколько версий:

  1. Естественное соединение – соединяет столбцы, имеющие общие значения – native join. …

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

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

  4. При правом соединении, гарантированно поступают все строки из второй таблицы. …

  1. Деление – создает новую таблицу путем выбора строк одной таблицы, соответствующих каждой строке другой таблицы. Пусть A, B, и C реляционные таблицы. Нужно разделить A на B и получить C:

    1. Столбцы B должны быть подмножеством столбцов A.

    2. Столбцами C будут те столбцы B, которые не входят в А.

    3. Строка помещается в таблицу C, если она входит в A с каждой строкой B.

Пример:

Пример:

18.10.12

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]