1 / 21

Adatbázis rendszerek I

Adatbázis rendszerek I. Kovács László. Az SQL nyelv speciális elemei. SQL szabványai. Több-lépcsős folyamat a fejlődése. alap DDL, DML, DQL, tranzakció,INDEX. integritási elemek, védelem,VIEW. 1986: ANSI SQL 1987: ISO SQL 1989: ANSI89 1992: SQL92 1999: SQL1999 2003: SQL2003

amos
Télécharger la présentation

Adatbázis rendszerek I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adatbázis rendszerek I Kovács László Az SQL nyelv speciális elemei

  2. SQL szabványai Több-lépcsős folyamat a fejlődése alap DDL, DML, DQL, tranzakció,INDEX integritási elemek, védelem,VIEW 1986: ANSI SQL 1987: ISO SQL 1989: ANSI89 1992: SQL92 1999: SQL1999 2003: SQL2003 2007: ? DOMAIN, CONSTRAINTS, spec. táblák, SELECT-érték OO elemek, aktív elemek,kezelő fv.-ek, programozás, új adattípus SQL OLAP, XML,új adattípus

  3. SQL szabványai Az SQL szabvány több, mint az alap DDL, DML, DQL. modulok SQL/Framework :fogalmi keretek SQL/Foundation :alap utasítások SQL/Bindings :beágyazott SQL SQL/CLI :ODBC SQL/PSM :tárolt eljárások SQL/OLAP :elemzési funkciók SQL/Transaction :tranzakció menedzser SQL/Temporal :ideiglenes adatok SQL/Objects :OO elvek SQL/MED :külső állományok SQL/OLB :beágyazott JSQL SQL/Schemata :séma kezelés SQL/JRT :Java felület SQL/XML :XML felület SQL/MM :multimédia kezelés SQL89: 300 SQL92: 1100 SQL99: 2000 SQL03: 3600 terjedelem

  4. SQL elemei Adat hozzáférés védelem UPDATE .. objektum SELECT .. jog adományozása: GRANT jog ON objektum TO felhasználó jog visszavonása: REVOKE jog ON objektum FROM felhasználó

  5. SQL elemei Objektum azonosítása UPDATE .. objektum SELECT .. séma katalógus adatbázis teljes azonosítás: adatbázis.katalógus.séma.objektum1… ORA1.INFO.TEREMF.ORAK.KEZDES

  6. SQL elemei Hozzáférés hatékonysága UPDATE .. tábla SELECT .. index lehet explicit és implicit index létrehozás CREATE TABLE t1 (m1 Number(3) PRIMARY KEY, m2… ) CREATE INDEX i1 ON t1(m2 ASC|DESC) CREATE INDEX NEVEK ON DOLGOZOK(NEV)

  7. SQL elemei Beépített függvények név dátum fizetés datum CAST datum AS CHARACTER EXTRACT(YEAR FROM datum) - CURRENT_DATE Numerikus: POSITION(m IN s), CHARAVTER_LENGHT(m), ABS(m) Szöveges: SUBSTRING(m FROM k FOR h), UPPER(m), TRIM(m FROM s)

  8. SQL elemei Speciális elemek A gyakorlat igényel algebrán kívüli elemeket is Dolgozó rendezés: ORDER BY kód név főnök többszintű, hierarchikus lekérdezés: CONNECT BY keresztreferencia előállítása: ROLLUP elágazások: CASE minta illesztés: SIMILAR bővített hivatkozási kör objektum orientált elemek

  9. kép xx (1861-1927): yy (1892)

  10. SQL elemei Séma: objektumok logikai tároló egysége (egy tulajdonosa van) CREATE SCHEMA snév paraméterek DROP SCHEMA snév CASCADE egy felhasználónak több sémája is lehet Katalógus: sémák adminisztrációs egysége tartalmaz egy definíciós és egy információs sémát DEFINITION_SCHEMA: leíró bázistáblák (pl. USERS, SCHEMATA, TABLES, VIEWS, TABLE_PRIVILEGES,…) a rendszernek szól INFORMATION_SCHEMA: információs nézetek (pl. TABLES, VIEWS, COLUMNS,TABLE_CONSTRAINTS,…) a felhasználóknak szól

  11. SQL elemei CATALOG Schema A DEFINITION_SCHEMA INFORMATION_SCHEMA T:ARUK T:TABLES V:TABLES T:VIEWS V:VIEWS USER:U SELECT * FROM INFORMATION_SCHEMA.TABLES

  12. SQL elemei Táblatípusok összefoglalása: tábla alaptábla nézeti CREATE VIEW származtatott CREATE SNAPSHOT deklarált perzisztens CREATE TABLE lokáisan ideiglenes CREATE LOCAL TEMPORARY TABLE globálisan ideiglenes CREATE GLOBAL TEMPORARY TABLE

  13. SQL elemei Az SQL közelít az erősen típusos nyelvekhez DOMAIN: egyedi, megkülönböztető adattípus tábla mezőjéhez rendelhető típusként CREATE DOMAIN dnév AS típus CHECK megkötés előnyei: - automatikus megkötések - jelentésközeli nevek CREATE DOMAIN eletkor AS INTEGER CHECK (VALUE BETWEEN 18 AND 120); CREATE TABLE DOLGOZO (kod INTEGER PRIMARY KEY, .., kor eletkor,..) Az OO elemek bevonásával jelentősége csökkent

  14. SQL elemei ASSERTION: Az összetett, több-táblás integritási feltételek deklaratív megadási módja CREATE ASSERTION név CHECK (feltétel) a pénztárankénti készletváltozás egyezzen meg a forgalommal CREATE VIEW V1 AS SELECT kód, SUM(COALESCE(F.érték,0)) ossz FROM forgalom F RIGTH OUTER JOIN pénztár P ON P.kód = F.ptár GROUP BY kód; CREATE ASSERTION A1 CHECK ( NOT EXISTS (SELECT P.kód FROM pénztár P INNER JOIN V1 ON V1.kód = P.kód WHERE (P.záró-P.nyitó) <> v1.kód)) pénztár kód nyitó záró ptár érték Uid forgalom időigényes végrehajtás: - minden SQL DML parancs után - csak az érintett táblák DML parancsai után

  15. SQL elemei Hozzáférés védelmi utasítások egy objektum (objektum jog): GRANT SELECT|INSERT|UPDATE|DELETE ON objektum TO felh tetszőleges objektum (privilégium): GRANT művelet TO felh mindenkinek engedélyezve: GRANT művelet ON … TO PUBLIC a kapott jog továbbadható: GRANT … TO … WITH GRANT OPTION | ADMIN OPTION adott jog visszavonása: REVOKE … FROM …

  16. SQL elemei Tranzakció elemei A konzisztens állapot elérésére több műveletnek együttesen kell lefutnia tranzakció: adatbázis műveletek egységként kezelt sora INSERT INTO dolgozo VALUES(1,…); UPDATE dolgozo SET fiz = 0; ROLLBACK; tranzakció COMMIT ROLLBACK egyes műveletek (pl. DDL) rögtön végrehajtódnak elfogad elvet

  17. SQL elemei A feltételes megjelenítésre is igény jelentkezik, ezért pótolták ezt a hiányosságot: CASE WHEN feltétel1 THEN kif1; WHEN feltétel2 THEN kif2; … ELSE kif; END A SELECT parancs projekciós részében használható SELECT név, fiz * (CASE WHEN fiz<1000 THEN 0.1; WHEN fiz BETWEEN 1000 AND 5000 THEN 0.2; ELSE 0.3; END) adó FROM dolgozok; A NULL érték kezelésére: COALESCE(kif1,kif2,kif3,…) Az első nem NULL értéket adja vissza

  18. SQL elemei Típus konverzió automatikus konverzió: rokon típusok között (pl. INTEGER-FLOAT) explicit konverzió: átalakítható típusok között CAST (kifejezés AS típus) explicit konverzió OO modellben: konverziós metódusok SQL: CAST (dátum AS CHARACTER) Oracle: TO_CHAR(dátum,’YYYY.MM.DD’) VFP: DTOC(dátum)

  19. kép xx: yy(1916)

  20. A relációs adatmodell Egyedi elemek - összetett kulcsok használata - LOCAL | GLOBAL TEMPORARY TABLE - DOMAIN - CONSTRAINT - DEFFERABLE - INITIALLY DEFERRED - INITIALLY IMMEDIATE - SET CONSTRAINTS IMMEDIATE | DEFFERED - ASSERTION - INDEX - érték megadás SELECT-tel - A SELECT használata a CHECK-ben - REFERENCES tabla(mezo) - REFERENCES t(m) ON DELETE | UPDATE RESTRICT | SET NULL | CASCADE | NO ACTION

  21. kép Rippl-Rónai József: Vörössapkás önarckép (1924)

More Related