Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разраб.базы данных.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.69 Mб
Скачать

Техническое задание на разработку учебной базы данных

Необходимо создать базу данных для диспетчера такси, которая должна отвечать следующим требованиям.

 В эту базу диспетчер должен заносить поступающие вызовы клиентов и регистрировать их исполнение.

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

 В базе данных нужно вести учет заказов постоянных клиентов, каждый из которых имеет карточку с персональным номером. Кроме номера карточки база данных должна позволять заносить фамилии, адреса и телефоны клиентов.

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

Поставив задачу, можно приступать к разработке структуры базы данных.

Разработка структуры базы данных

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

Таблица 13. Предварительный проект таблицы учебной базы данных

Хранение всех данных в подобной таблице будет неудобным, поскольку в ней смешаны три разных понятия – Заказы, Клиенты и Автомобили, что приведет к повторению информации. Например, для регистрации вызова постоянного клиента придется каждый раз вводить его номер карточки, фамилию и другие данные. Если создать отдельную таблицу Клиенты, то сведения о клиентах будут заноситься только при первом вызове, а при последующих фамилия клиента будет выбираться из раскрывающегося списка. Исходя из аналогичных соображений, можно также создать отдельную таблицуАвтомобили, и окончательная структура базы данных может быть такой (рис. 1.15).

Несколько замечаний по созданному проекту.

 В каждой таблице нужно определить ключевое поле. В таблице Клиенты это будет полеНомерКарточки, а в таблице Автомобили – НомерАвтомобиля. В таблице Заказы нет подходящего поля для ключевого, поэтому было введено дополнительное полеКодЗаказа с типом данных Счетчик.

Рис. 1.15. Проект структуры базы данных диспетчерской службы такси

 Для регистрации исполнения заказов введено дополнительное поле СостояниеЗаказа,в которое оператор сможет вводить следующие значения – Активный, Выполнен, Отменен.

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

Примечание

Кроме связей типа «один-ко-многим» существуют связи «один-к-одному» и «многие-ко-многим». Так, если нужно хранить расширенные сведения об автомобилях и водителях, то целесообразно создать отдельную таблицу Водители, которая была бы связана с таблицей Автомобили способом «один-к-одному».

Связь «многие-ко-многим» реализуется в Access с помощью дополнительной таблицы. В данном примере таблицы Автомобили и Клиенты связаны между собой отношением «многие-ко-многим» с помощью дополнительной таблицы Заказы.

После того как структура базы данных создана и проверена, нужно проработать более детально структуру каждой таблицы. Таблица Клиенты была создана в предыдущем Занятиее, поэтому рассмотрим проекты таблиц Заказы и Автомобили (табл. 1.4, 1.5).

Таблица 1.4. Проект таблицы Автомобили

Для полей Автомобиль и Клиент выбран числовой тип, поскольку они используются в связях (см. рис. 1.15), а связанные поля должны иметь одинаковый тип.

Порядок создания связей

В подавляющем большинстве случаев в базах данных используются связи типа «один-ко-многим». Для создания такой связи в Access можно использовать следующий алгоритм.

1. Сначала создайте таблицу, которая участвует в связи на стороне «один».

2. В процессе создания таблицы, участвующей в связи на стороне «много», выполните подстановку полей из ранее созданной таблицы.

3. В окне Схема данных при необходимости настройте дополнительные параметры связи.

Подробно эти действия будут рассмотрены в инструкции по выполнению практической работы.

Практическая работа 56. Создание связей между таблицами

Задание. Создать в среде Access 2007 базу данных из трех связанных таблиц согласно разработанному в этом Занятиее проекту.

Эта работа будет объемной, поэтому ее выполнение будет разделено на несколько этапов.

Создание таблицы Автомобили

1. Откройте базу данных Taxi2008, которая была создана в предыдущем Занятиее. В ней должна уже быть одна таблица – Клиенты.

2. Выполните команду Создание > Таблицы > Таблица.

3. Введите названия полей и их свойства согласно проекту таблицы (см. табл. 1.4). Процесс создания таблицы был подробно рассмотрен в предыдущем Занятиее.

4. Переключитесь в режим конструктора – отобразится окно сохранения таблицы, в котором следует указать имя Автомобили.

5. В режиме конструктора установите размеры полей, затем снова переключитесь в режим таблицы.

6. Введите несколько пробных записей в созданную таблицу.

Создание таблицы Заказы

В процессе создания таблицы Заказы выполним подстановку необходимых полей из таблиц Автомобили и Клиенты.

1. Выполните команду Создание > Таблицы > Таблица и введите названия первых двух полей – КодЗаказа и ДатаЗаказа. Название поля НомерАвто вводить не нужно, поскольку это поле будет создано с помощью подстановки.

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

3. Найдите поле НомерАвто в таблице Автомобили и дважды щелкните на нем кнопкой мыши – будет запущен мастер создания подстановки (рис. 1.16).

4. Поле НомерАвто будет выбрано для подстановки автоматически, но для большей наглядности можно добавить в столбец подстановки поле Водитель. Для этого выделите нужное поле и нажмите кнопку

5. Мастер предложит указать способ сортировки списка подстановки. Выберите сортировку по номеру автомобиля и нажмите кнопку Далее.

6. Следующий этап – выбор ширины столбцов для списка подстановки. По умолчанию Мастер предлагает скрыть поле первичного ключа, и с этим можно согласиться, когда его значение не имеет особого смысла (например, в базе данных Борей ключевые столбцы всегда скрыты). В данном случае нужно снять флажок Скрыть ключевой столбец (рекомендуется), чтобы поле НомерАвто также отображалось в списке подстановки (рис. 1.11), после чего нажать кнопку Далее.

Рис. 1.16. Выбор полей для подстановки

Рис. 1.11. Настройка вывода на экран столбцов подстановки

1. Поскольку вы разрешили отображение ключевого поля, в следующем окне Мастер еще раз спросит, какое поле использовать для связи. Выберите поле НомерАвтои нажмите кнопку Далее.

8. В последнем окне при необходимости измените предлагаемую подпись для столбца подстановки и нажмите Готово, после чего будет сохранена таблица и создана связь.

9. Аналогично добавьте в таблицу Заказы поле НомерКарточки из таблицы Клиенты иукажите параметры подстановки.

10. Поля СуммаЗаказа и СостояниеЗаказа создайте обычным способом, после чего сохраните структуру таблицы Заказы.