Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЛЕЩ.docx
Скачиваний:
47
Добавлен:
13.05.2015
Размер:
3.97 Mб
Скачать

6. Разработка механизма защиты.

6.1. Разработка представлений (видов) для пользователей.

6.2 Определение прав доступа.Определение прав (полномочий, ро­лей) для каждого пользователя и его объектов (таблиц, запросов, представ­ле­ний, колонок и строк и др.).

7. Загрузка информации в базу данных.

7.1. Конвертирование существующих файлов в загрузочные фай­лы. Если уже существуют файлы с данными, пригодными для загрузки, то разрабатываются программы‑конверторы, которые преобразуют эти файлы в файлы, используемые для загрузки в базу данных.

7.2. Загрузка реальной информации в базу данных.

7.3. Сдача системы в эксплуатацию.

8. Настройка функционирования системы и ее модификация.

8.1. Настройка функционирования системы.Сбор и обработка ста­тистической информации об эффективности функциони­ро­ва­ния сис­те­мы и ее настройка с целью повышения производительности работы системы.

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

1.5.2. Методы нормализации и денормализации отношений

Метод нормализации отношения (таблицы) ‑ это процесс постепен­но­го улуч­ше­ния от­но­шения (таблицы) путем последовательного перевода отношения (таблицы) из ненор­мализо­ван­ной формы в первую, во вторую, в третью (иногда в четвертую и пятую) нормальные формы.

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

Определение.Таблица находится не в нормализованной форме, если существует ячейка, в которой находится несколько значений.

Примерненормализованной таблицы

ИЗДЕЛИЯ (Код изделия, список деталей). Может встретиться из­делие, которое содержит список из нескольких деталей.

Виды зависимостей между атрибутами

Атрибут (группа атрибутов) В функционально зави­ситот атрибута (группы атрибутов) A, если каждому значению A соответ­ст­­­вует одно зна­че­ние B. Такая зависимость изображается в виде A-->B (Табельный но­­мер -->Фамилия сотрудника).

Если существует функциональная зависимость вида A-->B и B-->A, то имеет место функциональная взаимозависимость, кото­рая изобра­жа­ет­ся в виде A<-->B (Табельный номер <-->Номер паспорта сотрудника).

Частичная функциональная зависимость ‑ это зависи­мо­сть не­клю­чевого атрибута от части составного ключа, а не от всего ключа.

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

Атрибут C транзитивно зависитот атрибута А, если выполняются условия A-->B и B-->C, но обратная зависимость отсутствует.

Многозначные зависимостивида 1:M, M:1, M:M между атрибутами

A и B изображаются в виде A-->>B, A<<--B и A<<-- >>B соответственно.

Первая нормальная форма (1НФ)

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

Пример.Преобразуем таблицу “ИЗДЕЛИЯ” из предыдущего при­мера в таблицу вида: ИЗДЕЛИЯ (код изделия, деталь). Тогда, за счет дублирования кода изделия, в каждой строке в колонке “Деталь” будет стоять только одно значение ‑ наименование кода детали. Новая таб­лица будет в первой нормальной форме.

Покажем процесс нормализации на следующей исходной таблице:

ВЫПУСК ИЗДЕЛИЙ (Код подразделения (KP), наименование подразделе­ния (NP),код изделия (KI), наименование изделия (NI), код типа изделия (KTI), наименование типа изделия (NTI),дата выпуска (DVI), количество (KVI), себестоимость изделия (SI)). Ключевые атрибуты пер­вич­ного клю­ча подчеркнуты. Эта таблица находится в первой нормальной форме.

Рассмотрим аномалии (недостатки) первой нормальной формы.

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

  2. Аномалия включения. Пока изделие не будет выпущено, инфор­ма­ция о нем (проектируемом или ранее снятом с производства) бу­дет отсутствовать в базе.

  3. Аномалия удаления. Если изделие не выпускается в отчетный пе­ри­од, то инфор­ма­ция об изделии исчезнет из базы.

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

Для устранения этих недостатков продолжим процесс нормализации. Вторая нормальная форма (2НФ)

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

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

Атрибут “Наименование под­раз­де­ления” зависит только от атрибута “Код подразделения” и не зависит от атрибутов “Код изделия” и “Дата вы­пус­ка”. Поэтому его следует удалить из таблицы. Чтобы не потерять ин­формацию о подразделении создадим но­вую таблицу “ПОДРАЗДЕЛЕ­НИЯ” и в нее включим удаляемый атрибут “Наиме­но­ва­ние подразделения” вместе с ключевым атрибутом “Код подразделения” (иначе потеряется связь с таб­лицей “ВЫПУСК ИЗДЕЛИЙ”) и получим таб­лицу вида:

ПОДРАЗДЕЛЕНИЯ (Код подразделения, наименование под­раз­де­ления).

Атрибут “Наименование изделия” зависит только от атрибута “Код изделия” и не зависит от остальных ключевых атрибутов. Аналогично пре­ды­дущему случаю, удалим его из таблицы в новую таб­­лицу:

ИЗДЕЛИЯ (Код изделия, наименование изделия).

Атрибут “Код типа изделия” зависит только от атрибута “Код из­де­лия” и не зависит от атрибутов “Код подразделения” и “Дата выпус­ка”. Ана­логично предыдущему случаю удалим его из таблицы, добавим в таб­­­лицу “ИЗДЕЛИЯ” и получим таблицу:

ИЗДЕЛИЯ (Код изделия, наименование изделия, код типа изделия).

Атрибут “Наименование типа изделия” зависит только от атрибута “Код из­де­лия”. Ана­логично предыдущему случаю удалим его из таблицы и добавим в таб­­­лицу “ИЗДЕЛИЯ” и получим таблицу:

ИЗДЕЛИЯ (Код изделия, наименование изделия, код типа изделия, наиме­но­вание типа изделия).

Атрибуты “Количество” и “Себестоимость изделия” зависят от все­го ключа, поэтому оставим их в исходной таблице.

Таким образом, получим три таблицы:

ВЫПУСК ИЗДЕЛИЙ (Код подразделения,код изделия,дата выпуска, коли­чество, себестоимость изделия).

ПОДРАЗДЕЛЕНИЯ (Код подразделения, наименование под­раз­де­ления).

ИЗДЕЛИЯ (Код изделия, наименование изделия, код типа изделия, наиме­но­вание типа изделия).

Очевидно, что все они находятся во второй нормальной форме.

Третья нормальная форма (3НФ)

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

Очевидно, что первые две таблицы удовлетворяют определению треть­ей нормальной формы. Рассмотрим таблицу “ИЗДЕЛИЯ”.

Атрибут “Наиме­но­вание типа изделия” функционально зависит от неключевого атрибута “Код типа изделия”, поэтому его следует удалить (по определению третьей нормальной формы) из таблицы в новую:

ТИПЫ ИЗДЕЛИЙ (Код типа изделия, наиме­но­вание типа изделия).

В результате получим модель базы данных из че­ты­рех таблиц в третьей нормальной форме (рисунок 1.5.2.1):

ВЫПУСК ИЗДЕЛИЙ (Код подразделения,код изделия,дата выпуска, коли­чество, себестоимость изделия).

ПОДРАЗДЕЛЕНИЯ (Код подразделения, наименование под­раз­де­ления).

ИЗДЕЛИЯ (Код изделия, наименование изделия, код типа изделия).

ТИПЫ ИЗДЕЛИЙ (Код типа изделия, наиме­но­вание типа изделия).

Рисунок 1.5.2.1. Модель базы данных “Выпуск изделий”

Убедимся в исчезновении аномалий из первой нормальной формы.

  1. Избыточное дублирование данных. Все наименования сохраняют­ся в таблицах по одному разу без дублирования, и избыточное дублирова­ние исчезло.

  2. Аномалия включения. Хотя изделие еще не выпущено (только проектируется), информацию о нем можно занести или сохранить в таблице “ИЗДЕЛИЯ”. Аномалия включения исчезла.

  3. Аномалия удаления. Если изделие не выпускается в отчетный пе­ри­од, то инфор­ма­ция об изделии сохранится в таблице “ИЗДЕЛИЯ”. Ано­ма­лия удаления исчезла.

  4. Аномалия корректировки. Если меняется название из­де­лия, то нуж­но откорректировать наименование только в одной строке таблицы “ИЗДЕЛИЯ”. Аномалия корректировки исчезла.

Существуют еще несколько, редко используемых нормальных форм, которые связаны только с составными ключами.

Усиленная третья нормальная форма, или нормальная форма Бойса‑Кодда (НФБК)

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

Четвертая нормальная форма (4НФ)

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

Пример.Имеется таблица вида:

ПРЕПОДАВАТЕЛИ (Табельный номер преподавателя, предмет, группа).

Очевидно, что имеем мно­го­значную функциональную зависимость между атрибутами “Предмет” и “Группа”. Будем считать, что для каждой группы одним преподавателем читается один набор предметов. Сущест­вует аномалия: при до­бав­лении новой группы нужно добавить несколько записей, по числу чита­емых преподавателем предметов, что вызывает не­же­­­лательное дублирование значений атрибута “Предмет”. Исключим мно­го­значную функциональную зависимость путем переноса этих атрибутов в раз­ные таблицы, разделяя исходную таблицу на две:

ПРЕПОДАВАТЕЛИ_ПРЕДМЕТЫ (Табельный номер преподавателя, пред­мет).

ПРЕПОДАВАТЕЛИ_ГРУППЫ (Табельный номер преподавателя, группа).

Пятую нормальную форму(5НФ)не будем рассматривать из‑за крайне редкого ее использования (она возможна при наличии трех и более объ­ектов, связанных друг с другом отношением “многие-ко-многим”), тем бо­лее что она имеет недостатки.

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

Пример.Нормализованные таблицы “ПРЕПОДАВАТЕЛИ_ПРЕД­МЕ­ТЫ” и “ПРЕПОДАВАТЕЛИ_ГРУППЫ” из предыдущего примера мож­но объединить в исходную таблицу “ПРЕПОДАВАТЕЛИ”. Хотя и будет дублирование данных, но работа с одной таблицей будет быстрее, чем с двумя нормализованными таблицами.

В реальном проектировании разработчик должен достигнуть компро­мис­са между нормализацией (устранение избыточности) и денор­ма­ли­за­ци­ей (уве­личение производительности) таблиц.