DROP
TABLE IF EXISTS `Справка+`;
CREATE TABLE `Справка+` (
`Слк` INT NOT NULL,
`Код` INT NOT NULL,
`Название` VARCHAR (50) NOT NULL,
`Содержание` VARCHAR (100) NULL,
CONSTRAINT `ПК:СПР` PRIMARY KEY (`Слк`, `Код`)
);
INSERT INTO `Справка+`
VALUES
(0, 0, "Lector", NULL),
(1, 0, "PhD", NULL),
(2, 0, "Prof", NULL);
SELECT
*
FROM
`Справка+`;
DROP
TABLE IF EXISTS `Сотрудник%Персона`;
CREATE TABLE `Сотрудник%Персона` (
`Код сотрудника` INT NOT NULL PRIMARY KEY,
`Паспорт` CHAR (10) NULL UNIQUE,
`ФИО` VARCHAR (50) NOT NULL,
`Сведения сотрудника` VARCHAR (150) NOT NULL,
`Слк\СПР(Должность)` INT NOT NULL DEFAULT 0,
`Код\СПР(Должность)` INT NOT NULL,
CONSTRAINT `ВК1:СОТ^СПР` FOREIGN KEY (
`Слк\СПР(Должность)`,
`Код\СПР(Должность)`
) REFERENCES `Справка+` (`Слк`, `Код`)
);
INSERT INTO `Сотрудник%Персона`
VALUES
(
1, "8090123456", "Ivanov", "Good boy",
0, 0
);
SELECT
*
FROM
`Сотрудник%Персона`;
DROP
TABLE IF EXISTS `Препод:СОТ`;
CREATE TABLE `Препод:СОТ` (
`Код сотрудника\СОТ` INT NOT NULL PRIMARY KEY REFERENCES `Сотрудник%Персона` (`Код сотрудника`),
`Сведения преподавателя` VARCHAR (150) NOT NULL,
`Слк\СПР(Степень)` INT NOT NULL DEFAULT 1,
`Код\СПР(Степень)` INT NOT NULL,
`Слк\СПР(Звание)` INT NOT NULL DEFAULT 2,
`Код\СПР(Звание)` INT NOT NULL,
CONSTRAINT `ВК1:ПРЕ^СПР` FOREIGN KEY (
`Слк\СПР(Степень)`,
`Код\СПР(Степень)`
) REFERENCES `Справка+` (`Слк`, `Код`),
CONSTRAINT `ВК2:ПРЕ^СПР` FOREIGN KEY (
`Слк\СПР(Звание)`, `Код\СПР(Звание)`
) REFERENCES `Справка+` (`Слк`, `Код`)
);
show tables;
INSERT INTO `Препод:СОТ`
VALUES
(1, "Super", 0, 0, 0, 0);
SELECT
*
FROM
`Препод:СОТ`;