
- •А.В. Брешенков
- •Проектирование баз данных на основе информации табличного вида
- •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. Исследование временных свойств системы.
- •Упражнения и вопросы для самоконтроля
- •Список литературы
Исходные таблицы удовлетворяют требованиям совместимости, результирующую таблицу необходимо обновлять.
Ситуации такого рода возникают в том случае, если в центральной БД аккумулируются данные, поступающие из различных источников. При этом формат БД центра и форматы БД источников заранее оговорены и совпадают. В этом случае проблема совместимости не стоит. Однако возникают проблемы двух типов.
Проблема первого типа связана с тем, что наряду с новыми записями в центр передаются и те записи, которые уже ранее были переданы и добавлены в таблицы центральной БД.
В этом случае, если не принять специальных мер, в центральной БД возможно дублирование записей, что в конечном итоге приводит к искажению информации, противоречивости БД. Передавать же только те данные, которые не передавались ранее затруднительно, а часто и невозможно. Во-первых, механизм отслеживания хронологии импортированных данных из БД регионов нетривиален, а во-вторых, нередко имеется необходимость передачи уже импортированных данных, т.к. эти записи с данными могут быть обновлены, например, изменена стадия выполнения проекта.
Проблема второго типа возникает в связи с тем, что нередко в центр передаются обновленные записи таблиц, которые ранее в центр уже передавались. В связи с этим возникает необходимость обновления всех записей в центре, которые повторно экспортированы из регионов и которые в регионах были изменены. Проблема несколько упрощается в связи с тем, что, как показывает опыт работы с такого рода механизмом передачи и обработки данных, число обновляемых полей невелико и их состав регламентирован.
Более детально эти вопросы рассмотрены в следующем параграфе.
Исходные таблицы частично удовлетворяют требованиям совместимости.
Ситуация такого рода чаще всего возникает, когда осуществляется проектирование баз данных на основе использования существующей информации табличного вида. Например, возникает необходимость проектирования БД на основе использования набора заполненных электронных таблиц.
Нередко в наборе электронных таблиц можно выявить группы таблиц, в которых значительная часть атрибутов совпадает. Такое положение вещей может быть обусловлено различными причинами. В частности, столбцы могут быть продублированы по ошибке, одинаковые столбцы в разных таблицах используются из соображений удобства визуального анализа данных в рамках одной таблицы, могут быть и другие причины. В этом случае имеет место дублирование данных. Если это иногда приемлемо и даже оправданно в электронных таблицах, то в БД дублирование информации недопустимо. Дублирование БД приводит к противоречивости БД, ее избыточности. В связи с этим при проектировании БД на основе использования существующей информации табличного вида необходимо решить две проблемы.
Первая проблема связана с выявлением таблиц, в которых значительная часть атрибутов совпадает. В рамках этой проблемы необходимо убедиться не только в том, что имеются совпадающие заголовки таблиц в разных таблицах, но и в том, что эти совпадения неслучайны и суть этих совпадающих заголовков одинакова.
Вторая проблема решается тогда, когда выявлены таблицы с одинаковыми по смыслу атрибутами. Тогда необходимо выявленные таблицы объединить.
В общем случае состав атрибутов даже в таблицах, в которых имеются совпадения атрибутов, может быть различный и тогда задача объединения таблиц усложняется по сравнению с рассмотренными выше примерами.
Более детально данная проблема рассмотрена в 7.3.