
- •А.В. Брешенков
- •Проектирование баз данных на основе информации табличного вида
- •1. Анализ проблемы проектирования реляционных баз данных на основе использования информации табличного вида 8
- •5. Назначение ключевых полей 142
- •6. Выявление и формирование связей между заполненными таблицами 157
- •7. Объединение таблиц 190
- •8. Разработка и исследование модели методики проектирования реляционных баз данных на основе использования информации табличного вида 220
- •Предисловие
- •Глава 5 посвящена методу назначения ключевых полей в заполненных нереляционных таблицах.
- •1. Анализ проблемы проектирования реляционных баз данных на основе использования информации табличного вида
- •1.1. Понятие информации табличного вида
- •1.2. Мотивы преобразования информации табличного вида в файлы реляционных баз данных
- •1.3. Основные требования к средствам преобразования информации табличного вида в реляционные таблицы
- •1.4. Задачи объединения и разбиения реляционных таблиц
- •1.5. Задачи нормализации реляционных таблиц
- •1.6. Преобразование реляционных нормализованных таблиц в файлы бд
- •1.7. Вопросы преобразования электронных таблиц
- •Упражнения и вопросы для самоконтроля
- •2. Постановка задачи проектирования реляционных баз данных на основе использования информации табличного вида
- •2.1. Укрупненная модель реляционной базы данных
- •2.2. Укрупненная модель информации табличного вида
- •2.3. Задачи преобразования заполненных нереляционных таблиц в реляционные таблицы Преобразование нереляционных таблиц в реляционные таблицы
- •Нормализация заполненных таблиц
- •Назначение ключевых полей для заполненных таблиц
- •Выявление и формирование связей между заполненными реляционными таблицами
- •Упражнения и вопросы для самоконтроля
- •3. Преобразование нереляционных таблиц в реляционные таблицы
- •3.1. Приведение значений атрибутов заполненных таблиц к одному типу
- •3.2. Исключение дублирования записей
- •Упражнения и вопросы для самоконтроля
- •4. Нормализация заполненных реляционных таблиц.
- •4.1. Проблемы нормализации
- •4.2. Модели информации табличного вида и реляционных таблиц.
- •4.2.1. Модель информации табличного вида
- •4.2.2. Модель реляционной таблицы
- •4.3. Преобразование заполненных таблиц к первой нормальной форме
- •4.3.1. Избавление от сложных атрибутов
- •4.3.2. Исключение подзаголовков расположенных внутри таблицы
- •4.3.3. Нормализация заполненных таблиц с подзаголовками в первом столбце.
- •4.4. Преобразование заполненных таблиц ко второй нормальной форме
- •4.5. Преобразование заполненных таблиц к третьей нормальной форме
- •Избавление от функциональной зависимости.
- •4.6. Преобразование заполненных таблиц к четвертой нормальной форме.
- •Упражнения и вопросы для самоконтроля
- •5. Назначение ключевых полей
- •5.1. Задача назначения ключевых полей в заполненных реляционных таблицах
- •5.2. Алгоритмы назначения ключевых полей в заполненных реляционных таблицах
- •Упражнения и вопросы для самоконтроля
- •6. Выявление и формирование связей между заполненными таблицами
- •6.1. Выявление и формирование связей один - к одному
- •6.2. Выявление и формирование связей один - ко многим
- •6.3. Выявление и формирование связей многие - ко многим.
- •Формирование 3-й таблицы для реализации многозначных связей.
- •Упражнения и вопросы для самоконтроля
- •7. Объединение таблиц
- •7.1. Проблемы объединения таблиц
- •Исходные таблицы по своей природе удовлетворяют требованиям совместимости, а по форме – нет.
- •Исходные таблицы удовлетворяют требованиям совместимости, результирующую таблицу необходимо обновлять.
- •Исходные таблицы частично удовлетворяют требованиям совместимости.
- •7.2. Объединение и обновление совместимых таблиц
- •7.3. Объединение таблиц, частично удовлетворяющих требованиям совместимости
- •Упражнения и вопросы для самоконтроля
- •8. Разработка и исследование модели методики проектирования реляционных баз данных на основе использования информации табличного вида
- •8.1. Постановка задачи разработки модели методики
- •8.2. Операторная модель преобразования информации табличного вида к реляционным базам данных
- •8.3. Исследование методики преобразования информации табличного вида в реляционные базы данных
- •8.4. Исследование динамических свойств функционирования системы.
- •8.5. Исследование временных свойств системы.
- •Упражнения и вопросы для самоконтроля
- •Список литературы
1.5. Задачи нормализации реляционных таблиц
После того, как информация приведена к реляционной форме, нет никакой гарантии, что эти таблицы самые удачные с точки зрения их представления и использования в БД. Дело в том, что одни и те же данные могут группироваться в различные отношения (таблицы). Определенный набор отношений обладает лучшими свойствами при манипуляциях с БД, если он отвечает требованиям нормализации отношений. Нормализация отношений - формальный аппарат ограничений на формирование отношений, который позволяет устранить дублирование, обеспечить непротиворечивость хранимых данных, уменьшает затраты на ведение баз данных. Вопросы приведения отношений к нормальным формам широко освещены в литературе по теории построения БД, в частности в [1-6]. Чаще всего выделяют 4-е нормальные формы представления реляционных таблиц. Нет никаких гарантий того, что реляционные таблицы, полученные после этапов преобразования, удовлетворяют этим правилам. Более того, они, скорее всего, нормальным формам не удовлетворяют.
Если данные из реляционных таблиц добавляются к таблицам существующей, нормализованной БД, а структура добавляемых данных совпадает со структурой таблиц БД, то проблема нормализации не стоит, т.к. предполагается, что БД спроектирована, нормализована и изменениям не подлежит.
Если данные из реляционных таблиц добавляются к таблицам существующей, нормализованной БД, а структура добавляемых данных не совпадает со структурой таблиц БД, то возникает проблема нормализации и преобразования структур добавляемых данных.
Если создается новая БД или к существующей БД добавляются новые таблицы, то проблема нормализации актуальна. В связи с этим следующим этапом преобразования информации табличного вида в файлы БД должен быть этап нормализации реляционных таблиц.
Реляционные таблицы находятся в 1-й нормальной форме, если значения в таблице являются атомарными для каждого атрибута таблицы. Другими словами в таблице не должно быть подзаголовков. Этому требованию, если следовать предложенным этапам преобразования информации, реляционные таблицы уже должны удовлетворять.
Реляционные таблицы находятся во 2-й нормальной форме, если никакие неключевые атрибуты не являются функционально зависимыми лишь от части ключа. Таким образом, эта форма может быть нарушена только в том случае, если ключ составной (состоит из нескольких полей). Для выявления нарушений такого рода необходимо проанализировать смысловое значение полей таблицы. Вероятнее всего, это лучше сделать человеку. Однако есть надежда, что этот процесс можно автоматизировать.
Реляционные таблицы соответствуют 3-й нормальной форме, если устранены транзитивные зависимости между атрибутами отношения. Другими словами, неключевые поля таблицы не должны зависеть друг от друга, а должны зависеть только от ключевого поля. Опосредовано выявить нарушение нормализации такого рода можно, если обнаружить часто повторяющиеся поля или группы полей в записях таблицы. В связи с этим процесс приведения к 3-й нормальной форме можно автоматизировать, что и реализовано в некоторых системах управления базами данных, в частности в Microsoft Access. Однако результаты нормализации после использования предлагаемых средств не всегда удовлетворительны, и в этом направлении имеет смысл работать.
Реляционные таблицы соответствуют 4-й нормальной форме, если между реляционными таблицами устранены многозначные зависимости. Между таблицами имеет место многозначная зависимость, если записи одной таблицы связаны с несколькими записями другой и наоборот. Для устранения многозначной зависимости вводится третья таблица, в которой хранятся ключевые поля первых 2-х таблиц. Многозначную зависимость между таблицами можно описать формально. В связи с этим, вероятнее всего, процесс приведения реляционных таблиц к 4-й нормальной форме можно автоматизировать.