Для разработки моделей данных и обеспечения стандартного способа определения данных и отношений между ними построим диаграмму сущность–связь (ERD).
Рис.5 ER-модель информационной системы
На рисунке 5 изображены основные сущности информационной системы и их атрибуты. Сущность “Счет” имеет ключевой атрибут “Номер” и связан с сущностью “Клиент” отношением многие – к - одному (атрибут “Клиент”). Она отражает абстрактный объект – счет клиента, с его свойствами: суммой счета и датой выписки. Атрибут состояние отражает текущее состояние счета: “Выписан”, “Оплачен”, “Выполнен”. Сущность “Клиент” отражает реальный объект – покупателя, то есть физическое или юридическое лицо (определяется атрибутом “Тип”) и его реквизиты: для физического лица – Ф.И.О., для юридического лица – “Имя”, “Расчетный счет”, ”ИНН”, “Телефон” и “Ф.И.О. руководителя”. Сущность “Книга продаж” представляет собой список счетов за период. Сущность “Товар” – одна из основных сущностей системы отражает реальный объект – товар с атрибутами “Наименование” и “Входная цена”. “Счет” связан с этой “Сущностью” отношением один -ко- многим. Сущность “Прайс” описывает свойства абстрактного объекта прайс-лист и связана отношением один – ко - многим с сущностью “Товар”. Для формирования сущности “Заказ” необходима его связь с сущностью “Счет” отношением один-ко- многим с сущностью “Счет”. Реальный объект – поставщик определяется с помощью одноименной сущности с атрибутами, отражающими реквизиты организации-поставщика. Так как поставщик может одновременно выполнять несколько заказов, то соответствующая ему сущность связана с сущностью “Заказ” отношением один -ко- многим. Сущность “Поставка” описывает абстрактный объект – поставку, которая имеет свойства(атрибуты) “Дата” и “Поставщик”. Таким образом сущность “Склад” состоит из абстрактных объектов-поставок, которые состоят из реальных объектов – товаров. Необязательная связь между сущностью “Склад” и сущностью “Товары” отражает альтернативный способ пополнения склада – вне поставок.
Проектирование структуры БД
Таблица “Товар”.
Назначение: Хранение информации о товарах.
Поля:
Номер – уникальный номер товара в таблице
Наименование – наименование товара
Входная цена, USD – текущая входная цена товара
Тип – определяет, является ли товар конечным или группой
Группа – ссылка на группу товара.
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_NUM реализует связь один-ко-многим по полю “Номер”. С ее помощью можно представить реляционную таблицу в виде дерева.
Рис.5 Структура базы данных.
Таблица “Книга продаж”
Назначение: хранение информации о проданных товарах. Фактически, используется для хранения содержимого по каждому счету.
Поля:
Номер – уникальный номер товара в таблице
Номер счета – ссылка на счет, которому принадлежит данный товар
Количество товара –количество единиц товара
Номер товара– ссылка на товар
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Товар реализует связь один-ко-многим по полю “Номер” с таблицей “Товар”.
Таблица “Счет”
Назначение: хранение списка счетов клиентов.
Поля:
Номер – уникальный номер счета в таблице
Клиент – ссылка на клиента, которому счет выписан счет
Дата – дата выписки счета
Сумма – суммарная стоимость товаров, включенных в счет
Состояние – “выписан”, “оплачен”,”выполнен”
Скидка – скидка по счету
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Клиент реализует связь многие-к-одному по полю “клиент” с таблицей “Клиент”.
Таблица “Клиент”
Назначение: хранение списка клиентов.
Поля:
Номер – уникальный номер клиента таблице
Тип – признак физического или юридического лица
ФИО\Наименование - ФИО\Наименование клиента
Телефон - телефон юридического лица
Адрес – адрес юридического лица
Р\С – расчетный счет юридического лица
ИНН – Индивидуальный номер налогоплательщика
Директор – директор организации-клиента
Гл. бухгалтер - гл. бухгалтер организации-клиента
Первичный ключ: Содержит поле “Номер”
Внешние ключи: отсутствуют
Таблица “Заказ”
Назначение: используется для хранения списка заказов
Поля:
Номер – уникальный номер заказа в таблице
Дата – Дата формирования заказа
Поставщик – ссылка на поставщика, которому будет передан заказ
Сумма – суммарная стоимость заказа в ценах поставщика
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Поставщик реализует связь один-ко-многим по полю “Поставщик” с таблицей “Поставщик”.
Таблица “Содержимое заказа”
Назначение: предназначена для хранения списка товаров (ссылок), которые вошли в заказы.
Поля:
Номер – уникальный номер товара в таблице
Номер товара – ссылка на товар
Количество товара – количество единиц товара
Входная цена – цена на товар в момент заказа
Номер заказа – ссылка на заказ, которому принадлежит товар
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Заказ реализует связь один-ко-многим по полю “Номер заказа” с таблицей “Заказ”.
Таблица “Поставка”
Назначение: хранение списка поставок.
Поля:
Номер – уникальный номер поставки в таблице
Дата прихода поставки на склад
Номер поставщика – ссылка на поставщика
Сумма – суммарная стоимость товаров в поставке
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Поставщик реализует связь один-ко-многим по полю “Номер поставщика” с таблицей “Поставщик”.
Таблица “Поставщик”
Назначение: хранение информации о поставщиках
Поля:
Номер – уникальный номер поставщика в таблице
Наименование - наименование поставщика
Телефон – телефон поставщика
Адрес – адрес поставщика
Р\С – расчетный счет поставщика
ИНН – Индивидуальный номер налогоплательщика
Контактное лицо – контактное лицо
Первичный ключ: Содержит поле “Номер”
Внешние ключи: отсутствует
Таблица “Содержимое поставки”
Назначение: хранение информации о списке товаров по каждой поставке
Поля:
Номер – уникальный номер товара в таблице
Номер поставки – ссылка на поставку
Количество товара – количество единиц товара
Номер товара – ссылка на товар
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Поставка реализует связь один-ко-многим по полю “Номер поставки” с таблицей “Поставка”.
Таблица “Банк”
Назначение: хранение списка банков, с которыми работает организация
Поля:
Номер – уникальный номер банка в таблице
Наименование - наименование банка
Номер вх. счета - номер счета входящих платежей
Номер исх. счета - номер счета исходящих платежей
Телефон – телефон
Первичный ключ: Содержит поле “Номер”
Внешние ключи: отсутствует
Таблица “Платеж”
Назначение: хранение реестра входящих и исходящих платежей.
Поля:
Номер – уникальный номер платежа в таблице
Сумма – сумма платежа
Банк – ссылка на банк
Номер счета – в случае входящего платежа это ссылка на счет, по которому произведена оплата; в случае исходящего платежа это номер счета входящих платежей банка
Дата - дата платежа
Тип – входящий\исходящий
Описание – для пользователя
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Банк реализует связь один-ко-многим по полю “Банк” с таблицей “Банк”.
Таблица “Счет-фактура”
Назначение: хранение списка счет-фактур
Поля:
Номер – уникальный номер счет-фактуры в таблице
Дата формирования
Номер поставщика – ссылка на поставщика
Сумма – суммарная стоимость товаров в поставке
Первичный ключ: Содержит поле “Номер”
Внешние ключи: Ключ FK_Поставщик реализует связь один-ко-многим по полю “Номер поставщика” с таблицей “Поставщик”.
Дата: 2019-07-24, просмотров: 278.