
- •А.В. Брешенков
- •Проектирование баз данных на основе информации табличного вида
- •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. Исследование временных свойств системы.
- •Упражнения и вопросы для самоконтроля
- •Список литературы
Глава 5 посвящена методу назначения ключевых полей в заполненных нереляционных таблицах.
В главе 6 рассмотрены методы выявления и формирования связей между заполненными таблицами. В частности, связей один - к одному, связей один - ко многим, связей многие - ко многим.
В главе 7 выполнен анализ ситуаций, при которых возникает необходимость объединения заполненных реляционных таблиц, приведен алгоритм объединения таблиц.
1. Анализ проблемы проектирования реляционных баз данных на основе использования информации табличного вида
1.1. Понятие информации табличного вида
Под информацией табличного вида понимается информация, которая интерпретируется заинтересованными в ней людьми двумерными таблицами. При этом интуитивно или формально выделяются столбцы таблицы, ее строки и заголовки столбцов. Это могут быть словари, каталоги, прайс-листы, ведомости, табели учета и др. Во всех сферах человеческой деятельности, связанных с обработкой документов различного типа, широко используется информация табличного вида. Например: ведомости зарплат, прайс-листы, каталоги, ведомости экзаменов, справочники и т.д. Представление информации в таком виде настолько популярно, что это способствовало появлению целого класса программных систем, специально ориентированных на работу с табличной информацией - электронных таблиц, которые по распространенности уступают только текстовым процессорам.
Форма представления информации табличного вида может быть самой различной: на бумаге, в виде текстового файла, в виде файла электронных таблиц и др. Вид представления информации табличного вида также самый разнообразный. В частности, разделителями столбцов и строк могут быть обычные символы, специальные символы, непечатаемые символы, линии или пробелы. Разделители могут и отсутствовать. В этом случае подразумевается, что пользователь может интуитивно выделить строки и столбцы, например, правые и левые границы ячеек выровнены, а начало следующей строки таблицы определяется самой широкой ячейкой предыдущей строки. Заголовки столбцов могут иметь или не иметь подзаголовки, а те, в свою очередь, подзаголовки более низкого уровня. Информация, принадлежащая заголовкам и информационным единицам, может располагаться в одной или нескольких строках ячейки. Информация табличного вида может быть сгруппирована в соответствии с различными критериями, и тогда внутри таблиц появляются подзаголовки. Информация, расположенная в ячейках одного столбца не всегда одного типа. Например, срок поставки может быть указан в формате даты или в текстовом формате. Строго говоря, информация такого вида не всегда является данными - информацией, фиксированной в определенной форме. Это и многое другое обуславливают, с одной стороны, не всегда однозначное восприятие и интерпретацию информации ее потребителями, а с другой стороны зачастую приводит к невозможности ее автоматизированной обработки.
На рис.1.1 приведена типичная таблица каталога, набранная в текстовом редакторе.
Рис. 1.1. Таблица каталога, набранная в текстовом редакторе
В ней нет разделителей заголовков, нет разделителей строк, присутствуют подзаголовки. Все эти разделители интуитивно воспринимаются человеком, но представляют неразрешимую проблему для компьютера. Ни одно из существующих программных средств не переведет эту таблицу хотя бы в формат электронных таблиц, не говоря уже о том, чтобы получить реляционную таблицу, которую можно сразу использовать в существующей БД или вновь проектируемой.
На рис.1.2. представлен результат импорта этого текстового файла в формат электронной таблицы Microsoft Excel.
Рис.1.2. Результат импорта текстового файла в формат электронной таблицы Microsoft Excel
Результат говорит сам за себя: несколько столбцов объединились, а некоторые остались раздельными. Из-за отсутствия разделителей строк в результирующей таблице смешаны строки, и понять, какие данные относятся к какой строке практически невозможно.
Несколько лучше выглядит результат импорта в формат Microsoft Excel той же таблицы, если она была предварительно сформирована в формате Microsoft Word. На рис. 1.3 представлен результат импорта файла в формате Microsoft Word в формат электронной таблицы Microsoft Excel. В данном случае просматриваются столбцы таблицы. Однако заголовки столбцов смещены, расположены в нескольких ячейках.
Рис. 1.3. Результат импорта файла формата Microsoft Word в формат электронной таблицы Microsoft Excel
На рис.1.4 приведена таблица, в которой один столбец содержит информацию разного типа: текстовую и цифровую.
Рис.1.4. Таблица с данными различного типа в одном столбце
Перевод такой таблицы в формат реляционной таблицы базы данных в автоматическом режиме в принципе невозможен без корректировки данных оператором.