Rozdzia 9 Jzyk manipulowania danymi DML Data Manipulation

  • Slides: 11
Download presentation
Rozdział 9: Język manipulowania danymi DML (Data Manipulation Language) (c) 1999, Instytut Informatyki Politechniki

Rozdział 9: Język manipulowania danymi DML (Data Manipulation Language) (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Wstawianie krotek do relacji INSERT INTO nazwa_relacji VALUES (wartość, . . . ); INSERT

Wstawianie krotek do relacji INSERT INTO nazwa_relacji VALUES (wartość, . . . ); INSERT INTO nazwa_relacji [ (atrybut 1, . . . , atrybutn)] VALUES (wartość1, . . . , wartośćn); INSERT INTO zespoly VALUES (60, ’MULTIMEDIA’, ’Piotrowo 3’); INSERT INTO zespoly VALUES (&nr, ’&nazwa’, ’&adres’); (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Wstawianie krotek do relacji cd. INSERT INTO nazwa_relacji [(atrybut 1, . . . ,

Wstawianie krotek do relacji cd. INSERT INTO nazwa_relacji [(atrybut 1, . . . , atrybutn)] SELECT [(atrybut 1, . . . , atrybutn)] FROM relacja 1 [relacja 2, . . . ]; INSERT INTO prac 30 (numer_prac, nazwisko_prac, numer_zesp) SELECT id_prac, nazwisko, id_zesp FROM pracownicy WHERE id_zesp=30; (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Modyfikowanie krotek relacji UPDATE relacja SET atrybut 1 = wartość, atrybut 2 = wartość

Modyfikowanie krotek relacji UPDATE relacja SET atrybut 1 = wartość, atrybut 2 = wartość [, . . . ] [WHERE warunek]; • awansuj pracownika o nazwisku KOSZLAJDA na stanowisko profesora i zwiększ jego płacę podstawową 2. 5 raza UPDATE pracownicy SET etat = 'PROFESOR', placa_pod = placa_pod * 2. 5 WHERE nazwisko = 'KOSZLAJDA'; (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Modyfikowanie krotek relacji cd. UPDATE relacja. A SET atrybut. A 1 = (SELECT atrybut.

Modyfikowanie krotek relacji cd. UPDATE relacja. A SET atrybut. A 1 = (SELECT atrybut. B 1 FROM relacja. B [WHERE. . . ]) [WHERE warunek]; UPDATE relacja. A SET (atrybut. A 1, atrybut. A 2) = (SELECT atrybut. B 1, atrybut. B 2 FROM relacja. B [WHERE. . . ]) [WHERE warunek]; (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Modyfikowanie krotek cd. • Zwiększ płacę podstawową do wartości równej 1, 2 średniej płacy

Modyfikowanie krotek cd. • Zwiększ płacę podstawową do wartości równej 1, 2 średniej płacy podstawowej w zespole pracownika oraz zwiększ płacę dodatkową do wartości równej maksymalnej płacy dodatkowej w zespole pracownika. Operacji dokonaj tylko dla pracowników zatrudnionych po 1992 roku. UPDATE pracownicy a SET (a. placa_pod, a. placa_dod) = (select AVG(placa_pod)*1. 2, MAX( NVL( placa_dod, 0)) FROM pracownicy WHERE id_zesp = a. id_zesp ) WHERE a. zatrudniony > '92/12/31'; (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Usuwanie krotek relacji DELETE [FROM] relacja [WHERE warunek]; DELETE pracownicy WHERE nazwisko IN ('BIAŁY',

Usuwanie krotek relacji DELETE [FROM] relacja [WHERE warunek]; DELETE pracownicy WHERE nazwisko IN ('BIAŁY', 'KONOPKA'); (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Zadania 4 -1. Wstaw do relacji PROJEKTY następujące krotki: nazwa atrybutu ID_PROJEKTU OPIS_PROJEKTU DATA_ROZPOCZECIA

Zadania 4 -1. Wstaw do relacji PROJEKTY następujące krotki: nazwa atrybutu ID_PROJEKTU OPIS_PROJEKTU DATA_ROZPOCZECIA DATA_ZAKONCZENIA FUNDUSZ wartości 1 Indeksowanie metod 02 -JAN-93 31 -MAR-95 250. 000 wartości 2 Sieci kręgosłupowe 15 -APR-94 15 -FEB-95 170. 000 insert into PROJEKTY values (1, 'Indeksowanie metod', '02 -JAN-93', '31 -MAR-95', 250000); insert into PROJEKTY values(2, 'Sieci kręgosłupowe', '15 -MAR-94', '15 -FEB-95', 170000); (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Zadania cd. 4 -2. Wstaw do relacji PRZYDZIALY następujące krotki: nazwa atrybutu ID_PROJEKTU NR_PRACOWNIKA

Zadania cd. 4 -2. Wstaw do relacji PRZYDZIALY następujące krotki: nazwa atrybutu ID_PROJEKTU NR_PRACOWNIKA OD DO STAWKA ROLA wartości 1 170 02 -JAN-93 31 -MAR-95 1. 000 ANALITYK wartości 1 140 01 -FEB-93 31 -MAR-95 1. 500 KIERUJACY insert into PRZYDZIALY values(1, 170, '02 -JAN-93', '31 -MAR-95', 1000, 'ANALITYK'); insert into PRZYDZIALY values(1, 140, '01 -FEB-93', '31 -MAR-95', 1500, 'KIERUJACY'); (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Zadania cd. 4 -3. Zmodyfikuj relację PRZYDZIAŁY przez podniesienie stawki pracownika o numerze 140

Zadania cd. 4 -3. Zmodyfikuj relację PRZYDZIAŁY przez podniesienie stawki pracownika o numerze 140 do wysokości 1. 750 zł. update przydzialy set stawka = 1750 where nr_pracownika = 140; u: tę nia Zmień 4 -4. enia na 15 czerwca 95 r. i powiększ fundusz tego projektu do 190. 000 zł. update projekty set data_zakonczenia = '15 -JUN-95', fundusz = 190000 where opis_projektu = 'Sieci kregoslupowe'; (c) 1999, Instytut Informatyki Politechniki Poznańskiej

Zadania cd. 4 -5. Usuń informacje o projektach, do których nie ma przydziałów. delete

Zadania cd. 4 -5. Usuń informacje o projektach, do których nie ma przydziałów. delete from projekty where id_projektu not in (select distinct id_projektu from przydzialy); (c) 1999, Instytut Informatyki Politechniki Poznańskiej