Создание информационно-справочной подсистемы САПР конструкторско-технологического назначения. Дискретные элементы

Наименование, применения, цель создания информационно-справочной подсистем САПР. Логические элементы: И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ. Информационно-справочная подсистема. Семантическое моделирование данных. Основные понятия модели Entity-Relationship.

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид дипломная работа
Язык русский
Дата добавления 06.06.2010
Размер файла 4,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Дипломная работа

Создание информационно-справочной подсистемы САПР конструкторско-технологического назначения. Дискретные элементы

СОДЕРЖАНИЕ

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ

ВВЕДЕНИЕ

1. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ

1.1 Наименование, область применения, цель создания информационно-справочной подсистем САПР конструкторско-технологического назначения

1.2 Задачи, решаемые подсистемой

1.3 Функциональные требования к подсистеме

2. АНАЛИЗ ОБЪЕКТА ПОДЛЕЖАЩЕГО ОБРАБОТКИ ИНФОРМАЦИОННО - СПРАВОЧНОЙ ПОДСИСТЕМОЙ

2.1 Логические элементы

2.2 Логический элемент И

2.3 Логический элемент ИЛИ

2.4 Логический элемент НЕ

2.5 Логический элемент И - НЕ

2.6 Логические элементы ИЛИ-НЕ

3. ИФОРМАЦИОННО-СПРАВОЧНАЯ ПОДСИСТЕМА

3.1 Основные положения

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

3.1.2 Третья нормальная форма

3.1.3 Нормальная форма Бойса-Кодда

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

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

3.2 Семантическое моделирование данных, er-диаграммы

3.2.1 Семантические модели данных

3.2.2 Основные понятия модели Entity-Relationship (Сущность-Связи)

3.2.3 Нормальные формы ER-схем

3.2.4 Более сложные элементы ER-модели

3.2.5 Получение реляционной схемы из ER-схемы

ВЫВОДЫ

ПЕРЕЧЕНЬ ССЫЛОК

ПРИЛОЖЕНИЕ А

ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ

БД - База данных

ЭВМ - Электронно-вычислительная машина

САПР - Система автоматизации производства

КМОП - комплиментарный метал окись полупроводник

РТЛ - резистивно-транзисторная логика

ДТЛ - диодно-транзисторная логика

ТТЛ - транзисторно-транзисторная логика

ЭСЛ - эмиттерно-связанная логика

ЛЭ - логический элемент

ДЭ - дискретный элемент

МОП - метал окись полупроводник

ВВЕДЕНИЕ

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

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

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

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

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

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

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

Из за выше перечисленных требований возникает вопрос Как этого добиться?

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

1. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ

1.1 Наименование, область применения, цель создания информационно-справочной подсистем САПР конструкторско-технологического назначения

Разрабатываемая подсистема, называемая «Информационно-справочная подсистема САПР конструкторско-технологического назначения. «Дискретные элементы» предназначена для учета, сбора, содержания справочной информации для конструкторско-технологических целей.

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

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

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

1.2 Задачи решаемые подсистемой

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

А значит, данная информационно-справочная подсистема должна обладать такими свойствами:

- Распределения дискретных элементов по типу

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

- По времени выполнения операций(задержка)

- Возможность добавления и корректировки информации в данной подсистеме

- Обеспечение легкости работы и поиска информации

- Учет имеющихся в наличии элементов

1.3 Функциональные требования к подсистеме

Подсистема должна обеспечивать следующие функциональные возможности автоматизированная система учёта дискретных элементов:

1) добавление новых объектов в базу данных (БД);

2) изменение характеристик объектов базы данных;

3) удаление объектов из базы данных.

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

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

2. АНАЛИЗ ОБЪЕКТА ПОДЛЕЖАЩЕГО ОБРАБОТКИ ИНФОРМАЦИОННО - СПРАВОЧНОЙ ПОДСИСТЕМОЙ.

2.1 Логические элементы

Математической основой цифровой электроники и вычислительной техники является алгебра логики или булева алгебра (по имени английского математика Джона Буля).В булевой алгебре независимые переменные или аргументы (X) принимают только два значения: 0 или 1. Зависимые переменные или функции (Y) также могут принимать только одно из двух значений: 0 или 1. Функция алгебры логики (ФАЛ) представляется в виде:

Y = F (X1; X2; X3 ... XN ).

Данная форма задания ФАЛ называется алгебраической.

Основными логическими функциями являются:

- логическое отрицание (инверсия)

Y = ;

- логическое сложение (дизьюнкция)

Y = X1 + X2 или Y = X1 V X2 ;

- логическое умножение (коньюнкция)

Y = X1 X2 или Y = X1 X2 .

К более сложным функциям алгебры логики относятся:

- функция равнозначности (эквивалентности)

Y = X1 X2 + или Y = X1 X2 ;

- функция неравнозначности (сложение по модулю два)

Y = X1 + X2 или Y = X1 X2 ;

- функция Пирса (логическое сложение с отрицанием)

Y = ;

- функция Шеффера (логическое умножение с отрицанием)

Y = ;

Логический элемент - это электронное устройство, реализующее одну из логических операций. Логические элементы представляют собой электронные устройства, в которых обрабатываемая информация закодирована в виде двоичных чисел, отображаемых напряжением (сигналом) высокого и низкого уровня. Термин «логические» пришел в электронику из алгебры логики, оперирующей с переменными величинами и их функциями, которые могут принимать только два значения: «истинно» или «ложно». Для обозначения истинности или ложности высказываний используют соответственно символы 1 или 0. Каждая логическая переменная может принимать только одно значение: 1 или 0. Эти двоичные переменные и функции от них называются логическими переменными и логическими функциями. Устройства, реализующие логические функции, называются логическими или цифровыми устройствами. Условное графическое изображение цифрового устройства показана на рисунке 1. На входы устройства подают комбинации двоичных переменных Х1, Х2, …, Хn, с выхода снимают комбинации двоичных переменных Y1, Y2, …, Ym. Выходные и входные переменные связаны между собой логической функцией л.

Рис.2.1. - Условное графическое изображение цифрового устройства

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

Логические элементы классифицируют также по типу применяемых транзисторов. Наибольшее распространение получили ЛЭ на биполярных и МДП - транзисторах и МДП - транзисторах. Кроме того, интенсивно разрабатываются ЛЭ на арсенид - галлиевых МЕП и ГМЕП - транзисторах. Для каждого из перечисленных типов ЛЭ существует число схемотехнических и конструктивно - технологических разновидностей.

2.2 Логический элемент И

Логическая операция И для двух переменных А и В представляется как А•В=С, т. е. С=1 только в том случае , когда А=1 и В=1 (если А истинно и В истинно, тогда С истинно). Она обозначается точкой между двумя переменными А и В, которые обычно называют логическими переменными и соответственно этому цифровые операции называют логическими операциями. Схема, осуществляющая операцию И, называется элементом И. Утверждение «истинно» принято отождествлять с состоянием 1 и противоположное утверждение отождествлять с состоянием 0 в цифровой схеме. В соответствии с этим таблица для операции И, охватывающая все возможные комбинации переменных А и В и соответствующей переменной С, показана в таблице 1. для входных и одной выходной переменной. Она называется таблицей истинности или функциональной таблицей. Обобщить табл. 2.1. На большее число входных переменных. Согласно табл. 2.1. Выходная переменная С=1 (т.е. «С истинно» получается, только если А и В «истинно». Логически символ для элемента И и диодная логическая схема И для элемента с двумя входами и одним выходом показана на рис. 2.2, а и 2.2, б. Блок И обеспечивает логическую 1 на выходе, только если логически представлены все выходы. Такая схема может быть сравнима с системой последовательно включенных ключей (рис. 2.3).

Рис. 2.2 - Диодная логическая схема И

Таблица 2.1 - Функциональная таблица (таблица истинности) И

А

B

Q

0

0

0

1

0

0

0

1

0

1

1

1

Только если, как это показано на рис. 2.3, все ключи замкнуты (состояние 1), появляется выходное напряжение и включается индикатор. Более практичной формой для блока И является диодная схема, показанная на рис. 2.4. Используя положительное напряжение +V для состояния 1 и V=0 для состояния 0, видим, что схема обеспечивает на выходе состояние 1 для +V, только если на все входы подано напряжение +V, или 1. Любой вход при V=0 поддерживает выход в состоянии 0. В самом деле, диоды смещены в положительном направлении и выходное напряжение равно нулю, что означает, что выходное состояние есть 0. Если ко всем тем входам одновременно приложить положительное напряжение несколько больше чем V, то диоды становятся обратно смещенными и выходное напряжение возрастает до V, т. е. наступает состояние 1. Заметим, что если даже один вход находится в состоянии 0, т. е. на соответствующем диоде имеется прямое смещение, то выходной сигнал остается равным нулю. Это объясняется тем что нулевое напряжение на любом входе дает короткое замыкание выхода на землю. В логической форме это означает, что 0 на любом входе создает 0 на выходе.

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

Рис.2.3. - Цепочка последовательных ключей, схема И

а) б)

Рис.2.4 - а) диодная схема с тремя входами; ключей схемы логического И. б) ее символическое обозначение

Схема простейшего двухвходового элемента И на биполярных транзисторах приведена на рис. 2.5, а, а на рис. 2.5, б - диаграмма его работы. Элемент И называют иногда схемой совпадения, так как из диаграммы работы видно, что сигнал 1 на выходе появляется только в том случае, на обоих входах А и В одновременно действуют напряжения логической 1. Поскольку транзисторы VT1 и VT2 соединены последовательно, то ток в цепи может протекать только в случае, если одновременно открыты оба транзистора. Если открыт только один из транзисторов, то ток протекать не будет и напряжение на выходе будет нулевым. Таким образом, схема выполняет логическое умножение И в соответствии с функциональной таблицей И.

Схема логического элемента И в ТТЛ - варианте исполнения приведена на рис. 2.5, в. Особенность схемы - использование на входе многоэмиттерного транзистора VT1. Если на оба входа А и В поданы напряжения логического 0, то открыты оба перехода база -эмиттер транзистора VT1 и ток проходит только через них, не ответвляясь в переход база - коллектор. Вследствие этого транзистор VT2 закрыт и на выходе Q действует нулевое напряжение. Если на один из входов подается положительное напряжение логической 1, то соответствующий переход база - эмиттер транзистора VT1запирается. Однако основной переход база - коллектор не опирается, ибо конструкция многоэмиттерного транзистора (и режим работы) такова, что ток в цепи база - коллектор может протекать тогда, когда оказываются запертыми все переходы база - эмиттер. Таким образом, только при одновременной подаче на оба входа напряжения логической 1 отпирается переход база - коллектор транзистора VT1, что в свою очередь приводит к отпиранию транзистора VT2 появлению на выходе напряжения логической 1 в полном соответствии с правилом действия логического элемента И. МОП - вариант схемы логического элемента И приведен на рис. 2.5, г. Здесь, как и в предыдущих схемах, вместо сопротивления нагрузки используется МОП - транзистор с отпирающим напряжением на затворе.

а) б) в) г)

Рис.2.5. - Логический элемент И на биполярных транзисторах (а), диаграммы напряжений на его входах А, В я выходе Q (б); элемент И, выполненный на многоэмиттерном (б) и МОП-транзисторах (а)

2.3 Логический элемент ИЛИ

Логическое утверждение «Если А или В истинно, тогда Q истинно» записывается так А+В=Q, где знак «+» есть символ, обозначающий операцию ИЛИ. Соответствующая этому определению Функциональная табл. 2.2. показывает, что выход получается при наличии любого входного сигнала. Принципиальная схема двухвходового логического элемента ИЛИ в ТТЛ- исполнении приведена на рис. 2.6, а. В соответствии с правилами логического сложения, если на входах А и В действуют сигналы логических 0, переходы база - эмиттер транзисторов VT1 и VT4 открыты и через них протекает ток. При этом, очевидно, через переходы база - кол лектор в транзисторах VT1 и VT4 ток не протекает, вследствие чего закрыты транзисторы VT2 и VT3 и на их общем сопротивлении в цепи эмиттеров R2 нет падения напряжения, т.е. выходной сигнал Q соответствует логическому 0. Если на одном из входов А или В действует сигнал положительной полярности, соответствующий логической 1, то происходят запирание перехода база -- эмиттер транзистора VT1 (или VT4) и отпирание перехода база -- коллектор. Это приводит к отпиранию транзистора VT2 (или VT3) и появлению на резисторе R2 - на выходе Q -- почти полного напряжения источника питания (за вычетом падения напряжения в несколько десятых долей вольта на полностью открытом транзисторе VT2 или VT3). При подаче сигнала 1 на оба входа А и В открываются и оба выходных транзистора VT2 и VT3, что приводит к некоторому увеличению напряжения на выходе Q. Таким образом, рассмотренная электронная схема выполняет логическое сложение ИЛИ.

а) б)

Рис. 2.6. - Логический элемент ИЛИ, выполненный на биполярных (а) и И МОП-транзисторах (б)

Таблица 2.2 - Функциональная таблица (таблица истинности) ИЛИ

А

B

Q

0

0

0

1

0

1

0

1

1

1

1

1

Логический элемент ИЛИ на МОП-транзисторах может быть выполнен по схеме, приведенной на рис. 2.6, б. В этой схеме транзисторы VT1 и VT2 включаются при подаче на их затворы положительного напряжения логической 1 и выключаются, если действует напряжение логического 0. Транзистор VT3 используется вместо резистора и постоянно открыт, что приводит к потребле нию энергии питания, в то время когда открыты транзисторы VT1 и VT2.

2.4 Логический элемент НЕ

Это операция применяется в случаях, когда требуется иметь противоположные значения переменной. Противоположное значение переменной называется дополнением этой переменной Символически для НЕ оно обозначается чертой над соответствующей переменной величиной: А=Q.

Таблица 2.4 - Функциональная таблица (таблица истинности) НЕ

А

Q

0

1

1

0

В простейшем случае элемент НЕ инвертор - может быть выполнен на биполярном (или полевом) транзисторе с общим эмиттером (рис. 2.7, а). Когда на входе А действует сигнал 0, транзистор VT тока" не проводит и напряжение на выходе Q максимально, практически равно напряжению источника питания и соответствует сигналу 1. Если на входе действует положительное напряжение, соответствующее сигналу 1, транзистор VT (n - p - n-типа) отпирается, переходит в режим насыщения и напряжение на выходе Q снижается до уровня 0,1--0,3 В, соответствующее сигналу 0. Таким образом, схема инвертирует входной сигнал. У рассмотренной схемы НЕ много недостатков: малы быстродействие и нагрузочная способность и весьма низка помехоустойчивость. Поэтому на практике используют более сложные схемы. В частности, на рис. 2.7, б приведена схема инвертора семейства ТТЛ на основе многоэмиттерного транзистора VT1. При напряжении логического 0 на входе А создаются условия для протекания тока в транзисторе VT1 только в цепи перехода эмиттер-база (на рис. 2.7, б указаны два параллельно соединенных эмиттера, работающих как один), а переход коллектор-база закрыт, вследствие чего нет тока в цепи базы транзистора VT2 и он за перт. При этом на его кол лекторе имеется напряжение, близкое к напряжению источника питания. Это напряжение действует на базу транзистора VT3, что приводит к его полному отпиранию. В то же время транзистор VT4 заперт, поскольку на его базу не подается никакого напряжения, так как транзистор VT2 закрыт, ток через него не проходит, и на резисторе R2 нет напряжения (которое могло бы открыть транзистор VT4). Таким образом, поскольку транзистор VT3 открыт, а VT4 закрыт, на выходе Q действует положительное напряжение, близкое к напряжению источника питания, что соответствует логической 1. Если на вход А подается напряжение логической 1, то переход эмиттер - база транзистора VT1 запирается, но создаются условия для протекания тока через его переход коллектор - база и тем самым для протекания тока через базу транзистора VT2, что приводит к его отпиранию и переходу в режим насыщения. При этом транзистор VT3 запирается (так как на коллекторе VT2 действует слишком низкое напряжение), а транзистор VT4 отпирается, так как на его базу подается с резистора R2 напряжение в положительной полярности. Таким образом, через малое сопротивление открытого транзистора VT4 выход соединяется с общей шиной «землей» и напряжение на нем оказывается почти нулевым и схема работает как инвертор. Диод VD, включенный на вход А, защищает схему от перегрузки по входу.

Существенно повысить быстродействие инвертора и снизить расход энергии питания позволяет применение диодов Шоттки, включаемых параллельно переходу коллектор - база биполярного транзистора (рис. 2.7, в). Такое соединение называется транзистором Шоттки и обозначается в электронных схемах, как показано на рис. 2.7, в. Среднее время задержки сигналов в логических элементах ТТЛШ порядка 1,5 нс при средней потребляемой мощности около 20 мВт на один логический элемент.

Применение МОП-транзисторов позволяет почти в 10 раз увеличить число активных элементов на кристалле интегральной микросхемы и более чем в 103 раз уменьшить потребление энергии питания по сравнению с биполярными транзисторами. Однако почти в 10--20 раз уменьшается быстродействие (в первую очередь, из-за больших емкостей на входе и выходе транзисторов и очень высоких входных сопротивлений).

Инвертор на МОП-транзисторах с n-каналами может быть выполнен по схеме, приведенной на рис. 2.8, а. Транзистор VT1, на затвор которого подается напряжение в отпирающей полярности, выполняет роль резистора (сопротивление которого может быть сделано любым - в пределах от сотен Омов до сотен кило-Омов - в зависимости от технологии изготовления и напряжения на затворе). Если на входе А действует сигнал 0, то транзистор VT2 закрыт и напряжение на выходе Q практически равно напряжению источника питания, т.е. соответствует напряжению логической 1. Когда на вход А действует положительное напряжение, соответствующее напряжению логической 1, то транзистор VT2 открывается (его сопротивление при этом составляет всего 300 - 500 Ом) и напряжение на выходе Q становится весьма малым (десятые доли-единицы вольт), что соответствует логическому 0. Существенное повышение быстродействия (и снижение потребления энергии питания) достигается при использовании комплиментарной пары КМОП-транзисторов.

Схема КМОП-инвертора приведена на рис. 2.8, б. Если на входе А схемы действует напряжение логического нуля, то транзистор VT1, имеющий р-канал, полностью открыт, поскольку его затвор при этом соединен с общим проводом и поэтому на него подается напряжение в отпирающей полярности относительно истока, соединенного с плюсом источника питания. Транзистор VT2 имеющий n-канал, заперт, вследствие чего напряжение на выходе Q максимально и соответствует напряжению логической 1. Когда на вход А подается положительное напряжение логической 1, то транзистор VT1 запирается, а транзистор VT2 полностью отпирается, вследствие чего напряжение на входе Q становится нулевым. Быстродействие этой схемы по сравнению с предыдущей существенно увеличивается благодаря тому, что заряд-перезаряд паразитных емкостей происходит через весьма малые сопротивления полностью открытых транзисторов VT1 и VT2. Потребление энергии питания снижается до уровня десятых долей микроватта на один элемент потому, что схема потребляет ток, в сущности, только во время переключения, когда один транзистор открывается, другой закрывается. В остальное время -- при 0 или 1 -- всегда один из транзисторов закрыт и ток от источника питания не потребляется.

Рис. 2.7. - Логический элемент НЕ, выполненный на обычном биполярном транзисторе (а); многоэмиттерном транзисторе с дополнительным усилителем (б); Транзистор Шоттки и его условное графическое изображение в электронных схемах (в).

Рис. 2.8. - Логический элемент НЕ, выполненный на МОП-транзисторах с n-каналом (а), комплиментарной паре МОП-транзисторов с n- и р-каналами (б)

2.5 Логический элемент И - НЕ

Более универсален элемент И-НЕ, позволяющий одновременно с операцией логического умножения выполнить и отрицание, тем более что в большинстве случаев это не усложняет схемы. Например, на рис. 2.9, а приведен МОП-вариант схемы логического элемента И-НЕ. Транзистор VT1 используется вместо сопротивления нагрузки и постоянно открыт, ибо на его затвор подается напряжение в отпирающей полярности. Если на затворы транзисторов VT2 и VT3 поданы напряжения логического 0, то они за перты, тока не проводят и на выходе Q действует почти полное напряжение питания, т. е. напряжение логической 1. Если по дается напряжение логической 1 только на один из входов А или В, то состояние схемы не изменяется и напряжение на выходе остается неизменным. Однако, если на оба входа действуют напряжения логических 1, то оба транзистора VT2 и VT3 отпираются, их внутреннее сопротивление уменьшается (до 500 - 1000 Ом) и напряжение на выходе Q также становится весьма малым, т. е. на выходе действует логический 0 - в полном соответствии с таблицей истинности И-НЕ (табл. 2.4.).

Таблица 2.4 - Функциональная таблица (таблица истинности) И-НЕ

А

B

Q

0

0

1

1

0

1

0

1

1

1

1

0

Недостаток схемы - при подаче на входы A и В одновременно напряжений логических 1 схема потребляет ток от источника питания. Если же элемент И-НЕ выполнен на КМОП-транзисторах, то этого не происходит. В частности, на рис. 2.9, б дается схема подобного элемента. Транзисторы VT1 и VT2 имеют р-каналы, вследствие чего, когда на их затворах (входах A, В) действуют сигналы логических 0, они полностью открыты и на выходе Q имеется положительное напряжение логической 1. При этом транзисторы VT3 и VT4 полностью заперты, ибо имеют n-каналы. Когда на оба входа A, В одновременно действуют положительные напряжения логических 1, транзисторы VT1 и VT2 запираются и напряжение с выхода Q снимается. При этом транзисторы VT3 и VT4 отпираются и выход оказывается соединенным с общим проводом через малое сопротивление (500 - 1000 Ом). Если на одном из входов действует напряжение логического 0, а на другом - напряжение логической 1, то один из транзисторов с р - каналом (VT1 или VT2) запирается, но другой остается открытым, и поскольку они включены параллельно, на выходе остается напряжение логической 1.

При этом один из транзисторов с n-каналом (VT3 или VT4) оказывается открытым; другой - закрытым, и, поскольку они включены последовательно, шунтирования выхода Q малым сопротивлением не происходит и напряжение на выходе оказывается высоким. Таким образом, сама схема тока не потребляет (разве что в те мгновения, когда происходит процесс ее переключения -- но это, в среднем, доли микроватта). ТТЛ-вариант схемы логического элемента И-НЕ дан на рис. 5, в. Из рассмотрения рисунка вполне очевидно, что схема представляет собой стандартный элемент И (рис. 2.5, в), к которому добавлен выходной стандартный усилитель -- от инвертора (см. рис. 2.7, б). Условные изображения логического элемента И-НЕ показана на рис. 2.9, г.

2.6 Логические элементы ИЛИ-НЕ

Изменив схему логического элемента ИЛИ на МОП-транзисторах возможно получить новый, более универсальный элемент ИЛИ-НЕ, осуществляющий одновременно с логическим сложением ИЛИ и логическое отрицание (инверсию) НЕ. Для этого активные элементы должны быть использованы не в режиме повторителей (как в схеме рис. 2.6, б), а в режиме усилителей-инверторов, что легко достигается перенесением общего сопротивления нагрузки из цепи истоков в цепь стоков. На рис. 2.10, а приведена такая схема логического элемента ИЛИ-НЕ. При сигналах логического 0 на входах А и В транзисторы VT2 и VT3 заперты, а поскольку транзистор VT1 постоянно открыт и играет роль сопротивления нагрузки, то на выходе Q действует положительное напряжение логической 1. Если на одном из входов А или В (или одновременно на двух) действует положительное, напряжение, соответствующее логической 1, то транзистор VT2 или VT3 или оба вместе оказываются открытыми и напряжение на выходе Q снижается до нескольких десятых долей-единиц вольт, т. е. до уровня напряжения логического 0.

Существенно снизить потребление энергии питания и увели чить быстродействие позволяет использование КМОП-транзисторов. В частности, на рис. 2.10, б приведена схема такого вида. Транзисторы VT1 и VT2 имеют р-каналы и открываются, если на их затворы подается напряжение логического 0 (так как на их затворы, соединенные с плюсом источника питания, подается отрицательное напряжение в отпирающей полярности). При этом транзисторы VT3 и VT4, имеющие n-каналы, оказываются запертыми и напряжение на выходе Q близко к напряжению источника питания, т. е. к напряжению логической 1.

Рис. 2.9. - Логический элемент И-НЕ, выполненный на МОП-транзисторах с га-каналами (а), многоэмиттерном биполярном транзисторе и дополнительном усилителе (б), комплементарных МОП-транзисторах (в) и условные графические обозначения элементов ИЛИ-НЕ и И-НЕ в электронных схемах (г)

Если хотя бы на одном из входов действует напряжение логической 1, то один из транзисторов VT1 или VT2 закрывается, а поскольку они соединены последовательно, схема отключается от источника питания и на вы ходе Q напряжение равно 0. В добавление к этому открывается один из транзисторов VT3 или VT4 (включенных параллельно) и выход соединяется с общим проводом через весьма малое сопротивление 100--300 Ом. Таким образом, элемент действует в полном соответствии с таблицей истинности ИЛИ-НЕ (табл. 5.). Следует отметить, что схема чрезвычайно экономична и потребляет ток только в очень краткие мгновения, во время переключения, когда одни транзисторы открываются, а другие еще не успели закрыться.

Таблица 2.5 - Функциональная таблица (таблица истинности) ИЛИ-НЕ

А

B

Q

0

0

1

1

0

0

0

1

0

1

1

0

ТТЛ-вариант конструктивного исполнения схемы ИЛИ-НЕ на биполярных транзисторах приведен на рис. 2.10, в. Из рассмотрения рисунка видно, что схема объединяет в себе двухвходовый элемент ИЛИ (рис. 2.6, а) и инвертор НЕ (см. рис. 2.7, б). Если на входах А и В действуют напряжения логических 0, то переходы база - эмиттер транзисторов VT1 и VT4 открыты и через них протекает ток, минуя переходы база - коллектор. Вследствие этого заперты суммирующие транзисторы VT2 и VT3. Поэтому на базу транзистора VT5 через резистор R4 подается напряжение питания, полностью его отпирающее, в результате чего на выход Q поступает положительное напряжение, соответствующее логической 1.

Транзистор VT6, включенный параллельно выходу Q, при этом заперт и тока не проводит, ибо на его базу не подается напряжение (с резистора R2). Если хотя бы на одном из входов А или В действует напряжение логической 1, один из суммирующих транзисторов VT2 или VT3 отпирается, напряжение в точке соединения их коллекторов резко падает, что приводит к запиранию транзистора VT5 и на вход перестает поступать положительное напряжение. При этом оказывается открытым транзистор VT6 шунтирующий своим малым сопротивлением выход, поскольку на его базу начинает подаваться напряжение, снимаемое с резистора R2, включенного в цепь эмиттеров суммирующих транзисторов VT2, VT3 (один из которых проводит ток). Таким образом, схема работает в полном соответствии с табл. 5. Условное изображения логического элемента ИЛИ-НЕ дана на рис. 2.9, г.

Рис. 2.10. Логические элементы ИЛИ-НЕ, выполненные на биполярных транзисторах (а), МОП-транзисторах с n-каналами (б), комплиментарных парах МОП-транзисторов (в)

В рассмотренных схемах логических элементов для упрощения показывалось, как правило, лишь два входа. Это совсем не означает, что в реальных схемах их только два - их может быть значительно больше, до 8-10. И есть специальные устройства - расширители, которые позволяют увеличить число входов. Однако в случае необходимости можно увеличить число входов элементов И-НЕ или ИЛИ-НЕ способом наращивания, объединяя последовательно-параллельно несколько отдельных микросхем с меньшим числом входов. При этом может возникнуть проблема: что делать с оставшимися свободными входами? Если применены элементы И в ТТЛ-исполнении, то все свободные входы надо соединить вместе и подключить через резистор в 1 - 2 кОм к плюсу источника питания (+5 В). Свободные входы можно соединить с используемыми, но это не всегда желательно, ибо увеличивается нагрузка на источник сигнала. В МОП и КМОП-схемах И свободные входы можно соединять непосредственно с плюсом источника питания.

Несколько сложнее наращивание в случае элементов ИЛИ-НЕ, И-НЕ, где приходится использовать дополнительные инверторы.

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

Все логические элементы выпускаются в виде микросхем в интегральном исполнении и маркируются стандартным семиэлементным кодом. При этом третий элемент маркировки -- две буквы -- обозначает: ЛИ -- элемент И; ЛН -- элемент НЕ; ЛЛ -- элемент ИЛИ; ЛА -- элемент И-НЕ; ЛЕ -- элемент ИЛИ-НЕ; ЛС -- элемент И-ИЛИ; ЛБ -- элемент И-НЕ/ИЛИ-НЕ; ЛР -- элемент И-ИЛИ-НЕ; Л К -- элемент И-ИЛИ-НЕ/И-ИЛИ; ЛМ-- элемент ИЛИ-НЕ/ИЛИ; ЛД -- расширители; ЛП -- прочие типы элементов (в том числе исключающее ИЛИ); ХЛ -- многофункциональные элементы.

3. ИФОРМАЦИОННО-СПРАВОЧНАЯ ПОДСИСТЕМА

3.1 Основные положения

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

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

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

· первая нормальная форма (1NF);

· вторая нормальная форма (2NF);

· третья нормальная форма (3NF);

· нормальная форма Бойса-Кодда (BCNF);

· четвертая нормальная форма (4NF);

· пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм:

· каждая следующая нормальная форма в некотором смысле лучше предыдущей;

· при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

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

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

Определение 1. Функциональная зависимость

В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y.

Определение 2. Полная функциональная зависимость

Функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X.

Определение 3. Транзитивная функциональная зависимость

Функциональная зависимость R.X (r) R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X (r) R.Z и R.Z (r) R.Y и отсутствует функциональная зависимость R.Z --> R.X. (При отсутствии последнего требования мы имели бы "неинтересные" транзитивные зависимости в любом отношении, обладающем несколькими ключами.)

Определение 4. Неключевой атрибут

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

Определение 5. Взаимно независимые атрибуты

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

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

Рассмотрим следующий пример схемы отношения:

СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ (СОТР_НОМЕР, СОТР_ЗАРП, ОТД_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

Первичный ключ:

СОТР_НОМЕР, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР (r) СОТР_ЗАРП

СОТР_НОМЕР (r) ОТД_НОМЕР

ОТД_НОМЕР (r) СОТР_ЗАРП

СОТР_НОМЕР, ПРО_НОМЕР (r) СОТР_ЗАДАН

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

Определение 6. Вторая нормальная форма (в этом определении предполагается, что единственным ключом отношения является первичный ключ)

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

Можно произвести следующую декомпозицию отношения СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ в два отношения СОТРУДНИКИ-ОТДЕЛЫ и СОТРУДНИКИ-ПРОЕКТЫ:

СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, СОТР_ЗАРП, ОТД_НОМЕР)

Первичный ключ: СОТР_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР (r) СОТР_ЗАРП

СОТР_НОМЕР (r) ОТД_НОМЕР

ОТД_НОМЕР (r) СОТР_ЗАРП

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

Первичный ключ: СОТР_НОМЕР, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР, ПРО_НОМЕР (r) CОТР_ЗАДАН

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

Если допустить наличие нескольких ключей, то определение 6 примет следующий вид:

Определение 6~

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

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

3.1.2 Третья нормальная форма

Рассмотрим еще раз отношение СОТРУДНИКИ-ОТДЕЛЫ, находящееся в 2NF. Заметим, что функциональная зависимость СОТР_НОМЕР (r) СОТР_ЗАРП является транзитивной; она является следствием функциональных зависимостей СОТР_НОМЕР (r) ОТД_НОМЕР и ОТД_НОМЕР (r) СОТР_ЗАРП. Другими словами, заработная плата сотрудника на самом деле является характеристикой не сотрудника, а отдела, в котором он работает (это не очень естественное предположение, но достаточное для примера).

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

Определение 7. Третья нормальная форма. (Снова определение дается в предположении существования единственного ключа.)

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

Можно произвести декомпозицию отношения СОТРУДНИКИ-ОТДЕЛЫ в два отношения СОТРУДНИКИ и ОТДЕЛЫ:

СОТРУДНИКИ (СОТР_НОМЕР, ОТД_НОМЕР)

Первичный ключ: СОТР_НОМЕР

Функциональные зависимости: СОТР_НОМЕР (r) ОТД_НОМЕР

ОТДЕЛЫ (ОТД_НОМЕР, СОТР_ЗАРП)

Первичный ключ: ОТД_НОМЕР

Функциональные зависимости: ОТД_НОМЕР (r) СОТР_ЗАРП

Каждое из этих двух отношений находится в 3NF и свободно от отмеченных аномалий.

Если отказаться от того ограничения, что отношение обладает единственным ключом, то определение 3NF примет следующую форму:

Определение 7~

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

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

3.1.3 Нормальная форма Бойса-Кодда

Рассмотрим следующий пример схемы отношения:

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, СОТР_ИМЯ, ПРО_НОМЕР, СОТР_ЗАДАН)

Возможные ключи: СОТР_НОМЕР, ПРО_НОМЕР СОТР_ИМЯ, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР (r) CОТР_ИМЯ

СОТР_НОМЕР (r) ПРО_НОМЕР

СОТР_ИМЯ (r) CОТР_НОМЕР

СОТР_ИМЯ (r) ПРО_НОМЕР

СОТР_НОМЕР, ПРО_НОМЕР (r) CОТР_ЗАДАН

СОТР_ИМЯ, ПРО_НОМЕР (r) CОТР_ЗАДАН

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

В соответствии с определением 7~ отношение СОТРУДНИКИ-ПРОЕКТЫ находится в 3NF. Однако тот факт, что имеются функциональные зависимости атрибутов отношения от атрибута, являющегося частью первичного ключа, приводит к аномалиям. Например, для того, чтобы изменить имя сотрудника с данным номером согласованным образом, нам потребуется модифицировать все кортежи, включающие его номер.

Определение 8. Детерминант

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

Определение 9. Нормальная форма Бойса-Кодда

Отношение R находится в нормальной форме Бойса-Кодда (BCNF) в том и только в том случае, если каждый детерминант является возможным ключом.

Очевидно, что это требование не выполнено для отношения СОТРУДНИКИ-ПРОЕКТЫ. Можно произвести его декомпозицию к отношениям СОТРУДНИКИ и СОТРУДНИКИ-ПРОЕКТЫ:

СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ)

Возможные ключи: СОТР_НОМЕР, СОТР_ИМЯ

Функциональные зависимости:

СОТР_НОМЕР (r) CОТР_ИМЯ

СОТР_ИМЯ (r) СОТР_НОМЕР

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН)

Возможный ключ: СОТР_НОМЕР, ПРО_НОМЕР

Функциональные зависимости:

СОТР_НОМЕР, ПРО_НОМЕР (r) CОТР_ЗАДАН

Возможна альтернативная декомпозиция, если выбрать за основу СОТР_ИМЯ. Получаемые отношения СОТРУДНИКИ и СОТРУДНИКИ-ПРОЕКТЫ находятся в BCNF, и им не свойственны отмеченные аномалии.

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

Рассмотрим пример следующей схемы отношения:

ПРОЕКТЫ (ПРО_НОМЕР,ПРО_СОТР, ПРО_ЗАДАН)

Отношение ПРОЕКТЫ содержит номера проектов, для каждого проекта список сотрудников, которые могут выполнять проект, и список заданий, предусматриваемых проектом. Сотрудники могут участвовать в нескольких проектах, и разные проекты могут включать одинаковые задания.

Каждый кортеж отношения связывает некоторый проект с сотрудником, участвующим в этом проекте, и заданием, который сотрудник выполняет в рамках данного проекта (я предполагаю, что любой сотрудник, участвующий в проекте, выполняет все задания, предусмотренные этим проектом). По причине сформулированных выше условий единственным возможным ключем отношения является составной атрибут ПРО_НОМЕР, ПРО_СОТР, ПРО_ЗАДАН, и нет никаких других детерминантов. Следовательно, отношение ПРОЕКТЫ находится в BCNF. Но при этом оно обладает недостатками: если, например, некоторый сотрудник присоединяется к данному проекту, необходимо вставить в отношение ПРОЕКТЫ столько кортежей, сколько заданий в нем предусмотрено.

Определение 10. Многозначные зависимости

В отношении R (A, B, C) существует многозначная зависимость R.A (r) (r) R.B в том и только в том случае, если множество значений B, соответствующее паре значений A и C, зависит только от A и не зависит от С. В отношении ПРОЕКТЫ существуют следующие две многозначные зависимости:

ПРО_НОМЕР (r) (r) ПРО_СОТР и ПРО_НОМЕР (r) (r) ПРО_ЗАДАН

Легко показать, что в общем случае в отношении R (A, B, C) существует многозначная зависимость R.A (r) (r) R.B в том и только в том случае, когда существует многозначная зависимость R.A (r) (r) R.C.

Дальнейшая нормализация отношений, подобных отношению ПРОЕКТЫ, основывается на следующей теореме:

Теорема Фейджина: отношение R (A, B, C) можно спроецировать без потерь в отношения R1 (A, B) и R2 (A, C) в том и только в том случае, когда существует MVD A (r) (r) B | C.

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

Определение 11. Четвертая нормальная форма

Отношение R находится в четвертой нормальной форме (4NF) в том и только в том случае, если в случае существования многозначной зависимости A (r) (r) B все остальные атрибуты R функционально зависят от A.

В нашем примере можно произвести декомпозицию отношения ПРОЕКТЫ в два отношения ПРОЕКТЫ-СОТРУДНИКИ и ПРОЕКТЫ-ЗАДАНИЯ:

ПРОЕКТЫ-СОТРУДНИКИ (ПРО_НОМЕР, ПРО_СОТР)

ПРОЕКТЫ-ЗАДАНИЯ (ПРО_НОМЕР, ПРО_ЗАДАН)

Оба эти отношения находятся в 4NF и свободны от отмеченных аномалий.

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

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

Рассмотрим, например, отношение

СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ (СОТР_НОМЕР, ОТД_НОМЕР, ПРО_НОМЕР)

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

Поэтому отношение находится в 4NF. Однако в нем могут существовать аномалии, которые можно устранить путем декомпозиции в три отношения.

Определение 12. Зависимость соединения

Отношение R (X, Y, ..., Z) удовлетворяет зависимости соединения * (X, Y, ..., Z) в том и только в том случае, когда R восстанавливается без потерь путем соединения своих проекций на X, Y, ..., Z.

Определение 13. Пятая нормальная форма

Отношение R находится в пятой нормальной форме (нормальной форме проекции-соединения - PJ/NF) в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R.

Введем следующие имена составных атрибутов:

СО = {СОТР_НОМЕР, ОТД_НОМЕР}

СП = {СОТР_НОМЕР, ПРО_НОМЕР}

ОП = {ОТД_НОМЕР, ПРО_НОМЕР}

Предположим, что в отношении СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ существует зависимость соединения: * (СО, СП, ОП)

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

СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, ОТД_НОМЕР)

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР)

ОТДЕЛЫ-ПРОЕКТЫ (ОТД_НОМЕР, ПРО_НОМЕР)

Пятая нормальная форма - это последняя нормальная форма, которую можно получить путем декомпозиции. Ее условия достаточно нетривиальны, и на практике 5NF не используется. Заметим, что зависимость соединения является обобщением как многозначной зависимости, так и функциональной зависимости.

3.2 Семантическое моделирование данных, er-диаграммы

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

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

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.