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

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

Исчисление на кортежах

Читайте также:
  1. Исчисление авансовых платежей по налогам и налогов организации
  2. Исчисление авансовых платежей по налогам и налогов организации
  3. Исчисление авансовых платежей по налогам и налогов организации
  4. Исчисление авансовых платежей по налогам и налогов организации за 1-й квартал 2013 года
  5. Исчисление индексов в статистике цен.
  6. Исчисление сроков исковой давности
  7. Исчисление статистических показателей библи­отечной работы
  8. Исчисление фондовых индексов и средних в биржевой статистике.
  9. Л.4 ИСЧИСЛЕНИЕ И УПЛАТА НДС

Напомним еще раз, что любой логико-математический язык первого порядка L определяется четверкой множеств

L = <S, C, F, P>

S - множество сортов

C - множество констант языка

F - множество функциональных символов языка

P - множество предикатных символов языка

 

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

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

 

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

Ld = <S, C, P>

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

 

Студент(Нз, Фио, Пол, Нгр) Студент(х/Нз, у/Фио, z/Пол,v/Нгр)
<121 Иванов В.И. М К05-221> Студент(121,Иванов В.И.,М,К05-221)= 1

 

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

Для практики баз данных это не очень удобно, поэтому основатель реляционной модели E.F.Codd разработал специальное реляционное исчисление. Как его представлял E.F.Codd можно прочитать в статье [Codd], мы же будем его представлять с точки зрения логико-математического языка и называть исчислением на кортежах. Основная идея очень проста: область определения вводимых предметных переменных должна определяться из самих отношений или, переходя к представлению, таблиц базы данных, а домены - практически типы данных, должны использоваться только при решении вопросов о сопоставимости переменных.

 

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

Ld = <S, C, F, P>

Аналог схемы отношения есть высказывательная схема следующего вида

Студент(Нз(х), Фио(х), Пол(х), Нгр(х))

где

· «Студент» - предикатный символ,

· {Нз,Фио,Пол,Нгр} – функциональные символы,

· {Нз(х),Фио(х),Пол(х),Нгр(х)} – именные схемы,

· «х» предметная переменная сорта «Целое».

 

Исходное высказывание следует понимать так: студенту Иванову В.И. присваивается некий абстрактный номер (№ 1), такой что
Нз(1)=121; Фио(1)=”Иванов В.И.”; Пол(1)=”М”; Нгр(1)=”К05-221”.

Считается, что для функциональных символов справедливо правило "х"у(х=у®f(x)=f(y)), обратное, в общем случае, несправедливо.

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

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

"х/P(x)Q(x,y,…,z)=="хP(x) ® Q(x,y,…,z),
где знак «==» - означает «по определению». Например, предложение

"х/Студент(х)"у/Студент(у)(Нз(х)=Нз(у) ® х=у)

определяет номер зачетки как свойство, однозначно идентифицирующее студента.

Ограниченный квантор «существует»:

$х/P(x)Q(x,y,…,z)==$хP(x)&Q(x,y,…,z)

Например, предложение

"х/Студент(х)$у/Группа(у)(Студент.Нгр(х)=Группа.Нгр(у))

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

При интерпретации языка предметную переменную «х» можно отождествить с номером строки в таблице, представляющей отношение, а сам функциональный символ как отображение номера строки в тип данных соответствующего атрибута. В реляционной модели данных все отношения равноправны, что предполагает собственную нумерацию строк в каждой таблице. Поэтому правильно будет уточнять функциональный символ именем соответствующей таблицы:
Студент.Нгр(х); Группа.Нгр(у).

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

· Сущности или классы объектов

· Свойства классов

· Связи классов (сущностей)

· Свойства связей

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

Логико-математический язык первого порядка позволяет моделировать совместно эти категории. Например, стандартная ситуация с двумя связанными классами объектов предполагает введение двух отношений (таблиц) для классов объектов со схемами

 

Деталь(ШфрДетали(х),Наим(х),...) - Класс объектов 1

Материал(ШфрМатериала(у),Назв (у),...) - Класс объектов 2

 

и явное введение отношения, отражающего связь между ними, со схемой

 

ИзготовленаИз(ШфрДетали(х),ШфрМатериала(у),НрмРасхода(х,у),...).

 

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

 




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




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