Реляционные исчисления с перменными доменами
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

В реляционных исчислениях с переменными доменами не существует переменных кортежей . Вместо них существуют переменные на доменах.

 В остальном реляционное исчисление с переменными на доменах  строятся так же как переменные на кортежах , с теми же операторами.

Атомами формул м/б: 1) R(x1...xk) , где R к-арная отношение xi, i=1...k –константа или переменная на некотором домене. Запись означает: атом R с отношением указывает значение тех xi, которые являются переменными и которые д/б выбраны т/о , чтобы x1...xk было кортежем отношения R.

2) x q y , в этой записи x и y константы или переменные на некотором домене . q– арифметический оператор сравнения . смысл атома x y заключается в том, что x и y представляют собой значения при которых атом истин .

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

Общая запись выражения с переменными на домене:{x1...xk| y (x1...xn)} y–формула , которая обладает свойством , что только ее свободные переменные на доменах являются различными переменными.

Пример: {x1x2|R1(x1x2)Ù("y)(ù R2(x1y)Ùù R2(x2y)}  Означает множество таких кортежей в R1, что ни один из их компонентов , не является первым компонентом какого-либо отношения R2.

Реляционные исчисления с перменными кортежами.

Вид выражения: { t/.y. (t)} t относится к  .y. (t) ; t—единственная свободная переменная –кортеж . Обозначить кортеж фиксированной длины , если необходимо указать арность кортежа , то ti—i –арность. Пси- это некоторая формула, построенная по специальным правилам.

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

Пример:{t(R1(t) U R2(t))} интересуют все кортежи t принадлежащие R1(t) или R2(t). запись справедлива когда R1(t) и R2(t) имеют одинаковую арность . Эта операция эквивалентна операции U в реляционной алгебре.

Формулы в реляционном исчислении строятся из атомов и совокупности операторов (арифметических и логических)

Атомы формул бывают 3-х типов: 1) R(t) , R – имя отношения. Атом означает, что t есть кортеж в отношении R. 2) S[i] q u[j] , где s и u являются переменными кортежами ,  q-арифметический оператор (><=) , i и j – номера или имена интересующих нас компонент ( столбцов в соответствующих кортежах) ; s[i] – обозначение i –го компонента в кортеже переменной s ; u[j] –обозначение j-го  компонента в кортеже переменной u. Пример: s[3]>= u[5] 3-й компонент переменной s >= 5-го компонента переменной u. 3) s[i] q a равносильно a q s[i] ,где a-конст. пример: s[3]=70 3-й компонент кортежа s  равен 70.

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

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

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

1) каждый атом—есть формула , все вхождения переменных кортежей упомянутых в атоме являются свободными. 2) если y1 и y2—формулы , то справедливо: 1. y1 1Ç y2 являются истинными, 2. y1U y2 обе истинны и также являются формулами. В виде дополнения в литературе добавляют ù y1—тоже является формулой. Экземпляры переменных кортежей являются свободными или связанными. 3) если y - формула, то существует такая S(y), которая тоже является формулой ,т.е. yà "S(y) 4) если y-формула, то существует S(y) тоже формула. 5)Формула в случае необходимости может заключаться в ( ), порядок старшинства: 1-арифметические операторы сравнения; 2-кванторы всеобщности и существования; 3-логические операторы: не, и ,или (ù,Ù,Ú) 

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

Формулировка: «если Е – выражение реляционной алгебры , то существует эквивалентное ему базисное выражение в реляционном исчислении с переменными кортежами» Для основных операций реляционной алгебры можно указать следующие соответствующие выражения реляционного исчисления на переменных кортежах. 1) R1UR2à{t/R1(t)UR2(t)} 2) (R1-R2)à{t/R1(t) Ù,ù R2(t)} читается: множество кортежей t, что t принадлежит R1 и не принадлежит R2 .

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

{t/ y(t)}

1)если t является кортежем арности к , то вводится к новых переменных на доменах t1,t1...tk ; 2) атомы R(t) заменяются атомами R(t1,t2,...,tk) : R(t)àR(t1...tk); 3) каждое свободное вхождение t[i] заменяется на ti; 4) для каждого квантора существования или всеобщности вводится m переменных на доменах , где m –арность u . [$u],("u)àmàu1...um. в области действия этой квантификации действуют замены R(u)àR(U1...Um) ; U(i) à Ui ; ($ U)à ($U1)...($Um) ; ( "u)à ("U1)...("Um) ;5)выполняется построение выражения  {t1...tk/ y (t1...tk} , y -это y в котором осуществлена замена переменных.

Теорема2: для каждого безопасного вырожения реляционного ичисления с переменными кортежами существует эквивалентное безопасное выражение реляционного исчисления на доменах

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

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

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

 Арифметические выражения: 1) арифметические вычисления и сравнения могут непосредственно включаться в формулы селекции реляционной алгебры выражений или в атомы в выражениях реляционного исчисления 2) команды присваивантя и печати 3) агрегатные функции –это функции применяемые к столбцам отношений , в результате выполнения которых вычисляется одна единственная величина .

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

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

Ограничение модели.

 1) Отношения в БД обладают всеми свойствами множеств . Основным (жестким) ограничением является невозможность представления в отношении кортежей дубликатов. Оно означает, что каждое отношение имеет по крайней мере хотя бы один первичный ключ ( в крайнем случае он состоит из всех атрибутов)

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

2) При традиционной форме представления отношения порядок столбцов фиксирован, однако , если столбцы поименованы и при выполнении операций над данными пердставленными в отношении , обращаться к столбцам по их именам , то это ограничение снимается .

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

ЯОД в реляционных СУБД обычно имеет развитые средства для описания явных ограничений целостности , т.е. он не затрагивает стандартов.

На практике ограничение целостности: ограничение на зависимости м/у атрибутами. Для явного задания ограничений целостности м/б использованы функциональные и ??? зависимости м/у атрибутами.

Функциональные зависимости : x,y à R  атрибут y отношения r функционально зависит от атрибута  x отношения R .

Если в каждый момент времени каждому значению атрибута x соостветствует тоже значение атрибута y . xày читается: x зависит от y -- теорема о функциональной зависимости.

Свойствa из теоремы: аксиома 1)—свойство рефлексивности : если x Î u , yÎu , yÎx , то существует функциональная зависимость из xày.    Аксиома 2)—свойство пополнения : если x Î u , y Î u, z Î u , задана зависимость из  xày , которая принадлежит полному множеству функциональных зависимостей данного отношения , то справедлива формула : x Îz à yÎ z . Аксиома 3) --свойство транзитивности : если xÎu , yÎu , z Îu и задана зависимость xày , yàz , то существует зависимость xàz . Аксиома 4)—свойство расширения : x Î u , y Î u : xày ; z Î u : x и z ày

Многозначные зависимости.

Теорема для многозначной зависимости : многзначная зависимость существует , если при заданных значениях атрибутов , существует множество состоящее из нулей ( или более взаимных значений атрибутов y) , причем множество значений атрибутов y не связано со значениями атрибутов в отношении u-x-y . обозначение: xàày.

Аксиома 1) –дополнение для многозначной зависимости: если x прин u , y прин u , xàà y , то имеет место многозначная зависимость  xààu-x-y

Аксиома 2)—пополнение для многозначной зависимости : если x прин u, v прин u , w прин u, y прин u, v прин w , x прин y , то имеет место многозначная зависимость 

W объединено k àà v объединено y

Аксиома 3) – транзитивность для многозначной зависимости : если x прин u , y прин u , то имеет место многозначная зависимость xàày , yàà x , то имеет место xààz-y .

 Т.о. формальная проверка многозначной зависимости должна выполняться на множестве z всех возможных экземпляров кортежей рассматриваемого отношения.  

 

                                 КЛЮЧИ ОТНОШЕНИЙ

   Формальное определение ключа .

 Если R-схема отношения с атрибутами: A1..An, и множество F функциональных зависимостей X-подмножество множества атрибутов, то X называют ключом в случае выполнения следующих условий:

1. зависимость X-> A1..An принадлежит полному замыканию (F+) (полному множеству функциональных зависимостей), которое можно получить из F с помощью правил вывода;

2. ни для какого собственного подмножества X зависимость Y из атрибутовY-> A1..An,Y принадлежит X , не принадлежит полному замыканию F+.

 Условие (2) ставит вопрос о минимальности ключа. Данный ключ только тогда будет являться ключом отношений, когда он является минимальным (max ссылок связей в отношениях). В противном случае ключом будет 1 или более элементов из его подмножеств.

ОПР. (о первичных атрибутах).

Атрибут A является первичным тогда и только тогда, когда он входит в состав любого ключа (первичного или возможного) в отношении R.В противном случае – атрибут непервичный.

  Нормализация отношений (подразумевается неизбыточность базы)

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

1.выбрать для отношений первичные (и возможные) ключи, которые должны быть минимальными.

2.выбрать состав отношений базы, который должен быть минимальным (отличающийся минимальной избыточностью атрибутов).

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

4.перестройка набора отношений при введении новых типов данных, должна быть минимальной.

5.разброс времени ответа (время реакции системы) на различные запросы к БД должны быть минимальным (доли секунд, мкс).

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

 Пусть существуют реляционные БД со следующей схемой и экземпляром отношения: поставка (индекс, название поставщика, адрес, товар, цена).

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

 

 

 1.Аномалия удаления

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

 2.Аномалия включения

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

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

Введены 5 уровней схем нормализации отношений. 

Поднимаются согласно правилам вложенности по возрастанию номеров.

СХЕМА .

Если находится в 4 НФ, то и находится в 3 УНФ, 3 НФ, 2 НФ, 1 НФ.

 1 НФ.

Схема R находится в 1 НФ тогда и только тогда, когда все входящие в нее атрибуты являются атомарными.

 2 НФ.

Если X-ключ отношения R, Y принадлежит X, А является непервичным атрибутом отношения R, то говорят что в отношении R имеет место частичная зависимость (неполная функциональная зависимость) X->A и Y->A. Схема отношения R находится во 2 НФ, если она находится в 1 НФ, и каждый ее непервичный атрибут функционально полно зависит от первичного ключа отношения, находящегося во 2 НФ.Может обладать аномалиями для операции включения, удаления и модификации БД.

 3 НФ.

Схема R находится в 3 НФ, если не существует ключа X для R множества, атрибута Y принадлежит R и непервичного атрибута А из R таких, что выполняется следующее: X->Y, Y->A, Y-/>X (для R).

Схема R находится в 3 НФ, если она находится во 2 НФ, и каждый непервичный атрибут нетранзитивно (не напрямую) зависит от первичного ключа. В тех случаях, когда отношение имеет только 1 ключ и в нем отсутствуют многозначные зависимости, 3 НФ освобождается от избыточности и освобождается от аномалий включения, удаления и модификации БД. В тех случаях, когда в отношении отсутствует многозначные зависимости, но существует 2 и более возможных ключа. 3 НФ может иметь аномалии операций. В этом случае для снятия их рассматривается 3 УНФ (НФ Бойса-Кодда).

 4 НФ.

Если в отношении R присутствуют многозначные зависимости, то схема отношения должна находится в 4 НФ. От 3 НФ отличается тем, что существует многозначная зависимость из X->->Y {0}, Y-подмножество X, но X содержит какой-либо ключ отношения R.

 5 НФ (Проекционно-соединительная).

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

Если R={A1..An} P={R1..Rk}

Композиция  R1 U R2 U..U Rk={A1..An}

 

Дата: 2019-05-28, просмотров: 223.