Создадим в нашей базе еще две таблицы: «Этажи» и «Гости».
В таблице «Этажи» будет храниться информация обо всех номерах (комнатах) на этажах. К этой информации относится: номер комнаты, код категории номера, число мест в номере, наличие телефона и телевизора в номере.
Поле, в котором будет храниться номер комнаты, будет текстовым, хотя там будет храниться число. Первая цифра — номер этажа, а две вторые — номер комнаты на этаже.
Отведя три знака для этого поля, мы ограничили «нашу» гостиницу девятью этажами и девяносто девятью номерами на каждом этаже. Для экономии времени пусть наша гостиница имеет всего три этажа, а на каждом — по шесть номеров.
В поле «Число мест» определим количество человек, которое может жить в номере. Мы задали полю «Число мест» тип числовой — тогда можно будет подсчитать общее число мест в гостинице или что-то еще. Тип поля «Числовой» задавайте только тогда, когда информация этого поля будет использоваться в расчетах. Размер поля в свойствах выберите «целое».
Поле «Код категории», которое как бы является лишним в таблице «Номера», мы создали для того, чтобы таблицы «Этажи» и «Номера», вернее их записи «знали» друг о друге. Имея точно такое же поле, таблица «Этажи» может быть связана с таблицей 1<Номера» по этому полю. Мы присвоили этим полям одинаковые названия, чтобы подчеркнуть их идентичность.
Позже мы выясним, что такие поля (поля, предназначенные для связывания таблиц) могут иметь разные имена. Во второй части пособия мы также выясним, что ввод полей «Код категории» вовсе не был обязательным в нашей базе, т.к. таблицы могут быть связаны и по своим идентификаторам. Но на первом этапе изучения системы мы оставим эти поля.
И, наконец, поля наличия телефона и телевизора у нас займут по одному биту (0/1) — поле логическое. В этом поле выберите формат «Да/Нет» в панели «Свойства поля».
Сконструировав необходимые поля таблицы «Этажи»:
№№ | Имя поля | Тип | Описание |
1 | Номер | Счетчик | Идентификатор |
2 | Номер комнаты | Текст, 3 | Номер комнаты на этаже |
3 | Код категории | Текст, 1 | Сокращенное обозначение категории |
4 | Число мест | Числовой | Число мест в номере |
5 | Телефон | Логический | Наличие телефона |
6 | Телевизор | Логический | Наличие телевизора |
введем следующие записи таблицы «Этажи»:
Номер | Номер комнаты | Код категории | Число мест | Телефон | Телевизор |
1 | 101 | Л | 1 | Да | Да |
2 | 102 | П | 1 | Да | Да |
3 | 103 | П | 2 | Да | Да |
4 | 104 | В | 2 | Нет | Да |
5 | 105 | Б | 2 | Нет | Да |
6 | 106 | В | 3 | Нет | Нет |
7 | 201 | Л | 1 | Да | Да |
8 | 202 | П | 1 | Да | Да |
9 | 203 | П | 2 | Да | Да |
10 | 204 | В | 2 | Нет | Да |
11 | 205 | В | 2 | Нет | Да |
12 | 206 | В | 3 | Нет | Нет |
13 | 301 | Л | 1 | Да | Да |
14 | 302 | П | 1 | Да | Да |
15 | 303 | П | 2 | Да | Да |
16 | 304 | В | 2 | Нет | Да |
17 | 305 | В | 2 | Нет | Дп |
18 | 306 | В | 3 | Нет | Нет |
Вы, конечно, обратили внимание, что записи в этой таблице отличаются по этажам номерами комнат и. естественно, своими идентификаторами. Поэтому возникает желание воспользоваться командами «Копировать» и «Вставить» из опции «Правка». Для этого выделите первые шесть записей первого этажа и дважды их вставьте. Отредактируйте номера комнат второго и третьего этажей (клавиша <F2> для начала редактирования). Обратите внимание, что идентификаторы не копируются, а заполняются автоматически.
Теперь перейдем к созданию таблицы «Гости», в которой будет храниться информация о гостях, которые живут в нашей гостинице. К этой информации будут относиться фамилии и инициалы, номера комнат, где живут гости, дата поселения и выезда из гостиницы.
Поле «Инициалы» — это текстовое поле размером в четыре символа, содержит инициалы и точки после заглавных букв.
Поля «Поселение» и «Выезд» принадлежат к типу «Дата/Время1‘. Нас здесь будет интересовать только дата. Для выбора ее формата при вводе свойства поля типа «Дата/время» перейдите в панель «Свойства поля» (переключение панелей — <F6>) и в списке «Формат поля» задайте «Средний формат даты» (19-июн-96). Мы не рекомендуем пользоваться кратким форматом даты, т.к. дата типа 11/10/96 может трактоваться двояко: 11-окт-96 или 10-ноя-96.
Поля таблицы «Гости»
№№ | Имя поля | Тип | Описание |
1 | Гость | счетчик | идентификатор |
2 | Фамилия | текст, 20 | фамилия |
3 | Инициалы | текст, 4 | инициалы |
4 | Номер комнаты | текст, 3 | номер комнаты на этаже |
5 | Поселение | дата/время | дата заезда в гостиницу |
6 | Выезд | дата/время | дата выезда из гостиницы |
Забегая вперед, скажем, что информация в поле идентификатора «Гость» таблицы «Гости» будет когда-то в результате эксплуатации нашей базы данных не в привычном застывшем виде: 1,2,3…, а в относительном беспорядке. Это произойдет потому, что гости будут приезжать и уезжать, т.е. мы постоянно будем корректировать эту таблицу: удалять старые записи (гость уехал) и вносить новые (гость приехал)
Для начала поселим трех следующих гостей, сформировав начальные записи таблицы “Гости”.
Гость | Фамилия | Инициалы | Номер комнаты | Поселение | Выезд |
1 | Иванов | И.И. | 102 | 17-июн-96 | 18-июн-96 |
2 | Петров | П.П. | 103 | 18-июн-96 | 20-июн-96 |
3 | Семенов | С.С. | 104 | 18-июн-96 | 20-июн-96 |
Четвертым в гостиницу поселите себя – в люксе на втором этаже (комната 201). Даты в таблице, конечно же, установите более реальные.
Если имя таблицы нам не нравится, то можно переименовать его командой “Файл – Переименовать…”, но сейчас этого делать не будем.