Лабораторная работа 1 итог

This commit is contained in:
Kudyaeva 2024-12-07 16:01:32 +04:00
parent 9fec913bf6
commit 7ad5c24644

49
2labOTP.sql Normal file
View File

@ -0,0 +1,49 @@
-- Таблица Teacher
CREATE TABLE Teacher (
ID SERIAL PRIMARY KEY,
Surname VARCHAR(255) NOT NULL,
Name VARCHAR(255) NOT NULL,
MiddleName VARCHAR(255)
);
-- Таблица Group
CREATE TABLE "Group" (
ID SERIAL PRIMARY KEY,
Name VARCHAR(255) NOT NULL,
Type INT NOT NULL
);
-- Таблица Student
CREATE TABLE Student (
ID SERIAL PRIMARY KEY,
Surname VARCHAR(255) NOT NULL,
Name VARCHAR(255) NOT NULL,
MiddleName VARCHAR(255),
GroupID INT NOT NULL REFERENCES "Group"(ID) ON DELETE CASCADE
);
-- Таблица Discipline
CREATE TABLE Discipline (
ID SERIAL PRIMARY KEY,
Name VARCHAR(255) NOT NULL,
Description TEXT NOT NULL,
Courses INT NOT NULL,
TeacherId INT NOT NULL REFERENCES Teacher(ID) ON DELETE CASCADE
);
-- Таблица Statement
CREATE TABLE Statement (
ID SERIAL PRIMARY KEY,
TeacherId INT NOT NULL REFERENCES Teacher(ID) ON DELETE CASCADE,
DisciplineId INT NOT NULL REFERENCES Discipline(ID) ON DELETE CASCADE,
Date DATE NOT NULL
);
-- Таблица StatementStudent (многие ко многим)
CREATE TABLE StatementStudent (
ID SERIAL PRIMARY KEY,
StudentId INT NOT NULL REFERENCES Student(ID) ON DELETE CASCADE,
StatementId INT NOT NULL REFERENCES Statement(ID) ON DELETE CASCADE,
Mark INT NOT NULL
);