Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_keys.doc
Скачиваний:
16
Добавлен:
22.09.2019
Размер:
628.74 Кб
Скачать

14. Достоинства и недостатки рмд

Широкое распространение РМД объясняется в первую очередь простотой представления и формирования БД, универсальностью и удобством обработки данных, которая осуществляется с помощью декларативного языка запросов SQL (Structured Query Language).

Существуют два стандарта SQL, определённые американским национальным институтом стандартов (ANSI): SQL-89 (SQL1) и SQL-92 (SQL2). В настоящее время в стадии разработки находится новый стандарт – SQL3. Большинство коммерческих систем управления базами данных (СУБД) поддерживают стандарт SQL2, который принят ISO (International Standards Organization) в качестве международного стандарта. (Подробнее об SQL рассказано в [10]).

Моделирование ПО в рамках РМД создаёт некоторые сложности, т.к. в РМД нет специальных средств для отображения различных типов связей. Отсутствие множественных связей, например, "многие ко многим", вызывает увеличение объёма хранимой (дублируемой) информации. Отсутствие возможности указания типов связей (например, "работает" или "имеет"), приводит к тому, что семантика связей в принципе не может быть отражена в РМД и зависит от того, как связь интерпретируется приложениями.

Отсутствие специальных механизмов навигации (как в ИМД или СМД), с одной стороны, ведёт у упрощению модели, а с другой – к многократному увеличению времени на извлечение данных, т.к. во многих случаях требуется просмотреть всё отношение для поиска нужных данных.

В РМД нет понятий режим включения и класс членства, поэтому набор средств описания ограничений целостности очень мал. (Подробнее об этом рассказано в разделе 8.1."Обеспечение целостности данных").

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

15. Операции реляционной алгебры. Язык манипулирования данными для реляционной модели

Операндами для операций реляционной алгебры являются реляционные отношения. Результатом выполнения операций реляционной алгебры также является отношение. Использование реляционной алгебры накладывает на отношения два ограничения: порядок столбцов (полей) в отношении фиксирован; отношения конечны.

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

1. Проекция (projection, обозначается "π") – это унарная операция (выполняемая над одним отношением), служащая для выбора подмножества атрибутов из отношения R. Она уменьшает арность отношения и может уменьшить его мощность, исключая одинаковые кортежи.

2. Селекция (selection, обозначается "σ") – это унарная операция, результатом которой является подмножество кортежей исходного отношения, удовлетворяющих условиям, которые накладываются на значения определённых атрибутов.

3. Декартово произведение (cartesian product, обозначается "×") соответствует определению декартова произведения для РМД.

4. Объединение (union, обозначается " U") – это бинарная операция над односхемными отношениями R и S, результатом которой является отношение, включающее все кортежи обоих отношений без повторов.

5. Разность (set difference, обозначается "–") – это бинарная операция над односхемными отношениями (R–S), результатом которой является множество кортежей отношения R, не принадлежащих отношению S.

6. Пересечение (intersection, обозначается "∩") – это бинарная операция над односхемными отношениями R и S, результатом которой является подмножество кортежей, принадлежащих обоим исходным отношениям.

7. Соединение (join, обозначается " ") – это бинарная операция над разносхемными отношениями R и S. Кортежи результирующего отношения содержат все атрибуты обоих отношений (возможно, за исключением повторов). В общем случае соединение происходит по условию, которое определяет соотношение между значениями атрибутов из разных отношений. Если этим условием является равенство значений атрибутов, такое соединение называется эквисоединением. Естественным называется эквисоединение, построенное по условию равенства значений одинаковых атрибутов кортежей исходных отношений.

Фактически, соединение является подмножеством декартова произведения, для которого выполняется некоторое условие.

8. Деление (division, обозначается "/") – это бинарная операция над разносхемными отношениями R и S. Пусть отношение R содержит атрибуты {r1,r2,...,ri,...,rn}, а отношение S – атрибуты {r1,r2,...,ri}. Результирующее отношение содержит атрибуты {ri+1,...,rn}. Кортеж включается в результирующее отношение, если его декартово произведение с отношением S входит в R.

Преобразования операций реляционной алгебры

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

  1. Закон коммутативности для декартовых произведений:

    • R1 ґ R2 = R2 ґ R1

  2. Закон коммутативности для соединений (F – условие соединения):

    • R1 ><F R2 = R2 ><F R1

  3. Закон ассоциативности для декартовых произведений:

    • (R1ґ R2 ) ґ R3 = R1 ґ (R2 ґ R3)

  4. Закон ассоциативности для соединений (F1,F2 – условия):

    • (R1 ><F R2 ) >< F R3 = R1 ><F (R2 >< F R3)

  5. Комбинация селекций (каскад селекций):

    • sF1 (sF2 (R)) = s F1/\F2(R)

  6. Комбинация проекций (каскад проекций):

    • p A1,A2,...,Am (p B1,B2,...,Bn(R)) = p A1,A2,...,Am (R)

  7. где {Am} М {Bn}.

  8. Перестановка селекции и проекции:

    • sF (p A1,A2,...,Am (R)) = p A1,A2,...,Am (sF (R))

  9. Перестановка селекции с объединением:

    • sF (R1 U R2)=sF (R1) U sF (R2)

  10. Перестановка селекции с разностью:

    • sF (R1 - R2)=sF (R1) - sF (R2)

  11. Перестановка проекции с декартовым произведением:

    • p A1,A2,...,Am ( R1 ґ R2 ) = p C1,C2,...,Cn(R1) ґ p B1,B2,...,Bk(R2)

  12. где {Cn} М {Am}, {Bk} М {Am} и атрибуты Cn представлены в отношении R1, а атрибуты Bk - в отношении R2.

  13. Перестановка проекции с объединением:

    • p A1,A2,...,Am ( R1 U R2 ) = p A1,A2,...,Am (R1) U pA1,A2,...,Am (R2)

  14. Перестановка селекции с декартовым произведением:

    • sF (R1 ґ R2) = sF (R1) ґ R2

    • если F содержит атрибуты, присутствующие только в R1;

    • sF (R1 ґ R2) = R1 ґ sF (R2)

    • если F содержит атрибуты, присутствующие только в R2;

    • sF (R1 ґ R2) = sF1(R1) ґ sF2 (R2)

    • если F=F1/\F2, и F1 содержит атрибуты, присутствующие только в R1, а F2 содержит атрибуты, присутствующие только в R2;

    • sF ( R1 ґ R2 ) = sF2 ( sF1( R1) ґ R2 )

  • если F=F1/\F2, и F1 содержит атрибуты, присутствующие только в R1, а F2 содержит атрибуты, присутствующие и в R1, и в R2.

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