Ключи переменных-отношений. Виды ключей. Отношения между переменными

Если предположить, что реляционная база данных - это по существу просто база данных, в которой данные представлены в виде таблиц (а это так и есть), то возникает резонный вопрос: почему же мы называем такую базу данных именно реляционной, а не, скажем, табличной? Ответ прост (фактически он был дан еще в главе 1): термин "relation" (отношение) - это формальное название таблицы (точнее, определенного вида таблиц; подробности будут приведены в главе 6). Например, можно сказать, что база данных отделов и служащих, представленная на рис. 3.1, содержит два отношения.

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

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

■ Принципы реляционной модели были сформулированы в 1969 и 1970 годах Е.Ф. Коддом (E.F. Codd), который в то время работал в корпорации IBM. В конце 1968 года Кодд, математик по образованию, впервые пришел к выводу, что для внедрения в сферу управления базами данных строгих и точных принципов можно использовать математические дисциплины. В то время данной области недостава ло именно этих качеств. Идеи Кодда впервые подробно были изложены в статье "A Relational Model of Data for Large Shared Data Banks", ставшей классической (см. в главе 6).

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

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

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

При дальнейшем изучении теоретических аспектов реляционных систем в части II мы

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

такими как строка и столбец. Однако один формальный термин - отношение - мы всетаки будем использовать довольно часто.

Снова обратимся к базе данных отделов и сотрудников, представленной на рис. 3.1. Заметим, что таблицы DEPT И ЕМР В базе данных фактически являются переменными отношения, т.е. их значения - это значения отношения (т.е. отношения принимают различные значения в разное время). Предположим, например, что таблица ЕМР в данный момент имеет значение (значение отношения), которое показано на рис. 3.1, и далее допустим, что мы удалили строку о сотруднике с фамилией Saito (его номер - Е4).

DELETE ЕМР WHERE ЕМР# = ЕМР# (‘Е4′) ;

Результат выполнения этой операции показан на рис. 3.3.

Рис. 3.3. Переменная отношения ЕМР после удаления строки сотрудника с кодом Е4

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

ЕМР:= ЕМР WHERE NOT (ЕМР# = ЕМР# (‘ Е4 ‘)) ;

Как и при любом присваивании, здесь с концептуальной точки зрения сначала вычисляется выражение, расположенное справа от знака присваивания, а затем результат присваивается переменной, которая записана перед знаком присваивания (по определению перед знаком присваивания может стоять, естественно, только переменная). В целом, как уже отмечалось, задача заключается в том, чтобы заменить "старое" значение отношения ЕМР "новым".

Примечание. Как первоначальный оператор DELETE, так и равносильный ему оператор

присваивания записаны на языке Tutorial D, который широко используется в данной книге.

Естественно, что операции INSERT и UPDATE также по существу являются просто сокращенной формой записи соответствующих реляционных операций присваивания (дополнительные сведения приведены в главе 6).

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

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

подчеркнуть его отличие от переменной отношения.

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

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

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

Центральная проблема при проведении экспериментального исследования - выделение независимой переменной и ее изоляция от других переменных. В качестве независимых переменных в психологическом эксперименте могут выступать:

·характеристики заданий;

·особенности ситуации (внешние условия);

·управляемые особенности (состояния) испытуемого.

Последние часто называют «переменными организма». Иногда выделяют четвертый вид переменных - константные характеристики испытуемого (интеллект, пол, возраст и т. д.), но, на мой взгляд, они относятся к дополнительным переменным, поскольку на них нельзя воздействовать, а можно лишь учесть их уровень при формировании экспериментальных и контрольных групп.

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



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

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

Что может варьировать экспериментатор?

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

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

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

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

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

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

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

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

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

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

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

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

4. Темп, или частота действий. Важнейшая характеристика, особенно при исследовании простейших форм поведения.

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

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

Проблема фиксации качественных особенностей поведения решается посредством: а) обучения наблюдателей и разработки карт наблюдения; б) измерения формально-динамических характеристик поведения с помощью тестов.

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

Можно выделить три типа зависимых переменных: 1) одновременную; 2) многомерную; 3) фундаментальную. В первом случае регистрируется лишь один параметр, и именно он считается проявлением зависимой переменной (между ними существует функциональная линейная связь), как, например, при изучении времени простой сенсомоторной реакции. Во втором случае зависимая переменная многомерна. Например, уровень интеллектуальной продуктивности проявляется во времени решения задачи, его качестве, трудности решенной задачи. Эти параметры могут фиксироваться независимо. В третьем случае, когда известно отношение между отдельными параметрами многомерной зависимой переменной, параметры рассматриваются в качестве аргументов, а сама зависимая переменная - в качестве функции. Например, фундаментальное измерение уровня агрессии F(a) рассматривается как функция отдельных ее проявлений (а) мимики, пантомимики, брани, рукоприкладства и др.

F(a) =f(a 1 ,а 2 ,... ,а n).

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

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

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

Отношения между переменными. В основе построения современной экспериментальной психологии лежит формула К. Левина - поведение есть функция личности и ситуации:

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

Как бы то ни было, большинство специалистов по теории психологического эксперимента, в частности МакГиган, считают, что в психологии существуют два типа законов: 1) «стимул-ответ»; 2) «организм-поведение».

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

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

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

В классическом психологическом поведенческом эксперименте устанавливается функциональная зависимость вида

где R - ответ, a S - ситуация (стимул, задача). Переменная S систематически варьируется, а детерминируемые ею изменения ответа испытуемого фиксируются. В ходе изучения проявляются условия, при которых испытуемый ведет себя тем или иным образом. Результат фиксируется в форме линейной или нелинейной зависимости.

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

R = f (О) или R = f(P).

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

Естественно, эти две строгие зависимости являются простейшими формами отношений между переменными. Возможны более сложные зависимости, устанавливаемые в конкретном эксперименте, в частности, факторные планы позволяют выявить зависимости вида R = f (S 1 , S 2), когда ответ испытуемого зависит от двух варьируемых параметров ситуации, а поведение является функцией состояния организма и среды.

Остановимся на формуле Левина. В общей форме она выражает идеал экспериментальной психологии возможность предсказать поведение конкретной личности в определенной ситуации. Переменная «личность», которая входит в состав этой формулы, вряд ли может рассматриваться лишь как «дополнительная». Традиция необихевиоризма предлагает использовать термин «промежуточная» переменная. В последнее время за такими «переменными» - свойствами и состояниями личности - закрепился термин «переменная-модератор», т.е. посредник.

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

Монотонно возрастающая зависимость наблюдается тогда, когда увеличению значений независимой переменной соответствует изменение зависимой переменной (см. рис. 4.9).

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

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

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

Последний вариант зависимости обнаруживается не так часто, как предыдущие, - сложная квазипериодическая зависимость уровня зависимой переменной от уровня независимой (см. рис. 4.13).

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

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

В данной теме я затрону 6 нормальных форм и методы приведения таблиц в эти формы.

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

Используемые термины

Атрибут - свойство некоторой сущности. Часто называется полем таблицы.

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

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

Отношение - конечное множество кортежей (таблица).

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

Проекция - отношение, полученное из заданного путём удаления и (или) перестановки некоторых атрибутов.

Функциональная зависимость между атрибутами (множествами атрибутов) X и Y означает, что для любого допустимого набора кортежей в данном отношении: если два кортежа совпадают по значению X, то они совпадают по значению Y. Например, если значение атрибута «Название компании» - Canonical Ltd, то значением атрибута «Штаб-квартира» в таком кортеже всегда будет Millbank Tower, London, United Kingdom. Обозначение: {X} -> {Y}.

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

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

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

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

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

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

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

Первая нормальная форма

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

Например, есть таблица «Автомобили»:

Нарушение нормализации 1НФ происходит в моделях BMW, т.к. в одной ячейке содержится список из 3 элементов: M5, X5M, M1, т.е. он не является атомарным. Преобразуем таблицу к 1НФ:

Вторая нормальная форма

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

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

Например, дана таблица:

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

Таблица находится во 2НФ, но не в 3НФ.
В отношении атрибут «Модель» является первичным ключом. Личных телефонов у автомобилей нет, и телефон зависит исключительно от магазина.
Таким образом, в отношении существуют следующие функциональные зависимости: Модель → Магазин, Магазин → Телефон, Модель → Телефон.
Зависимость Модель → Телефон является транзитивной, следовательно, отношение не находится в 3НФ.
В результате разделения исходного отношения получаются два отношения, находящиеся в 3НФ:



Нормальная форма Бойса-Кодда (НФБК) (частная форма третьей нормальной формы)

Определение 3НФ не совсем подходит для следующих отношений:
1) отношение имеет две или более потенциальных ключа;
2) два и более потенциальных ключа являются составными;
3) они пересекаются, т.е. имеют хотя бы один атрибут.

Для отношений, имеющих один потенциальный ключ (первичный), НФБК является 3НФ.

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

Предположим, рассматривается отношение, представляющее данные о бронировании стоянки на день:

Тариф имеет уникальное название и зависит от выбранной стоянки и наличии льгот, в частности:

  • «Бережливый»: стоянка 1 для льготников
  • «Стандарт»: стоянка 1 для не льготников
  • «Премиум-А»: стоянка 2 для льготников
  • «Премиум-B»: стоянка 2 для не льготников.
Таким образом, возможны следующие составные первичные ключи: {Номер стоянки, Время начала}, {Номер стоянки, Время окончания}, {Тариф, Время начала}, {Тариф, Время окончания}.

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

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

Можно улучшить структуру с помощью декомпозиции отношения на два и добавления атрибута Имеет льготы , получив отношения, удовлетворяющие НФБК (подчёркнуты атрибуты, входящие в первичный ключ.):

Тарифы

Бронирование

Четвертая нормальная форма

Отношение находится в 4НФ, если оно находится в НФБК и все нетривиальные многозначные зависимости фактически являются функциональными зависимостями от ее потенциальных ключей.

В отношении R (A, B, C) существует многозначная зависимость R.A -> -> R.B в том и только в том случае, если множество значений B, соответствующее паре значений A и C, зависит только от A и не зависит от С.

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

Такая переменная отношения не соответствует 4НФ, так как существует следующая многозначная зависимость:
{Ресторан} → {Вид пиццы}
{Ресторан} → {Район доставки}

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

Для предотвращения аномалии нужно декомпозировать отношение, разместив независимые факты в разных отношениях. В данном примере следует выполнить декомпозицию на {Ресторан, Вид пиццы} и {Ресторан, Район доставки}.

Однако, если к исходной переменной отношения добавить атрибут, функционально зависящий от потенциального ключа, например цену с учётом стоимости доставки ({Ресторан, Вид пиццы, Район доставки} → Цена), то полученное отношение будет находиться в 4НФ и его уже нельзя подвергнуть декомпозиции без потерь.

Пятая нормальная форма

Отношения находятся в 5НФ, если оно находится в 4НФ и отсутствуют сложные зависимые соединения между атрибутами.
Если «Атрибут зависит от «Атрибута_2», а «Атрибут_2» в свою очередь зависит от «Атрибута_3», а «Атрибут_3» зависит от «Атрибута_1», то все три атрибута обязательно входят в один кортеж.

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

Например, некоторая таблица содержит три атрибута «Поставщик», «Товар» и «Покупатель». Покупатель1 приобретает несколько Товаров у Поставщика1. Покупатель 1 приобрел новый Товар у Поставщика2. Тогда в силу изложенного выше требования I поставщик1 обязан поставлять Покупателю1 тот же самый новый Товар, а Поставщик2 должен поставлять Покупателю 1, кроме нового Товара, всю номенклатуру Товаров Поставщика1. Этого на практике не бывает. Покупатель свободен в своем выборе товаров. Поэтому для устранения отмеченного затруднения все три атрибута разносят по разным отношениям (таблицам). После выделения трех новых отношений (Поставщик, Товар и Покупатель) необходимо помнить, что при извлечении информации (например, О покупателях и товарах) необходимо в запросе соединить все три отношения. Любая комбинация соединения двух отношений изгрех неминуемо приведет к извлечению неверной (некорректной) информации. Некоторые СУБД снабжены специальными механизмами, устраняющими извлечение недостоверной информации. Тем не менее следует придерживаться общей рекомендации: структуру базы данных строить таким образом, чтобы избежать применения 4НФ и 5НФ.

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

Доменно-ключевая нормальная форма

Переменная отношения находится в ДКНФ тогда и только тогда, когда каждое наложенное на неё ограничение является логическим следствием ограничений доменов и ограничений ключей, наложенных на данную переменную отношения.
Ограничение домена – ограничение, предписывающее использовать для определённого атрибута значения только из некоторого заданного домена. Ограничение по своей сути является заданием перечня (или логического эквивалента перечня) допустимых значений типа и объявлением о том, что указанный атрибут имеет данный тип.

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

Любая переменная отношения, находящаяся в ДКНФ, обязательно находится в 5НФ. Однако не любую переменную отношения можно привести к ДКНФ.

Шестая нормальная форма

Переменная отношения находится в шестой нормальной форме тогда и только тогда, когда она удовлетворяет всем нетривиальным зависимостям соединения. Из определения следует, что переменная находится в 6НФ тогда и только тогда, когда она неприводима, то есть не может быть подвергнута дальнейшей декомпозиции без потерь. Каждая переменная отношения, которая находится в 6НФ, также находится и в 5НФ.

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

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

Работники

Переменная отношения «Работники» не находится в 6НФ и может быть подвергнута декомпозиции на переменные отношения «Должности работников» и «Домашние адреса работников».

Должности работников

Домашние адреса работников

Литература

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

В основе построения современной экспериментальной психо логии лежит формула К. Левина поведение есть функция личности и ситуации: В =f(P; S).

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

Формула Левина в общей форме выражает идеал экспериментальной психологии : возможность предсказать поведение конкретной личности в определенной ситуации . Переменная «личность», которая входит в состав этой формулы, по традиции необихевиоризма называется «промежуточная » переменная или более современно «переменная-модератор », т.е. посредник.

Рассмотрим основные возможные варианты отношений между переменными . Существует пять основных видов связи переменных.

1. Отсутствие зависимости. Графически он выражается в форме прямой, параллельной оси абсцисс на графике, где по оси абсцисс (X) отложены уровни независимой переменной, а по оси ординат (У) – зависимой переменной. Зависимая переменная не чувствительна к изменению независимой.

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

Уровень ощущений


Интенсивность звука

3. Монотонно убывающая зависимость наблюдается, если увеличе­нию значений независимой переменной соответствует уменьшение уровня зависимой переменной.

Число воспроизведенных

Время, прошедшее от момента заучивания.

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


Уровень тревожности

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

Эффективность

совместного

решения проблемы

р Размер группы

Конец работы -

Эта тема принадлежит разделу:

Наука и научная методология

На сайте сайт читайте: "наука и научная методология"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Основные черты современной научной методологии
Каковы же основные черты современной научной методологии? Современная наука начинается с Галилея (1564-1642) и Ньютона (1642-1727), живших в эпоху первой научной революции. Для Ньютона научная деят

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

Проблема рациональности науки
Рациональность представляет собой нормативную концепцию. В этом отношении она подобна морали, и потому проблема рациональности науки очень важна. Быть моральным и рациональным – зн

Признаки и виды научного исследования
Исследование, в отличие от стихийных форм познания, основано на научном методе, который предполагает 1) фиксацию цели иссле­дования, 2) фиксацию средств исследования (методологию, мет

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

Научное исследование и его инструменты
(продолжение) Теория как результат научного исследования Одной из целей психологии как науки является объяснение поведения. В связи с этим важно

Методология и психологическое знание
Начнем мы эту тему не непосредственно с описания методов эмпирического психологического исследования, а обратимся к методологии с тем, чтобы проследить связь методологических представлений о знании

Виды экспериментов
Какие существуют виды экспериментов (будем употреблять этот общий термин, поскольку из контекста обычно ясно, идет ли речь о строгом или о квазиэксперименте)? По формальным основан

Этапы экспериментально-психологического исследования
Экспериментальное исследование в психологии, как и в любых других науках, проводится в несколько этапов. Часть из них являет­ся обязательными, часть – в некоторых случаях может отсутство­вать, но п

Независимая переменная
Центральная проблема при проведении экспериментального исследования – выделение НП и ее изоляция от других переменных. В зависимости от того, как

Зависимая переменная
В качествеЗПвыбираютсяпараметры вербального и невербального поведения. Например, число ошибок, которое совершила крыса, пробегая лабиринт, время, кот

Контроль переменных
Следует различать контроль независимой переменной и контроль «прочих» или внешних (побочных и дополнительных переменных). Контроль независимой перемен

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

Экспериментальные планы
Предпосылки планирования эксперимента Планирование эксперимента имеет две основные формы: содержательную и формальную. Содержательное планирование включает решение

Экспериментальные планы
(продолжение) Проиллюстри­руем применение простого факторного плана примером из сравнительной психологии, в котором экспе­риментаторов интересовало, с какой скоростью крысы

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

Функциональные планы
Функциональные планы – это планы для малых n (1-2 испытуемых), где главное – указать связь между определяющими условиями и эффектом их воздействия на поведение, причем считается, что и условия, и р

Квазиэкспериментальные планы
Поскольку реализовать планы «истинных экспериментов», используя схемы контроля внешних переменных, удается не часто, в качестве попытки учета реалий жизни при проведении эмпирических исследований с

Планы ex-post-facto
Этот метод часто применяется в психологии. Другое название – экспери­мент, на который ссылаются. Стратегия его применения состоит в следующем. Экспериментатор сам не воздействует на испытуемых. В к


Начнем изложение материала темы 7 словами Джеймса Гудвина, который, обращаясь к читателям своего учебника, говорит, что, «изучив эту главу, вы · поймете, что корреляционные

Корреляция и регрессия: основы
«На Гальтона произвела большое впечатления теория эволюции Дарвина, а в особенности мысль о том, что особи, принадлежащие к одному биологическому виду, отличаются друг от друга. Индивидуальные особ

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

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

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

Корреляция и причинно-следственная связь
Мы уже знаем, что в экспериментальном исследовании с управляемой НП с уверенностью можно делать выводы о наличии причинно-следственных связей: изучаемая переменная является управляемой, и если все

Направленность
Если между двумя переменными А и В существует корреляция, то может случиться так, что А вызывает В (А > В), а В вызывает А (В > А). Действие причинно-следственной связи в двух направлениях

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

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

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

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

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

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

Как разновидности квазиэксперимента
(продолжение) Планирование корреляционного исследования При корреляционном исследовании все измеряемые переменные – зависимые. Корреляционное исследование разбива

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

Множественная регрессия
В случае простой регрессии рассматриваются две переменные: предикторная и критериальная. Если оценки SAT (Американский школьный тест проверки способностей – предикторная переменная) коррелируют со

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

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

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

Структура текст работы
Дипломная работа представляет собой письменный многостраничный текст-отчет, включающий постановку научной проблемы (теоретической или прикладной), обоснование основной идеи, гипоте

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

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

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

Результаты и их обсуждение
Обсуждение полученных данных начинается с их описания. Описание должно быть предельно строгим, т.е. содержать в себе только факты с их качественными (есть – нет) или количественными характер

Что еще полезно знать?
Полезно напомнить о том, что дипломная работа оценивается Государственной аттестационной комиссией (ГАК) в ходе ее защиты. Обратимся к «Требованиям, предъявляемым к подготовке выпускных работ...» [

Теоретические основы организации БД. Реляционная модель данных.

(http://www.intuit.ru/department/database/rdbintro/)

Подходы к организации баз данных

Иерархические базы данных

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

Иерархическая БД состоит из упорядоченного набора нескольких экземпляров одного типа дерева. Автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя (см.Рис. 1).

Рис. 1 Схема иерархической модели данных

Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много баз данных этой системы

Сетевые базы данных

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

В сетевой модели данных любой объект может быть одновременно и главным, и подчиненным, и может участвовать в образовании любого числа взаимосвязей с другими объектами. Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно - из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи (см. Рис. 2).

Рис. 2 Схема сетевой модели

Типичным представителем является Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем. Архитектура системы основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL) - организации, ответственной за определение языка программирования Кобол. Отчет DBTG был опубликован в 1971 г., а позже появилось несколько систем, среди которых IDMS.

Реляционные базы данных

Принято считать, что реляционный подход к организации баз данных был заложен в конце 1960-х гг. Эдгаром Коддом. В последние десятилетия этот подход является наиболее распространенным (с оговоркой, что в называемых в обиходе реляционными системах баз данных, основанных на языке SQL, в действительности нарушаются некоторые важные принципы классического реляционного подхода). Достоинствами реляционного подхода принято считать следующие свойства: реляционный подход основывается на небольшом числе интуитивно понятных абстракций, на основе которых возможно простое моделирование наиболее распространенных предметных областей; эти абстракции могут быть точно и формально определены; теоретическим базисом реляционного подхода к организации баз данных служит простой и мощный математический аппарат теории множеств и математической логики; реляционный подход обеспечивает возможность ненавигационного манипулирования данными без необходимости знания конкретной физической организации баз данных во внешней памяти. Компьютерный мир далеко не сразу признал реляционные системы. В 70-е года прошлого века, когда уже были получены почти все основные теоретические результаты и даже существовали первые прототипы реляционных СУБД, многие авторитетные специалисты отрицали возможность добиться эффективной реализации таких систем. Однако преимущества реляционного подхода и развитие методов и алгоритмов организации и управления реляционными базами данных привели к тому, что к концу 80-х годов реляционные системы заняли на мировом рынке СУБД доминирующее положение.

Реляционная модель данных основывается на математических принципах, вытекающих непосредственно из теории множеств и логики предикатов. Эти принципы впервые были применены в области моделирования данных в конце 1960-х гг. доктором Е.Ф. Коддом, в то время работавшим в IBM, а впервые опубликованы в технической статье "Реляционная модель данных для больших разделяемых банков данных". Эта статья является родоначальницей современной теории реляционных БД. Доктор Кодд определил 13 правил реляционной модели (которые называют 12 правилами Кодда).

12 правил Кодда:

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

2. Информационное правило - вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах.

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

4. Поддержка пустых значений (null value) - СУБД должна уметь работать с пустыми значениями (неизвестными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов.

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

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

7. Правило обновления представлений (views) - все представления, теоретически обновляемые, могут быть обновлены через систему.

8. Вставка, обновление и удаление - СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление

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

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

11. Независимость целостности - язык БД должен быть способен определять правила целостности. Они должны сохраняться в онлайновом справочнике, и не должно существовать способа их обойти.

12. Независимость распределения - на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно.

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

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

Введение в реляционную модель данных

Основные понятия реляционной модели данных

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

Для начала покажем смысл этих понятий на примере отношения СЛУЖАЩИЕ, содержащего информацию о служащих некоторого предприятия (Рис. 3).

Рис. 3 Соотношение основных понятий реляционного подхода

Тип данных

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

Обычно в современных реляционных базах данных допускается хранение символьных, числовых данных (точных и приблизительных), специализированных числовых данных (таких, как «деньги»), а также специальных «темпоральных» данных (дата, время, временной интервал). Активно развивается подход к внедрению в реляционные системы возможностей определения пользователями собственных типов данных.

В примере на Рис. 3 мы имеем дело с данными трех типов: строки символов, целые числа и «деньги».

Домен

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

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

Наиболее правильной интуитивной трактовкой понятия домена является его восприятие как допустимого потенциального, ограниченного подмножества значений данного типа. Например, домен ИМЕНА в нашем примере определен на базовом типе символьных строк, но в число его значений могут входить только те строки, которые могут представлять имена (в частности, для возможности представления русских имен такие строки не могут начинаться с мягкого или твердого знака и не могут быть длиннее, например, 20 символов). Если некоторый атрибут отношения определяется на некотором домене (как, например, на Рис. 3 атрибут СЛУ_ИМЯ определяется на домене ИМЕНА), то в дальнейшем ограничение домена играет роль ограничения целостности, накладываемого на значения этого атрибута.

Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов НОМЕРА ПРОПУСКОВ и НОМЕРА ОТДЕЛОВ относятся к типу целых чисел, но не являются сравнимыми (допускать их сравнение было бы бессмысленно).

Заголовок отношения, кортеж, тело отношения, значение отношения, переменная отношения

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

Итак, заголовком (или схемой) отношения r (Hr) называется конечное множество упорядоченных пар вида , где A называется именем атрибута, а T обозначает имя некоторого базового типа или ранее определенного домена. По определению требуется, чтобы все имена атрибутов в заголовке отношения были различны. В примере на Рис. 3 заголовком отношения СЛУЖАЩИЕ является множество пар {<слу_номер, номера_пропусков>, <слу_имя, имена>, <слу_зарп, размеры_выплат>, <слу_отд_номер, номера_отделов>}.

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

Кортежем tr, соответствующим заголовку Hr, называется множество упорядоченных триплетов вида , по одному такому триплету для каждого атрибута в Hr. Третий элемент – v – триплета должен являться допустимым значением типа данных или домена T. Заголовку отношения СЛУЖАЩИЕ соответствуют, например, следующие кортежи: {<слу_номер, номера_пропусков, 2934>, <слу_имя, имена, Иванов>, <слу_зарп, размеры_выплат, 22.000>, <слу_отд_номер, номера_отделов, 310>}, {<слу_номер, номера_пропусков, 2940>, <слу_имя, имена, Кузнецов>, <слу_зарп, размеры_выплат, 35.000>, <слу_отд_номер, номера_отделов, 320>}.Телом Br отношения r называется произвольное множество кортежей tr. Одно из возможных тел отношения СЛУЖАЩИЕ показано на Рис. 3. Заметим, что в общем случае, как это демонстрируют, в частности, Рис. 3 и пример предыдущего абзаца, могут существовать такие кортежи tr, которые соответствуют Hr, но не входят в Br.

Значением Vr отношения r называется пара множеств Hr и Br. Одно из допустимых значений отношения СЛУЖАЩИЕ показано на рис. 2.1.



Понравилась статья? Поделиться с друзьями: