Проектирование базы данных «АВТОСАЛОН»

Представьте себе, что Вы являетесь управляющим фирмы, торгующей автомобилями. Перед вами стоит задача собрать всю информацию об ассортименте продукции, всех сотрудниках фирмы и всех ее клиентах. Сюда относятся данные о сотрудниках, адреса клиентов, их заказы, информация о марках автомобилей, включая цену.

Необходимо создать ИС, автоматизирующую процессы учета договоров с клиентами и контроля исполнения заказов на продажу всех поставляемых моделей автомобилей. Договор включает фамилию клиента, основные данные о нем, описание предмета договора (модель автомобиля, цвет, технические данные), дату подписания договора, дату оплаты.

ИНФОЛОГИЧЕСКАЯ МОДЕЛЬ БАЗЫ ДАННЫХ

Первый этап проектирования заключается в описании объектов БД (сущностей), определении их атрибутов и в установлении связей между сущностями.

Связи между сущностями проектируемой БД представлены на рисунке 2.

рис.2

 

КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ

    Концептуальная модель строится на основе инфологической. Для реляционной модели данных каждая сущность преобразуется в набор отношений (таблиц), построенных по определенным строго заданным правилам. Таблица состоит из столбцов (полей) и строк (записей).

 

Модели автомобилей КодМодели Модель автомобиля Год выпуска
рис.3

 

Для этого требуется выполнить следующие действия:

1. На основе концептуальной модели нужно создать четыре таблицы: Сотрудники, Клиенты, Модели_автомобилей, Договоры.

2. Задать первичные ключи для таблиц Сотрудники, Клиенты, Модели_автомобилей, Договоры, выступающих в связях как «один-ко-многим».

Первичный ключ – это поле или минимальный набор полей, однозначно определяющих каждую строку таблицы. Первичные ключи используются в целях: идентификации строк в таблице: ускорения работы со строками таблицы; связывания таблиц.

Концептуальная модель для связи отношений представлена на рис. 3. Здесь жирным отмечены первичные ключи.

 

ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ

Для повышения производительности реляционные СУБД используют специальные объекты, называемые индексами. Индекс упорядочен по значению ключевого поля, что позволяет системе быстро находить нужные значения. Можно строить дополнительные индексы для ускорения поиска при выполнении основных запросов.

В таблице перечислены индексные поля для таблиц БД туристического агентства.

 

Индексированное поле Описание

Таблица Клиент

Код клиента Первичный ключ
Фамилия клиента Для поиска по клиенту

Таблица Сотрудник

Код сотрудника Первичный ключ
Фамилия сотрудника Для поиска по сотруднику

Таблица Модели автомобилей

Код модели Первичный ключ
Модель автомобиля Для поиска по названию страны

Таблица Договор

Номер договора Первичный ключ
Дата заказа Для поиска договоров по дате подписания
Дата платежа Для поиска договоров по дате оплаты

 


Лабораторная работа 1.
Создание таблиц БД

1. Создайте на рабочем диске свою папку.

2. Запустите МS Access. Используя команду Файл-Создать, создайте в своей папке новую БД с именем Автосалон.

Создание таблицы с помощью Конструктора

3.Создайте таблицу Сотрудника в режиме Конструктора. Наименования и типы полей представлены в таблице Сотрудник.



Таблица Сотрудник

Название поля

Тип данных

Свойства полей

Свойство Значение

Код сотрудника

Числовой

Размер поля Длинное целое
Индекс Да (совпадения не допускаются)

ФИО

Текст

Размер поля 30
Обязательное поле Да
Индекс Да (Допускаются совпадения)

Должность

Текст

Размер поля 30
Обязательное поле Да
Индекс Нет

Дата найма

Дата/Время

Формат Краткая дата
Обязательное поле Да
Индекс Нет

Дата рождения

Дата/Время

Формат Краткая дата
Обязательное поле Да
Индекс Нет

Домашний телефон

Текст

Размер поля 20
Обязательное поле Нет
Индекс Нет

Адрес

Текст

Размер поля 255
Обязательное поле Нет
Индекс Нет

Оклад

Числовой

Размер поля Длинное целое
Индекс Да (Совпадения допускаются)

4.Создайте первичный ключ, используя поле Код сотрудника

5.Для поля Домашний телефон задайте маску, набрав, следующий шаблон (9999) 99-99-99.

6.Для поля Оклад задайте условие, что он больше 5000 р., но не больше 30000. Для этого в свойстве «Условие на значение» установите (>5000) AND (<30000). Предусмотрите выдачу сообщения при ошибке ввода данных.

7.Установите для Даты рождения и Даты найма маску ввода с помощью кнопки Построить и Мастера масок. Используйте краткий формат даты.

Ввод, сохранение и изменение записей в таблице

8.Перейдите в режим просмотра таблицы командой Вид — Режим таблицы, сохранив ее структуру.

9.Введите около 10 разнообразных записей по своему усмотрению (см. Приложения). Осуществите ввод заведомо некорректных данных для проверки работоспособности условия на значение.

10.Переместите поле Домашний телефон в конец таблицы, выделив его с помощью указателя мыши (в виде черной стрелки) в заголовке.

11.Добавьте еще запись путем копирования и изменения одной из уже введенных.

12.Спрячьте некоторые столбцы. Сделайте их опять видимыми командами Формат — Скрыть/Показать столбцы.

13.Зафиксируйте столбцы, содержащие фамилию и имя, командой Формат — Закрепить столбцы. Освободите столбцы.

14.Поменяйте тип шрифта и его начертание (Формат — Шрифт).

15.Попробуйте удалить запись Правка — Удалить запись.

16.Закройте окно таблицы Сотрудники, сохранив изменения.

Использование Мастера таблиц

17.Создайте с помощью Мастера таблиц новую таблицу Клиенты. Просмотрите список предлагаемых вам таблиц для делового и личного применения. Включите поля.

Таблица Клиенты

Название поля

Тип данных

Свойства полей

Свойство Значение

Код клиента

Числовой

Размер поля Длинное целое
Обязательное поле Да
Индексированное поле Да (совпадения не допускаются)

Фамилия ИО

Текст

Размер поля 30
Обязательное поле Да
Индексированное поле Да (Допускаются совпадения)

Город

Текст

Размер поля 50
Обязательное поле Нет
Индексированное поле Нет

Адрес

Текст

Размер поля 255
Обязательное поле Нет
Индекс Нет

Телефон

Текст

Размер поля 20
Обязательное поле Нет
Индексированное поле Нет

Гражданство

Текст

Размер поля 20
Значение по умолчанию Российское
Обязательное поле Да
Индексированное поле Нет

Паспортные данные

Текст

Размер поля 12
Обязательное поле Да
Индексированное поле Да (совпадения не допускаются)

№ страх. свид-ва

Текст

Размер поля 15
Обязательное поле Да
Индексированное поле Да (совпадения не допускаются)

ИНН

Числовой

Размер поля Длинное целое
Обязательное поле Да
Индексированное поле Да (совпадения не допускаются)

18. В качестве первичного ключа задайте Код Клиента.

19. Для поля Телефон задайте маску, набрав, следующий шаблон (9999) 99-99-99

20. Для поля Паспортные данные задайте маску, набрав следующий шаблон 9999№999999

21. Для поля № страх. свид-ва задайте маску, набрав следующий шаблон 999-999-999-99

22. Перейдите в Режим таблицы и заполните ее произвольными данными на 10 клиентов, не повторяя кодов.

Редактирование структуры таблицы

23. Создайте в режиме Конструктора таблицу Модели автомобилей

Таблица Модели автомобилей

Название поля

Тип данных

Свойства полей

Свойство Значение

Код модели

Числовой

Размер поля Длинное целое
Индексированное поле Да (совпадения не допускаются)

Модель автомобиля

Текст

Размер поля 50
Обязательное поле Да
Индексированное поле Да (Совпадения допускаются)

Год выпуска

Текст

Размер поля 10
Обязательное поле Да
Индексированное поле Нет
Значение по умолчанию 2009

Цвет

Текст

Размер поля 20
Обязательное поле Да
Индексированное поле Да (Совпадения допускаются)

Количество дверей

Числовой

Размер поля Длинное целое
Условие на значение >=2 and <=5
Сообщение об ошибке Это поле содержит значения от 2 до 5
Обязательное поле Да
Индексированное поле Нет

Мощность двигателя

Числовой

Размер поля Длинное целое
Обязательное поле Да
Индексированное поле Нет

Расход топлива

Текст

Размер поля 5
Обязательное поле Да
Индексированное поле Нет

Подушки безопасности

Логический

Формат поля Да/Нет
Обязательное поле Нет
Индексированное поле Нет

Кондиционер

Логический

Формат поля Да/Нет
Обязательное поле Нет
Индексированное поле Нет

 

Для добавления поля в таблицу выделите ту строку, перед которой должна быть вставлена новая строка, щелкнув мышью по маркеру строки (у левого края) (меню Вставка - Строки). Над выделенной строкой появится пустая строка.

24. Добавьте между 5 (Количество дверей) и 6 (Мощность двигателя) полем новое поле Количество мест

Количество мест

имя поля Количество мест
тип данных числовой
размер поля целое
Обязательное поле нет
Индексированное поле нет

26. Перейдите в режим таблицы и заполните ее произвольными данными (не менее 5 записей)

Лабораторная работа 2.
Связи между таблицами

1. Откройте базу данных Автосалон, содержащую три таблицы: Клиенты, Сотрудники и Модели автомобилей.

Использование Мастера подстановок

2. Создайте в режиме Конструктора таблицу Договоры, которая должна иметь поля, описанные в таблице.


Таблица Договоры

Название поля

Тип данных

Свойства полей

Свойство Значение

Номер договора

Числовой

Обязательное поле Да
Индекс Да (совпадения не допускаются)

Код клиента

Числовой

Размер поля Длинное целое
Обязательное поле Да
Индекс Да (Допускаются совпадения)

Поле подстановки значений из таблицы Клиенты

Код модели

Числовой

Размер поля Длинное целое
Обязательное поле Да
Индекс Да (Допускаются совпадения)

Поле подстановки значений из таблицы Модели автомобилей

Дата заказа

Дата/Время

Формат Краткая дата
Обязательное поле Да
Индекс Да (Допускаются совпадения)

Цена автомобиля

Денежный

Формат поля Евро
Число десятичных знаков 0
Обязательное поле Нет
Индекс Нет

Дата платежа

Дата/Время

Формат Краткая дата
Обязательное поле Да
Индекс Нет
Оформление кредита Логический Формат поля Да/Нет

Код сотрудника

Числовой

Размер поля Длинное целое
Индекс Да (Допускаются совпадения)

Поле подстановки значений из таблицы Сотрудники

 

3. Поля Код сотрудника, Код клиента, Код модели являются полями подстановки. Для их задания используется Мастер подстановок.

     Для подстановки Кода сотрудника нужно в режиме Конструктора:

· в Типе данных поля Код сотрудника раскрыть список типов и выбрать Мастер подстановок;  

· указать, что столбец подстановки получает свои значения из таблицы Сотрудника;

· выбрать поля Код сотрудника и Фамилия;

· выберите порядок сортировки по коду сотрудника:

· установить мышью подходящую ширину столбца, убрать флажок «скрыть ключевые столбцы»;

· согласиться с предлагаемой подписью столбца подстановок Код сотрудника;

· сохраните таблицу с именем Договоры.

4. Аналогично для подстановки Кода клиента и Кода автомобиля вызывается Мастер подстановок. При этом для Кода клиента выбираем поля Код клиента и Фамилия клиента из таблицы Клиенты, а для Кода модели — поля Код модели и Модель автомобиля из таблицы Модели автомобилей.

5. Перейдите в Режим таблицы и внесите несколько записей (не менее 10) в таблицу Договоры, используя поля подстановки.

6. Проанализируйте уже установленные при работе с Мастером подстановки связи в окне Схема данных (Сервис — Схема данных). Щелчком по линиям связям вызовите диалоговое окно Изменение связей, которое служит для установления связи и определения ее типа:

·  Установите флажок Обеспечение целостности связи.

·  Установите флажок Каскадное обновление связанных полей.

· Убедитесь, что установлен тип отношений Один ко многим.

·   Нажмите кнопку ОК, и связь будет установлена.

5. Сохраните БД в своей папке.

Лабораторная работа 3.
Простейшие операции поиска и фильтрации данных

1. Откройте БД Автосалон.

2. Откройте таблицу Сотрудники.

Поиск данных

3. С помощью Правка — Найти или инструмента Найти осуществите следующие операции поиска:

· найдите все записи о служащих в должности «Менеджер»;

· подберите все записи о служащих, которые живут в Москве (или другом городе);

· определите домашний телефон, который начинается на цифру 5;

· определите фамилии, имеющие вторую букву «а» или «о».

Замена данных

4. Используя команду Правка — Заменить, замените все должности «Менеджер» на «Менеджер по продажам».

Сортировка данных в таблицах

5.Отсортируйте фамилии сотрудников по алфавиту. Для этого установите курсор на поле Фамилии и выберите Записи — Сортировка — опция По возрастанию или По убыванию.

6.Отсортируйте записи по должностям, а для одинаковых должностей — по фамилиям. Для этого расположите поле Должность слева от поля Фамилия, выделите оба поля и выполните сортировку.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: