Автор работы: Пользователь скрыл имя, 07 Апреля 2011 в 15:07, контрольная работа
Создание макета таблицы «Подразделение» при условии, что:
Значения первых трех полей в таблице должны быть уникальными и не содержать значений NULL
Первые поля в таблицах являются первичными ключами
Государственное
образовательное учреждение высшего
профессионального образования
«Нижегородский
государственный архитектурно-
Кафедра информационных систем и технологий
Расчетная работа
ИСПОЛЬЗОВАНИЕ
ЯЗЫКА СТРУКТУРИРОВАННЫХ
Вариант 1
Выполнил: студент группы ЭС-14
Егоркин Д.Г.
Нижний Новгород, 2010 год
Вариант 1
Создание таблиц
1. Создание макета таблицы «Подразделение» при условии, что:
CREATE TABLE Подразделение
(№_подразделения integer UNIQUE NOT NULL PRIMARY KEY,
Название char(40),
Количество_ПК number,
Специализация char(40));
2. Создание макета
таблицы «Сотрудник» при
CREATE TABLE Сотрудник
(Таб_№ integer UNIQUE NOT NULL PRIMARY KEY,
ФИО char(50),
Год_рождения number,
Должность char(20),
Подразделение
integer REFERENCES Подразделение(№_подразделения)
Ввод
значений в таблицу
1. Ввод значений в таблицу «Подразделение»
INSERT INTO Подразделение
VALUES (15, 'Плановый отдел', 12, 'Составление планов работ');
INSERT INTO Подразделение
VALUES (21, 'Сметно-договорной отдел', 15, ' Выполнение и проверка сметных расчетов');
INSERT INTO Подразделение
VALUES (23, 'Цех железобетонных изделий', 1, 'Изготовление ЖБ изделий');
INSERT INTO Подразделение
VALUES (48, 'СМУ-1', 2, 'Производство СМР');
INSERT INTO Подразделение
VALUES (52, 'СМУ-2', 3, 'Производство СМР');
2. Ввод значение в таблицу «Сотрудник»
INSERT INTO Сотрудник
VALUES (5383, 'Сидоров Иван Михайлович', 1958, 'Экономист', 15);
INSERT INTO Сотрудник
VALUES (6852, ' Иванов Петр Сергеевич', 1960, ' Начальник цеха', 23);
INSERT INTO Сотрудник
VALUES (6578, 'Морозова Анастасия Андреевна', 1975, 'Экономист', 15);
INSERT INTO Сотрудник
VALUES (4852, 'Бирюков Леонид Ильич', 1980, 'Начальник отдела', 15);
INSERT INTO Сотрудник
VALUES (6548, 'Волков Дмитрий Александрович', 1955, 'Прораб', 48);
INSERT INTO Сотрудник
VALUES (3216, 'Зайцев Кирилл Викторович', 1965, 'Мастер', 48);
INSERT INTO Сотрудник
VALUES (6536, 'Касатонова Юлия Олеговна', 1983, 'Сметчик', 21);
3. Напишите запрос,
который увеличивает
UPDATE Подразделение SET Количество_ПК = Количество_ПК+5;
4. Напишите запрос, переводящий сотрудников СМУ-1 в СМУ-2.
UPDATE Сотрудник SET Подразделение = 52
WHERE Подразделение=48;
5. Напишите запрос,
который выводит №_
SELECT №_Подразделения, Название, Специализация
FROM Подразделение;
6. Напишите запрос, который вывел бы список всех сотрудников Планового отдела.
SELECT ФИО
FROM Сотрудник
WHERE Подразделение=15;
7. Напишите запрос,
который вывел бы таблицу
SELECT Подразделение, Должность, Год_рождения, ФИО, Таб_№
FROM Сотрудник;
8. Напишите запрос,
извлекающий из таблицы
SELECT DISTINCT Подразделение
FROM Сотрудник;
9. Напишите запрос,
считающий средний возраст
SELECT Avg(2010-[Год_рождения]) AS [Средний возраст]
FROM Сотрудник;
10. Напишите запрос на создание списка, состоящего из ФИО сотрудника и названия его подразделения для всех подразделений, в которых количество компьютеров меньше 10.
SELECT DISTINCT
Сотрудник.ФИО, Подразделение.
FROM Сотрудник, Подразделение
WHERE
Подразделение.Количество_ПК<10 And
Сотрудник.Подразделение=
11. Напишите запрос
на удаление всех сотрудников,
работающих в подразделении №
DELETE *
FROM Сотрудник
WHERE Подразделение=23;