78222

Модели данных. Общие сведения о моделях данных

Лекция

Информатика, кибернетика и программирование

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

Русский

2015-02-07

320 KB

1 чел.

PAGE   \* MERGEFORMAT 14

Тема 4.

Модели  данных

4.1. Общие сведения о моделях данных.

Хранимые в базе данные имеют определенную логическую структуру, т.е. описываются некоторой моделью представления данных, поддерживаемых СУБД.

К числу классических относятся следующие модели данных:

1. иерархическая или древовидная

2. сетевая

3. реляционная.

В последние годы появились и стали внедряться на практике следующие модели данных:

1. постреляционная

2. многомерная

3. объектно-ориентированная.

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

Объектно-ориентированные;

Дедуктивно-объектно-ориентированные;

Семантические модели.

Сделаем обзор по классическим моделям и наиболее продвинутым новым направлениям.

4.2. Древовидные структуры.

Дерево представляет собой иерархию элементов, называемых узлами.

 На самом верхнем уровне иерархии имеется только один узел – корень. Каждый узел, кроме корня (т.е. нет связи вверх), связан с одним узлом на более высоком уровне, называемым исходным узлом для данного узла. Ни один элемент не имеет более одного исходного.

Каждый элемент может быть связан с одним или несколькими элементами на более низком уровне. Они называются порожденными.

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

Сбалансированные, несбалансированные и двоичные деревья.

В сбалансированном дереве каждый узел имеет одинаковое число ветвей.

 Несбалансированное дерево.

 Имеется особая категория древовидных структур, в которой допускается не более 2х ветвей для одного узла. Такая структура называется2м деревом. Оно может быть сбалансированным и несбалансированным.

4.3. Сетевые модели.

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

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

 Примеры сетевых структур:

Приведение сетевых структур к более простому виду.

Любая сетевая структура может быть приведена к более простому виду путем удаления избыточности.

Например, сетевые структуры можно представить в виде древовидных.

 Сетевая модель имеет ряд достоинств. К ним относится возможность эффективной реализации по показателям быстродействия и затрат памяти.

К недостаткам можно отнести:

  •  жесткость БД и высокая сложность реализации.
  •  Сложность организации запросов.

Сетевые модели не получили широкого распространения на практике.

Постреляционная модель.

Эта модель представляет собой расширенную реляционную модель.

Она снимает ограничения неделимости данных:

  •  допускает многозначные поля.

4.4. Реляционные модели данных.

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

Если у нас есть одна большая таблица, то одному пользователю нужны одни столбцы, другому другие.

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

В этом суть реляционной модели данных, которую предложил американский ученый E.F.Codd в 1970 году.

Реляционная модель данных базируется на понятии «отношение» - «relation».

Примером отношения является двухмерная таблица. С такой таблицей мы уже работали.

Запишем новый пример.

Табл.3.  Рейсы.

Номер

Пункт отправления

Пункт назначения

Время вылета

Время прибытия

83

Нью-Йорк

Чикаго

11.30

13.43

84

Чикаго

Нью-Йорк

15.00

17.55

109

Нью-Йорк

Лос Анджелес

21.50

2.52

213

Нью-Йорк

Бостон

11.43

12.45

214

Бостон

Нью-Йорк

14.20

15.12

         Каждому имени атрибута ставится в соответствие множество конкретных значений. Это множество носит название домен данного имени атрибута.

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

Строки отношения называются кортежами.

Строки отношения Рейсы это 5-арные кортежи.

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

             Для отношения РЕЙСЫ атрибут НОМЕР является ключом.

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

Обозначим отношение через – R.

 Типом записи или схемой отношения назовем конечное множество имен атрибутов {А1, А2,… Аn}, или R(А1, А2,… Аn).

Теперь рассмотрим понятие – реляционная база данных.

 Реляционная база данных – это совокупность отношений.

 Схема реляционной базы – это совокупность схем отношений или типов записей.

 Например:

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

 R111, А12,…,  А1m1),

ЛК1 (ФАМ, ИМ, ОТ,…, ДОМ_АДР)

R221, А22,… , А2m2),

ЛК2 (ГРУППА_УЧЕТА, КАТЕГОРИЯ_УЧЕТА, …, ВУС)

Раздел личной карточки  - сведения о воинском учете.

Раздел личной карточки – отпуска.

 R441, А42,… , А4m4),

ЛК4 (ВИД_ОТПУСКА, ЗА_КАКОЙ_ПЕРИОД,…).

или в общем виде:

 R111, А12,…,  А1m1),

 R221, А22,… , А2m2),

………………………

 R441, А42,… , А4m4),

4.5. Реляционная алгебра.

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

Все операции над отношениями строятся с использованием операций реляционной алгебры.

 Некоторые определения:

 Степень отношения – число атрибутов, входящих в отношение.

 Мощность отношения – число кортежей отношения.

В реляционной алгебре рассматривают 5 основных операций:

  1.  Проекция.
  2.  Объединений.
  3.  Разность.
  4.  Декартово произведение.
  5.  Селекция.

Часто используются операции:

  1.  Пересечения.
  2.  Соединения.
  3.  Деления

Они выражаются через 5 основных операций.

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

 P (P1, P2, P3)                                                        Q (Q4, Q5)

   

 

R (M, P, Q, T)                                                                   S (A, B)   

  1.  Проекция.
  2.  

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

 Пример:

R [M,T] → проекция отношения R  с атрибутами M, T.

 

 

                     R [M,T]  =                           =

2. Объединение.

 R U S

    R         S        

Операция применяется только  к отношениям одной и той же арности (степени).

 

                      R [Q,T] U S   =                 U                  =

3. Разность.

Применяется только к отношениям одинаковой арности.

Диаграмма Венна имеет вид:

       R              S

 Общие элементы не входят в разность.

 c

                           R [Q,T] – S   =                -                    =     

4. Декартово произведение.

 R×S 

 Степень (арность) (R×S) = Степень (R)   + Степень (S)

Мощность (R×S)  = Мощность (R)  * Мощность (S)

Результирующее отношение может иметь очень большие размеры.

 Пусть RA = R [M,T]  

RA =                                                RB =  

RA × RB  =                  ×                 =  

 Степень результирующего отношения равна 4, мощность 8.

5. Селекция (выборка).

R =  σF (R1)

Операция селекции работает с одним отношением R1 и определяет результирующее отношение R.

 P – это формула образованная:

  1.  Атрибутами отношения R1;
  2.  Логическими операторами и, или , не;
  3.  Операторами сравнения :{<, >, =, , , }

 

 Примеры:

1. R =  σD1>D2 (P) = Ø – пустое множество.

 2. R =  σD2=11 (P) =

Дополнительные операции.

1. Пересечение.

 R∩S

R∩S = R – (R-S)

R [Q, T] ∩S =                      ∩                    =       

 

2. Соединение.

Различают следующие типы операций соединения:

  1.  Тета-соединения,
  2.  Естественные соединения;
  3.  Композиция;
  4.  Внешние соединения;
    1.  Левое внешнее;
    2.  Правое внешнее;
    3.  Полное внешнее.

Общая формула:

R [AθB] S,  где

 R и S – отношения,

А – атрибут отношения R,

В – атрибут отношения S,

 θ – оператор сравнения, один из элементов множества {<, >, ≥, ≤, } 

2.1. Тета-соединение.

 Пример:

 R [Q>A] S

 При выполнении соединения, необходимо для каждого кортежа отношения R взять значение атрибута Q  и сравнить его со значением атрибута A из каждого кортежа отношения S.

В результате получим:

 Степень результирующего отношения равна сумме степеней отношений операндов.

2.2. Естественное соединение (эквисоединение).

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

 Пример:

 P [D3 = D4] Q

 Здесь D3 – домен отношения Р,

 D4 – домен отношения Q.

                                                    =  

2.3. Композиция.

Это соединение отличается от естественного тем, что из результирующего отношения удаляются оба атрибута соединения.

  

                                        =

.

2.4. Внешние соединения.

Обратимся к общей формуле для соединения отношений R[A Ѳ B]S, где

R и S- отношения;

A – Атрибут отношения A;

B – Атрибут отношения B;

Ѳ - оператор сравнения;

Кортеж отношения R находит соответствие кортежу отношения S, через атрибуты A, B  и оператор Ѳ.

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

Три типа внешнего соединения рассмотрим на примере двух таблиц: Таблица 1 – Persons и Таблица 2 -  Cards 

Почтовые карточки - Cards ID получают различные люди - Person ID по различным поводам.

Особенности таблиц:

1.Запись 4 в таблице1 – этот человек никогда не посылал почтовые карточки и он не зарегистрирован в таблице 2.

2.Запись 4 в таблице 2 – Получена карточка, от лица не зарегистрированного в таблице 1.

Левое внесение соединения.

(Left Outer Join)

В этом случае в результирующем отношении содержаться все кортежи левого отношения, а несовпадающие значения отношения Cards специально заполняться с использование определителя  “NULL” .

Определитель “NULL” следует воспринимать как логическую величину “НЕИЗВЕСТНО” .Ключевое слово “NULL” призвано обозначать отсутствие какого либо значения. Его не нужно понимать как нулевое численное значение или заполненную пробелами строку. Ключевое слово “NULL” представляет собой способ обработки неполных или необычных данных.

Итак, имеем итоговую таблицу:

Правое внесение соединения.

(Right Outer Join)

В этом случае результирующем отношении содержатся все кортежи правого отношения Cards. Несовпадающие значения с использованием определителя “NULL” т.е. нулевые значения или пробелы.

Итоговая таблица:

Полное внесение соединения.

(Full Outer Join)

В этом случае в результирующее отношение включаются все кортежи из обоих отношений. Для обозначения несовпадающих значений кортежей используют определитель  “NULL”.

Итоговая таблица:

3. Деление

Эту операцию рассмотрим на примере 2-х отношений.

                   R1 (A, B, C, D)              S1 (C, D)

 Кортеж № 1     a   b   c   d                     c   d

    Кортеж № 2     a   b   e    f                     e   f

 Кортеж № 3     b   c   e    f       

 Кортеж № 4     e   d   c    d

 Кортеж № 5     e   d    e    f    

 Кортеж №  6    a    b   d    e         

 

 Пусть R1 и S1 являются отношениями арности r и s соответственно, где r>s и  SØ.

Тогда R1 ÷ S1 есть множество кортежей t длины (r-s), таких, что для всех кортежей U длины s, принадлежащих отношению S1 кортеж t принадлежит отношению R1.

Последовательность нахождения частного R1 ÷ S1:

  1.  Обозначим t1 – первый кортеж частного R1 ÷ S1.
  2.  Найдем в отношении  R1 кортежи t1cd и t1ef.
  3.  Кортежи №1 и №2  отношения R1 удовлетворяют условию. То есть t1=ab.
  4.  Ведем просмотр кортежей отношения R1 дальше. Ищем и t2cd и t2ef.
  5.  Кортежи №4 и №5 отношения R1  удовлетворяют условию. То есть t2=ed.
  6.  Просмотр отношения R1 окончен.

  1.  Значение R1 ÷ S1 =

4.6. Примеры использования операций реляционной алгебры.

 Пример 1.

Даны 2 отношения.

 R – список арендаторов.

 S -  список объектов аренды.

R – арендаторы

Ф.И.О.

Мобильный телефон

Ф1

Т1

Ф2

Т2

S – объекты аренды

Наименование объекта

Адрес

О1

А1

О2

А2

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

 Решение: Для решения задачи нужно получить декартово произведение.

Ф.И.О.

Мобильный телефон

Наименование объекта

Адрес

Ф1

Т1

О1

А1

Ф1

Т1

О2

А2

Ф2

Т2

О1

А1

Ф2

Т2

О2

А2

 Пример 2.

Имеется 2 отношения:

Пригодность (Рейс, тип_самолета)

  83     727

  83     747

  109   707

Право (Пилот, Тип_самолета)

  C      707     

  C      727

  B      747

  X      727

 Задача: Создать список рейсов с указанием типа самолета на каждом из рейсов и имени пилота, имеющего право летать на самолете этого типа. Записать этот список в отношении Варианты (Рейс, Тип_самолета, Пилот).

Для решения задачи нужно получить естественное соединение отношений Пригодность и Право по атрибуту Тип_самолета.

Варианты = Пригодность[Тип_самолета=Тип_самолета]Право

 Результат:

Варианты (Рейс, Тип_самолета, Пилот)

 1.       83             727              C

 2.       83             727              X

 3.       83             747              B

 4.      109            707              C

Пример 3.

Даны отношения:

R1 (товар)     R2 (продавец, товар)

1035

2241

2249

2518

10

2241

23

2518

23

1035

39

2518

10

2249

23

2249

23

2241

Запрос 1.

Какие продавцы продали товар 2518. Записать этот список в отношение R3

Получим селекцию R2 по условию товар=2518

Продавец

Товар

39

2518

23

2518

R3= σтовар=2518 (R2)=

Получим проекцию R3 по атрибуту продавец

39

23

R3[продавец]  

Запрос 2.

Перечислить продавцов, которые продали каждый товар. Записать этот список в отношение R4.

Мы должны найти в таблице R2  таких продавцов, которые реализуют следующее сочетание с товаром таблицы R1 

Продавец

Товар

Х

1035

Х

2241

Х

2249

Х

2518

Пусть Продавец есть Х, тогда искомое сочетание.

Т.е. продавец Х реализовал каждый товар. Ответ на этот запрос дает операция деления

R4 = R2: R1

Ответ: R4 (продавец)

23

4.7. Реляционное исчисление.

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

Исчисления являются декларативной системой, т.е. они задают только, каким должен быть результат вычислений, но не то каким образом проводить вычисления. Определение наиболее эффективного порядка вычисления определяется транслятором.

Реляционное исчисление имеет свои источники в исчислении предикатов. В контексте баз данных оно существует в двух формах: в форме предложенной Коддом(реляционного исчисления кортежей) и в форме предложенной Лакруа и Пиро (реляционного исчисления доменов).

В теории исчисления предикатов, под предикатом понимается истинная функция с аргументами. При подстановке аргументов вместо их значений  функция становиться выражением называется суждением, которое может быть истинным или ложным. Обозначим предикат как ψ(t), где t- переменная, которая имеет область определения.

Множество всех значений переменной t , при которых суждение ψ(t) становиться истинным, можно записать следующим образом:

 {t/ ψ(t)}

4.7.1.Реляционное исчисление кортежей.

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

Пусть дано отношение R(A1,A2,A3,A4)

   i       j

А1

А2

А3

А4

Si

Uj

 

      S- кортежи

      U- кортежи

 S и U – кортежи.

 i и j – домены.

Si – элемент кортежа S с номером i.

Uj – элемент кортежа U с номером j.

Формула отношения ψ(t) или предикат строится из атомов трех типов.

Атом первого типа:

R(t) – кортежи отношения R.

Пусть Ѳ:{<,>,=,≥,≤,≠}- операторы сравнения.

Атом второго типа имеет вид:

Si Ѳ Uj – сравнение элементов кортежей между собой (где Ѳ – оператор сравнения.)

Атом третьего типа имеет вид:

ѲSiѲa – сравнение элементов кортежа с постоянной величиной.

Выражение: {t/ ψ(t)}- обозначает множество всех кортежей t, при которых формула ψ(t) становиться истиной.

В формулах используются: логические операторы(и, или, не), кванторы (V- для всех, Ǝ - существует).

Правильно построена формула.

(Well formed formula)

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

ППФ(wff) в исчислении предикатов определяется следующими правилами:

Каждый атом - это формула.

Если Р является n-арной  формулой (предикатом с n аргументами), а t1,t2,….tn – это константы или переменные, то выражение P(t1,t2,….tn) является правильно построенной формулой.

Если t1 и t2 являются константами или переменными из одного домена, а Ѳ представляет собой один из операторов сравнения (<, >, =, ≤, ≥) то выражение t1 Ѳ  t2 является ППФ.

Если выражение F1 и F2 является формулами, то их конъюнкция F1 Λ F2 (и), F1 v F2 (или), и отрицание ~ F1 (не), тоже являются формулами.

Если выражение F1 является формулой со свободной переменной x, то выражение (существует) Ǝ F(x) и (для всех) V F(x), так же является формулой.

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

Операторы сравнения

Кванторы(V- для всех, Ǝ - существует)

Логические операторы(и, не, или)

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

 1.Операция объединения.

Реляционная алгебра R1 U R2

Реляционное исчисление:

 R1 U R2 ={ t|t ϵ R1(t) V  t ϵ R2(t)

Необходимо получить множество

всех кортежей t, которые принадлежат отношениям R1 или R2.

 2. Операция разности.

Реляционная алгебра R= R1-R2

Реляционное исчисление:

 R1 - R2 ={ t|t ϵ R1(t) Λ  t   ϵ  R2(t)}

Необходимо получить множество

всех кортежей t, которые принадлежат отношению R1 и не принадлежат отношению R2.

Операция разности не является коммутативной операцией, т.е. R1R2R2R1. Аргументы в операции разности R1 и R2 нельзя переставлять местами.

 3. Операция декартово произведение.

Пусть r- кортежи отношения R1 ,т.е. R1(r)

 q- кортежи отношения R2 ,т.е. R2(q)

 (rq)- кортеж, полученный добавлением значений второго отношения R2 в конец первого отношения R1. Он называется конкатенацией кортежей и обозначается (rq)

 Реляционная алгебра R1×R2 ={(rq)|r ϵ R1(r)Λ q ϵ R2(q)}

Т.е. необходимо получить множество всех кортежей (rq), в которых r принадлежащий R1(r) и q принадлежащий кортежам R2(q).

 4. Операция селекции.

Реляционная алгебра R = Ϭ F(R1)

Реляционное исчисление:

R ={ t|t ϵ R1(t) Λ  F = “истина”}

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

 5.Операция пересечения.

Реляционная алгебра R1R2

Реляционное исчисление:

R1 ∩ R2 = { t|t ϵ R1(t) Λ  t   ϵ  R2(t)}

Т.е. необходимо получить множество всех кортежей

t, которые принадлежат отношению R1 И R2

Запросы  с помощью редяционного исчисления кортежей.

Используем таблицу:

 Stuff(Sno, Fname, Lname, Adress, Tel_no, Position, Sex, Dat, Salary, NiN, Bno)

Sno – Личный номер сотредника

 Fname - Имя

Lname – Фамилия

Adress - Адрес

Tel_no – Номер телефона

 Position - Должность

 Sex - Пол

 Dat – Дата рождения

 Salary - Зарплата

 NiN – Личный номер социального страхования

 Bno – Номер отделения, в котором сотрудник работает

Область определения кортежей являются отношения, указанные в формулах. Мы работаем с отношением Stuff. Область определения кортежей t запием таким образом:

 Range of t is stuff, далее сформулируем запросы.

Запрос 1.

Выбрать все атрибуты отношения stuff для сотрудников, которые получают зарплату больше 10 тысяч.

 {t|t.salary>10000}

Запрос 2.

Создайте список всех менеджеров, зарплата которых превышает 25000.

 {t|t.position = “manager”.AND t.salary>25000}

4.7.2. Реляционное исчисление доменов.

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

Обозначим переменную домен как d, а предикат как P(d).

Множество всех значений домена d, для которых предикат истина обозначим как {d| P(d)}

Если мы разработаем с отношением Stuff(Sno, Fname, Lname, Adress, Tel_no, Position, Sex, Dat, Salary, NiN, Bno) то к примеру stuff.salary – обозначает домен salary из отношения stuff.

 Запрос 1.

Найдите имена всех сотрудников зарплата которых больше 25000. Список домен содержит атрибут Fname. Используется отношение stuff. Обозначим переменную

доменd, значит 1.Range of d is stuff. Предикат для запроса можно записать P(d)= staff.salary>25000, а множество всех значений для которых предикат истина {F Fname | staff.salary>25000}.

 Запрос 2.

Найдите имена всех менеджеров, зарплата которых больше 25000. Список должен содержать атрибуты Lname и Fname.

Range of d is stuff.

{name, Fname | staff.position = “manager” AND stuff.salary>25000}.

4.8. Оптимизация запросов

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

Этот процесс-выбор эффективной стратегии вычислений выполняет оптимизатор на уровне транслятора.

Оптимизатор использует определенные правила и законы преобразования реляционных выражений

Правила выборки и проекции

Распределительный закон

Законы коммутативности и ассоциативности

Семантические преобразования.

Рассмотрим пример оптимизации запроса.

Дано :

R1 (A1, A2); R1 имеет мощность = 10x103 кортежей. Причем A2=11-15 кортежей.

 R2 (A3, A4); R2 имеет мощность = 20х103 кортежей и A3=55-50 кортежей

Найти: 1) R3 = R1(A1,A2) (X) R2(A3,A4)

 2)Все кортежи R3, которые имеют А2=11 и А3=55

R3

А1

А2

А3

А4

11

55

11

55

Мощность декартова произведения R3= 10x103x20x103 = 200x106 – кортежей, т.е для реализации запроса необходимо просмотреть 200х106 кортежей.

Для реализации селекции

σА2=11˄А3=55 (R3) необходимо выполнить 200х106 обращений к отношению R3 для просмотра всех кортежей.

Введем эквивалентное преобразование:

σA2=11 ˄ A3=55 (R3)  =  σA2=11 (R1) (X) σA3=55 (R2)

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

Для реализации σА2=11 (R1) – необходимо реализовать 10Х103 обращений к отношению R1

Для реализации σА3=55 (R2) – необходимо реализовать 20Х103 обращений к отношению R2

Для получения декартова произведения необходимо получить еще 15Х50 = 750 обращений

Общее количество обращений для реализации выражения R(A1,A2,A3,A4)=  σA2=11 (R1) (X) σA3=55 (R2)  =  20Х103+10Х103+750 ≈ 30Х103 обращений.

А в 1 случае имеем 200х106 обращений, т.е мы получаем за счет оптимизации запросов выигрыш на 4 порядка.

Этот пример дает представление об оптимизации запросов, которая используется в языке SQL.

4.9. Динамика развития моделей данных.

Динамика развития моделей данных может быть наглядно представлена в виде следующего графика:

ООСУБД- обладают возможностью отображения информации о сложных взаимосвязях объектов, но для них характерна низкая скорость выполнения запросов. Логическая структура объектно-ориентированной СУБД внешне похожа на иерархическую структуру, в узлах которой находятся объекты данных.В реляционных СУБД используется реляционная модель данных т.е. данные представляются в виде отношений. Языки для этих СУБД являются объектно- ориентированными. Они работают с объектами, а данные не являются объектами. ООСУБД устраняет это противоречие. В них данные являются объектами. Для них можели данных разрабатываются специалистми СУБД.

ОРСУБД – занимают лидирующую позицию по сложности данных и гибкости   поиска. ОРСУБД – или постреляционная СУБД.

Модель этого типа допускает хранение ненормализованных данных. Реализация этого условия требует сложных СУБД, но упрощает работу с данными и увеличивает скоростные характеристики БД.

 


 

А также другие работы, которые могут Вас заинтересовать

75796. Создание RPM пакета в операционной системе Linux 629.67 KB
  Основным преимуществом программного обеспечения с открытым кодом является, как следует из названия, доступность внутренней информации об особенностях работы приложений. Имея исходный код, вы можете изучить, как приложение работает, изменить, улучшить и расширять его функции, заимствовать и повторно использовать код...
75797. Родо – видовые отношения в структуре лексико-тематической группы «Одежда» (по материалам толкового словаря С. И Ожегова, Н. Ю Шведовой) 59.01 KB
  Задачи: рассмотреть виды лексико-семантических групп и типы отношений слов в русском языке рассмотреть родовые и видовые отношения слов в лексике русского языка, в частности гипонимию (На примере ЛСГ «Одежда») доказать, что структурирование словарного состава русского языка...
75799. Портфельные инвестиции 135.71 KB
  Переход к рыночной экономике сопровождается появлением принципиально новых видов деятельности предприятия. К их числу относится задача эффективного вложения денежных средств – инвестирования.