СОДЕРЖАНИЕ
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).
Ссылка на скачивание - внизу страницы.