Adattáblák létrehozása, módosítása, tranzakciók, megszorítások

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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– Ú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 alkalmazottAsSelect * from emp;

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évSET OSZLOP = ÚJÉRTÉK

[oszlop2 = újérték, és így tovább][WHERE logikai kifejezés];

UPDATE alkalmazottSET comm = 5000

WHERE empno=1234;

Sor(ok) törlése

DELETE FROM táblanév[Where feltétel]

DELETE FROM alkalmazottWhere empno = 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 Definition Language)

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évAS 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évADD CONSTRAINT……..

ALTER TABLE TáblanévDROP 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 kulcsot a emp.empno – alkalmazott.mgr oszlopok

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:• Table dropped.• Table created.• Savepoint created.• 1 row deleted.• Table altered.• Table altered.

Házi feladat

• Delete from emp• *• ERROR at line 1:• ORA-02292: integrity constraint (SCOTT.FK) violated - child record found• Table altered.• 3 rows updated.• 5 rows updated.• 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 rows selected.

Köszönöm a figyelmeteket!

Recommended