SQL.

Slides:



Advertisements
Hasonló előadás
10. gyakorlat SQL SELECT.
Advertisements

Lekérdezések SQL-ben Relációs algebra A SELECT utasítás
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
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.
Elmaradás.  0 Számjegy. Ebben a pozícióban egyetlen számjegyet kell megadnia.  9 Számjegy. Ebben a pozícióban egyetlen számjegyet lehet megadni, nem.
Microsoft Access Lekérdezések.
Delphi programozás alapjai
SQL Structured Query Language
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
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.
SQL – DQL (Data Query Language ) adat lekérdezések
Turbo Pascal Változók.
Adatbázis rendszerek II.
Táblázatkezelés alapjai MS Excel, OpenOffice Calc
Adatbázis-kezelés.
Adatbázis-kezelés ACCESS program:
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL 1 SEQUEL, Structured English Query Language: SQL ANSI, ISO: SQL86, SQL89, SQL92. Alap (entry), közbenső (intermediate), teljes (full) szint. A DDL.
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Folytassuk… (2.).
Adatbázis kezelés SQL. Történeti áttekintés 1976IBM:SEQUEL,SQL 1976IBM:SEQUEL,SQL 1983ORACLE 1983ORACLE 1984INFORMIX 1984INFORMIX 1986SQL – szabvány :
- 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.
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
DDL – Adatdefiníciós nyelv
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
Operátorok Értékadások
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.
Adatbázis-kezelés JAG,
DQL. A select parancs az adattábla lekérdezésére szolgál, azaz a táblában tárolt adatok közül az előírt feltételeknek megfelelőket kiválogatja. Formája.
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.
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.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
SQL SELECT parancsok Kottyán László. A bemutató mintatáblái.
1 Informatikai Szakképzési Portál Adatbázis kezelés DQL – Adatlekérdező nyelv.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
Adatbázisok gyakorlat
Ma az un. Relációs adatmodelleket használjuk.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
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
Adatbázis-kezelés 3-4. Adatok lekérdezése utasítás általános formája SELECT [ALL/DISTINCT] {*/, …, } FROM [ ], …, [ ] [WHERE GROUP BY, …, HAVING ORDER.
Adatbázis-kezelés. Középszint: –1-2 tábla –SQL-nyelv és lekérdező-rács használata –Űrlap és jelentés készítés Emelt szint: –több tábla (kapcsolatok) –több.
– SELECT - 1. – Tarcsi Ádám január Adatbázis 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.
SQL aggregálás, csoportosítás és összekapcsolás Adatbázisok 1.
Kifejezések C#-ban.
Adatbázisok SQL.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
MySQL DDL parancsok – Adatbázis műveletek, mezőtípusok
Előadás másolata:

SQL

SQL „résznyelvei” SQL DDL (Data Definition Language = Adat Definíciós Nyelv), mely lehetővé teszi a felhasználók számára, hogy új adatbázisokat és azok sémáját hozhassák létre, vagyis az adatok logikai sémáját egy speciális nyelven adhassák meg. A használatos sémakezelő utasítások közé tartozik például az adatbázisok, táblák létrehozása, illetve ezek törlése, módosítása. SQL DML (Data Manipulation Language = Adat Manipulációs Nyelv), mely lehetővé teszi a felhasználók számára, hogy az adatokat módosíthassák. A használatos adatkezelő utasítások például az adatok törlése, módosítása, vagy új adat felvétele.

SQL „résznyelvei” SQL DQL (Data Query Language = Adat Lekérdező Nyelv), mely segítségével a felhasználók az adatokat lekérdezhetik, kilistázhatják valamilyen szisztéma szerint. Az adatok lekérdezését egyes irodalmakban legtöbbször a DML körében említik, de a relációs modellben betöltött fontosságuk miatt a lekérdező utasítások külön csoportot alkotnak, melyekre a Query elnevezést használjuk. SQL DCL (Data Control Language = Adatelérést Vezérlő Nyelv) Ezzel szabályozhatjuk, vezérelhetjük a műveletek végrehajtását, hiszen a megvalósított relációs adatbáziskezelő nyelvek hatásának köszönhetően az SQL tartalmaz a relációs adatmodellhez szorosan nem kötődő utasításokat is.

Az SQL utasításokat több különböző módon juttathatjuk el egy relációs adatbázis-kezelő rendszerhez. Önálló SQL: Az SQL nyelv önálló alkalmazása esetén csak a nyelv utasításai állnak rendelkezésre. nincs megfelelő alkalmazás a feladat elvégzésére, negyedik generációs nyelvekbe építve használják az alkalmazások fejlesztői. Ilyen eszközök például a jelentéskészítő, az űrlapkészítő, vagy a menükészítő. Beágyazott SQL: A beágyazott SQL esetén egy harmadik generációs nyelvbe (C, PL/SQL, Pascal, Fortran, ... stb.) ágyazva alkalmazzuk az SQL nyelv elemeit. Az algoritmikus feladatokat a harmadik generációs nyelv, az adatbázis műveleteket, pedig az SQL végzi el.

Összefoglalva Szabványosított lekérdező nyelv; Relációs algebrán alapszik; Szöveges, nem algoritmikus, előíró jellegű utasításokat tartalmaz; Halmazorientált; Nem rekurzív nyelv; Négy utasításcsoportot tartalmaz: Adatdefiníciós, Adatmanipulációs, Adatlekérdező, Adatvezérlő; Felhasználható önálló vagy beágyazott SQL-ként is.

SQL szintaktikai és interaktív használati szabályai Utasítások Alapszavak Azonosítók Kifejezések Konstansok Listák Elválasztójelek Nyelv utasítási záradékokat használnak (használatuk nem mindig kötelező, de a sorrend kötött!)

Interaktívan kiadott utasítások Az utasításokat interpreter dolgozza fel. Szintaktikailag ellenőrzi Értelmezi Végrehajtja Eredményeket megjeleníti. Ez a feldolgozási mód nem teszi lehetővé több utasítás együttes végrehajtását

Azonosítók egyedisége!!! Adatbázis Adatbáziselemek Alaptáblázatok Nézetek oszlopainak megnevezésére használatosak Az azonosítók betűvel kezdődnek, a második pozíciótól kezdve betűket, számjegyeket, aláhúzás jelet tartalmazhatnak. Azonosítók egyedisége!!!

Utasítások használatának szabályai A nyelv szabad írásmódú (utasítások tetszés szerint tördelhetők) Záradékokat új sorba kell írni Az utasítások végét pontosvesszővel kell jelezni. Utasítás kiadható kisbetűs, nagybetűs és kevert formában is. Utasításokban elhelyezett listákban az elemeket vesszővel kell elválasztani. Utasítások egy részébe más utasítások is beágyazhatók. Utasítások alapszavai és egyéb elemei közé elválasztójelként szóközt vagy soremelést kell tenni. A zárójelek, vesszők betöltik az elválasztójel szerepét. Az elemek elválasztása szempontjából felesleges szóközök, zárójelpárok nem okoznak hibát.

Adattípusok, műveletek Az SQL nyelvben Numerikus Szöveges Dátum Bináris Logikai Szerkezet nélküli adattípusok használatára van lehetőség.

Későbbiekben használatos jelmagyarázat [ ] opcionális, nem kötelezően megadandó elem <> Kötelezően megadandó elem … Tetszés szerint ismétlődő elem v. utasításrész | jellel elválasztott elemek közül egy használható { } Az elemek közül egyet kötelező megadni.

Adattípusok BIT (n) Rögzített hosszúságú bitsorozat BIT VARYING (n) Változó hosszúságú bitsorozat SMALLINT INTEGER LONG Egész DECIMAL (x,[y]) Fixpontos valós(x az összes jegyek, y a tizedesjegyek száma) FLOAT REAL DOUBLE PRECISION Lebegőpontos DATE Dátum TIME Idő TIMESTAMP Dátum és időpont INTERVAL Időtartam CHAR (n) Rögzített hosszúságú karaktersorozat CHAR VARYING (n) Változó hossúságú karaktersorozat (szöveg, kép)

Műveletek az alapvető adattípusok körében Matematikai műveletek Előjelváltás (+,-) Számtani alapműveletek (+,-,*,/) Hatványozás (** vagy ^) Karaktersorozatokkal végezhető műveletek Összefűzés (+, ||, &) Bináris és logikai műveletek Tagadás (NOT), és (AND), vagy (OR) Dátumok, időpontok és időtartamok körében használható műveletek Számtani alapműveletek

Valamennyi adattípusnál használható Összehasonlító műveletek: Théta operátorok: =, <, >, <=, >=, <> Összehasonlító műveletek tagadása: NOT kulcsszó <,>,= tagadása: ! Jel használható PL: Nem egyenlő összehasonlító művelet: != vagy: <>, vagy: NOT = Karaktersorozat összehasonlítása balról jobbra a karakterek belső kódja alapján történik. Kis és nagybetűk belső kódja nem egyező!! (konvertálás kisbetűsre, vagy nagybetűsre)

Predikátumok- feltételek előírására IS LIKE BETWEEN IN ANY ALL SOME EXIST UNIQUE A predikátumok kiválasztási, il. vizsgálati feltételekben használhatók Adatdefiníciós utasítások (CHECK), adatkezelő utasítások (WHERE, HAVING) záradékaiban

Kifejezések kiértékelési sorrendje PRECEDENCIA szabály Zárójelek belülről kifelé Függvényhívások Matematikai, string és dátum műveletek Előjelváltás Hatványozás Szorzás, osztás (multiplikatív műveletek) Összeadás, kivonás (összevonási műveletek) Összehasonlító műveletek Logikai műveletek Not, AND, OR Azonos szintű műveletek: balról jobbra

NULL értékek Nem összehasonlító műveletek eredménye NULL érték lesz, ha legalább az egyik operandus NULL érték! Függvényeknél egyedileg szabályozott, hogy NULL értékű argumentum esetén milyen értéket adnak vissza. Összehasonlító műveletek eredménye: ISMERETLEN igazságérték lesz, ha legalább az egyik operandus NULL értékű.

Adatdefiníciós utasítások LÉTREHOZÓ utasítások (adatbázissémát, osloptípust, adatbáziselemet, önálló feltételeket): CREATE kulcsszóval, Törlő utasítások: DROP kulcsszóval kezdődnek. Módosító utasítások (típust vagy szerkezetet) kezdőszava: ALTER Elemre, típusra, feltételre utaló kulcsszavak pl: TABLE, DOMAIN, stb

PL: 1.oszloptípusok definiálása CREATE DOMAIN <oszloptípusnév> AS <SQL-adattípus> [DEFAULT <konstans>] – alapértelmezett érték DEFAULT záradékkal [CONSTRAINT <feltételnév> CHEK ( <vizsgálati feltétel>)]; Értékkészletre vonatkozó megszorítások CONSTRAINT záradékkal (pl. Null érték kizárása, oszlop értékei milyen halmazba, mely értékhatárok között legyenek

PL. 2. Oszloptípusok módosítása (ALTER DOMAIN) ALTER DOMAIN <oszloptípusnév> { Az elemek közül egyet kötelező megadni! SET DOMAIN DEFAULT <konstans> I DROP DOMAIN DEFAULT I Alapért. érték törlése ADD CONSTRAINT <feltételnév> CHEK ( <vizsgálati feltétel>) I Értékkészletre vonatkozó megszorítás DROP CONSTRAINT <feltételnév> }; Új alap- értelmezett érték Meglévő meg- szorítás törlése

PL3. Oszloptípus törlése DROP DOMAIN <oszloptípusnév>;

Táblázatok létrehozása CREATE [ {GLOBAL I LOCAL} TEMPORARY] TABLE <táblázatnév> ( <oszlopnév> <adattípus> [ DEFAULT <konstans>] [ CONSTRAINIT ] [, <oszlopnév> <adattípus> [DEFAULT <konstans>] [CONSTRAINT]… ); Létrehozunk egy táblázatot. Az oszlopok sorrendje nem számít (lekérdezésnél ez a sorrend) TEMPORARY- a táblázatot ideiglenes jelleggel hoztuk létre. GLOBAL – munka végéig LOCAL – tranzakció végéig CONSTRAINT záradék: elsődleges és idegen kulcsok definiálása Bevihető értékek szabályainak leírása

Kulcsok megadása Egyedi kulcs esetén: oszlopnév és adattípus megadását követően közvetlenül: Összetett esetén oszlopdefiníciós lista után: CONSTRAINT <feltételnév> { PRIMARY KEY I UNIQUE } CONSTRAINT <feltételnév> FOREIGN KEY REFERENCES <táblázatnév> (<oszlopnév>) [MATCH { FULL IPARTIAL} ] [módosítási záradék] [törlési záradék] CONSTRAINT <feltételnév> { PRIMARY KEY I UNIQUE } (oszlopnévlista) CONSTRAINT <feltételnév> FOREIGN KEY (oszlopnévlista) REFERENCES <táblázatnév> (oszlopnévlista) [MATCH {FULL I PARTIAL} ] [módosítási záradék][törlési záradék]

MATCH záradék Az idegen kulcsokat definiáló CONSTRAINT záradékban a MATCH záradék határozza meg, hogy az idegen kulcs mennyire illeszkedik a hivatkozott táblázat elsődleges kulcsához. FULL (alapért) – teljes egyezést követel PARTIAL – megengedi, hogy az idegen kulcs értékei között NULL érték is szerepeljen Minden CONSTRAINT záradék egy módosítási és egy törlési záradékot is tartalmaz. ( az adatbázis kezelő rendszernek lehet előírni a hivatkozott sor módosítását vagy törlését követően végrehajtandó műveletet.

Záradékok szintaxisa ON {DELETE I UPDATE} {CASCADE I SETNULL I SET DEFAULT I NO ACTION} CASCADE: tovagyűrűző művelet SET NULL: NULL értékre állítás SET DEFAULT: Alapértékre állítás NO ACTION: semmilyen művelet nem következik

LEKÉRDEZÉSEK Táblákat kapcsolhatunk össze Bizonyos feltételeknek eleget tevő rekordok kikeresése Adatok sorba-rendezése Megadott szempontok szerinti válogatás

Lekérdezések típusai Választó lekérdezések – leggyakoribb Elvégzi: a táblák kapcsolatával létrejövő adatok együttes kezelését Adatok sorbarendezését Feltételek alapján való kiválogatását Összesítését Csoportok képzését (Kifejezés szerkesztő!!!- matematikai, karakteres, dátum, logikai és összehasonlító művelet, konstansok, függvények)

Kulcsszavak (ACCESS) Group By – csoportosítás egyes oszlopok szerint Where – feltételmegadás Expression – kifejezésmegadás First- Csoport első sora Last – csoport utolsó sora Avg – átlag Count- darbszám Max, min, Sum StDev –szórás Var – variancia (szórásnégyzet)

Lekérdezések típusai Kereszttáblás lekérdezés – kimutatás táblázatot hoz létre Táblakészítő lekérdezés Előre megadott művelet elvégzésével új táblát hoz létre (Az adatok nem módosíthatók) Frissítő lekérdezés Rekordok módosítására, ha a módosítást csak a rekordok egy csoportjával szeretnénk elvégezni. Hozzáfűző lekérdezés Meglévő táblához fűz rekordokat Törlő lekérdezés Egyesítő lekérdezés Átadó lekérdezés Adatdefiniáló lekérdezés

Lekérdezések - Operátorok Összehasonlító operátorok: =, <, >, <=, >= Logikai operátorok: and, or, not Aritmetikai operátorok: +, -, *, / Egyéb operátorok: szűrőként használatos: LIKE pl:Like „B?dapest”, „Like B*” Értékek közé eső érték: Between… and IN operátorral több Or operátor helyettesíthető IsNull: üres mezőadatokat atrtalmazó rekordok kiválogatása

SQL ADATKEZELŐ UTASÍTÁSOK Tárolt adatok lekérdezése: SELECT Záradékok kiértékelési sorrendben: FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY FROM záradék: melyik táblázat(ok) és/vagy nézetek eredményei fognak a lekérdezés eredményeként megjelenni WHERE záradék: kiválasztás reláció művelet azok a sorok kerülnek kiválasztásra, amelyek eleget tesznek a feltételnek. GROUP BY záradék: csoportosítás azon oszlop(ok) megadása ami alapján a csoportosítást el kell végezni (balról jobbra sorrend) Having záradék: csoportokból választ kívánt csoportokat.

PL (Select-From záradék): SELECT munka_szám FROM munka WHERE óraszám*óradíj = ( SELECT max(óraszám*óradíj) FROM munka ); A lekérdezés megkeresi a legnagyobb árbevételű munkáinkat. – akkor használható jól, ha több is van belőle.

PL (WHERE záradék): WHERE Szűrési feltételeket fogalmaz meg, amelyek szűkítik az eredményhalmazt (a Descartes-szorzathoz képest). Példa: SELECT * FROM Beteg, Kezeles WHERE Beteg.ID = Kezeles.BetegID AND Kezeles.Datum = CURRENT DATE A fenti lekérdezés visszaadja, milyen kezeléseket végeztek ma, és melyik betegeken. A WHERE szakaszban a Boole-algebra kifejezései használhatók, OR, AND és NOT operátorokkal.

PL (GROUP BY záradék): GROUP BY Egyes sorok összevonását, csoportosítását írja elő az eredménytáblában. Példa: SELECT COUNT(*), Tulajdonos FROM Szamla WHERE Allapot = 'N' GROUP BY Tulajdonos A fenti példa a Tulajdonos oszlop alapján csoportosítja a sorokat. A SELECT részben lévő COUNT(*) egy-egy csoport sorainak számát adja vissza, az összevonás előtt.

PL (HAVING záradék): HAVING A WHERE-hez hasonlóan itt is szűrést fogalmazhatunk meg, azonban itt a csoportosítás utáni eredményhalmazra. Példa: SELECT COUNT(*), Tulajdonos FROM Szamla WHERE Allapot = 'N' GROUP BY Tulajdonos HAVING COUNT(*) > 1 Az előző példához képest itt annyi a módosulás, hogy csak azok a csoportok jelennek meg, amelyek egynél több sorból lettek összevonva.

PL (ORDER BY záradék) ORDER BY Az eredményhalmaz rendezését adja meg. Példa: SELECT * FROM Beteg ORDER BY Szuletes DESC A fenti példa a betegek listáját adja vissza, születési dátum szerint sorba rendezve, elöl a legfiatalabb beteggel.

Aggregált függvények Összesítő, vagy oszlopfüggvények: AVG ( <oszlopnév>) - numerikus típusú oszlop adatértékeinek átlagát határozza meg COUNT (*I <oszlopnév>) a sorok ill. az oszlop adatértékeinek számát adja meg (NULL értéket is figyelembe veszi) MAX MIN SUM (DISTINCT kulcsszó- ismétlődő adatértékek közül csak egyet vesz figyelembe)