Загрузка данных


--CREATE TABLE Факультет (
--    Аббревиатура NVARCHAR(10) PRIMARY KEY,
--    Название NVARCHAR(100) NOT NULL
--);

--CREATE TABLE Кафедра (
--    Шифр NVARCHAR(10) PRIMARY KEY,
--    Название NVARCHAR(100) NOT NULL,
--    Факультет NVARCHAR(10),
--    CONSTRAINT fk_кафедра_факультет FOREIGN KEY (Факультет) REFERENCES Факультет(Аббревиатура)
--);

--CREATE TABLE Сотрудник (
--    Таб_номер INT PRIMARY KEY,
--    Шифр NVARCHAR(10),
--    Фамилия NVARCHAR(100) NOT NULL,
--    Должность NVARCHAR(50) NOT NULL,
--    Зарплата DECIMAL(10,2) NOT NULL,
--    Шеф INT,
--    CONSTRAINT fk_сотрудник_кафедра FOREIGN KEY (Шифр) REFERENCES Кафедра(Шифр),
--    CONSTRAINT fk_сотрудник_шеф FOREIGN KEY (Шеф) REFERENCES Сотрудник(Таб_номер)
--);

--CREATE TABLE Специальность (
--    Номер NVARCHAR(20) PRIMARY KEY,
--    Направление NVARCHAR(100) NOT NULL,
--    Шифр NVARCHAR(10),
--    CONSTRAINT fk_специальность_кафедра FOREIGN KEY (Шифр) REFERENCES Кафедра(Шифр)
--);

--CREATE TABLE Дисциплина (
--    Код INT PRIMARY KEY,
--    Объем INT NOT NULL,
--    Название NVARCHAR(100) NOT NULL,
--    Исполнитель NVARCHAR(10),
--    CONSTRAINT fk_дисциплина_кафедра FOREIGN KEY (Исполнитель) REFERENCES Кафедра(Шифр)
--);

--CREATE TABLE Заявка (
--	Код INT,
--	Номер NVARCHAR(100) NOT NULL
--);

--CREATE TABLE Зав_кафедрой (
--    Таб_номер INT PRIMARY KEY,
--    Стаж INT NOT NULL,
--    CONSTRAINT fk_зав_кафедрой_сотрудник FOREIGN KEY (Таб_номер) REFERENCES Сотрудник(Таб_номер)
--);

--CREATE TABLE Инженер (
--    Таб_номер INT PRIMARY KEY,
--    Специальность NVARCHAR(50),
--    CONSTRAINT fk_инженер_сотрудник FOREIGN KEY (Таб_номер) REFERENCES Сотрудник(Таб_номер)
--);

--CREATE TABLE Преподаватель (
--    Таб_номер INT PRIMARY KEY,
--    Звание NVARCHAR(50),
--    Степень NVARCHAR(50),
--    CONSTRAINT fk_преподаватель_сотрудник FOREIGN KEY (Таб_номер) REFERENCES Сотрудник(Таб_номер)
--);

--CREATE TABLE Студент (
--    Рег_номер INT PRIMARY KEY,
--    Номер NVARCHAR(20),
--    Фамилия NVARCHAR(100),
--    CONSTRAINT fk_студент_специальность FOREIGN KEY (Номер) REFERENCES Специальность(Номер)
--);

--CREATE TABLE Экзамен (
--    Дата DATE NOT NULL,
--    Код INT NOT NULL,
--    Рег_номер INT NOT NULL,
--    Таб_номер INT NOT NULL,
--    Аудитория NVARCHAR(20),
--    Оценка TINYINT NOT NULL,
--    PRIMARY KEY (Дата, Код, Рег_номер, Таб_номер),
--    CONSTRAINT chk_экзамен_оценка CHECK (Оценка BETWEEN 2 AND 5),
--    CONSTRAINT fk_экзамен_дисциплина FOREIGN KEY (Код) REFERENCES Дисциплина(Код),
--    CONSTRAINT fk_экзамен_студент FOREIGN KEY (Рег_номер) REFERENCES Студент(Рег_номер),
--    CONSTRAINT fk_экзамен_сотрудник FOREIGN KEY (Таб_номер) REFERENCES Сотрудник(Таб_номер)
--);





--INSERT INTO Факультет (Аббревиатура, Название) VALUES
--  (N'Ен', N'Естественные науки'),
--  (N'Гн', N'Гуманитарные науки'),
--  (N'Ит', N'Информационные технологии'),
--  (N'Фм', N'Физико-математический');

--INSERT INTO Кафедра (Шифр, Название, Факультет) VALUES
--  (N'вм', N'Высшая математика', N'Ен'),
--  (N'ис', N'Информационные системы', N'Ит'),
--  (N'мм', N'Математическое моделирование', N'Фм'),
--  (N'оф', N'Общая физика', N'Ен'),
--  (N'пи', N'Прикладная информатика', N'Ит'),
--  (N'эф', N'Экспериментальная физика', N'Фм');

--INSERT INTO Сотрудник (Таб_номер, Шифр, Фамилия, Должность, Зарплата, Шеф) VALUES
--  (101, N'пи', N'Прохоров П.П.', N'зав. кафедрой', 35000.00, 101),
--  (102, N'пи', N'Семенов С.С.', N'преподаватель', 25000.00, 101),
--  (105, N'пи', N'Петров П.П.', N'преподаватель', 25000.00, 101),
--  (153, N'пи', N'Сидорова С.С.', N'инженер', 15000.00, 102),
--  (201, N'ис', N'Андреев А.А.', N'зав. кафедрой', 35000.00, 201),
--  (202, N'ис', N'Борисов Б.Б.', N'преподаватель', 25000.00, 201),
--  (241, N'ис', N'Глухов Г.Г.', N'инженер', 20000.00, 201),
--  (242, N'ис', N'Чернов Ч.Ч.', N'инженер', 15000.00, 202),
--  (301, N'мм', N'Басов Б.Б.', N'зав. кафедрой', 35000.00, 301),
--  (302, N'мм', N'Сергеева С.С.', N'преподаватель', 25000.00, 301),
--  (401, N'оф', N'Волков В.В.', N'зав. кафедрой', 35000.00, 401),
--  (402, N'оф', N'Зайцев З.З.', N'преподаватель', 25000.00, 401),
--  (403, N'оф', N'Смирнов С.С.', N'преподаватель', 15000.00, 401),
--  (435, N'оф', N'Лисин Л.Л.', N'инженер', 20000.00, 402),
--  (501, N'вм', N'Кузнецов К.К.', N'зав. кафедрой', 35000.00, 501),
--  (502, N'вм', N'Романцев Р.Р.', N'преподаватель', 25000.00, 501),
--  (503, N'вм', N'Соловьев С.С.', N'преподаватель', 25000.00, 501),
--  (601, N'эф', N'Зверев З.З.', N'зав. кафедрой', 35000.00, 601),
--  (602, N'эф', N'Сорокина С.С.', N'преподаватель', 25000.00, 601),
--  (614, N'эф', N'Григорьев Г.Г.', N'инженер', 20000.00, 602);

--INSERT INTO Специальность (Номер, Направление, Шифр) VALUES
--  (N'01.03.04', N'Прикладная математика', N'мм'),
--  (N'09.03.02', N'Информационные системы и технологии', N'ис'),
--  (N'09.03.03', N'Прикладная информатика', N'пи'),
--  (N'14.03.02', N'Ядерные физика и технологии', N'эф'),
--  (N'38.03.05', N'Бизнес-информатика', N'ис');

--INSERT INTO Дисциплина (Код, Объем, Название, Исполнитель) VALUES
--  (101, 320, N'Математика', N'вм'),
--  (102, 160, N'Информатика', N'пи'),
--  (103, 160, N'Физика', N'оф'),
--  (202, 120, N'Базы данных', N'ис'),
--  (204, 160, N'Электроника', N'эф'),
--  (205, 80, N'Программирование', N'пи'),
--  (209, 80, N'Моделирование', N'мм');

--INSERT INTO Заявка (Код, Номер) VALUES
--  (101, N'01.03.04'),
--  (205, N'01.03.04'),
--  (209, N'01.03.04'),
--  (101, N'09.03.02'),
--  (102, N'09.03.02'),
--  (103, N'09.03.02'),
--  (202, N'09.03.02'),
--  (205, N'09.03.02'),
--  (209, N'09.03.02'),
--  (101, N'09.03.03'),
--  (102, N'09.03.03'),
--  (103, N'09.03.03'),
--  (202, N'09.03.03'),
--  (205, N'09.03.03'),
--  (101, N'14.03.02'),
--  (102, N'14.03.02'),
--  (103, N'14.03.02'),
--  (204, N'14.03.02'),
--  (101, N'38.03.05'),
--  (103, N'38.03.05'),
--  (202, N'38.03.05'),
--  (209, N'38.03.05');

--INSERT INTO Зав_кафедрой (Таб_номер, Стаж) VALUES
--  (101, 15),
--  (201, 18),
--  (301, 20),
--  (401, 10),
--  (501, 18),
--  (601, 8);

--INSERT INTO Инженер (Таб_номер, Специальность) VALUES
--  (153, N'электроник'),
--  (241, N'электроник'),
--  (242, N'программист'),
--  (435, N'электроник'),
--  (614, N'программист');

--INSERT INTO Преподаватель (Таб_номер, Звание, Степень) VALUES
--  (101, N'профессор', N'д. т.н.'),
--  (102, N'доцент', N'к. ф.-м. н.'),
--  (105, N'доцент', N'к. т.н.'),
--  (201, N'профессор', N'д. ф.-м. н.'),
--  (202, N'доцент', N'к. ф.-м. н.'),
--  (301, N'профессор', N'д. т.н.'),
--  (302, N'доцент', N'к. т.н.'),
--  (401, N'профессор', N'д. т.н.'),
--  (402, N'доцент', N'к. т.н.'),
--  (403, N'ассистент', NULL),
--  (501, N'профессор', N'д. ф.-м. н.'),
--  (502, N'профессор', N'д. ф.-м. н.'),
--  (503, N'доцент', N'к. ф.-м. н.'),
--  (601, N'профессор', N'д. ф.-м. н.');

--INSERT INTO Студент (Рег_номер, Номер, Фамилия) VALUES
--  (10101, N'09.03.03', N'Николаева Н. Н.'),
--  (10102, N'09.03.03', N'Иванов И. И.'),
--  (10103, N'09.03.03', N'Крюков К. К.'),
--  (20101, N'09.03.02', N'Андреев А. А.'),
--  (20102, N'09.03.02', N'Федоров Ф. Ф.'),
--  (30101, N'14.03.02', N'Бондаренко Б. Б.'),
--  (30102, N'14.03.02', N'Цветков К. К.'),
--  (30103, N'14.03.02', N'Петров П. П.'),
--  (50101, N'01.03.04', N'Сергеев С. С.'),
--  (50102, N'01.03.04', N'Кудрявцев К. К.'),
--  (80101, N'38.03.05', N'Макаров М. М.'),
--  (80102, N'38.03.05', N'Яковлев Я. Я.');

--INSERT INTO Экзамен (Дата, Код, Рег_номер, Таб_номер, Аудитория, Оценка) VALUES
--  ('2015-06-05', 102, 10101, 102, N'т505', 4),
--  ('2015-06-05', 102, 10102, 102, N'т505', 4),
--  ('2015-06-05', 202, 20101, 202, N'т506', 4),
--  ('2015-06-05', 202, 20102, 202, N'т506', 3),
--  ('2015-06-07', 102, 30101, 105, N'ф419', 3),
--  ('2015-06-07', 102, 30102, 101, N'т506', 4),
--  ('2015-06-07', 102, 80101, 102, N'м425', 5),
--  ('2015-06-09', 205, 80102, 402, N'м424', 4),
--  ('2015-06-09', 209, 20101, 302, N'ф333', 3),
--  ('2015-06-10', 101, 10101, 501, N'т506', 4),
--  ('2015-06-10', 101, 10102, 501, N'т506', 4),
--  ('2015-06-10', 204, 30102, 601, N'ф349', 5),
--  ('2015-06-10', 209, 80101, 301, N'э105', 5),
--  ('2015-06-10', 209, 80102, 301, N'э105', 4),
--  ('2015-06-12', 101, 80101, 502, N'с324', 4),
--  ('2015-06-15', 101, 30101, 503, N'ф417', 4),
--  ('2015-06-15', 101, 50101, 501, N'ф201', 5),
--  ('2015-06-15', 101, 50102, 501, N'ф201', 3),
--  ('2015-06-15', 103, 10101, 403, N'ф414', 4),
--  ('2015-06-17', 102, 10101, 102, N'т505', 5);

--SELECT  dbo.Кафедра.название, dbo.специальность.направление, dbo.студенты.фамилия, dbo.Кафедра.факультет
--FROM 
--dbo.Кафедра 
--INNER JOIN dbo.специальность ON dbo.кафедра.шифр = dbo.специальность.шифр 
--INNER JOIN dbo.студенты ON dbo.специальность.номер = dbo.студенты.номер
--WHERE
--(dbo.Кафедра.факультет = N'ит')
--ORDER BY 
--dbo.студенты.фамилия

--SELECT        dbo.Кафедра.Название, dbo.Сотрудник.Фамилия, dbo.Специальность.Шифр
--FROM            dbo.Специальность INNER JOIN
--                         dbo.Кафедра ON dbo.Специальность.Шифр = dbo.Кафедра.Шифр INNER JOIN
--                         dbo.Сотрудник ON dbo.Кафедра.Шифр = dbo.Сотрудник.Шифр
--WHERE        (dbo.Сотрудник.Должность = N'зав. кафедрой')