- •46. Физическая и логическая организация сетей. Сетевые топологии. Способы маршрутизации.
- •47. Понятие протокола. Семиуровневая модель взаимодействия открытых систем.
- •48. Методы связи между аппаратурой в сети. Методы разрешения конфликтов при множественном доступе.
- •49. Обмен файлами. Служба архивов ftp.
- •50. Язык гипертекстовой разметки html.
- •51. Шесть типов технологий структурно-модульного проектирования.
- •52. Определение метрики и её свойства. Шкалы: номинальная, порядковая, интервальная, относительная.
- •53. Метрики Холстеда.
- •54. Метрика МакКейба. Пример. Метрика «граничных значений». Пример.
- •55. Основные понятия оптимизации. Необходимые и достаточные условия локальных экстремумов.
- •56. Нормализация реляционных баз данных. Нормальные формы 1нф, 2нф, 3нф.
- •57. Основные реляционные операции над отношениями.
- •58. Задачи планирования и организации параллельных вычислений. Общие формулировки. Методы решения.
- •59. Два типа задач и их варианты распараллеливания на уровне подзадач. Оценка ресурсов вс.
- •60. Понятие интерполяции. Полиномиальная интерполяция дискретных зависимостей (XI, Yi), полином Лагранжа.
56. Нормализация реляционных баз данных. Нормальные формы 1нф, 2нф, 3нф.
Нормализация – преобразование исходного отношения по определенным правилам и получение другого отношения, которое эквивалентно другому отношению. Формы вложены друг в друга. Нахождение отношения в старшей форме, в некотором смысле, более предпочтительно.
Определение 1НФ. Отношение находится в первой 1НФ, если все его атрибуты атомарны, то есть если ни один из его атрибутов нельзя разделить на более простые атрибуты, которые соответствуют каким-то другим свойствам описываемой сущности.
Будем называть исходное отношение основным, а значение неатомарного атрибута — подчинённым. Для того, чтобы нормализовать исходное отношение, атрибуты которого неатомарны, необходимо объединить схемы основного и подчинённого отношений. Алгоритм нормализации отношения до 1НФ:
1. создать новое отношение, схема которого будет получена путём слияния основной и подчинённой схем исходного отношения в одну;
2. для каждого кортежа исходного отношения включить в новое столько строк, сколько кортежей содержится в подчинённом отношении этого кортежа;
3. заполнить значения атрибутов нового отношения, соответствующих атрибутам подчинённого отношения;
4. заполнить строки нового отношения значениями атомарных атрибутов исходного;
R1 |
||||
Код |
Статус |
Город |
Товар |
Кол-во |
1 |
20 |
Москва |
1 |
300 |
1 |
20 |
Москва |
2 |
200 |
1 |
20 |
Москва |
3 |
400 |
1 |
20 |
Москва |
4 |
200 |
1 |
20 |
Москва |
5 |
100 |
1 |
20 |
Москва |
6 |
100 |
2 |
10 |
Ростов |
1 |
300 |
2 |
10 |
Ростов |
2 |
400 |
3 |
10 |
Ростов |
2 |
200 |
4 |
20 |
Москва |
2 |
200 |
4 |
20 |
Москва |
4 |
300 |
4 |
20 |
Москва |
5 |
400 |
Данное отношение обладает избыточностью (для каждого поставщика указан город и статус). Избыточность приводит к различным аномалиям:
1. аномалия вставки. Нельзя добавить информацию о поставщике, который не поставил ни одного товара;
2. аномалия удаления. Возможно, что с удалением некоторой строки таблица (удаление поставки) исчезнет информация о поставщике;
3. аномалия обновления. Проблема возникает в том случае, если необходимо переместить поставщика из одного города в другой. Например, 1 из Москвы в Новгород. Для этого необходимо откорректировать все записи о поставках от этого поставщика;
Для решения этой проблемы заменим отношение несколькими проекциями. В одно включим первичный ключ и все неключевые атрибуты, неприводимо зависимые от первичного ключа. В остальные проекции – неключевые атрибуты, приводимо зависимые от первичного ключа и та часть первичного ключа, от которой данные атрибуты неприводимо зависят. Итак получим 2 отношения R2 и R3:
R2 |
|
R3 |
||||
Код |
Товар |
Кол-во |
|
Код |
Статус |
Город |
1 |
1 |
300 |
1 |
20 |
Москва |
|
1 |
2 |
200 |
2 |
10 |
Ростов |
|
1 |
3 |
400 |
3 |
10 |
Ростов |
|
1 |
4 |
200 |
4 |
20 |
Москва |
|
1 |
5 |
100 |
5 |
30 |
Новгород |
|
1 |
6 |
100 |
|
|||
2 |
1 |
300 |
||||
2 |
2 |
400 |
||||
3 |
2 |
200 |
||||
4 |
2 |
200 |
||||
4 |
4 |
300 |
||||
4 |
5 |
400 |
ФЗ для отношения R3: {код} -> {город}, {код} -> {статус}, {город} -> {статус}.
Такие отношения позволяют преодолеть указанные противоречия:
1. можно добавить поставщика из Новгорода, который не поставлял товар;
2. можно удалить товар с кодом 2 от поставщика с кодом 3, а сведения о поставщике останутся;
3. для того, чтобы переместить поставщика 1 из Москвы в Новгород, достаточно поменять запись в отношении R3.
Физический смысл противоречий в отношении R1 в том, что это отношение описывает не один объект (поставку товара) а два: поставку и поставщика.
Определение 2НФ (при условии единственности потенциального ключа). Отношение находится во второй нормальной форме тогда и только тогда, когда оно находится в 1НФ и каждый его неключевой атрибут неприводимо зависим от первичного ключа.
Проблемы, возникающие в R3:
1. аномалия вставки. Нельзя включить город с некоторым статусом из которого нет ни одного поставщика;
2. аномалия удаления. Удалив поставщика 5, удалим информацию о том, что Новгороду был установлен статус 30;
3. аномалия обновления. Информация о статусе повторяется, т.о. изменив статус Москвы с 20 на 30 необходимо откорректировать несколько записей.
Физический смысл противоречия тот же: информация о двух объектах предметной области (город и поставщик) находится в одном отношении.
Формальным признаком не принадлежности R3 к 3НФ является наличие транзитивной ФЗ для этого отношения неприводимое множество ФЗ: {код} → {город} и {город} → {статус}.
R5: |
|
R6: |
||
Код |
Город |
|
Город |
Статус |
1 |
Москва |
Москва |
20 |
|
2 |
Ростов |
Ростов |
10 |
|
3 |
Ростов |
Новгород |
30 |
|
4 |
Москва |
|
Казань |
40 |
5 |
Новгород |
|
Каждое отношение описывает только одну сущность (объект предметной области).
Определение 3НФ. Отношение находится в третьей нормальной форме тогда и только тогда, когда оно находится в 2НФ, и каждый его неключевой атрибут нетранзитивно зависим от первичного ключа.