Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД учёта клиентов в гостинице2.doc
Скачиваний:
90
Добавлен:
22.12.2018
Размер:
577.02 Кб
Скачать

2.2Создание элементов базы данных

2.2.1 Таблицы

Первым этапом в разработке базы данных является создание таблиц. Таблицы можно создавать четырьмя способами: Конструктор, Мастер таблиц, Импорт таблиц, Режим таблицы.

Основным является режим создания таблиц с помощью Конструктора. В этом режиме пользователь сам может устанавливать параметры всех элементов структуры таблицы.Мастер таблиц автоматически формирует таблицу по одному из шаблонов. Режим Импорт таблиц позволяет переносить таблицы, созданные в других приложениях Windows, в базы данных Access. В Режиме таблицы пользователь может создать новую таблицу, не определяя предварительно её структуру.

База данных учёта проживающих в гостинице содержит 4 таблицы:

1. Клиент.

Эта таблица содержит следующие поля: код клиента, ФИО, паспортные данные, номер, город.

2. Проживает.

Эта таблица содержит следующие поля: код клиента, дата прибытия, дата отбытия, номер, тип номера, этаж, стоимость.

3. Номер

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

4.Тип_номера.

Эта таблица содержит следующие поля: номер, количество мест, стоимость.

Таблица «Клиент» связана с таблицей «Проживает» отношением «один-к-одному».

Таблица «Проживает» связана с таблицей «Номер» отношением «один-ко-многим»

Таблица «Номер» связана с таблицей «Тип_номера» отношением «один-к-одному».

Эти отношения представлены на рисунке 3.

Рисунок 3. Схема данных

2.2.2 Sql запросы

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

В базе данных учёта проживающих в гостинице содержится 6 запросов:

1. Запрос списка клиентов.

Данный запрос даёт следующую информацию: фамилию, имя, отчество, паспортные данные клиента и город, из которого он прибыл.

На языке SQL он выглядит следующим образом:

SELECT Клиент.Фамилия, Клиент.Имя, Клиент.Отчество, Клиент.Серия_паспорта, Клиент.Номер_паспорта, Клиент.Город

FROM Клиент;

2. Запрос информации по клиенту.

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

На языке SQL он выглядит следующим образом:

SELECT Клиент.Фамилия, Клиент.Имя, Клиент.Отчество, Клиент.Номер, Проживает.Дата_прибытия, Проживает.Дата_отбытия

FROM Клиент INNER JOIN Проживает ON (Клиент.Код_клиента=Проживает.Код_клиента) AND (Клиент.Код_клиента=Проживает.Код_клиента)

WHERE (((Клиент.Фамилия)=[Введите фамилию клиента ]));

3. Запрос «Стоимость проживания клиента в гостинице».

Данный запрос выдаёт фамилию клиента, дату его прибытия и отбытия, номер, в котором он проживает, стоимость этого номера в сутки и плату за время проживания клиента в гостинице.

На языке SQL он выглядит следующим образом:

SELECT Клиент.Фамилия, Проживает.Дата_прибытия, Проживает.Дата_отбытия, Проживает.Стоимость, ([Дата_отбытия]-[Дата_прибытия])*[Стоимость] AS [К оплате]

FROM Клиент INNER JOIN Проживает ON Клиент.Код_клиента=Проживает.Код_клиента

WHERE (((Клиент.Фамилия)=[Введите фамилию клиента]));

4. Запрос «Прибытие и отбытие клиентов».

Данный запрос предоставляет фамилии клиентов, даты их прибытия и отбытия.

На языке SQL он выглядит следующим образом:

SELECT Клиент.Фамилия, Проживает.Дата_прибытия, Проживает.Дата_отбытия

FROM Клиент INNER JOIN Проживает ON Клиент.Код_клиента = Проживает.Код_клиента;

5. Запрос «Список номеров»

Данный запрос выдаёт информацию о номерах и их типах.

На языке SQL он выглядит следующим образом:

SELECT Номер.[Порядковый номер], Номер.[Тип_номера]

FROM Номер;

6. Запрос свободных номеров.

Данный запрос даёт информацию о номере, его типе и дате отбытия клиента из этого номера.

На языке SQL он выглядит следующим образом:

SELECT Проживает.Номер, Проживает.Дата_отбытия, Проживает.Тип_номера

FROM Проживает

WHERE (((Проживает.Дата_отбытия)<[#Дата_отбытия # < "Getdate()"]));

Рисунок 4. Запрос свободных номеров