Скачиваний:
29
Добавлен:
02.05.2014
Размер:
275.97 Кб
Скачать

Проектирование базы данных

Хорошо организованная структура БД позволит:

  • сделать ввод информации простым и понятным для пользователя;

  • быстро находить в БД требуемую информацию;

  • хранить данные в виде, который не приводит к чрезмерному разрастанию БД;

  • упростить разработку и сопровождение программного обеспечения.

Эффективная структура данных БД должна:

  • обеспечить быстрый доступк данным в таблицах;

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

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

Процесс уменьшения избыточности информации в БД называется нормализацией.

Цель нормализации:

  • устранение избыточной информации;

  • расширение взаимодействия данных;

  • повышение эффективности системы.

Создание нормализованной бд

Как пример, рассмотрим таблицу заказов, содержащую поля:

Поля таблицы

Сведения о покупателе, номера его телефонов

Дата заказа, количество заказанного товара и данные о менеджере

Наименование и стоимость товара

Количество проданного товара

Если оставить таблицу без изменений, то получим однотабличную БД, не являющуюся оптимальной.

Основная проблема состоит в том, что в ней содержится значительное количество повторяющейсяинформации, в частности, сведения о покупателе и менеджере, содержащиеся в каждом сделанном заказе, поэтому:

  • при изменении адреса или фамилии покупателя нужно корректировать все записи, содержащие сведения о заказах этого покупателя, что приведет к неоправданному увеличению БД, при этом снизитсяскоростьвыполнения запросов;

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

Воспользуемся практическими советами теории нормализации для разработки на основании таблицы о заказах (или однотабличной БД) многотабличной БДс эффективной структурой.

К каждой таблицемноготабличной БД предъявляются требования:

  1. В таблице не должно быть повторяющихся записей.

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

  1. В таблице не должно быть повторяющихся групп полей.

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

Номер таблицы

Данные

1

Сведения о покупателе

2

Список телефонов покупателя

3

Номер и дата заказа покупателя, данные о менеджере

4

Наименование, стоимость, количество заказанного и проданного товара

Теперь первая и вторая таблицы нормализованы. Отношение между связываемыми таблицами – один-ко-многим.

В третьей таблице имеется повторяющаясяинформация оменеджере, оформляющем заказы и дате заказа. Следовательно, ее можно разделить на три таблицы: в одной –номер заказа, во второй –дата заказа, в третьей – данные о менеджере.

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

    • в таблице наименований и стоимоститоваров, продаваемых фирмой;

    • в таблице количествазаказанного и проданногопо заказу товара.

Необходимо отметить, что информацию о заказанном и проданном товаре следуетпоместить в одну таблицу, при этом неопределённости не возникает: каждому заказанному количеству соответствует определённое количество проданного товара.

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

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

Номер таблицы

Данные

1

Сведения о покупателе

2

Список телефонов покупателя

3

Номер заказа

4

Дата заказа

5

Данные о менеджере

6

Наименование и стоимость товара

7

Количество заказанного и проданного товара

Соседние файлы в папке Лекции по информатике