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

Лабы / ЛР1 / БД

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

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