1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 8. gyakorlat SQL alapok.

Slides:



Advertisements
Hasonló előadás
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 5. gyakorlat Adatmodellezés III/IV – Funkcionális függés,
Advertisements

Tananyag: konzultáció
2012. tavaszi félév Vitéz Gergely. 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.
Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Adatbázis rendszerek I
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
1 Informatikai Szakképzési Portál Adatbázis kezelés Az SQL nyelv elemei.
2012. tavaszi félév Vitéz Gergely. 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.
Delphi programozás alapjai
SQL Structured Query Language
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 6. gyakorlat Gyakorlás, kötelezőprogram.
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
megismerése, mintaadatbázis létrehozása
SQL – DQL (Data Query Language ) adat lekérdezések
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
Adatbázis rendszerek II.
Készítette: Sárközi Anikó
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
SQL, adatdefiníció, adatok megváltoztatása, megszorítások
Adatbázis kezelés SQL. Történeti áttekintés 1976IBM:SEQUEL,SQL 1976IBM:SEQUEL,SQL 1983ORACLE 1983ORACLE 1984INFORMIX 1984INFORMIX 1986SQL – szabvány :
Kényszerek megadása. Indexek kezelése.
1 Informatikai Szakképzési Portál Adatbázis kezelés DML – Adat manipuláló nyelv.
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL. SQL = Structured Query Language (= struktúrált lekérdező nyelv). A relációs adatbázis-kezelés szabványos nyelve. Nem algoritmikus nyelv, de algoritmikus.
SQL.
Az SQL nyelv alapjai.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
DDL – Adatdefiníciós nyelv
Adatbázis adminisztrátori ismeretek
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. 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 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!
Adatbázis-kezelés SQL-lel. SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az.
Adatbázis-kezelés SQL-lel
Felhasználók és jogosultságok
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 10. gyakorlat SQL SELECT, Összekapcsolás, Nézettáblák.
Adatbázisok gyakorlat
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
SQL.
1 Sramó András Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL.
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
Ma az un. Relációs adatmodelleket használjuk.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 3. Előadás Az SQL adatbázisnyelv (Tartalom ) Az SQL története Az SQL felépítése Adattípúsok.
SQL történelem 1970 Edgar F. Codd (IBM) cikke 12 szabály a relációs adatmodellekre 1979 első kereskedelmi forgalmazású relációs adatbáziskezelő 1986 az.
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis rendszerek I
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Programozás I. 3. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Adatbázis-kezelés 1-2. adatbázis-kezelő rendszer 1.új adatbázisokat hozhassanak (adat definició 2.lekérdezések és módosítások (adat manipuláció) 3.Támogassa.
Sapientia - Erdélyi Magyar Tudományegyetem (EMTE) Csíkszereda
Adatbázisok SQL.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
DDL parancsok – Tábla műveletek, mezőtulajdonságok
Előadás másolata:

1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 8. gyakorlat SQL alapok

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor2Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor2 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

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor3Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor3 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

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor4Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor4 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)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor5Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor5 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

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor6Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor6 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!)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor7Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor7 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

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor8Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor8 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] ;

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor9Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor9 SQL Adattípusok •A tábla attribútumainak adattípusai az alábbiak lehetnek: (Leggyakrabban használtak) INT(n)n jegyű egész szám CHAR(n)pontosan n hosszú szöveg VARCHAR(n)maximum n hosszú szöveg DATEdátum, pl.: TIMEidő, pl.: 15:44:10 REALvalós szám... (egyebek)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor10Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor10 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,

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor11Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor11 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

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor12Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor12 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

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor13Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor13 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

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor14Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor14 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;

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor15Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor15 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)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor16Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor16 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’;

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor17Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor17 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)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor18Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor18 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.

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor19Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor19 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 (alapértelmezés szerint: root)

Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor20Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal GáborSzegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor20 Megjegyzések •Feladatgyűjtemény: –pub/Adatbazisok/feladatok_v1.1.pdf •Adatbázisok. Előadás jegyzet, – –pub/Adatbázisok/ •Cser Lajos diái alapján