СОДЕРЖАНИЕ
1 постановка задачи.. 3
2 концептуальная модель.. 4
2.1 Построение диаграммы вариантов использования. 4
2.2 Построение диаграммы деятельности. 5
3 ПРОЕКТИРОВАНИЕ Базы данных.. 7
4 Логическая реализация Базы данных.. 9
5 Физическая реализация Базы данных.. 11
5.1 Создание таблици. 11
5.2 Заполнение таблиц. 12
6 Создание выборок.. 13
7 МетаМОДЕЛЬ.. 15
7.1 Скрипты метамодели. 15
7.2 Заполнение таблиц метамодели. 16
7.3 Sql запросы для метамодели. 20
7.4 Заполненные таблицы метамодели. 24
ВЫВОДЫ... 26
СПИСОК ЛИТЕРАТУРЫ... 27
Магазин (внутренний учет):
— клиенты: ФИО, адрес, телефон;
— продажи: наименования товаров, количество и общая стоимость товаров.
Рисунок 2.1 — Диаграмма вариантов использования
Базу данных магазина могут использовать работники магазина и покупатели. Работник может добавить покупателя и товар в базу, получить информацию о продажах, покупателях и доступных товарах, а так же оформить продажу. Покупатель может только приобрести товар приобрести.
Рисунок 2.2 — Диаграмма деятельности
При оформлении продажи сначала проверяется наличие на складе товара, в достаточном количестве, при нехватке товара сообщается о невозможности совершить продажу, в противном случае оформляется продажа и уменьшается количество товара на складе. Если этот первая покупка клиента, то он добавляется в базу.
При добавлении товара проверяется, присутствует ли он в базе, если его нет в базе, то он туда добавляют, после этого увеличивается количество товара.
При получении информации о товаре выбирается товар и база предоставляет информацию о выбранном товаре.
При получении информации о покупателе выбирается покупатель и база предоставляет информацию о выбранном покупателе.
При получении информации о продажах выбирается критерии по которым выбираться продажи:
- за какой период;
- кем продано;
- кем куплено.
После выбора ограничений база предоставляет информацию о продажах соответствующих выбранным критериям.
Отношения Клиент и Продажа выявленные на этапе построения концептуальной модели характеризуются следующими атрибутами:
Таблица 3.1 Атрибуты отношения Клиент
Атрибут |
Описание |
ФИО Адрес Телефон |
Фамилия имя отчество клиента Адрес клиента Телефон клиента |
Таблица 3.2 Атрибуты отношения Продажа
Атрибут |
Описание |
ID продажи Работник Клиент Товар Количество Дата продажи |
Порядковый номер продажи Фамилия имя отчество клиента Фамилия имя отчество клиента Название проданного товара Количество проданного товара Дата продажи товара |
Использование база данных в этом виде не приемлемо, поэтому проведем нормализацию. Цель нормализацию базы данных - это устранение (или, по крайней мере, серьезное сокращение) избыточности, дублирования данных. Как следствие, значительно сокращается вероятность появления противоречивых данных, облегчается администрирование базы и обновление информации в ней, сокращается объем дискового пространства.
Выделим в отдельные таблицы работников и товары, это поможет избавиться от ошибки удаления, когда при удалении продажи может пропасть товар или работник и поможет избежать избыточного повторения информации.
Таблица 3.3 Атрибуты отношения Клиент
Атрибут |
Описание |
ID клиента ФИО Адрес Телефон |
Порядковый номер клиента Фамилия имя отчество клиента Адрес клиента Телефон клиента |
Таблица 3.4 Атрибуты отношения Продажа
Атрибут |
Описание |
ID продажи ID Работник ID Клиент ID Товар Количество Дата продажи |
Порядковый номер продажи Порядковый номер клиента Порядковый номер клиента Порядковый номер товара Количество проданного товара Дата продажи товара |
Таблица 3.5 Атрибуты отношения Работник
Атрибут |
Описание |
ID работника ФИО |
Порядковый номер работника Фамилия имя отчество работника |
Таблица 3.6 Атрибуты отношения Товар
Атрибут |
Описание |
ID товара Название Цена Количество |
Порядковый номер товара Название товара Цена товара Количество товара на складе |
Реализуем таблицу Клиент. Для идентификации записей введем первичный ключ ID.
Таблица 4.1 Пояснение типов полей табл. «Клиент»
Атрибут |
Столбец |
Тип данных |
Мотивация |
Примечание |
ID клиента |
ID |
NUMER(10) |
Порядковый номер |
Primary Key |
ФИО |
clientName |
VARCHAR2(100) |
Фамилия имя отчество |
|
Адрес |
clientPhone |
VARCHAR2(500) |
Адрес |
|
Телефон |
clientPhone |
NUMER(10) |
Телефон |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.