2. Проектирование и создание реляционной базы для магазина
мобильных телефонов.
2.1 Построение информационно логической модели даннях.
Работа по созданию базы данных началась с карандашом и листом бумаги в руках. На данном этапе компьютер просто не нужен. Неоптимальные решения и прямые ошибки, заложенные на этапе проектирования, впоследствии очень трудно устраняются, поэтому этот этап является основополагающим.
База данных будет создана для магазина. Основной его деятельностью является продажа мобильных телефонов. Таким образом, в базе данных нужно учесть все, что касается мобильных телефонов и их продажи, т.е.марку, цену, количество и т.д.
На компьютере работу начала с составления генерального списка полей. В соответствии с типом данных, размещаемых в каждом поле, был определен наиболее подходящий тип для каждого поля.
В каждой из таблиц определяю ключевое поле. В качестве такого выбраю поле, данные в котором повторяться не могут. Если в таблице вообще нет ни каких полей, которые можно было бы использовать, как ключевые, всегда можно ввести дополнительное поле типа Счетчик - оно не может содержать повторяющихся данных по определению.
По ходу разработки проекта непременно будут приходить в голову новые идеи. Если схема данных составлена правильно, подключать к базе новые таблицы нетрудно.
На этом этапе завершила предварительное проектирование базы данных, и на следующем начинается ее непосредственная разработка. С этого момента следует начать работу с СУБД.
2.2 Разработка таблиц базы данных и схемы данных
Выяснив основную часть данных, которые нужно оформить в базе данных, приступаю к созданию структуры базы, то есть структуры ее основных таблиц.
В базе создано шесть таблиц. В первой, которая называется «Поставщики» учтена следующая информация: «Код поставщика», «Название», «Страна», «Телефон представителя».
Рис.1 Создание таблицы «Поставщики» в режиме Конструктора
Распределяю поля генерального списка по базовым таблицам. На первом этапе распределение производят по функциональному признаку. В каждой из таблиц намечаю ключевое поле. В качестве такого выбираю поле, данные в котором повторяться не могут.
В таблице «Поставщики» назначаю ключевым «Код поставщика».
Во второй таблице, которая называется «Товары» учтена следующая информация: «Код товара», «Марка», «Код поставщика», «Цена», «На складе».Ключевым полем назначаю «Код товара».
Рис.2 Создание таблицы «Товары» в режиме Конструктора.
В третьей таблице «Клиенты» учтена следующая информация: «Код клиента», «Название», «Должность», «Телефон». Ключевым полем назначаю «Код клиента».
Рис.3 Создание таблицы «Клиенты» в режиме Конструктора.
В таблице «Сотрудники» учтена следующая информация: «Код сотрудника», «Фамилия», «Имя», «Должность», «Дата рождения», «Дата найма», «Телефон». Ключевым полем назначаю «Код сотрудника».
Рис.4 Создание таблицы «Сотрудники» в режиме Конструктора.
В таблице «Заказы» учтена следующая информация: «Код заказа», «Код клиента», «Код сотрудника», «Дата розмещения», «Дата исполнения». Ключевым полем назначаю «Код заказа».
Рис.5 Создание таблицы «Заказы» в режиме Конструктора.
В таблице «Продано» учтена следующая информация: «Код заказа», «Код товара», «Цена», «Количество», «Скидка». Ключевым полем назначаю два поля: «Код заказа» и «Код товара».
Рис.6 Создание таблицы «Продано» в режиме Конструктора.
После создания таблиц выбираю «Схема данных» добавляю вишеперечисленные таблице и связываю их, как показано на рисунку 7.
Рис.7 Схема данных для магазина мобильных телефонов
2.3Создание запросив
Заполняю таблицы данными, а потом на основе тех же 6-х таблиц я создала запросы 5-х видов:
запрос на выборку : «Заказы еще не исполненны»
Рис.8 в режиме «Конструктор»
Рис.9 в режиме таблицы
Рис.10 в режиме «Конструктор»
Рис.11 в режиме таблицы
«Из товаров выбраны Марка и Цена»
Рис.12 в режиме «Конструктор»
Рис.13 в режиме таблицы
«Скидка, если цена от 1000 до 2000»
Рис.14 в режиме «Конструктор»
Рис.15 в режиме таблицы
запрос с параметром: «Название клиента по номеру заказа»
Рис.16 в режиме «Конструктор»
Данный запрос выполняется с помощью диалового окна:
Рис.17 Диалоговое окно
Например, выбираем код заказа 4:
Рис.18 в режиме таблицы
итоговый запрос : «Количество проданых товаров»
Выполняю с помощью режима SQL:
Рис.19 в режиме SQL
Рис.20 в режиме «Конструктор»
Рис.21 в режиме таблицы
«Общая стоимость проданых товаров»
Рис.22 в режиме SQL
Рис.23 в режиме «Конструктор»
Рис.24 в режиме таблицы
«Средняя цена товара»
Рис.25 в режиме SQL Рис.26 в режиме «Конструктор»
Рис.27 в режиме таблицы
«Количество заказов, оформленых каждым сотрудником»
Рис.28 в режиме SQL
Рис.29 в режиме «Конструктор»
Рис.30 в режиме таблицы
перехрестный запрос: «Товары по годам»
Предварительно создаю запрос на выборку «Товары по годам», с которым работаю в перехрестном запросе:
Рис.31 в режиме «Конструктор»
Рис.32 в режиме таблицы
Рис.33 в режиме SQL
Рис.34 в режиме «Конструктор»
Рис.35 в режиме таблицы
«Стоимость оформленых заказов»
Рис.36 в режиме «Конструктор»
Рис.37 в режиме таблицы
Рис.38 в режиме SQL
Рис.39 в режиме «Конструктор»
Рис.40 в режиме таблицы
модифицирующий запрос: «Удаление записей из таблиц при помощи запроса»
Такой запрос целесообразно применять, когда необходимо удалить количество записей, удовлетворяющих одному условию. Иначе, записи можно удалить непосредственно из таблицы «вручную».
В нашем случае удалим из таблицы«Сотрудники» сотрудников, которые были уволены (поле «Примечание») с помощью запроса . Рис.41 Запрос на удаление