Л. р. №1. Создание и заполнение отношений.
Отношение "Стоимость мест" ("Класс", "Стоимость места").
Отношение "Номера" (идентификатор, "Класс" (внешний ключ), "Количество мест", "Количество забронированных мест").
Отношение "Постояльцы" (основное):
Содержимое поля
Тип
Длина Дес. Примечание
Номер паспорта С 10 0 Первичный ключ
Занимаемый номер N 3 0 внешний ключ
ФИО C 20 0 обязательное поле
Пол С 1 0 по умолчанию – мужской
Организация С 20 0 0
Дата вселения D 0 0 обязательное поле
Дата выселения D 0 0 заполняется при выезде постояльца
Л.р. №2. Выборка данных.
Создать запрос на выдачу счета на оплату номера.
Создать упорядоченные списки:
свободных номеров (по классу и по номерам) с указанием общего количества мест в номере;
полностью забронированных номеров.
Л.р. №3. Работа с представлениями.
Создать представления:
"Постояльцы, проживающие в гостинице в данное время" (все поля отношения "Постояльцы").
"Полностью занятые номера" (номер, количество мест).
"Номера со свободными местами" (пол, номер, количество свободных мест).
Создание и заполнение базы данных:
Код
create database hotel;
connect hotel;
CREATE TABLE `hotel`.`customers` (
`npas` CHAR(10) primary key,
`onom` NUMERIC(3,0) references rooms(id),
`fio` CHAR(20) not null,
`gender` CHAR(1) DEFAULT 'm',
`org` CHAR(20),
`datvsel` DATE NOT NULL,
`datvis` DATE);
CREATE TABLE `hotel`.`rooms` (
`id` NUMERIC(3,0) primary key,
`class` INTEGER references price(class),
`kolmest` INTEGER,
`kolzabrmest` INTEGER);
CREATE TABLE `hotel`.`price` (
`class` INTEGER primary key,
`pricem` INTEGER );
insert into customers values (1111111111,100,’Pupkin D.U.’,’m’,’HOME’,’1988-06-15’,’1988-07-15’);
insert into rooms values(100,1,3,2);
insert into price values (1,100);
connect hotel;
CREATE TABLE `hotel`.`customers` (
`npas` CHAR(10) primary key,
`onom` NUMERIC(3,0) references rooms(id),
`fio` CHAR(20) not null,
`gender` CHAR(1) DEFAULT 'm',
`org` CHAR(20),
`datvsel` DATE NOT NULL,
`datvis` DATE);
CREATE TABLE `hotel`.`rooms` (
`id` NUMERIC(3,0) primary key,
`class` INTEGER references price(class),
`kolmest` INTEGER,
`kolzabrmest` INTEGER);
CREATE TABLE `hotel`.`price` (
`class` INTEGER primary key,
`pricem` INTEGER );
insert into customers values (1111111111,100,’Pupkin D.U.’,’m’,’HOME’,’1988-06-15’,’1988-07-15’);
insert into rooms values(100,1,3,2);
insert into price values (1,100);
Помогите пожалуйста создать запросы и представления, выделенные жирным шрифтом!
Заранее спасибо!