Проектирование базы данных – это упорядоченный формализованный процесс создания системы взаимосвязанных описаний, т.е. таких моделей предметной области, которые связывают (фиксируют) хранимые в базе данные с объектами предметной области, описываемыми этими данными. Прикладное назначение таких описаний состоит в том, чтобы пользователь, практически не имеющий представления об организации данных в БД (физическом размещении в памяти данных и механизмах их поиска), обращая запрос к базе, имел бы практическую возможность получить адекватную информацию о состоянии объекта предметной области.
Такая человекоориентированная модель практически полностью независима от физических параметров среды хранения данных, которой может быть как память человека, так и ЭВМ. Поэтому инфологическая модель не изменяется до тех пор, пока какие-то изменения в реальном мире (той его части, которая отнесена к предметной области) не потребуют изменения в модели соответствующего фрагмента описания, чтобы эта модель продолжала адекватно отражать предметную область.
3.3 Создание таблиц БД
Таблицы составляют основу базы данных – именно в них хранятся все данные. Таблицы должны быть тщательно спланированы. Прежде всего, должна быть спланирована структура каждой таблицы. Структура таблиц определяется содержанием тех выходных форм и отчетов, которые должны быть затем получены. При планировании таблиц необходимо избежать дублирования информации в разных таблицах.
В новой базы данных «Мебельная фабрика» необходимо создать следующие связанные таблицы со связанными полями:
Таблица Выдачи:
– Город – Текстовое поле, 50 символов;
– Телефон доставки – Числовое поле, длинное целое;
– Код расходов – Числовое поле, длинное целое;
– Стоимость доставки – Денежное поле, денежный формат;
– Вес упаковки – Числовое поле, длинное целое;
– индекс доставки – Числовое поле, длинное целое;
– Код фондов – Ключевое, Числовое поле, длинное целое.
Таблица Договоры:
– Начальная дата – поле Дата/время, Краткий формат даты, маска ввода:99.99.00; 0;
– Конечная дата – поле Дата/время, Краткий формат даты, маска ввода:99.99.00; 0;
– Имеется мест – Числовое поле, целое;
– Код сотрудника – Числовое поле, длинное целое;
– Код договора – Ключевое, Числовое поле, длинное целое;
– Код типа договора – Числовое поле, длинное целое.
Таблица Записи работ:
– Код фондов – Ключевое, Числовое поле, длинное целое;
– Затрачено часов – Числовое поле, одинарное с плавающей точкой;
– Оценочная цена – Денежное поле, денежный формат;
– Реальная цена – Денежное поле, денежный формат;
– Оплачено – Логическое поле, формат Да / Нет;
– ЧасовСПослОбсл – Числовое поле, целое.
Таблица Клиенты:
– Код клиента – Ключевое, Числовое поле, длинное целое;
– Код проекта – Числовое поле, длинное целое;
– Адрес – Текстовое поле, 50 символов;
– Город – Текстовое поле, 20 символов;
– Номер телефона – Числовое поле, длинное целое;
– Фамилия клиента – Текстовое поле, 20 символов;
– Последовательность – Числовое поле, длинное целое.
Таблица Оплата:
– Город – Текстовое поле, 50 символов;
– Фамилия клиента – Текстовое поле, 50 символов;
– Код заказа – Числовое поле, длинное целое;
– Код проекта – Ключевое, Числовое поле, длинное целое;
– Сумма оплаты – Денежное поле, денежный формат;
– Номер чека – Числовое поле, длинное целое.
Таблица Расходы:
– Код клиента – Числовое поле, длинное целое;
– Код расходов – Ключевое, Числовое поле, длинное целое;
– Сумма затрат – Денежное поле, денежный формат;
– Сумма задатка – Денежное поле, денежный формат;
– Дата покупки – поле Дата/время, краткий формат даты, маска ввода – 99.99.00; 0.
Таблица Резервирование:
– Код клиента – Числовое поле, длинное целое;
– Код договора – Числовое поле, длинное целое;
– Зарезервировано – Числовое поле, длинное целое;
– Остаток – Денежное поле, денежный формат;
– Выплаченная сумма – Ключевое, Денежное поле, денежный формат;
Таблица Сведения о заказе:
– Код товара – Числовое поле, длинное целое;
– Код заказа – Ключевое,Числовое поле, длинное целое;
– Количество – Числовое поле, двойное с плавающей точкой;
– Налог – Денежное поле, основной формат.
Таблица Сотрудники:
– Код сотрудника – Ключевое, Числовое поле, длинное целое;
– Код фондов – Числовое поле, основной формат;
– Фамилия – Текстовое поле, 50 символов;
– Домашний телефон – Числовое поле, длинное целое;
– Код отдела – Числовое поле, длинное целое;
– Номер паспорта – Числовое поле, длинное целое.
Таблица Товары:
– Код товара – Ключевое, Числовое поле, длинное целое;
– Наименование товара – Текстовое поле, 50 символов;
– На складе – Числовое поле, длинное целое;
– Заказано – Числовое поле, длинное целое;
– Минимальный заказ – Числовое поле, длинное целое;
– Время задержки – Числовое поле, длинное целое.
Создание таблиц на примере конструирования таблиц Выдачи и Товары:
В новой открытой базе данных в перечне объектов выбирается объект Таблицы и нажимается вкладка Создать. В появившемся окне выбирается Конструктор.
В режиме Конструктора в столбец Имя поля вводятся названия необходимых полей и определяются при этом типы данных в столбце Тип данных. Поле Код фондов делается ключевым, щелкнув правой кнопкой мыши и выбрав соответствующий пункт.
При активной вкладке Общие определяются необходимые параметры для каждого поля.
После выхода из режима Конструктора, присваивается созданной таблице имя Выдачи.
Возможен просмотр её в режиме Таблицы и при необходимости редактирование ширины столбцов.
Создание таблицы Товары:
Для этого выбирается объект Таблицы и нажимается вкладка Создать. В открывшемся окне ищется вариант создания с помощью Мастера таблиц.
При работе мастера выбирается в качестве образца таблица Товары и, дважды щелкая по образцам полей, включаются в создаваемую таблицу поля: Код товара, Наименование товара, На складе, Заказано, Минимальный заказ и Срок. Затем щелчок по кнопке Далее.
В окне Создание таблиц присваивается имя таблице Товары и происходит сохранение. Включенный флажок MicrosoftAccess автоматически определяет ключ. Щелчок по кнопке Далее.
Далеенажимается кнопка Готово. Переключение таблицы в режим Конструктора происходит при помощи щелчка по кнопке Вид инструментальной панели. Проводится необходимая корректировка типов данных.
В режиме Таблицы редактируется ширина столбцов.
Аналогично конструируются другие таблицы при помощи Конструктора и Мастера таблиц, редактируются и добавляются поля, изменяются типы данных.
3.5 Создание схемы данных
Для создания отношений необходимо указать поля в двух таблицах, которые содержат одни и те же данные. Обычно такое поле в одной из таблиц (главной) является ключевым. Имена связывающих полей могут отличаться, но типы и свойства должны совпадать.
Для этого нужно щелкнуть по кнопке инструментальной панели «Схема данных» или выполнить команду Сервис / Схема данных.
В окне Добавление таблицы последовательно выбираются все созданные таблицы, затем щелчок по кнопке Добавить.
Добавив последнюю таблицу, нужно щелкнуть по кнопке Закрыть.
В окне Схема данных необходимо установить связь между таблицей Товары и таблицей Сведения о заказе. Для этого:
Выделяется щелчком поле Код товара в таблице Товары и, удерживая
нажатой левую клавишу мыши, нужно переместить указатель на поле с тем же названием в таблице Сведения о заказе. В появившемся окне необходимо поставить галочку для обеспечения целостности данных и выполнить команду Создать. Появится связь между таблицами типа один-ко-многим.
Аналогичным образом связываются таблицы: Сведения о заказе – Оплата (по полю Код заказа), Оплата – Клиенты (по полю Код проекта), Клиенты – Расходы (по полю Код клиента), Расходы – Выдачи (по полю Код расходов, Выдачи – Записи работ (по полю Код фондов), Записи работ – Сотрудники (по полю Код фондов), Сотрудники – Договоры (по полю Код сотрудника), Договоры – резервирование (по полю Код договора). Целостность данных обеспечивается с помощью поставленного флажка. Таким образом, получается схема данных (Приложение 1, рис. 2).
3.6 Разработка необходимых запросов, форм, отчетов.
3.6.1 Запросы
Необходимо создать следующие запросы:
1. Запрос по товарам – простой запрос на выборку сведений из базы данных, включающий следующие поля:
– Код товара;
– Фамилия клиента;
– Код заказа;
– Сумма оплаты;
– Город;
– Количество.
Для этого нужно щелкнуть в окне База данных по объекту Запросы. В окне Запросы щелчок по кнопке Создать. В окне Новый запрос выбирается Конструктор и нажимается кнопка Ok. В появившемся окне Добавить таблицу добавляются таблицы Сведения о заказе и Оплата, затем окно закрывается.
Перетаскиваются названия полей из окон таблиц в бланк запроса, расположенный под схемой данных, соблюдается их заданный порядок.
Можно просмотреть выборку, выполнив команду Вид / Режим таблицы или щелкнув по кнопке инструментальной панели Вид. А в случае ошибок выборки, можно вернуться в режимКонструктора запросов и, если выборка содержит ошибки, и откорректировать запрос
При закрытии запроса в появившемся окне подтверждается необходимость его сохранения. Присваивается запросу имя Запрос по товарам.