русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-24; просмотров: 1457; Нарушение авторских прав


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

 

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

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) трудности организации рекурсивных запросов и т.д.

 

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

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

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

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

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

Таблица 3.3.1
Сотрудники  
КодСотр ФамСотр ДатаРожд
Иванов 05/08/74
Петров 19/06/69
Сидоров 20/01/79

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

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

Таблица 3.3.2
Сотрудники  
КодСотр КодСотр КодСотр

 

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

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

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

Таблица 3.3.3
Сотрудники  
КодСотр ФамСотр
Иванов
Петров
Сидоров

 

Таблица 3.3.4
Путевки  
КодКл ФамКл Стр
Иванов Франция
Петров Италия
Сидоров Испания
Сидоров Германия
Петров Испания

 

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

Таблица 3.3.5
 
КодКл ФамКл
Иванов
Петров
Сидоров

 

3) Объединение отношений (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 Лосев

 

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

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

Таблица 3.3.9
(Преподаватели)×(Студенты)  
КодПреп ФамПреп КодСт ФамСт
П001 Бондарев С001 Сидоров
П001 Бондарев С002 Петров
П001 Бондарев С003 Иванов
П002 Лосев С001 Сидоров
П002 Лосев С002 Петров
П002 Лосев С003 Иванов

 

5) Разность отношений (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 являются основными.

6) Пересечение отношений (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 Сидоров

 

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

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

Ø Q– соединение (тета-соединение);

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

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

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

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

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

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

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

Выборка
R
sпредикат(R)
Проекция
R
Патр.1, ….атр. n(R)

 
 
-
=
 
Разность
R
S
R-S

 
 
È
=
 
Объединение
R
S
RÈS

 

 

a b  
 
x
=
a a a b b b  
Произведение
R
S
RxS
 
 
 
-
=
 
Разность
R
S
R-S

 


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

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

 

 

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

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



<== предыдущая лекция | следующая лекция ==>
Отношения реляционных баз данных и свойства | Естественное соединение


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.538 сек.