Предположим сначала, что значения всех атрибутов являются элементами данных и приведем полученные таблицы к 2НФ и 3НФ.
В таблицах RL, RT, RR, RO первичный ключ состоит из одного атрибута, поэтому эти таблицы находятся во 2НФ.
В таблице RL_RS все атрибуты входят в первичный ключ, между атрибутами отсутствуют ФЗ, и в таблице отсутствуют не ключевые атрибуты, поэтому эта таблица находится в 3НФ.
В таблице RA имеется ФЗ не ключевых атрибутов RA03, RA04, …, RA19 от атрибута RA02, входящего в первичный ключ, следовательно, эта таблица не находится во 2НФ. Для приведения таблицы к 2НФ требуется выделить в отдельную таблицу RA_RA02 атрибуты RA02, RA03, RA04, …, RA19. Между таблицами RA_RA02 и RA имеется идентифицирующая связь «один ко многим», которая помечается вербальной фразой «входит». Обратная фраза – «имеет».
Рисунок 3.15 – Начальная логическая структура базы данных
Таблица 3.7 – Атрибуты таблицы RA_RA02
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RA02 | Э | VARCHAR(255) | Да | PK | Наименование модели антенны |
RA03 | Э | VARCHAR(255) | Да | Вид антенны (полуволновой вибратор, рефлекторная угловая и т. п.) | |
RA04 | Э | DECIMAL(12,6) | Да | Минимальная рабочая частота в МГц | |
RA05 | Э | DECIMAL(12,6) | Да | Максимальная рабочая частота в МГц | |
RA06 | Э | DECIMAL(5,1) | Да | Минимальная высота электрического центра в м | |
RA07 | Э | DECIMAL(5,1) | Да | Максимальная высота электрического центра в м | |
RA08 | Э | DECIMAL(4,1) | Да | Усиление относительно изотропной антенны в дБ | |
RA09 | Э | CHAR(14) | Да | Поляризация (горизонтальная, вертикальная, эллиптическая) | |
RA10 | Э | DECIMAL(3,1) | Угол эллиптической поляризации в градусах | ||
RA11 | Э | DECIMAL(3,1) | Да | Ослабление в фидере в дБ | |
RA12 | Э | DECIMAL(3,1) | Да | Положение главного лепестка в вертикальной плоскости в градусах | |
RA13 | Э | DECIMAL(3,1) | Да | Ослабление по боковым лепесткам в дБ | |
RA14 | Э | CHAR(13) | Да | Тип диаграммы направленности в горизонтальной плоскости (направленная, круговая) | |
RA15 | Э | DECIMAL(3,1) | Половина ширины основного лепестка направленной антенны в горизонтальной плоскости в градусах | ||
RA16 | Э | INTEGER | Количество основных лепестков в горизонтальной плоскости | ||
RA17 | Э | CHAR(13) | Да | Тип диаграммы направленности в вертикальной плоскости (направленная, круговая) | |
RA18 | Э | DECIMAL(3,1) | Половина ширины основного лепестка направленной антенны в вертикальной плоскости в градусах | ||
RA19 | Э | INTEGER | Количество основных лепестков в вертикальной плоскости |
В таблице RS имеется ФЗ не ключевых атрибутов RS03, RS04, RS05 от атрибута RS02, входящего в первичный ключ, следовательно, эта таблица не находится во 2НФ. Для приведения таблицы к 2НФ требуется выделить в отдельную таблицу RS_RS02 атрибуты RS02, RS03, RS04, RS05. Между таблицами RS_RS02 и RS имеется идентифицирующая связь «один ко многим», которая помечается вербальной фразой «входит». Обратная фраза – «имеет».
Таблица 3.8 – Атрибуты таблицы RS_RS02
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RS02 | Э | VARCHAR(255) | Да | PK | Наименование модели РС |
RS03 | Э | VARCHAR(32) | Да | Тип РС (радиостанция, передатчик, приемник или радиорелейная станция) | |
RS04 | Э | CHAR(8) | Да | Режим работы РС (симплекс или дуплекс) | |
RS05 | ПГ | VARCHAR(255) | Да | Виды модуляции РС. ПГ: вид модуляции (RS0501), нижняя частота модуляции (RS0502), верхняя частота модуляции (RS0503) |
В таблицах RL, RT, RR, RO, RL_RS, RA_RA02, RS_RS02 все не ключевые атрибуты зависят только от первичных ключей, поэтому эти таблицы находятся в 3НФ.
Таблицы RS_RS02, RT и RR имеют одинаковые первичные ключи, поэтому их можно объединить в одну таблицу, например, в таблицу RS_RS02. В этой таблице атрибуты RS02, RS03, RS04, RS05 будут обязательными. Не ключевые атрибуты таблицы RT будут присутствовать в новой таблице, если модель радиосредства имеет передающую часть. Не ключевые атрибуты таблицы RR будут присутствовать в новой таблице, если модель радиосредства имеет приемную часть. Поэтому все атрибуты таблиц RT и RR в новой таблице RS_RS02 должны быть объявлены не обязательными.
В результате будет получена нормализованная логическая структура БД, показанная на рисунке 3.16. В ней все таблицы находятся в 3НФ (в предположении, что значения всех атрибутов являются элементами данных).
Для приведения полученных таблиц БД к 1НФ следует удалить атрибуты, значения которых не являются элементами данных.
В таблице RL атрибут RL08 заменяется подчиненной таблицей RL_RL08. Атрибут RL09 заменяется таблицей RL_RL09, подчиненной таблице RL_RL08. Атрибут RL10 заменяется таблицей RL_RL10, подчиненной таблице RL_RL08.
Таблица 3.9 – Атрибуты таблицы RL_RL08
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RL01 | Э | VARCHAR(255) | Да | PK | Наименование РЛ |
RL0801 | Э | VARCHAR(255) | Да | PK | Наименование варианта присвоения |
RL0802 | Э | DATETIME | Да | Дата начала действия варианта | |
RL0803 | Э | DATETIME | Да | Дата окончания действия варианта |
Таблица RL_RL08 имеет первичный ключ, состоящий из атрибутов RL01 и RL0801. Других ФЗ между атрибутами таблицы нет.
Таблица 3.10 – Атрибуты таблицы RL_RL09
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RL01 | Э | VARCHAR(255) | Да | PK | Наименование РЛ |
RL0801 | Э | VARCHAR(255) | Да | PK | Наименование варианта присвоения |
RL0902 | Э | INTEGER | Да | PK | Номер частоты, присвоенной на передачу |
RL0903 | Э | DECIMAL(12,6) | Да | Частота, присвоенная на передачу в МГц |
Рисунок 3.16 – Нормализованная логическая структура базы данных
Таблица RL_RL09 имеет первичный ключ, состоящий из атрибутов RL01, RL0801 и RL0902. Других ФЗ между атрибутами таблицы нет.
Таблица 3.11 – Атрибуты таблицы RL_RL10
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RL01 | Э | VARCHAR(255) | Да | PK | Наименование РЛ |
RL0801 | Э | VARCHAR(255) | Да | PK | Наименование варианта присвоения |
RL1002 | Э | INTEGER | Да | PK | Номер частоты, присвоенной на прием |
RL1003 | Э | DECIMAL(12,6) | Да | Частота, присвоенная на прием в МГц |
Таблица RL_RL10 имеет первичный ключ, состоящий из атрибутов RL01, RL0801 и RL1002. Других ФЗ между атрибутами таблицы нет.
В таблице RS_RT_RR атрибут RS05 заменяется подчиненной таблицей RS_RS05.
Таблица 3.12 – Атрибуты таблицы RS_RS05
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RS02 | Э | VARCHAR(255) | Да | PK | Наименование модели РС |
RS0501 | Э | VARCHAR(255) | Да | PK | Вид модуляции РС |
RS0502 | Э | DECIMAL(10,3) | Да | Нижняя частота модуляции в кГц | |
RS0503 | Э | DECIMAL(10,3) | Да | Верхняя частота модуляции в кГц |
Таблица RS_RS05 имеет первичный ключ, состоящий из атрибутов RS02, RS0501. Других ФЗ между атрибутами таблицы нет.
В таблице RS_RT_RR атрибуты RT07, RT09 заменяются подчиненными таблицами RT_RT07, RT_RT09.Атрибут RT08 заменяется таблицей RT_RT08, подчиненной таблице RT_RT07.
Таблица 3.13 – Атрибуты таблицы RT_RT07
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RS02 | Э | VARCHAR(255) | Да | PK | Наименование модели РС |
RT0701 | Э | VARCHAR(255) | Да | PK | Вид модуляции РС |
RT0702 | Э | DECIMAL(4,1) | Да | Уровень ослабления в дБ | |
RT0703 | Э | DECIMAL(10,3) | Да | Ширина полосы излучения в кГц |
Таблица RT_RT07 имеет первичный ключ, состоящий из атрибутов RS02, RT0701. Других ФЗ между атрибутами таблицы нет.
Таблица 3.14 – Атрибуты таблицы RT_RT08
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RS02 | Э | VARCHAR(255) | Да | PK | Наименование модели РС |
RT0701 | Э | VARCHAR(255) | Да | PK | Вид модуляции РС |
RT0802 | Э | DECIMAL(10,3) | Да | PK | Отстройка в кГц |
RT0803 | Э | DECIMAL(4,1) | Да | Ослабление мощности в дБ |
Таблица RT_RT08 имеет первичный ключ, состоящий из атрибутов RS02, RT0701, RT0802. Других ФЗ между атрибутами таблицы нет.
Таблица 3.15 – Атрибуты таблицы RT_RT09
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RS02 | Э | VARCHAR(255) | Да | PK | Наименование модели РС |
RT0901 | Э | INTEGER | Да | PK | Номер гармоники |
RT0902 | Э | DECIMAL(4,1) | Да | Ослабление излучения в дБ |
Таблица RT_RT09 имеет первичный ключ, состоящий из атрибутов RS02, RT0901. Других ФЗ между атрибутами таблицы нет.
В таблице RS_RT_RR атрибут RR08 заменяются подчиненной таблицей RR_RR08. Атрибут RR09 заменяется таблицей RR_RR09, подчиненной таблице RR_RR08.
Таблица 3.16 – Атрибуты таблицы RR_RR08
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RS02 | Э | VARCHAR(255) | Да | PK | Наименование модели РС |
RR0801 | Э | VARCHAR(255) | Да | PK | Вид модуляции РС |
RR0802 | Э | DECIMAL(4,1) | Да | Уровень ослабления чувствительности в дБ | |
RR0803 | Э | DECIMAL(10,3) | Да | Ширина полосы пропускания в кГц | |
RR0804 | Э | DECIMAL(4,1) | Да | Чувствительность в дБВт | |
RR0805 | Э | DECIMAL(4,1) | Да | Отношение сигнал/помеха в дБ | |
RR0806 | Э | DECIMAL(4,1) | Да | Защитное отношение в дБ |
Таблица RR_RR08 имеет один первичный ключ, состоящий из атрибутов RS02, RR0801. Других ФЗ между атрибутами таблицы нет.
Таблица 3.17 – Атрибуты таблицы RR_RR09
Имя | Признак элемента | Тип и формат | Признак обяз. | Признак ключа | Наименование атрибута |
RS02 | Э | VARCHAR(255) | Да | PK | Наименование модели РС |
RR0801 | Э | VARCHAR(255) | Да | PK | Вид модуляции РС |
RR0902 | Э | DECIMAL(10,3) | Да | PK | Отстройка в кГц |
RR0903 | Э | DECIMAL(4,1) | Да | Ослабление чувствительности в дБ |
Таблица RR_RR09 имеет первичный ключ, состоящий из атрибутов RS02, RR0801, RR0902. Других ФЗ между атрибутами таблицы нет.
В результате будет получена логическая структура БД, показанная на рисунке 3.17. В ней все таблицы находятся в 3НФ.
Рисунок 3.17 – Логическая структура БД с таблицами в 3НФ