Создание таблиц SQL

Автор работы: Пользователь скрыл имя, 07 Апреля 2011 в 15:07, контрольная работа

Описание работы

Создание макета таблицы «Подразделение» при условии, что:
Значения первых трех полей в таблице должны быть уникальными и не содержать значений NULL
Первые поля в таблицах являются первичными ключами

Файлы: 1 файл

Создание таблиц SQL.docx

— 443.73 Кб (Скачать файл)

Государственное образовательное учреждение высшего  профессионального образования 

«Нижегородский  государственный архитектурно-строительный университет» (ННГАСУ)

Кафедра информационных систем и технологий

Расчетная работа

ИСПОЛЬЗОВАНИЕ ЯЗЫКА СТРУКТУРИРОВАННЫХ ЗАПРОСОВ SQL

Вариант 1

Выполнил: студент группы ЭС-14

Егоркин Д.Г.

                                    Проверил:

Нижний  Новгород, 2010 год

Вариант 1

Создание  таблиц

1. Создание макета  таблицы «Подразделение» при  условии, что:

  • Значения первых трех полей в таблице должны быть уникальными и не содержать значений NULL
  • Первые поля в таблицах являются первичными ключами

CREATE TABLE Подразделение

(№_подразделения  integer UNIQUE NOT NULL PRIMARY KEY,

Название  char(40),

Количество_ПК number,

Специализация char(40));

2. Создание макета  таблицы «Сотрудник» при условии,  что:

  • Значения первых трех полей в таблице должны быть уникальными и не содержать значений NULL
  • Первые поля в таблицах являются первичными ключами

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. Напишите запрос, который увеличивает Количество_ПК  во всех подразделениях на 5 шт.

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. Напишите запрос  на удаление всех сотрудников,  работающих в подразделении №23.

DELETE *

FROM Сотрудник

WHERE Подразделение=23;

 

Информация о работе Создание таблиц SQL