Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Реляционная модель данных. Определение. Табличное представление данных называется реляционным, если выполнены следующие требования:

Читайте также:
  1. Cохранение данных в двоичных файлах.
  2. CТРУКТУРЫ ДАННЫХ И АЛГОРИТМЫ
  3. I)Однофакторный дисперсионный анализ (выполняется с применением программы «Однофакторный дисперсионный анализ» надстройки «Анализ данных» пакета Microsoft Excel).
  4. I. Биологическая модель
  5. II. 10. МОДЕЛЬ РАЗВИТИЯ НА УКИ
  6. MEDLINE - это база данных, которая содержит...
  7. Алфавит, базовые типы и описание данных.
  8. Американская модель менеджмента
  9. Американська модель
  10. АНАЛИЗ ДАННЫХ

Определение. Табличное представление данных называется реляционным, если выполнены следующие требования:

1. Запись (строка) таблицы с одинаковым содержанием не может быть представлена более одного раза (отсутствие дублирующих кортежей).

2. Элементы каждого столбца таблицы являются однородными, то есть их значения отражают одну и ту же характеристику для класса объектов.

3. Каждый столбец таблицы имеет уникальное имя во всей совокупности таблицы. Имена столбцов (элементов данных) в различных таблицах должны совпадать, если это одна и та же характеристика.

4. Каждая таблица в описании данных должна иметь уникальное имя.

5. Каждый элемент таблицы должен быть элементом данных.

6. Связи между таблицами на схеме БД устанавливается по одноименным атрибутам данных.

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

 

Операции реляционной алгебры

 

Теоретической основой языков запросов к реляционным БД является реляционная алгебра. Операндами в реляционной алгебре являются отношения Ri и их реализации – таблицы ri, ki – арность отношения Ri (количество столбцов); ni – количество строк в Ri.

Базисный набор операций:

1. Объединение: R=R1 È R2. Результат операции R содержит кортежи из R1 и R2. Ограничения на операнды: а) k1=k2; б) схемы R1 и R2 также должны совпадать; в) дублирующие кортежи в результат включаются только один раз. Пример:

 

R1 = A B C   R2 = A B C   R = A B C
    a1 b1 c1       a2 b1 c2       a1 b1 c1
    a2 b1 c2       a3 b2 c2       a2 b1 c2
    a3 b2 c1                   a3 b2 c1
                            a3 b2 c2

 

SQL: R1 UNION R2;

2. Разность: R=R1 \ R2. Результат операции R включает в себя кортежи из R1, которых нет в R2. Ограничения на операнды: а) k1=k2; б) схемы R1 и R2 также должны совпадать. Пример:

 

R = A B C
    a1 b1 c1
    a3 b2 c1

 

SQL: к сожалению в стандарте SQL нет соответствующего оператора, например, как в ORACLE: R1 MINUS R2;, поэтому можно воспользоваться другими конструкциями, например: DELETE * FROM R1 WHERE ID IN (SELECT ID FROM R2);, где ID – одиночное значение некоторого выражения, например первичного ключа в R1 и R2.

3. Декартово произведение. R=R1 ´ R2. Результат операции R: каждый кортеж из R1 дополняется кортежем из R2; арность результата – k = k1+k2; n = n1*n2. Результат декартова произведения не может содержать дублирующие кортежи.

Пример: пусть

 

R2 = B C D
    b1 c1 d1
    b2 c2 d1

 

тогда

 

R = A R1.B R1.C R2.B R2.C D
    a1 b1 c1 b1 c1 d1
    a2 b1 c2 b2 c2 d1
    a3 b2 c1 b1 c1 d1
    a1 b1 c1 b2 c2 d1
    a2 b1 c2 b1 c1 d1
    a3 b2 c1 b2 c2 d1

 

SQL: SELECT * FROM R1, R2;

4. Селекция: R = sF(Ri), где F - логическая формула над атрибутами из Ri. Результатом операции является таблица R, содержащая те же столбцы, что и Ri и строки из Ri, подстановка которых в F дает значение "истина". Пример: R = sC=c1 (R1):

 

R = A B C
    a1 b1 c1
    a3 b2 c1

 

SQL: S ELECT * FROM R1 WHERE F;

5. Проекция: R = pX(Ri), где X - подмножество атрибутов их схемы Ri. Результат операции - таблица со схемой (заголовком) X; строки таблицы формируются из таблицы Ri, но только для атрибутов из X (вырезка по столбцам); дублирующие кортежи из результата удаляются. Пример: R = pBC(R1)

 

R1 = B C
    b1 c1
    b1 c2
    b2 c1

 

SQL: S ELECT DISTINCTROW B,C FROM R1;

 

Дополнительные операции реляционной алгебры:

1. Пересечение: R=R1 Ç R2. Выражение через базисный набор: R=R1 \ (R1 \ R2).

2. Соединение: R=R1 F R2, где F - логическое выражение над атрибутами из R1 и R2. Выражение через базисный набор: R=sF(R1 ´ R2)

3. Эквисоединение. Частный случай соединения, когда F≡R1.Ai=R2.Aj.

4. Естественное соединение: R=R1 ►◄ R2. Каждый кортеж из R1 сопоставляется с каждым кортежем из R2. Два кортежа соединяются, если все одноименные атрибуты в них имеют одинаковое значение, результат соединения помещаются в R. Столбцы для одноименных атрибутов не дублируются, так как значение в этих столбцах совпадают. Пример:

 

R1 = A B C   R2 = B C D
    a1 b1 c1       b1 c1 d1
    a2 b1 c2       b2 c2 d1
    a3 b2 c2            

 

Результат:

 

R = A B C D
    a1 b1 c1 d1
    a3 b2 c2 d1

 

Выражение через базисный набор: R=pX(sF(R1 ´ R2)), где F=Ùi=1,…,k(R1.Ai=R2.Ai) – конъюнкция по всем одноименным атрибутам, X= R1 È R2 – объединение атрибутов из R1 и R2.

 




Дата добавления: 2014-12-20; просмотров: 19 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.009 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав