Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по базам данных 2005.docx
Скачиваний:
62
Добавлен:
29.10.2018
Размер:
148.31 Кб
Скачать

3.2 Достоинства и недостатки реляционных баз данных

К достоинствам реляционных СУБД можно отнести:

  1. Наличие развитой теории реляционной модели данных. Реляционная модель данных поддерживается в большей степени, чем другие модели. Для манипулирования отношениями используются элементы реляционной алгебры.

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

  3. Поддержка реляционной модели специальных средств ускоренного доступа к данным. Имеются прежде всего индексирование и кэширование.

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

  5. Наличие стандартизированного высокоуровневого языка запросов SQL (STRUCTURED, QUERY LANGVAGE).

  6. Простота использования реляционной модели данных.

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

Вместе с тем реляционные модели баз данных имеют и ряд недостатков. Прежде всего реляционные базы данных показали свою неадекватность в следующих типах приложених: CAD (computer-aided design), CAM (computer-aided manufacturing), CASE (software engineering), офисных и мультимедиа-приложениях, цифровом издательском деле, геоинформационных системах, научных и исследовательских приложениях и экспериментальных системах.

Среди других недостатков реляционных СУБД сторонники объективно-ориентированного программирования отмечают:

  1. слабое представление сущностей реального мира;

  2. семантическая перегрузка;

  3. слабая поддержка ограничения целостности и корпоративных ограничений;

  4. однородная структура данных;

  5. ограниченный набор операций;

  6. трудности организации рекурсивных запросов и т.д.

3.3 Элементы реляционной алгебры, реляционного исчисления и трехзначной логики

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

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

  1. Выборка отношений. (Selection) предикат(R).

Операция выборки работает с одним отношением R и определяет результирующее отношение, которое содержит только те кортежи отношения R, которые удовлетворяют заданному условию (предикату). Сложные предикаты могут быть созданы с помощью логических операторов and, or и not.

Например, из табл. “Сотрудники” требуется выбрать тех, кто родился ранее 01.01.78.

Таблица 3.3.1

Сотрудники

КодСотр

ФамСотр

ДатаРожд

001

Иванов

05/08/74

002

Петров

19/06/69

003

Сидоров

20/01/79

δ ДатаРожд ≥01/01/78(Сотрудники)

Результирующая таблица будет выглядеть следующим образом:

Таблица 3.3.2

Сотрудники

КодСотр

КодСотр

КодСотр

003

003

003

  1. Проекция отношения. (Projection) Патр.1,…, атр.n (R).

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

Например: П КодСотр,ФамСотр (Сотрудники). Результирующая таблица будет выглядеть следующим образом:

Таблица 3.3.3

Сотрудники

КодСотр

ФамСотр

001

Иванов

002

Петров

003

Сидоров

Таблица 3.3.4

Путевки

КодКл

ФамКл

Стр

001

Иванов

Франция

002

Петров

Италия

003

Сидоров

Испания

003

Сидоров

Германия

002

Петров

Испания

П КодКл,ФамКл (Путевки). Результирующая таблица примет вид:

Таблица 3.3.5

КодКл

ФамКл

001

Иванов

002

Петров

003

Сидоров

  1. Объединение отношений (Union) RUS.

Объединение отношений R и S с кортежами i и j соответственно можно получить в результате их конкатенации с образованием одного отношения с максимальным количеством кортежей i+j. Кортежи – дубликаты из результатов операции исключаются. При этом отношения R и S должны быть совместимы по объединению (т.е. они должны иметь одинаковое количество атрибутов с совпадающим доменом).

Таблица 3.3.6

Таблица 3.3.7

Студенты

Преподаватели

КодСт

ФамСт

КодПреп

ФамПреп

С001

Сидоров

П001

Бондарев

С002

Петров

П002

Лосев

С003

Иванов

Таблица 3.3.8

(Студенты)(Преподаватели)

Код

Фам

С001

Сидоров

С002

Петров

С003

Иванов

П001

Бондарев

П002

Лосев

  1. Произведение отношений (Cartesian product) RxS.

Операция декартового произведения определяет новое отношение, которое является результатом конкатенации (сцепления) каждого кортежа из отношения R с каждым кортежем из отношения S.

Таблица 3.3.9

(Преподаватели)×(Студенты)

КодПреп

ФамПреп

КодСт

ФамСт

П001

Бондарев

С001

Сидоров

П001

Бондарев

С002

Петров

П001

Бондарев

С003

Иванов

П002

Лосев

С001

Сидоров

П002

Лосев

С002

Петров

П002

Лосев

С003

Иванов

  1. Разность отношений (Set difference) R-S.

Разность отношений состоит из кортежей, которые имеются в отношение R, но отсутствуют в отношении S, причем отношения R и S должны быть совместимы по объединению.

Таблица 3.3.10

Таблица 3.3.11

Студенты “5”

Студенты “4”

КодСт

ФамСт

КодСт

ФамСт

С001

Сидоров

С001

Сидоров

С002

Петров

С003

Иванов

С003

Иванов

Таблица 3.3.12

Студенты “5” - Студенты “4”

КодСт

ФамСт

С002

Петров

Операции 1-5 являются основными.

  1. Пересечение отношений (Intersection) RS : RS = R-(R-S).

Операция пересечения определяет отношение, которое содержит кортежи, присутствующие как в отношении R, так и в отношении S. Отношения R и S должны быть совместимы по объединению. Пересечение может быть сформулировано и на операции разности множеств.

Таблица 3.3.13

Таблица 3.3.14

Студенты “5”

Студенты “4”

КодСт

ФамСт

КодСт

ФамСт

С001

Сидоров

С001

Сидоров

С002

Петров

С003

Иванов

С003

Иванов

C004

Яковлев

C005

Лесков

Таблица 3.3.15

Студенты “5” Студенты “4”

КодСт

ФамСт

С003

Иванов

С001

Сидоров

  1. Соединение отношений (Join).

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

  • – соединение (тета-соединение);

  • соединение по эквивалентности (equi-jоin);

  • естественное соединения (natural join);

  • внешнее соединение;

  • полусоединение (outer join).

  • Деление (Division) R÷S. Т1 = Пс(R), Т2 = Пс((SxT1)-R); T=T1- T2

    Результатом операции деления является набор кортежей отношения R, определенных на множестве атрибутов С, которые соответствует комбинации всех кортежей отношения S.

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

    Операция «тета»-соединения (). Определенное отношение в котором содержится кортеж из декартового произведения отношения R и S, удовлетворяющее предикату.

    Предикат F имеет вид R ai  S bi, где вместо  может быть указан один из операторов сравнения <, >, , , =, . ai и bi – это атрибуты отношений R и S соответственно. Отношения -соединения можно переписать на основе базовых операций выборки и декартового соединения.

    Соединение по эквивалентности

    Если предикат F содержит только операторы равенства, то соединение называется соединением по эквивалентности.