Схема данных строится на основе анализа документа, в нашем случае – это «накладная», выдаваемая в магазине компьютерной техники. Алгоритм работы с документом состоит из пяти шагов, последовательность которых желательно не менять. Копия накладной представлена на рис. 3.
Анализ документа конкретной предметной области
Разобрать документ и составить список необходимых атрибутов. Заполнить 2й столбец таблицы.
№ п/п | Атрибуты | Объекты (сущности) |
1. | № накладной | |
2. | ФИО клиента | |
3. | ФИО продавца | |
4. | Наименование категории товара | |
5. | Наименование товара | |
6. | Количество купленного товара соответствующей категории | |
7. | Цена | |
8. | Дата продажи |
Произвести группировку атрибутов по объектам. Заполнить 3й столбец таблицы (см. выше).
Выделить возможные объекты (сущности) через атрибуты, которые:
· явно указывают на объект;
· явно не указывают на объект
3. Разделить полученные объекты (сущности) на объекты-справочники и объекты оперативной информации:
· "Клиент", "Продавец", "Товар", "Категория товара" – справочники;
· "Накладная" - объект оперативной информации.
Описать структуру объектов (сущностей) и ввести ключи.
Примечание: выделенные жирным начертанием строки – это первичные ключи соответствующих сущностей.
Структура сущности "Клиент"
Поле | Тип | размер |
Фамилия | ||
Имя | ||
Отчество | ||
Паспортные данные | ||
Контактный телефон | ||
Адрес | ||
Код клиента (первичный ключ) |
Примечание: Поле Паспортные данные может быть ключом, так как оно уникально, но достаточно громоздко, поэтому удобнее ввести искусственный ключ.
Структура объекта "Продавец"
Поле | Тип | размер |
Фамилия | ||
Имя | ||
Отчество | ||
Адрес | ||
Контактный телефон | ||
Паспортные данные | ||
Код продавца (первичный ключ) |
Структура объекта "Категория товара"
Поле | Тип | размер |
Наименование категории | ||
Код категории (первичный ключ) |
Структура объекта "Товар"
Поле | Тип | размер |
Наименование товара | ||
Цена | ||
Единицы измерения | ||
Код категории (внешний ключ; часть первичного) | ||
Инвентарный номер (первичный ключ) |
Структура объекта "Накладная"
Поле | Тип | размер |
№ накладной (первичный ключ) | ||
Дата продажи | ||
Количество проданного товара | ||
Код клиента (внешний ключ) | ||
Код продавца (внешний ключ) | ||
Код товара (внешний ключ, часть первичного) | ||
Код категории (внешний ключ, часть первичного) |