1 / 20

Adatbázisok gyakorlat

Adatbázisok gyakorlat. 8. gyakorlat. SQL alapok. Késések/Hiányzások. Hiányzás Két igazolatlan hiányzás megengedett Orvosi igazolást a hiányzást követő órán kell bemutatni Késések

Télécharger la présentation

Adatbázisok gyakorlat

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ázisok gyakorlat 8. gyakorlat SQL alapok

  2. Késések/Hiányzások • Hiányzás • Két igazolatlan hiányzás megengedett • Orvosi igazolást a hiányzást követő órán kell bemutatni • Késések • Ha valaki nem írja alá a katalógust, óra végén jelezze, hogy késett, és nem tudta aláírni, ebben az esetben aláírhatja • Ha valaki nem jelzi a gyakorlata végén, akkor a katalógus szerint nem volt jelen, így arról a gyakorlatról hiányzott Antal Gábor

  3. SQL • Structured Query Language – Strukturált Lekérdezőnyelv • Relációs adatbázis-kezelők lekérdezési nyelve • Számtalan „nyelvjárása” létezik (MySQL-hez tartozót vesszük) • Nem algoritmikus nyelv • Beágyazzuk egy algoritmikus nyelven írt programba az SQL-utasítás(oka)t • Megkapjuk az adatbázis-kezelőtől a választ a lekérésünkre • A programban feldolgozzuk az eredményt • Két részre bonthatók: • DDL – Data Definition Language – adatdefiníciós nyelv • DML – Data Manipulation Language – adatkezelő utasítások Antal Gábor

  4. SQL Szintaxis • „Beszédes” nyelv • Utasítások neve általában a megfelelő angol szó, ezekből képzünk „mondatokat” • A parancsok végét pontosvessző jelzi • Lehet tagoltan, vagy ömlesztve írni a parancsokat • Alapszavakat általában nagybetűvel írjuk, de a kisbetűs írásmód is működik • SELECT * FROM dolgozo; == select * from dolgozo; • Változók nincsenek, csak attribútumra hivatkozhatunk • Ha nem egyértelmű a hivatkozás, akkor a tábla nevét az attribútum neve elé kell írni • dolgozo.nev (A dolgozó tábla név attribútuma) Antal Gábor

  5. SQL Szintaxis, SQL Logika • Szövegkonstans idézőjelek között: ‘szöveg’ • Relációjelek • <>, !=, = nem egyenlő, nem egyenlő, egyenlő • <=, >= kisebb egyenlő, nagyobb egyenlő • BETWEEN x AND y [x,y] intervallum közti érték • Az SQL logika háromértékű: • TRUE, FALSE, UNKNOWN Antal Gábor

  6. NULL • Egy attribútum értéke NULL, ha az nem definiált, nem beállított (de nem üres) • Ha valahol nem definiált (azaz NULL) érték szerepel, ott a vonatkozó kifejezés értéke ismeretlen lesz • Attribútum ellenőrzése, hogy NULL-e: • attributum IS NULL • attributum=NULL (ROSSZ!! NEM AD HELYES VÁLASZT!) Antal Gábor

  7. Adatbázis létrehozása • CREATE DATABASE valami; • Létrehoz egy üres adatbázist „valami” néven • Konzolban, a parancs kiadása után USE valami; paranccsal választani adatbázist, programozási környezetekből metódushívással Antal Gábor

  8. Tábla létrehozása • Sémák feletti táblák létrehozása (Az adatbázis létrehozása, és kiválasztása után): CREATE TABLE [IF NOT EXISTS] séma_neve( attr1 {adattípus} [MEGSZORÍTÁSOK], attr2 {adattípus} [MEGSZORÍTÁSOK], ... attrn {adattípus} [MEGSZORÍTÁSOK], ) [TÁBLA MEGSZORÍTÁSOK] ; Antal Gábor

  9. SQL Adattípusok • A tábla attribútumainak adattípusai az alábbiak lehetnek: (Leggyakrabban használtak) Antal Gábor

  10. Példa séma létrehozására • CREATE TABLE IF NOT EXISTS auto ( • sorszam INT(10) PRIMARY KEY, • rendszam CHAR(6), • gyarto VARCHAR(128), • evjarat INT(4), • tipus VARCHAR(128) ); • Ez létrehoz az adatbázisban egy auto nevű sémát, attribútumai: • sorszam: egy 10 jegyű egész szám, amely elsődleges kulcs, • rendszam: pontosan 6 hosszúságú szöveg • gyarto: maximum 128 karakternyi szöveg, • evjarat: 4 jegyű szám, • tipus: maximum 128 karakternyi szöveg, Antal Gábor

  11. Megszorítások • Attribútum szinten: • PRIMARY KEY – elsődleges kulcs • UNIQUE – kulcs • REFERENCES más(attr) [{ON-feltételek}] – külső kulcs • NOT NULL – nem lehet NULL az értéke • AUTO_INCREMENT – automatikusan növekvő szám • DEFAULT – alapértelmezés szerinti érték • Táblaszinten: • PRIMARY KEY – elsődleges kulcs (ha több attribútumból áll) • FOREIGN KEY (oszlop_lista) REFERENCES másik_tábla(oszlop_lista) [{ON-feltételek}] – külső kulcs (hasonlóan,mint előbb) • ENGINE – milyen tárolási módot használjon az adott tábla Antal Gábor

  12. Megszorítások • ON feltételek: Az ON feltételeknél megadható, mi történjen (történjen-e valami egyáltalán) az adott táblában akkor, ha a táblában (ahol elsődleges kulcsként szerepel az attribútum) valamilyen változás történik. • ON UPDATE CASCADE – módosításnál a módosított adat bemásolódik • ON DELETE CASCADE – ha a hivatkozott sort törlik a rá hivatkozó sorok is automatikusan törlésre kerülnek • ON DELETE SET NULL - ha a hivatkozott sört törlik, a rá hivatkozó sorokban NULL kerül a külső kulcs helyére Antal Gábor

  13. Példa megszorításra • Például: Kitörlünk egy autógyártót (X) az adatbázisból, akkor • vele együtt törlődjön ki az összes nyilvántartott autó, amelyek gyártója X, • állítódjon NULL-ra azoknak az külső kulcsoknak az értéke, ahol eredetileg X volt Antal Gábor

  14. Táblák módosítása Lehetőség van a már létrehozott táblákon is különböző módosításokat eszközölni: • Oszlop (attribútum) hozzáadása: • ALTER TABLE tbl ADD (oszlopnév {TÍPUS} [{feltételek}]); • Oszlop módosítása: • ALTER TABLE tbl MODIFY (oszlopnév [{feltételek}]); • Oszlop törlése: • ALTER TABLE tbl DROP(oszlopnév1, oszlopnévk); • Tábla törlése: • DROP TABLE tbl; • Adatábázis törlése: • DROP DATABASE db; Antal Gábor

  15. Adatbevitel • Beszúrás, a teljes rekord értékét megadva: • INSERT INTO tbl VALUES({oszlopok értékei}); • Ha csak néhány értéket szeretnénk beállítani (a többi NULL): • INSERT INTO tbl(attr1) VALUES(ertek1); • Például: • INSERT INTO hallgato VALUES (‘mintaat.sze’, ‘Minta Áron’, ‘mérnökinformatikus BSc’, 22); • INSERT INTO hallgato (eha, nev) VALUES(‘mintaat.sze’, ‘Minta Áron’); Hallgato(eha, nev, szak, eletkor) Antal Gábor

  16. Adatmódosítás UPDATE hallgato SET oszlop1 = érték1 oszlop2 = érték2 [WHERE (feltételek)]; • WHERE-ben az(oka)t a feltétel(eke)t kell beírnunk, aminek teljesülése esetén szeretnénk végrehajtani az adatmódosítást (rekordonként) • pl.: UPDATE hallgato SET nev = ‘Minta Adam’ WHERE eha = ‘mintaat.sze’; Antal Gábor

  17. Adattörlés DELETE FROM tbl [WHERE feltétel]; • Törli a feltétel szerinti sor(oka)t az adott táblából • pl.: DELETE FROM hallgato WHERE eletkor > 10;(törli azokat a hallgatókat, akiknek az életkoruk több, mint 10) Antal Gábor

  18. Feladat Osztály (osztálykód, osztálynév, vezAdószám) Dolgozó (adószám, név, lakcím, fizetés, osztálykód) • Hozzuk létre a sémák feletti táblákat! Hogyan adnánk meg, hogy vezAdószám külső kulcs? • Szúrjunk be egy új dolgozót. • Növeljük az összes 10 és 20 közti osztálykódú dolgozó fizetését 20%-kal. • Kovács Márta nyugdíjba ment. Töröljük az adatait. • Töröljük ki a ‘hulladékgazdálkodási’ osztályt, miután módosítottunk úgy a táblá(ko)n, hogy osztály törlésekor az összes ott dolgozó is törlődjön. Antal Gábor

  19. XAMPP MySQL konzol • Számítógép  Tulajdonságok  Speciális Rendszerbeállítások Speciális  Környezeti változók • PATH változó szerkesztése, a végére beszúrjuk (pontosvesszővel elválasztva): • c:\xampp\mysql\bin\ • Ezek után nyissunk egy új cmd-t • mysql -h localhost -u <felhasználó> (alapértelmezés szerint: root) Antal Gábor

  20. Megjegyzések • Feladatgyűjtemény: • pub/Adatbazisok/feladatok_v1.1.pdf • Adatbázisok. Előadás jegyzet, • www.inf.u-szeged.hu/~katona, • pub/Adatbázisok/ • Cser Lajos diái alapján Antal Gábor

More Related