Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Реляционная модель баз данных

Реляционная база данных, разработанная Э.Ф. Коддом (Е. F. Codd) в 1970 г., – это конечный набор конечных отношений (таблиц) вида рис. 10.3,б. Над отношениями можно осуществлять различные алгебраические операции. Тем самым теория реляционных баз данных становится областью приложения математической логики и современной алгебры и опирается на точный математический формализм.

Каждое отношение имеет свое имя; столбцы отношения соответствуют тому или иному атрибуту, имеющему имя и значения. Элементы отношения, соответствующие одной строке, составляют кортеж отношения (рис. 10.3, б). Арность кортежа – число значений атрибутов в кортеже, т.е. число атрибутов в отношении [ 7, 13, 31 ].

Схема отношения – список имен атрибутов вместе с именем отношения; так, для рис. 10.3,а схема отношения – ТРАНЗИСТОРЫ (p, Iк max, Pк, Cк), для рис. 10.3, б – ИМЯ ОТНОШЕНИЯ (A, B, С, D).

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

Существует три подхода к анализу реляционных БД и формированию запросов в них: реляционная алгебра, реляционное исчисление на переменных-кортежах и реляционное исчисление на переменных-доменах.

В реляционных базах данных основные операции – включение, удаление, модификация и запрос данных – применяются к кортежам и доменам.

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

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

При модификации данных задаются отношение, значения атрибутов ключа и новые значения для применяемых атрибутов. Преобразуются ключевые значения в значения полей. К файлу применяется процедура модификации.

Запрос в реляционных базах данных может быть сформулирован к одному или нескольким отношениям (таблицам). Например имеется запрос: указать типы всех транзисторов и их Pк, для которых Ск > 15 пФ. Тогда значение атрибута Ск = 15 пФ. Затем на печать выдается новый файл-отношение "Тип транзистора, Рк, β". Могут быть более сложные запросы: например, определить мощности рассеивания транзисторов, для которых β 40, Iк max > 2а, Ск < 150 пФ и т. д. Тогда эти значения составляют ключ, и по ним составляется новое отношение Рк.

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

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

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

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

Декартово произведение отношений R x S – одна из основных операций по затратам машинного времени при формировании запросов к реляционной БД. При умножении отношений к каждому кортежу первого отношения (R) присоединяется каждый кортеж второго отношения (S) – конкатенация кортежей; при этом отношения R и S могут иметь одинаковую или различную арность. При декартовом умножении арности исходных отношений складываются, а количества кортежей – перемножаются.

Проекция отношения R[X,Y (R)] – операции выборки по столбцам (атрибутам), приведенным в обозначении проекции.

Например, C,A (R) — отношение, составленное из атрибутов С и А отношения R; 2,3 (R) — отношение, составленное из 2-го и 3-го атрибутов отношения R, при этом арность проекции равна числу имен в ее обозначении.

Селекция отношения R [σF (R)] — операция выборки по строкам (кортежам), удовлетворяющим формуле F. В формулу входят операнды, являющиеся константами или номерами (именами) атрибутов, арифметические операторы сравнения: <, =, >, , , и логические операторы (И), (ИЛИ), (НЕ).

Например, σB="f"(R) обозначает множество кортежей, в которых компоненты атрибута В равны f, или σ2>3D=A(R) обозначает множество кортежей, в которых компоненты 2-го атрибута больше компонентов 3-го атрибута и одновременно равны компоненты атрибутов А и D).

Пересечение отношений RS есть краткая запись для отношения R – (R – S) и обозначает множество кортежей, принадлежащих одновременно R и S.

Частное отношений — множество кортежей, содержащих r – s первых компонентов кортежей отношения R, в которых остальные (s) компонентов принадлежат отношению S.

Соединение (θ-соединение) отношений — это селекция (с формулой θ) декартова произведения отношений R и S:

В частности, означает, что сначала надо выполнить декартово произведение отношений R и S, а затем в новом отношении выполнить селекцию по формуле А < D.

Эквисоединение отношений — это θ-соединение, если в формуле θ используются только равенства (см. таблицу 11.1, строку 9).

Естественное соединение — это эквисоединение, которое выполняется для атрибутов отношений R и S с одинаковыми именами (см таблицу 11.1, строку 10). Так как для указанных атрибутов имена и значения полностью совпадают, то один из них в каждой паре в результирующем отношении устраняют. Естественное соединение — одна из основных операций при формировании запросов к реляционной БД.

Композиция отношений — это проекция θ-соединения или проекции селекции декартова произведения. По сути, естественное соединение — тоже частный случай композиции. Декомпозиция отношений — это операция, обратная композиции, т. е. восстановление двух отношений из одного, естественное соединение которых образует исходное отношение.

Таблица 11.1. Операции реляционной алгебры
Операции Исходные отношения Результат операции
  Объединение    
  Разность См. п. 1  
  Декартово произведение    
  Проекция    
  Селекция    
  Пересечение    
  Частное    
  Соединение (θ-соединение)    
  Эквисоединение См п. 8  
  Естественное соединение    
  Композиция См п. 8  
  Декомпозиция Операция, обратная композиции  

В терминах реляционной алгебры легко записываются запросы к реляционной базе данных. Если задано несколько отношений, то запрос выражается в виде операции композиции к этим отношениям. Однако формальное применение композиции — последовательное применение декартова произведения всех отношений, селекции и проекции — приводит к неоправданным затратам машинного времени. Поскольку арность и число кортежей в исходных отношениях могут быть велики (десятки, сотни), нецелесообразно формировать сначала все декартово произведение, а только затем применять селекцию и проекцию. Так, если два отношения имеют по n кортежей и время доступа к каждой записи — t0, то общее время доступа к памяти для формирования полного декартова произведения Tдоступа = n2t0. Если n = 104, t0 = 10 мс, то Tдоступа = 106 11,5 сут. Поэтому с

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

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

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

Таблица 11.2. Эквивалентные выражения реляционной алгебры
Название Результат операции
  Закон коммутативности для соединений и декартовых произведений
  Закон ассоциативности для соединений и произведений
  Каскад проекций
  Каскад селекций
  Перестановка селекции и проекции
  Перестановка селекции с произведением
  Перестановка проекции с произведением
<== предыдущая лекция | следующая лекция ==>
 | 
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 234; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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