- •Язык определения данных
- •Модификация структуры таблицы
- •Язык манипулирования данными
- •Insert into Факультет (аббревиатура, название)
- •Обновление данных
- •Простые запросы
- •Естественное соединение
- •Задания. Модификация структуры таблицы(1)
- •Задания. Ввод (добавление) данных в таблицу(2)
- •Insert into Студент (рег_номер, номер, фамилия)
- •Insert into Специальность (номер, направление, шифр)
- •Values ('11.11.11', 'Новая специальность', 'ис'); задания. Обновление данных. (5)
- •Задания. Простые запросы(13)
- •Задания. Естественное соединение
- •Задание. Декартово произведение
- •Задания. Запросы с подзапросами
Язык определения данных
Пример 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 );