
- •Тема 1 Понятие экономической информации и классификация экономических информационных систем Введение
- •1.1. Понятие экономической информации. Требования, предъявляемые к экономической информации
- •1.2. Классификация экономических информационных систем и принципы их проектирования
- •Тема 2 Введение в теорию баз данных
- •2.1. Определение базы данных. Особенности организации данных в базе данных
- •Тема 3 Структурные элементы информационной системы с базой данных
- •3.1. Компоненты информационной системы с бд
- •3.2. Трехуровневая архитектура субд
- •Тема 4 Виды моделей данных
- •4.1. Иерархическая модель данных
- •4.2. Сетевая модель данных
- •4.3. Реляционная модель данных
- •4.4. Многомерная модель данных
- •4.5. Объектно-ориентированная модель данных
- •Тема 5 Реляционный подход при построении информационно-логической модели: основные понятия
- •5.1. Реляционная модель данных. Основные понятия
- •5.2. Реляционная целостность данных
- •5.3. Индексирование
- •Тема 6 основны реляционной алгебры
- •6.1. Основные определения, относящиеся к реляционной алгебре
- •6.2. Традиционные операции над множествами (теоретико-множественные операторы)
- •Лекция 7 Нормализация отношений в реляционной модели
- •7.1. Понятие нормализация отношений. Цель нормализации. Типичные ограничения для реляционной модели данных. **
- •7.2. Вторая и третья нормальные формы
- •Вторая нормальная форма (2nf)
- •Третья нормальная форма (3nf)
- •Тема 7 субд. Основные свойства и функциональные возможности
- •7.1. Основные требования к обработке данных средствами субд
- •7.2. Языковые средства субд: яод и ямд
- •7.3. Основные понятия о сетевых, распределенных и объектных бд. Классификация субд
- •1. По типу поддерживаемой в субд модели данных: реляционная или объектно–ориентированная.
- •2. По типу использования ресурсов: локальные и сетевые.
- •3. По типу использования распределенных ресурсов: гомогенная, гетерогенная, мультибазовая.
- •4. По виду специализации: специализированные субд и субд общего назначения.
- •5. По типу платформы.
- •Рекомендуемая литература
- •Осень 2007 г.
Тема 6 основны реляционной алгебры
Обработку данных реляционной модели можно реализовать двумя различными, но эквивалентными способами: реляционной алгеброй и реляционным исчислением. В данном разделе рассмотрены начала реляционной алгебры [20, С. 55-64].
6.1. Основные определения, относящиеся к реляционной алгебре
Реляционная алгебра представляет собой основу доступа к реляционным данным. Главная цель алгебры — обеспечить запись выражений, которые могут использоваться для следующих целей:
- определение данных для их выбора из базы как результат операции выборки;
- определение данных для модификации (вставки, изменения или удаления) как результат операции обновления;
- определение данных для их визуализации через представления;
- определение данных для сохранения в виде «мгновенного снимка» отношения;
а
- определение данных, которые входят в область для некоторых операций управления одновременным доступом (определение требований устойчивости);
- определение правил целостности, т. е. некоторых особых правил, которым должна удовлетворять база данных, наряду с общими правилами, представляющими часть реляционной модели и применяемыми к каждой базе данных.
В современных СУБД, использующих реляционную модель, непосредственно ни реляционная алгебра, ни реляционное исчисление не используются.
Фактическим стандартом доступа к реляционным данным является язык SQL (Structured Query Language, структурированный язык запросов).
Реляционная алгебра, определенная Коддом, состоит из 8 операторов, разделенных на две группы:
- традиционные операции над множествами (объединение, пересечение, вычитание, декартово произведение);
- специальные реляционные операции (выборка, проекция, соединение, деление).
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, а также операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
Замкнутость реляционной алгебры
Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов и возвращающих отношения в качестве результата. Таким образом, реляционный оператор f выглядит как функция с отношениями в качестве аргументов:
R = f (R1, R2, …, Rn).
В качестве аргументов в реляционные операторы можно подставлять другие реляционные операторы, подходящие по типу:
R = f (f1,(R11, R12, …,R1n), f2,(R21, R22, …,R2m)…)
В силу этого реляционная алгебра является замкнутой. Таким образом, в реляционных выражениях можно использовать вложенные выражения сколь угодно сложной структуры.
В пределах БД каждое отношение обязано иметь уникальное имя. Имя отношения, полученного в результате выполнения реляционной операции, определяется в левой части равенства. Однако можно не требовать наличия имен у отношений, полученных в результате реляционных выражений, если эти отношения подставляются в качестве аргументов в другие реляционные выражения. Такие отношения называются неименованными. Неименованные отношения реально не существуют в базе данных, а лишь представляются в момент вычисления значения реляционного оператора. Не все они являются независимыми, т. е. некоторые из этих операторов могут быть выражены через другие реляционные операторы.
Отношения, совместимые по типу
Некоторые реляционные операторы (например, объединение) требуют, чтобы отношения имели одинаковые заголовки. Как было показано в предыдущей лекции, отношение состоит из заголовка и тела. Операция объединения двух отношений есть объединение двух множеств кортежей, взятых из тел соответствующих отношений. Однако будет ли результат считаться отношением? Во-первых, если исходные отношения имеют разное количество атрибутов, то, очевидно, что множество, являющееся объединением таких разнотипных кортежей, нельзя представить в виде отношения. Во-вторых, пусть даже отношения имеют одинаковое количество атрибутов, но атрибуты имеют личные наименования. Тогда возникает вопрос, как тогда определить заголовок отношения, полученного в результате объединения множеств кортежей? В-третьих, пусть отношения имеют одинаковое количество атрибутов, атрибуты имеют одинаковые наименования, но определены на различных доменах. Тогда опять же объединение кортежей не будет образовывать отношение.
Определение. Отношения называются совместимыми по типу, если они имеют идентичные заголовки, а именно:
1) отношения имеют одно и то же множество имен атрибутов, т. е. для любого атрибута в одном отношении найдется атрибут с таким же наименованием в другом отношении;
2) атрибуты с одинаковыми именами определены на одних и тех же доменах.
Некоторые отношения не являются совместимыми по типу, но становятся таковыми после некоторого переименования атрибутов. Для того чтобы такие отношения можно было использовать в реляционных операторах, вводится вспомогательный оператор переименования атрибутов.
Оператор переименования атрибутов имеет следующий синтаксис:
R rename A1, A2, …, An as new A1, A2, …, An;
где R — отношение, A1, A2, …, An — исходные имена атрибутов, new A1, A2, …, An. — новые имена атрибутов. В результате применения оператора переименования атрибутов получаем новое отношение с измененными именами атрибутов.
Пример. Оператор rename возвращает неименованное отношение, в котором атрибут Student переименован в Head (Староста):
R rename Student as Head;