Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
24
Добавлен:
02.05.2014
Размер:
276 Кб
Скачать

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поля таблицы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Данные

1

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

2

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

3

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

4

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

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

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

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

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

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

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

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

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

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

Данные

1

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

2

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

3

Номер заказа

4

Дата заказа

5

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

6

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

7

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

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