
- •Архітектура систем з базами даних
- •Інформаційне моделювання предметних середовищ
- •Ієрархічна, мережна та реляційна моделі даних
- •Операції реляційної алгебри та їх реалізація на мові sql.
- •Операции над множествами.
- •Специальные реляционные операции.
- •Мова запитів sql. Операція вибірки select.
- •Вкладені та корельовані підзапити в мові sql, агрегатні функції та квантори.
- •Операції модифікації даних у мові sql: update, insert, delete.
- •Теорія нормалізації. Функціональна залежність між атрибутами. Аномалії модифікації у ненормалізованій бд. Переваги нормальних форм. Способи одержання нормальних форм.
- •Моделі взаємодії в архітектурі “клієнт-сервер” та субд, що їх підтримують.
- •Проблеми одночасного доступу користувачів до бд та використання транзакцій.
- •Інтерфейси доступу до бд з різних програмних середовищ.
- •Характеристика сучасних реляційних субд.
- •Еталонна модель взаємодії відкритих систем.
- •Організація доступу до спільного середовища передачі даних csma/cd
- •Стандарти мережі Ethernet на мідному кабелі.
- •Стандарти мережі Ethernet на оптоволоконному кабелі.
- •Організація бездротових комп'ютерних мереж та їх стандарти.
- •Об’єднання сегментів у мережі Ethernet за допомогою концентраторів, комутаторів та маршрутизаторів.
- •Структура та робота комутатора в мережах Ethernet.
- •Інтелектуальні комутатори та віртуальні лом на їх основі.
- •Класифікація лом у відповідності з ieee 802.
- •Аналіз функціонування обчислювальних мереж. Можливості мережних аналізаторів.
- •Призначення та можливості протоколів сімейства tcp/ip.
- •Мережні транспортні протоколи: ipx/spx, NetBios. Особливості та застосування.
- •Кадр инициализации сессии. Кадр подтверждения сессии. Кадр опознания имени.
- •Протокол udp. Структура дейтаграм, застосування.
- •Протокол тср. Структура сегментів, застосування. Встановлення та завершення з'єднання.
- •Адресація у мережних транспортних протоколах.
- •Поняття маршрутизації. Приклад статичної маршрутизації в невеликій мережі.
- •Класифікація протоколів динамічної маршрутизації.
- •Протокол icmp. Призначення, основні типи повідомлень.
- •Система доменних імен dns. Правила делегування зон в Інтернеті.
- •Налагодження системи імен dns для корпоративної мережі. Структура прямої та зворотньої зони dns.
- •Інтерфейс сокетів та його застосування при програмуванні мережних задач. Типи сокетів та сімейства адрес.
- •Передача даних через сокети у режимі дейтаграм.
- •Передача даних через сокети у режимі та сесій.
- •Моделі програмування серверних потокових сокетів.
- •Програмування комунікаційних протоколів прикладного рівня.
- •Архітектура систем з базами даних
Теорія нормалізації. Функціональна залежність між атрибутами. Аномалії модифікації у ненормалізованій бд. Переваги нормальних форм. Способи одержання нормальних форм.
Нормальная форма — требование, предъявляемое к отношениям в теории реляционных баз данных для устранения из базы избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных.
Процесс преобразования базы данных к виду, отвечающему нормальным формам, называется нормализацией. Нормализация позволяет обезопасить базу данных от логических и структурных проблем, называемых аномалиями данных. К примеру, когда существует несколько одинаковых записей в таблице, существует риск нарушения целостности данных при обновлении таблицы. Таблица, прошедшая нормализацию, менее подвержена таким проблемам, т.к. ее структура предполагает определение связей между данными, что исключает необходимость в существовании записей с повторяющейся информацией.
Нормализация может применяться к таблице, которая представляет собой правильное отношение.
Первая нормальная форма (1NF)
Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.
Исходная, ненормализованная, таблица: Таблица, приведённая к 1NF:
Сотрудник |
Номер телефона |
|
Иванов И. И. |
283-56-82 390-57-34 |
|
Петров П. Ю. |
708-62-34 |
|
|
|
|
|
|
|
|
|
|
|
|
Сотрудник |
Номер телефона |
Иванов И. И. |
283-56-82 |
Иванов И. И. |
390-57-34 |
Петров П. Ю. |
708-62-34 |
Вопрос об атомарности атрибутов решается на основе семантики данных, то есть их смыслового значения. Атрибут атомарен, если его значение теряет смысл при любом разбиении на части или переупорядочивании. И наоборот, если какой-либо способ разбиения на части не лишает атрибут смысла, то атрибут неатомарен.
Вторая нормальная форма (2NF)
Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов(частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).
Пусть Сотрудник и Должность вместе образуют первичный ключ в такой таблице:
Сотрудник |
Должность |
Зарплата |
Наличие компьютера |
Гришин |
Кладовщик |
20000 |
Нет |
Васильев |
Программист |
40000 |
Есть |
Васильев |
Кладовщик |
25000 |
Нет |
Зарплату сотруднику каждый начальник устанавливает сам, но её границы зависят от должности. Наличие же компьютера у сотрудника зависит только от должности, то есть зависимость от первичного ключа неполная.
В результате приведения к 2NF получаются две таблицы:
Сотрудник |
Должность |
Зарплата |
Гришин |
Кладовщик |
20000 |
Васильев |
Программист |
40000 |
Васильев |
Кладовщик |
25000 |
Здесь первичный ключ, как и в исходной таблице, составной, но единственный не входящий в него атрибут Зарплата зависит теперь от всего ключа, то есть полно.
Должность |
Наличие компьютера |
Кладовщик |
Нет |
Программист |
Есть |
Третья нормальная форма (3NF)
Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме (2NF) и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте). При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.
Исходная таблица:
Фамилия |
Отдел |
Телефон |
Гришин |
1 |
11-22-33 |
Васильев |
1 |
11-22-33 |
Петров |
2 |
44-55-66 |
В результате приведения к 3NF получаются две таблицы:
Фамилия |
Отдел |
|||
Гришин |
1 |
|||
Васильев |
1 |
|||
Петров |
2 |
|||
|
|
|
||
|
|
|||
|
|
Отдел |
Телефон |
1 |
11-22-33 |
2 |
44-55-66 |
Четвёртая нормальная форма (4NF)
Таблица находится в 4NF, если она находится в 3NF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y. То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.
Предположим, что рестораны производят разные виды пиццы, а службы доставки ресторанов работают только в определенных районах города. Составной ключ таблицы такого отношения включает три поля: {Ресторан, Вид пиццы, Район доставки}.
Такая таблица не соответствует 4NF, так как существует многозначная зависимость:
{Ресторан} →→ {Вид пиццы}
{Ресторан} →→ {Район доставки}
То есть, например, при добавлении нового вида пиццы придется внести по одной новой записи для каждого района доставки. Возможна логическая аномалия, при которой определенному виду пиццы будут соответствовать лишь некоторые районы доставки из обслуживаемых рестораном районов.
Для предотвращения аномалии нужно разбить многозначную зависимость — разместить независимые факты в разных таблицах. В данном примере - {Ресторан, Вид пиццы} и {Ресторан, Район доставки}.