Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Рабочий стол / Laba_2_BD

.doc
Скачиваний:
16
Добавлен:
22.02.2016
Размер:
38.4 Кб
Скачать

Міністерство освіти і науки України

Черкаський політехнічний технікум

Лабораторна робота

з дисципліни: «Бази даних»

на тему: «Команди модифікації в БД на мові SQL»

Виконав:

студент групи ПС 3-1

Ошовський Б.С.

Перевірив: викладач

Трембовецька Т.В.

2013

Мета: Виробити навички використання команд модифікації мови SQL.

Порядок виконання роботи:

  1. В даній лабораторній роботі використати таблиці з попередньої лабораторної роботи. Таблицю Salespeople ввести за допомогою команди мови SQL.

  1. Практична частина.

Створити запити:

1. Напишіть команду, яка б помістила наступні значення, в їх нижче вказаному порядку, в таблицю Продавців:

city - San Jose,

name - Bianco,

comm - NULL,

cnum - 1100.

2. Напишіть команду, яка б видалила всі замовлення замовника Clemens з таблиці Порядків.

3. Напишіть команду, яка б збільшила оцінку всіх замовників в Римі на 100.

4. Продавець Serres залишив компанію. Перепризначте його замовників продавцю Motika.

5. Додати до таблиці Salespeople всіх продавців які мають замовників в San Jose, незалежно від того, чи знаходяться там продавці чи ні.

6. Видалити всіх замовників, чиї продавці - в Лондоні:

7. Видалити всіх продавців, які мають щонайменше одного замовника з оцінкою 100 в таблиці Продавців.

8. Збільшити комісійні всіх продавців, які були призначені принаймні двом замовникам.

9. Видалити всіх замовників з оцінками нижче за середню.

10. Припустіть, що існує таблиця Multicust, з такими ж іменами стовпців що і таблиця Продавців. Напишіть команду, яка б вставила всіх продавців (з таблиці Продавців), що мають більш ніж одного замовника в цю таблицю.

11. Напишіть команду яка б видаляла всіх замовників, що не мають поточних замовлень.

12. Напишіть команду яка б збільшила на двадцять відсотків комісійні всіх продавців, що мають загальні поточні замовлення на суму, вищу ніж $3,000.

Реалізовані запити:

Завдання 1

CREATE TABLE Salespeople1(

snum int, sname varchar(25), city varchar(25), comm int

)

Запит 1

INSERT INTO Salespeople ( city, sname, comm, snum )

VALUES ('San Jose', 'Bianco', null, 1100);

Запит 2

DELETE *

FROM Orders

WHERE cnum=2006;

Запит 3

UPDATE Customers SET rating = rating+100

WHERE (Customers.city)="Rome";

Запит 4

UPDATE Customers SET snum = 1004

WHERE (Customers.snum)=1002;

Запит 5

INSERT INTO Salespeople1 ( snum, sname, city, comm )

SELECT Salespeople.snum, Salespeople.sname, Salespeople.city, Salespeople.comm

FROM Salespeople INNER JOIN Customers ON Salespeople.snum=Customers.snum

WHERE Customers.city="SanJose";

Запит 6

DELETE Customers.cnum, Customers.cname, Customers.city, Customers.rating, Customers.snum

FROM Customers

WHERE snum in(SELECT snum

FROM Salespeople

WHERE Salespeople.city="London";);

Запит 7

DELETE *

FROM Salespeople

WHERE snum in (SELECT snum

FROM Customers

WHERE rating=100 );

Запит 8

UPDATE Salespeople SET Salespeople.comm = Salespeople!comm+0.01

WHERE snum in (SELECT snum FROM Customers WHERE (SELECT Count(snum) FROM Customers)=2);

Запит 9

DELETE *

FROM Customers

WHERE (Customers.rating)< (SELECT Avg (Customers!rating) FROM Customers );

Запит 10

Запит 11

DELETE *

FROM Customers

WHERE Customers.cnum in (SELECT cnum FROM Orders WHERE Customers.cnum<>Orders.cnum ;);

Запит 12

UPDATE Salespeople INNER JOIN Orders ON Salespeople.snum=Orders.snum SET Salespeople.comm = Salespeople!comm*1.2

WHERE ((SELECT Sum(Orders.amt) FROM Orders)>3000);.

ВИСНОВОК

В даній лабораторній роботі я вдосконалив навички використання команд модифікації мови SQL, застосовуючи їх на створенні запитів на додавання. оновлення, видалення.

Соседние файлы в папке Рабочий стол