Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основные сведения о создании баз данных.doc
Скачиваний:
1
Добавлен:
08.05.2019
Размер:
486.91 Кб
Скачать

Усовершенствование структуры

После создания необходимых таблиц, полей и связей следует заполнить таблицы образцами данных и выполнить с ними различные операции: создание запросов, добавление новых записей и т.д. Это позволит выявить возможные проблемы — например, может потребоваться добавить дополнительный столбец или разбить одну таблицу на две для исключения повторяющихся данных.

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

В начале работы с базой данных можно выявить области для усовершенствования ее структуры. Можно обратить внимание на следующие пункты:

  • Отсутствие необходимых столбцов. Если некоторые столбцы отсутствуют, следует определить, в какую из существующих таблиц можно добавить данные. Если данные относятся к другой теме, может потребоваться дополнительная таблица. Создайте столбец для каждого элемента данных, который требуется отслеживать. Если данные невозможно получить из других столбцов путем вычислений, может потребоваться новый столбец.

  • Наличие столбцов с данными, которые можно получать из существующих полей путем вычислений. Если данные можно получать из других столбцов путем вычислений — например, цену со скидкой можно вычислять на основе розничной цены — рекомендуется избегать использования дополнительных столбцов.

  • Наличие многократно повторяющихся данных в таблицах. В этом случае следует разделить таблицу на две таблицы и связать их отношением "один-ко-многим".

  • Наличие таблиц с большим количеством полей, ограниченным количеством записей и пустыми полями в отдельных записях. В этом случае может потребоваться изменить структуру таблицы, чтобы сократить число полей и увеличить число записей.

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

  • Наличие в столбце данных, относящихся к теме таблицы. Если столбец содержит данные, которые не относятся к теме таблицы, их следует поместить в другую таблицу.

  • Наличие связей между таблицами, представленных общими полями или третьей таблицей. Для создания отношений "один-к-одному" и "один-ко-многим" требуются общие столбцы. Для создания отношения "многие-ко-многим" требуется третья таблица.

Усовершенствование структуры таблицы "Продукты"

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

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

Более рациональный подход — выделить категории в качестве отдельной темы для отслеживания в базе данных, создать отдельную таблицу с собственным первичным ключом. Затем первичный ключ таблицы "Категории" можно добавить в таблицу "Продукты" в качестве внешнего ключа.

Таблицы "Категории" и "Продукты" связаны отношением "один-ко-многим": категория может включать несколько продуктов, но при этом каждый продукт может входить лишь в одну категорию.

В процессе анализа структуры таблиц следует выявлять повторяющиеся группы. Предположим, что таблица содержит следующие столбцы:

  • Код продукта

  • Имя

  • Код продукта1

  • Имя1

  • Код продукта2

  • Имя2

  • Код продукта3

  • Имя3

В данном случае продукты — повторяющиеся группы столбцов, отличные друг от друга только номером в имени столбца. Если столбцы пронумерованы таким образом, следует пересмотреть структуру таблицы.

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

Следующий недостаток заключается в том, что если число продуктов для отдельного поставщика меньше максимального, некоторые столбцы будут оставаться пустыми. Но самый серьезный недостаток такой структуры — усложнение многих задач, таких как сортировка или создание индекса таблицы по коду или наименованию продукта.

При наличии повторяющихся групп следует рассмотреть возможность разбиения одной таблицы на две. В приведенном выше примере лучше создать две таблицы: одну — для поставщиков, а вторую — для продуктов, и связать их с помощью кода поставщика.