Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / ЛР1 / БД

.sql
Скачиваний:
0
Добавлен:
27.06.2025
Размер:
1.45 Кб
Скачать

CREATE TABLE IF NOT EXISTS student
(
fullname VARCHAR(100) NOT NULL CHECK(fullname ~ '^[A-Za-zА-Яа-яЁё ]+$'),
passport VARCHAR(10) NOT NULL UNIQUE PRIMARY KEY CHECK (LENGTH(passport)=10 AND passport ~ '^[0-9]{10}$'),
faculty VARCHAR(100) NOT NULL CHECK(faculty ~ '^[A-Za-zА-Яа-яЁё ]+$'),
field_of_study VARCHAR(100) NOT NULL CHECK(field_of_study ~ '^[A-Za-zА-Яа-яЁё ]+$')
);

CREATE TABLE IF NOT EXISTS lease_agreement
(
payment INT NOT NULL CHECK( payment > 0 ),
fullname VARCHAR(100) NOT NULL CHECK(fullname ~'^[A-Za-zА-Яа-яЁё ]+$'),
agreement_id INT GENERATED ALWAYS AS IDENTITY NOT NULL PRIMARY KEY,
student_passport VARCHAR(10) NOT NULL,
room_id INT NOT NULL CHECK (room_id > 0),
room_size INT NOT NULL CHECK (room_size > 0),
student_No_dormitory INT NOT NULL
);

CREATE TABLE IF NOT EXISTS personal
(
fullname VARCHAR(100) NOT NULL CHECK(fullname ~ '^[A-Za-zА-Яа-яЁё ]+$'),
personal_id INT GENERATED ALWAYS AS IDENTITY NOT NULL UNIQUE PRIMARY KEY,
job_title VARCHAR(100) NOT NULL CHECK(job_title ~'^[A-Za-zА-Яа-яЁё ]+$')
);

CREATE TABLE IF NOT EXISTS dormitory
(
total_rooms INT NOT NULL CHECK (total_rooms > 0),
free_rooms INT NOT NULL CHECK (free_rooms > -1 ),
dormitory_room_id INT NOT NULL,
address VARCHAR(100) NOT NULL UNIQUE,
No_dormitory INT GENERATED ALWAYS AS IDENTITY NOT NULL UNIQUE PRIMARY KEY,
dormitory_personal_id INT NOT NULL
);
Соседние файлы в папке ЛР1