Порядок выполнения работы
В качестве предметной области выбрана деятельность фирмы по продаже автомобилей марки Toyota. Поставлена задача: упорядочить информацию о клиентах фирмы, ассортименте продукции и сформированных заказах.
Этапы 1-3 проектирования БД изучить теоретически, 4-5 выполнить практически.
Й этап. Определение цели проектирования БД.
Проектируемая реляционная БД должна содержать структурированную информацию о клиентах, продаваемых автомобилях и заказах.
Проектируемая БД должна поддерживать выполнение, как минимум, следующих основных функций: ввод и обновление информации, просмотр и удаление.
й этап. Разработка информационно-логической модели предметной области.
Вся информация о предметной области может быть логично разделена на 3 таблицы:
Клиенты, Автомобили, Заказы.
При этом выполняются основные требования к содержанию таблиц:
1. Каждая таблица содержит информацию только на одну тему.
2. Информация в таблицах не дублируется.
3. Для связи между таблицами заданы первичные ключи, однозначно определяющие каждую запись в таблице.
Содержание базовых таблиц приведено ниже:
Таблица Клиенты | Таблица Автомобили | Таблица Заказы |
1. Код клиента (ключ) | 1. Код модели (ключ) | 1. Код заказа (ключ) |
2. Фамилия | 2. Модель | 2. Код клиента |
3. Имя | 3. Мощность двигателя | 3. Код Модели |
4. Отчество | 4. Цвет | 4. Дата заказа |
5. Адрес | 5. Количество дверей | 5. Скидка, % |
6. Телефон | 6. Заводская цена | 6. Оплачено |
7. Издержки (транспортные, предпродажные) | ||
8. Специальная модель | ||
9. Дополнительное оснащение |
При разработке полей для каждой таблицы необходимо учитывать:
· Каждое поле должно быть связано с темой таблицы.
|
· Не включать в таблицу данные, которые являются результатом вычисления.
· Информацию следует разбивать на наименьшие логические единицы (Например, поля «Индекс», «Страна», «Населенный пункт», «Почтовый адрес», а не общее поле «Адрес»).
3-й этап. Определение отношений между таблицами.
Поскольку для проектируемой БД выполнены требования нормализации, между таблицами Клиенты-Заказы и Автомобили-Заказы могут быть установлены
одно-многозначные отношения (1: ∞), которые поддерживаются реляционной СУБД.
Связь между таблицами устанавливается с помощью ключей Код клиента и
Код модели, которые в главных таблицах Клиенты и Автомобили являются первичными, а в таблице-связке Заказы - внешними.
4-й этап. Создание таблиц БД средствами СУБД MS Access.
4.1. Загрузить СУБД MS Access. Создать в рабочей папке файл БД, присвоив имя toyota. Заполнить свойства БД.
4.2. Выбрать в окне БД вкладку Таблицы.
4.3. Создать макет таблицы Автомобили в режиме Конструктора, используя нижеприведенные данные об именах полей, их свойствах и типах данных.
*Все поля, за исключением поля Другое оснащение, должны быть обязательными для заполнения (Свойство Обязательное поле: Да).
Имя поля | Тип данных | Описание | Свойства поля |
Код модели | Числовой | Ключевое поле, код модели по заводскому каталогу | Индексированное поле: Да/Совпадения не допускаются Ключевое поле задается в меню Правка/Ключевое поле |
Модель | Текст | Тип кузова | Размер поля: 20, Значение по умолчанию: Corolla Индексированное поле: Да/Совпадения допускаются (одна и та же модель может встречаться в БД многократно с различными вариантами оснащения) |
Мощность | Текст | Мощность двигателя (кВт/л.с.) | Размер поля: 10 Индексированное поле: Нет |
Цвет | Текст | Цвет кузова | Размер поля: 20 Индексированное поле: Нет |
Количество дверей | Числовой | 2 или 4 | Размер поля: Байт Формат: Основной Число десятичных знаков: 0 Значение по умолчанию: 4 Условие на значение: 2 Or 4 Сообщение об ошибке: Данное поле может содержать только 2 или 4 Индексированное поле: Нет |
Коробка передач | *Мастер подстановок, фиксированный набор значений | Автоматика или ручная | Размер поля: 12 Значение по умолчанию: Ручная Условие на значение: “Ручная” Or “Автоматика” Сообщение об ошибке: Допустимы только значения “Ручная” или “Автоматика” Индексированное поле: Нет |
Обивка | *Мастер подстановок, фиксированный набор значений | Велюр, кожа, ткань | Размер поля: 10 Индексированное поле: Нет |
Другое оснащение | Memo | Дополнительные аксессуары | Значение по умолчанию: Радио/плейер, раздвижная крыша |
Заводская цена | Денежный | Заводская продажная нетто-цена | Формат: Денежный Число десятичных знаков: Auto Индексированное поле: Нет |
Транспортные издержки | Денежный | Издержки на доставку | Формат: Денежный Число десятичных знаков: Auto Индексированное поле: Нет |
Предпродажные издержки | Денежный | Издержки на предпродажную подготовку | Формат: Денежный Число десятичных знаков: Auto Значение по умолчанию: 105 Индексированное поле: Нет |
Специальная модель | Логический | Спец. модель или стандартная | Формат: Да/Нет |
*Мастер подстановок позволяет создать для указанных полей список, из которого выбирается значение.
|
|
4.4. Перейти в режим Таблицы, сохранив созданный макет таблицы под именем Автомобили.
4.5. Добавить в таблицу Автомобили 3 записи:
Код модели | |||
Модель | Corolla Liftback | Corolla CompactGT | Corolla CompactXL |
Мощность | 69/90 | 100/139 | 90/135 |
Цвет | Бутылочное стекло | Черный | Небесно-голубой |
Количество дверей | |||
Коробка передач | Автоматика | Ручная | Ручная |
Обивка | Ткань | Кожа | Велюр |
Другое оснащение | Радио/плейер, раздвижная крыша, лаковое покрытие “Металлик” | Радио/плейер, раздвижная крыша, алюмин. дворники | Электро-подъемник окон, раздвижная крыша |
Заводская цена | |||
Транспортные издержки | |||
Предпродажные издержки | |||
Специальная модель | Нет | Да | Да |
4.6. Создать макет таблицы Клиенты в режиме Конструктора.
*Обязательные поля Код клиента, Фамилия, Страна.
Имя поля | Тип данных | Описание | Свойства поля(определяют правила сохранения, отображения и обработки данных в поле) |
Код клиента | Счетчик | Ключевое поле, уникальный номер клиента в БД | Индексированное поле: Да/Совпадения не допускаются Ключевое поле задается в меню Правка/Ключевое поле |
Фамилия | Текст | Фамилия | Размер поля: 40, Индексированное поле: Да/Совпадения допускаются |
Имя | Текст | Имя | Размер поля: 20, Индексированное поле: Да/Совпадения допускаются |
Отчество | Текст | Отчество | Размер поля: 40, Индексированное поле: Да/Совпадения допускаются |
Индекс | Числовой | Почтовый индекс | Размер поля: Длинное целое, Индексированное поле: Да/Совпадения допускаются |
Страна | Текст | Название страны | Размер поля: 20, Индексированное поле: Да/Совпадения допускаются |
Населенный пункт | Текст | Название населенного пункта | Размер поля: 40, Индексированное поле: Да/Совпадения допускаются |
Почтовый адрес | Текст | Почтовый адрес | Размер поля: 50, Индексированное поле: Нет |
Телефон | Текст | Контактный телефон | Размер поля: 20, Индексированное поле: Нет |
4.7. Добавить в таблицу Клиенты 3 записи. (Перейти в режим Таблицы, сохранив макет таблицы под именем Клиенты)
4.8. Создать в режиме Конструктора макет таблицы Заказы.
*Все поля, за исключением поля Скидка, являются обязательными для заполнения.
Имя поля | Тип данных | Описание | Свойства поля(определяют правила сохранения, отображения и обработки данных в поле) |
Код заказа | Счетчик | Ключевое поле, уникальный номер заказа | Индексированное поле: Да/Совпадения не допускаются Ключевое поле задается в меню Правка/Ключевое поле |
Код модели | Числовой, *Мастер подстановок | Внешний ключ, для связи с таблицей Автомобили | Размер поля: Длинное целое Индексированное поле: Да, допускаются совпадения |
Код клиента | Числовой, *Мастер подстановок | Внешний ключ, для связи с таблицей Клиенты | Размер поля: Длинное целое Индексированное поле: Да, допускаются совпадения |
Дата заказа | Дата/время | Дата формирования заказа ДД.ММ.ГГ | Формат: Краткий формат даты Индексированное поле: Да/Совпадения допускаются |
Скидка | Числовой | Размер скидки в % | Размер поля: Одинарное с плавающей точкой Формат: Процентный Условие на значение: Between 0 And 1 |
* Используя Мастер подстановок, сформировать для полей Код клиента и Код модели список выбора из таблиц Клиенты и Автомобили(сбросить флажок Скрыть ключевое поле).
4.9. Добавить 5 записей в таблицу Заказы.
5-й этап. Создание схемы данных БД (связей между таблицами).
5.1. Выполнить команду Схема данных из меню Сервис. В диалогом окне Добавление таблицы последовательно добавить все три таблицы. Закрыть диалоговое окно.
5.2. Установить связь между таблицами Клиенты-Заказы, Автомобили-Заказы: выделить ключевое поле в главной таблице (Клиенты или Автомобили) и перетащить его на соответствующее поле таблицы-связки Заказы. Обеспечить целостность данных.
5.3. Сохранить макет схемы данных.