Добавил:
больше работ здесь: https://github.com/alisadex Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
14
Добавлен:
11.02.2024
Размер:
43.92 Кб
Скачать

Язык определения данных

Пример 1. Создать таблицу «Факультет».

CREATE TABLE Факультет (

аббревиатура TEXT (3) NOT NULL,

название TEXT (50) NOT NULL,

CONSTRAINT ПК_Факультет PRIMARY KEY (аббревиатура),

CONSTRAINT АК_Факультет UNIQUE (название));

Пример 2 . Создать таблицу «Кафедра».

CREATE TABLE Кафедра(

шифр TEXT (8) NOT NULL,

название TEXT (50) NOTNULL,

фак ТЕХТ (4),

CONSTRAINT ПК_Кафедра PRIMARY KEY (шифр),

CONSTRAINT АК_Кафедра UNIQUE (название),

CONSTRAINT Кафедра.Факультет FOREIGN KEY (фак) REFERENCES Факультет (аббревиатура)ON UPDATE CASCADE ON DELETE SET NULL);

Пример 3 . Создать таблицу «Сотрудник».

CREATE TABLE Сотрудник (

таб_номер TEXT (3) NOT NULL,

шифр TEXT(8),

фамилия TEXT (20),

должность TEXT (20),

зарплата MONEY,

шеф TEXT (3),

CONSTRAINT ПК_Сотрудник PRIMARY KEY (таб_номер),

CONSTRAINT Сотрудник_Сотрудник FOREIGN KEY (шеф)REFERENCES Сотрудник (таб_номер)ON UPDATE CASCADE ON DELETE SET NULL,

CONSTRAINT Сотрудник_Кафедра FOREIGN KEY (шифр) REFERENCES Кафедра (шифр)ON UPDATE CASCADE ON DELETE SET NULL);

Пример 4. Создать таблицу «Специальность».

CREATE TABLE Специальность (

номер TEXT (8) NOT NULL,

направление TEXT (50) NOT NULL,

шифр TEXT (8),

CONSTRAINT ПК_Специальность PRIMARY KEY (номер),

CONSTRAINT АК_Специальность UNIQUE (направление),

CONSTRAINT Специальность_Кафедра FOREIGN KEY (шифр) REFERENCES Кафедра (шифр)ON UPDATE CASCADE ON DELETE SET NULL);

Пример 5 . Создать таблицу «Дисциплина».

CREATE TABLE Дисциплина (

код TEXT (6) NOT NULL,

объем SMALLINT,

CONSTRAINT ПК_Дисциплина PRIMARY KEY (код));

Пример 6 . Создать таблицу «Заявка». Эта таблица является ассоциативной и моделирует связь типа «многие-ко-многим» между таблицами «Специальность» и «Дисциплина».

CREATE TABLE Заявка (

номер TEXT (8) NOT NULL,

код TEXT (6) NOT NULL,

CONSTRAINT ПК_Заявка PRIMARY KEY (номер, код),

CONSTRAINT Заявка_Дисциплина FOREIGN KEY (код) REFERENCES Дисциплина (код),

CONSTRAINT Заявка_Специальность FOREIGN KEY (номер) REFERENCES Специальность (номер));

Пример 7. Создать таблицу «Завкафедрой».

CREATE TABLE Завкафедрой (

таб_номер TEXT (3) NOT NULL,

стаж SMALLINT,

CONSTRAINT ПК_Зав_кафедрой PRIMARY KEY (таб_номер),

CONSTRAINT Зав_кафедрой_Сотрудник FOREIGN KEY (таб_но- мер) REFERENCES Сотрудник (таб_номер)ON UPDATE CASCADE ON DELETE CASCADE);

Пример 8 . Создать таблицу «Инженер».

CREATE TABLE Инженер (

таб.номер TEXT (3) NOT NULL,

специальность TEXT (20),

CONSTRAINT ПК_Инженер PRIMARY KEY (таб_номер),

CONSTRAINT Инженер_Сотрудник FOREIGN KEY (таб_номер) REFERENCES Сотрудник (таб_номер)ON UPDATE CASCADE ON DELETE CASCADE);

Пример 9. Создать таблицу «Преподаватель».

CREATE TABLE Преподаватель (

таб_номер TEXT(3) NOT NULL,

звание TEXT (10),

степень TEXT (10),

CONSTRAINT ПК_Преподаватель PRIMARY KEY (таб_номер),

CONSTRAINT Преподаватель_Сотрудник FOREIGN KEY (таб_номер) REFERENCES Сотрудник (таб_номер)ON UPDATE CASCADE ON DELETE CASCADE)

Пример 10. Создать таблицу «Студент». НЕ ЗНАЮ хуйня с ключами блять залупа

CREATE TABLE Студент (

рег_номер TEXT(6) NOT NULL PRIMARY KEY,

номер TEXT(8), (это не внешний ключ, он ни на что не ссылается, и тип данных не соотносится ни с одним другим)

фамилия TEXT(20)

);

Пример 11. Создать таблицу «Экзамен». НЕ ЗНАЮ

CREATE TABLE Экзамен (

код TEXT(6) NOT NULL PRIMARY KEY,

рег_номер TEXT(6) NOT NULL REFERENCES Студент(рег_номер),

таб_номер TEXT(6) NOT NULL REFERENCES Преподаватель(таб_номер),

дата DATE NOT NULL PRIMARY KEY,

аудитория TEXT(3),

оценка REAL );

Соседние файлы в папке Материалы для экзамена