1 / 27

Anyagadatbank c. tárgy gyakorlat 3.

Anyagadatbank c. tárgy gyakorlat 3. 2005. 10. 04. Féléves tematika. Adatbázis alapfogalmak, rendszerek Adatmodellek, adatbázis tervezés Adatbázis műveletek Webes adatbázis technológiák Tervezőszoftver használat, a féléves feladat gyakorlati megvalósítása. Relációs algebra.

leone
Download Presentation

Anyagadatbank c. tárgy gyakorlat 3.

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. Anyagadatbank c. tárgy gyakorlat 3. 2005. 10. 04.

  2. Féléves tematika • Adatbázis alapfogalmak, rendszerek • Adatmodellek, adatbázis tervezés • Adatbázis műveletek • Webes adatbázis technológiák • Tervezőszoftver használat, a féléves feladat gyakorlati megvalósítása

  3. Relációs algebra A struktúra felépítése után következhet az adatok felvitele, módosítása, lekérdezése Műveletek típusai: - adatdefiniáló (DDL) - adatkezelő (DML) - lekérdező (DQL) - vezérlő (DCL)

  4. Relációs algebra Relációs algebra operandusai a relációk operátorai zártak a reláció halmazra • A műveletek operandusai és eredményük is relációk, azaz azonos típusú rekordok halmaza • Fő erőssége és különlegessége a lekérdezési rész • Egy és két operandusú operátorok léteznek, a lekérdezési műveletek láncolhatók • Descriptív, az eredmény relációhoz vezető műveletsor lépéseit • kell megadni a lekérdezés megfogalmazásánál.

  5. Relációs algebra A relációs algebra műveletei: szelekció projekció kiterjesztés aggregáció csoportképzés join metszet különbség unió osztás } egy operandusú } két operandusú

  6. Szelekció: a megadott feltételnek eleget tévő rekordok kerülnek át az eredmény relációba

  7. Projekció: a kijelölt mezők kerülnek csak át az eredmény relációba

  8. Műveletek kombinálása:

  9. Join: a két reláció rekordjainak párosait adja eredményként Alap join: Descartes-szorzat Szelekciós Join: a két reláció rekordpárosaiból a feltételnek eleget tévő párosokat adja eredményként

  10. Relációs algebra Kiterjesztés: a reláció kibővítése származtatott mezőkkel Az új mező értékének a többi mező értékéből kell meghatározódnia

  11. Relációs algebra Aggregáció: a relációból összesítő rekordot állít elő aggregációs függvények: SUM(mez.kif) AVG(mez.kif) COUNT(mez.kif) MAX(mez.kif) MIN(mez.kif)

  12. Relációs algebra Csoportképzés és aggregáció: a reláció rekodjait csoportokba rendezi, s minden csoportra egy összesítő rekordot állít elő Azon rekordok kerülnek egy csoportba, melyekre a csoport képzési kifejezés azonos értékű

  13. Az SQL nyelv ‘autók és tulajdonosok’ Az elkészített RDBMS rendszerek igényelnek egy parancsnyelvet A T SEQUEL SQL (86,89,99,3) DB create table A (R char(6) primary key,.. SQL

  14. A SQL jellemzése: - a relációs algebrára épül - kiterjed az adatkezelő tevékenységekre: - adatdefiniáló (DDL) - adatkezelő (DML) - lekérdező (DQL) - vezérlő (DCL) - descriptiv, a műveleti lépéseket kell megadni - magasszintű parancsok - nem tartalmaz vezérlési, IO elemeket - halmazorientált - bővülő nyelv - van interaktív és beépülő változata Az SQL nem DBMS

  15. Objektum létrehozása: CREATE objektumtípus azonosító paraméterek; CREATE TABLE tnév (mnev1 tipus1 intfelt1, …,intfelt) ... ; CHAR(n) NUMBER(n,m) DATE PRIMARY KEY NOT NULL UNIQUE CHECK felt REFERENCING tabla PRIMARY KEY(m1,m2) FOREIGN KEY(m1,m2) REFERENCING tabla CHECK felt CREATE TABLE AUTO (RSZ CHAR(6) PRIMARY KEY, AR NUMBER(9) NOT NULL, IDO DATE);

  16. Rekord felvitele: INSERT INTO tabla VALUES (ert1, ert2, …,ertn); INSERT INTO tabla SELECT …; INSERT INTO tabla VALUES (mezo=ertek,…); Az érték lehet NULL is. Nem maradhat ki mező. Fontos a mezősorrend INSERT INTO AUTO VALUES (“bju564”,234,”FIAT”); INSERT INTO AUTO VALUES (“bju564”,234,NULL); INSERT INTO AUTO VALUES (RSZ=“bju564”,...); Dátumok felvitele konverziós függvénnyel: INSERT INTO AUTO VALUES(DATUM = TO_DATE(“2002.02.12”,”YYYY.MM.DD”),…);

  17. Rekord törlése: DELETE FROM tabla WHERE feltétel; A feltételnek eleget tevő rekordok törlődnek Ha elmarad a WHERE tag, minden rekord törlődik A feltétel rész részletesen a SELECT-nél jön DELETE FROM AUTO WHERE AR<1200000; Rekord módosítása: UPDATE tabla SET mezo= érték,... WHERE feltétel; A feltételnek eleget tevő rekordok módosulnak Ha elmarad a WHERE tag, minden rekord módosul UPDATE AUTO SET AR = AR * 1.2 WHERE AR<1200000;

  18. Adatok lekérdezése: SELECT mezőlista FROM tabla1,tabla2, ...OUTER JOIN... WHERE feltétel …(SELECT…) ... GROUP BY cskif HAVING feltétel UNION | INTERSECT | MINUS … SELECT … … ORDER BY INTO ... az SQL ereje igen összetett is lehet sokkal hatékonyabb, mint algoritmust írni

  19. SELECT - a projekció megadása SELECT mlista FROM tábla; SELECT RSZ, TIPUS FROM AUTO; Az mlista helyén * áll, ha minden mező kell

  20. SELECT - a szelekció megadása SELECT mlsita FROM tábla WHERE feltétel; SELECT * FROM AUTO WHERE SZIN = ”PIROS” OR TIPUS = ”MAZDA”;

  21. Műveletek kombinálása: SELECT RSZ FROM AUTO WHERE SZIN = ”PIROS” OR SZIN=”KEK”;

  22. SELECT - a join megadása SELECT mlista FROM tabla1, tabla2,.. WHERE feltétel; Ha a feltétel elmarad Descartes szorzatot kapunk Kettőnél több tábla is összekapcsolható Ha több táblában is azonos elnevezésű mező van, akkor a kibővített mezőnevet használjuk: tábla.mező

  23. SELECT - az aggregáció megadása SELECT aggregációs-lista FROM tábla; SUM(mez.kif) AVG(mez.kif) COUNT(mez.kif) MAX(mez.kif) MIN(mez.kif) SELECT COUNT(*) FROM AUTO;

  24. SELECT - az aggregáció és csoportképzés megadása SELECT aggregációs-lista FROM tábla GROUP BY csopképzkif; SELECT TIPUS, AVG(AR) FROM AUTO GROUP BY TIPUS;

  25. SELECT - szűrés az elkészült csoportokból SELECT agg-lista FROM tábla GROUP BY cskif HAVING feltétel; SELECT TIPUS FROM AUTO GROUP BY TIPUS HAVING AVG(AR) > 10000000; A csoportképzés előtti és utáni szelekció együttesen is szerepelhet: SELECT TIPUS FROM AUTO WHERE SZIN=”PIROS” GROUP BY TIPUS HAVING AVG(AR) > 10000000; WHERE HAVING

  26. SELECT - eredmény rekordok rendezése SELECT mlista FROM tábla ORDER BY mezo1 mod1, mezo2 ...; ASC DESC Nem része a relációs algebrának A második mező szerinti szempont csak az első egyezősége esetén lényeges SELECT RSZ, TIPUS, AR FROM AUTO ORDER BY AR DESC, TIPUS;

  27. SELECT - speciális szelekciós operátorok kif LIKE minta sztring kifejezés illeszkedése egy mintára Speciális karaketerk a mintában: % több karaktert helyettesít _ egy karaktert helyettesít … WHERE NEV LIKE ”%PETER%” ... kif IS [NOT] NULLüres-e a kifejezés kif BETWEENkif2 AND kif3 köztes érték vizsgálat

More Related