русс | укр

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

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

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

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


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

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


Дата добавления: 2015-08-06; просмотров: 698; Нарушение авторских прав


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

Из теории множеств известно, что формальным анало­гом таблицы выступает отношение. Пусть дана совокупность


множеств D1, D2, ..., Dn. Отношением R называется некоторое подмножество декартова произведения этих множеств:

R D1×D2× ... ×Dn.

Декартово произведение D1×D2× ... ×Dn — множество всех возможных кортежей (d1, d2, ..., dn ) таких, что di Di, i = 1, 2, ..., п. Множества D называют доменами, а п — степенью отношения R.

Совокупность кортежей, записанных друг под другом, образует таблицу, строки которой соответствуют корте­жам, а столбцы — атрибутам. Атрибут А представляет собой некоторое подмножество домена D.

■ Примечание. В общем случае допустимо, чтобы различные
домены имели общие элементы, а атрибуты представляли под­
множества одного и того же домена.

 

С другой стороны, атрибут Аi можно рассматривать как проекцию отношения R на i-ю координату. Напри­мер, D1= {a1, а2, а3, а4},

D2 = {b1, b2, b3}. Тогда

D1×D2 ={<a1, b1 >, < a1, b2 > , < а1, b3>, < а2, b1>, <а2,b2 >,<a2, b3 >, < а3, b1 >, < а3, b2 >, < а3, b3 >, <a4, b1>,< а4, b2 >, < a4, b3 >}.

 

Построим отношение Q = {<a1, b3>, <a2, b1>, <a2, b3>, <a3, b1 >, <a3, b2>}. Очевидно, что Q D1, × D2. Атрибутами являются множества А1 = { а1, а2, а3}, A2 = {b1 b3}. При этом A1 D2, A2 D2.



В форме таблицы отношение Q выглядит как табл. 2.1.
Таблица 2 1

Q A1 A2
A1 b3
a2 b1
a2 b3
a3 b1
a3 b3

Степень отношения Q равна 2.

Запись вида Q(A1, A2) на­зывается схемой отношения Q и содержит наряду с названи­ем отношения имена атрибутов. Совокупность схем отноше­ний составят схему реляцион­ной БД.

 

■ Примечание. Распространен случай, когда БД, имеющая
многие десятки тысяч кортежей, содержит сравнительно неболь­шое число схем отношений.

 

В реляционной модели предполагается, что все отно­шения должны быть нормализованы, т. е. каждый кор­теж должен содержать лишь атомарные (неделимые) элементы.


Это означает, что отношения не могут быть элементами отношений.

Операции над отношениями выполняются методами реляционного исчисления и реляционной алгебры.

Реляционное исчисление.Оно базируется на теорети­ческих основах исчисления предикатов. Использование реляционного исчисления дает возможность манипулировать с данными на уровне выходного документа, что поз­воляет строить удобные для пользователя ЯМД непро­цедурного типа. Пользователь имеет возможность произ­водить описание необходимого ему отношения независи­мо от процедур поиска и порядка действий над данными.

 

■ Примечание. Напомним, что предикатом P(x1, х2, ..., х n)называется функция, принимающая значения «истина» или «ложь», от аргументов, определенных в конкретных областях D1, D2, ..., Dn. При построении высказываний используются логи­ческие связки /\, V, ┐, →, ←→, называемые соответственно конъюнкцией, дизъюнкцией, отрицанием, импликацией и эквива­лентностью. Кроме того, применяются термы сравнения, имею­щие вид xi*xj, где * — символ операции сравнения, в качест­ве которого могут применяться символы =, ,>,<, ≥, ≤. Кванторы существования g и всеобщности V позволяют отне­сти высказывание ко всему рассматриваемому множеству. Так, выражение x X (f (x) >а) означает, что среди элементов мно­жества X найдется по крайней мере один, при котором оказы­вается истинным неравенство, заключенное в скобках. Если ис­пользовать квантор всеобщности , x X (f (i) > a), то получим высказывание: для всех элементов множества X некоторая функция f(x) больше заданного значения а. Неравенство (f(x)>a) представляет собой предикат: «функция от х больше константы а». Предикат принимает значение «истина» (1) или «ложь» (0). Областью определения аргумента х предиката яв­ляется множество X. Если указанный предикат обозначить Р(х) и опустить явное указание области определения X, то получим более принятую в исчислении предикатов запись: а хР(х) и VxP(x).

Таким образом, по определению кванторов существования и все­общности имеем следующие соотношения:

 

где {b1 , b2 ...,bn} = Х.

В реляционном исчислении принято связывать с отно­шением R(A1, ..., Аn) некоторый предикат Р(х1 ..., хп), аргументы которых имеют одинаковые области определе­ния, таким образом, что если Р(а1 а2, ..., ап) = 1то кор­теж < а1 а2, ..., ап > принадлежит отношению R ai Ai,


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

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

Пример построения отношения.Задано отношение R1(A1, ..., А2) = = {<5,1>, <10,4>, <7,2>, <9,8>}. Поставим отношению R1 в соответствие предикат P1:

 

R1(A1, А2) ←→ P1 (x1, x2),

 

где переменные x1 и х2 имеют области определения A1 и А2. Тогда предикат Р2(x1) ←→ х2 P1 (x1, x2) /\ (x2 > 2) формирует но­вое отношение R2(A3), в которое войдут лишь те значения x1 для которых соответствующие значения х2 в отношении R, ока­зались больше 2: R2(A1) = {<10>, <9>}. Ясно, что предикат Р2 однозначно определяет отношение R2.

 

В [19] приводится описание псевдоязыка реляционно­го исчисления. Кратко рассмотрим его использование для операций поиска.

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

СОЗДАТЬ R (...): L,

где R (...),

означает наименование искомого отношения (в скобках указываются имена атрибутов; символ «:» имеет смысл выражения «такое, что»; L — некоторое высказывание от­носительно используемых отношений, значений атрибутов, их взаимозависимости). Имена атрибутов обычно зада­ются совместно с именем отношения, разделителем вы­ступает точка. Например, аргумент А2 из отношения R1 будем обозначать R1 ∙ A2.

Оператор принадлежности

 

ПУСТЬ В ОТНОШЕНИИ Р КОРТЕЖ X

 

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

 

Примеры запросов.Пусть БД задана в виде совокупности трех
отношений, представленных в табл. 2.2 ... 2.4.
1. Получить коды всех микросхем

СОЗДАТЬ W (ОМС.КМ)


Таблица 2.2

  Код типа микросхемы (КМ) Логическая функция микро- схемы (ЛФМ) Коэффициент разветвления (КР) Мощность потребления мВт, (ПМ) Задержка. НС (ЗД)
ОМС
 
 
  155ЛАЗ 155ЛА6 155ТМ2 155ТВ1 155ИР1 4X2 И—НЕ 2X4 И—НЕ 2 D—Т JK—Т 4 РЕГ
 
 
 
 

 

Таблица 2.3

 

  Код узла (КУ) Логическая функция узла (ЛФУ) Применение (П) Разрядность (Р)
ОУЗ
  Р2 ДШ10 Сч50 Сч46 РЗ СМ5 СМ15 Р1 Регистр Дешифратор Счетчик » Регистр Сумматор » Регистр АК10 АК20 АК10 АК3О АК20 АК10 АКЗО АК20
 
 
 
 
 
 
 

 

Таблица 2.4

 

  ОСУ Код узла (КУ) Код типа микро­схемы (КМ) Количество (К)
Р2 Р2 ДШ10 ДШ10 Сч50 Сч50 Сч46 Сч46 РЗ РЗ СМ5 СМ5 СМ15 СМ15 Р1 155ЛАЗ 155ИР1 155ЛАЗ 155ЛА6 155ТМ2 155ЛА6 155ТВ1 155ЛАЗ 155ИР1 155 Л A3 155ТМ2 155ЛА6 155ТМЗ 155ЛАЗ 155ТВ1

Результат

W км
155ЛАЗ
155ЛА6
155TM2
155TB1
155ИР1

Тот же результат может быть получен и с помощью оператора

СОЗДАТЬ W (ОСУ.КМ) Все повторяющиеся значения кодов микросхем встречаются в отношении VV лишь однажды.

2. Получить коды микросхем, для которых мощность потребле­ния не превосходит 130 мВт.

СОЗДАТЬ W (ОМС.КМ): ОМС.ПМ<130

Результат

W KM
155ЛАЗ 155ЛА6 155TB1

 

3. Получить коды узлов, в составе которых присутствуют микро­схемы 155ЛАЗ в количестве не менее 5 шт.

СОЗДАТЬ W (ОСУ.КУ): ОСУ.КМ='155ЛАЗ'ЛОСУ.К>5

W КУ
 
  P2
  P3
  CM15

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

4. Получить логические функции микросхем, используемых в узле СМ5.

ПУСТЬ В ОТНОШЕНИИ ОСУ КОРТЕЖ X

СОЗДАТЬ W (ОМС.ЛФМ): Х(Х.КУ=='СМ5'ЛХ.КМ =

= ОМС.КМ)




<== предыдущая лекция | следующая лекция ==>
Общие сведения | Результат


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


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

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

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


 


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

 
 

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

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