240 likes | 311 Views
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások. 2012. 03. 13. Rózsa Győző. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!. DML. Data Manipulation Language
E N D
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások 2012. 03. 13. Rózsa Győző
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
DML • Data ManipulationLanguage • Új sor hozzáadása • Létező sor egyes mezőinek módosítása • Sor törlése
Klónozzuk le az emp táblát: CREATE TABLE alkalmazott As Select * fromemp;
Sor beszúrása létező táblába INSERT INTO [táblanév] [beszúrandó oszlopok]VALUES [értékek]; Pl.: INSERT INTO alkalmazott VALUES (1234,’EN’,’TANULO’,NULL,’12-MAR-2012’,2500,1200,10);
Sor(ok) módosítása UPDATE táblanév SET OSZLOP = ÚJÉRTÉK [oszlop2 = újérték, és így tovább] [WHERE logikai kifejezés]; UPDATE alkalmazott SET comm = 5000 WHERE empno=1234;
Sor(ok) törlése DELETE FROM táblanév [Where feltétel] DELETE FROM alkalmazott Whereempno = 1234;
Tranzakciók • Nem más, mint DML utasítások sorozata • SAVEPOINT [mentési pont neve]; • ROLLBACK [TO Mentési pont neve]; • COMMIT;
DDL (Data DefinitionLanguage)
DDL • Táblák létrehozása • Táblák szerkezetének a módosítása • Oszlopok beszúrása • Oszloptípusok módosítása • Oszlopok törlése • Oszlopok átnevezése
Tábla létrehozása CREATE TABLE [táblanév] (oszlopnév adattípus [megszorítások], és így tovább);
Adattípusok • NUMBER(m[,n]) • m = mezőszélesség • n = tizedesek száma • VARCHAR2(n)/CHAR(n) • n értéke maximum 2000/4000 • DATE
Tábla létrehozása allekérdezéssel CREATE TABLE név AS allekérdezés;
Tábla módosítása • ALTER TABLE utasítás ALTER TABLE [táblanév] • ADD (oszlopnév adattípus megszorítások); • MODIFY (oszlopnév adattípus megszorítások); • DROP COLUMN oszlopnév [CASCADE CONSTRAINTS]; • RENAME COLUMN Régi TO Új;
Tábla törlése/átnevezése • DROP TABLE táblanév; • RENAME Régi TO Új;
Megszorítások • Oszlop megszorítása • Tábla megszorítás CONSTRAINT megszorításnév megszorítás típus (Ha nem adunk nevet az Oracle automatikusan ad SYS_C00XXXX néven)
Megszorítás típusok • NULL/NOT NULL • UNIQUE • PRIMARY KEY • REFERENCES • FOREIGN KEY • CHECK
Megszorítás hozzáadása ALTER TABLE Táblanév ADD CONSTRAINT…….. ALTER TABLE Táblanév DROP CONSTRAINT megszorításnév [CASCADE]
INIT2.SQL • HTTP://www.orakulum.com • Labor • INIT2.SQL • Nézzük át együtt
Féléves feladat • Normalizálás beadása • Táblák létrehozása • Táblák feltöltése adatokkal • Nem két sor/tábla…
Házi feladat • Dobjuk el az alkalmazott táblát • Hozzon létre az emp táblának megfelelő alklamazott táblát, ahol szűrjük ki a 1500 USD-nél kevesebbet keresőket. • Készítsünk visszaállítási pontot • Töröljük KINGet • Csináljunk egy idegen kulcsota emp.empno– alkalmazott.mgroszlopok között. • Töröljük Blake-t az emp táblából • Állítsuk vissza az adatbázist. • Csináljunk jutalom oszlopot • Adjunk azoknak 200 USD jutalmat akik kapnak juttatást egyébként kapjanak 500 USD-t. • Listázzak ki a dolgozó nevét, munkakörét, telephelyének a nevét, jutalmát, fizetését…
Házi feladat • Az első három beküldő kap egy kisötöst. • Eredmény: • Tabledropped. • Tablecreated. • Savepointcreated. • 1 rowdeleted. • Table altered. • Table altered.
Házi feladat • Deletefromemp • * • ERROR at line 1: • ORA-02292: integrityconstraint (SCOTT.FK) violated - childrecordfound • Table altered. • 3 rowsupdated. • 5 rowsupdated. • DOLGOZO_NE MUNKAKOR TELEPHELY D_JUTALEK FONOK_NEVE FONOK_JUTALEK • ---------- --------- ------------- ---------- ---------- ------------- • ALLEN SALESMAN CHICAGO 300 BLAKE • WARD SALESMAN CHICAGO 500 BLAKE • JONES MANAGER DALLAS KING • MARTIN SALESMAN CHICAGO 1400 BLAKE • BLAKE MANAGER CHICAGO KING • CLARK MANAGER NEW YORK KING • SCOTT ANALYST DALLAS JONES • FORD ANALYST DALLAS JONES • 8 rowsselected.