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.

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 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.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 8. gyakorlat SQL alapok.
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.
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
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,
SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések
Adatbázis rendszerek II.
Készítette: Sárközi Anikó
Adatbázis-kezelés ACCESS program:
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
2006. október 9.Markó Tamás, PTE TTK1 Az Oracle SQL 7. Kényszerek megadása. Indexek kezelése.
2006. október 2.Markó Tamás, PTE TTK1 Az Oracle SQL 5. Nézettáblák létrehozása, módosítása és törlése.
SQL 1 SEQUEL, Structured English Query Language: SQL ANSI, ISO: SQL86, SQL89, SQL92. Alap (entry), közbenső (intermediate), teljes (full) szint. A DDL.
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.
Nézettáblák létrehozása, módosítása és törlése
- 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.
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;
Access XP Kifejezés-szerkesztő Összehasonlító operátorok:
DDL – Adatdefiníciós nyelv
Adatbázis I. – 11. előadás Kulcsok az SQL – ben. Hivatkozás- épségi megszorítások és idegen kulcsok.
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
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.
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.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 10. gyakorlat SQL SELECT, Összekapcsolás, Nézettáblák.
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.
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.
Többtáblás lekérdezések, hierarchikus lekérdezések, allekérdezések
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
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.
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
SQL.
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.
Adatbázisok SQL.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
DDL parancsok – Tábla műveletek, mezőtulajdonságok
Előadás másolata:

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 nyelvekbe beépíthető (beágyazott SQL). 1976: SEQUEL (= Structured English QUEry Language) az SQL eredeti változata, IBM-nél fejlesztették ki. 1986: szabvány SQL, az ANSI (= American National Standards Institute) definiálta. 1992: SQL2 szabvány. Továbbfejlesztés: SQL3 (rekurzió, triggerek, objektum-relációs modell)

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 Manipulation Language): adatokon műveletet végző utasítások. alábbi csoportokban tárgyaljuk az SQL utasításokat: - adatbázisséma definiálása (DDL), - adatok aktualizálása (DML), - lekérdezési lehetőségek (DML).

Szintaxis Kisbetű és nagybetű a nyelv alapszavaiban egyenértékű. Utasítások sorfolytonosan írhatók, lezárás pontosvesszővel. Szövegkonstans: 'szöveg' Változó nincs, csak tábla- és oszlopnevekre lehet hivatkozni. Kifejezésben hivatkozás egy tábla adott oszlopára: tábla.oszlop (ha a tábla egyértelmű, akkor elhagyható). Logikai műveletek: AND, OR, NOT Az utasítások szintaxisának leírásánál az elhagyható részleteket szögletes zárójellel jelöljük.

Speciális logikai kifejezések x IS NULL: igaz, ha az x mező értéke NULL. x BETWEEN a AND b: igaz, ha a  x  b. x IN halmaz: igaz, ha x megegyezik a megadott halmaz egy elemével. x relációjel ALL halmaz: igaz, ha x a halmaz minden elemével a megadott relációban van. x relációjel ANY halmaz: igaz, ha a halmaznak van olyan eleme, amellyel x a megadott relációban van. EXISTS halmaz: igaz, ha a halmaz nem üres. x LIKE minta: igaz, ha az x karaktersorozat megfelel a megadott mintának.

Relációsémák definiálása - DDL CREATE TABLE táblanév ( oszlopnév adattípus [feltétel],......, oszlopnév adattípus [feltétel] [, táblaFeltételek] );

Adattípusok CHAR(n)n hosszúságú karaktersorozat VARCHAR(n)legfeljebb n hosszúságú karaktersorozat INTEGERegész szám (röviden INT) REALvalós (lebegőpontos) szám, másnéven FLOAT DECIMAL(n[,d])n jegyű decimális szám, ebből d tizedesjegy DATEdátum TIMEidő

Alapértelmezett értékek NULL – nem ismert DEFAULT Típus definiálása után vagy lehet később módosítani

Táblák, relációsémák változtatása Táblák megszüntetése DROP Tábla;

Táblák, relációsémák változtatása Relációsémák módosítása ALTER TABLE táblanév [ADD (újelem,..., újelem)] [MODIFY (módosítás,..., módosítás)] [DROP (oszlop,..., oszlop)]; újelem: egy "oszlopnév adattípus [feltétel]” módosítás: "oszlopnév adattípus [feltétel]”

Indexek létrehozása nem része az SQL2 szabványnak CREATE [UNIQUE] INDEX indexnév ON tábla(oszloplista); DROP INDEX indexnév;

Megszorítások SQL -ben Elsődleges kulcs, kulcsok Külső kulcs – hivatkozási épség Attribútumértékekre vonatkozó megszorítások Globális megszorítások

Kulcsok megadása SQL -ben PRIMARY KEY - elsődleges kulcs CREATE TABLE utasításon belül kétféle módon: – Attribútum megadásakor – Egy újabb deklarációs sorral UNIQUE – kulcs (több is megadható)

Hivatkozási épség – idegen kulcs CREATE TABLE utasításon belül kétféle módon: – Attribútum megadásakor REFERENCES tábla(attribútum) – Egy újabb deklarációs sorral FOREIGN KEY (oszloplista) REFERENCES tábla(oszloplista) [ON-feltételek]

Hivatkozási épség fenntartása Ha a feltétel megsérülne visszautasítjuk a módosítást Továbbgyűrűző eljárás NULL értékre állítás módszere

Hivatkozási épség fenntartása ON UPDATE CASCADE: ha S egy sorában változik a kulcs értéke, akkor a rá való T-beli hivatkozások is módosulnak ON DELETE CASCADE: Ha S-ben törlünk egy sort, akkor T-ben is törlődnek a rá hivatkozó sorok ON UPDATE SET NULL: ha S egy sorában változik a kulcs értéke, akkor T-ben a rá való külső kulcs hivatkozások értéke NULL lesz. ON DELETE SET NULL: ha S-ben törlünk egy sort, akkor T-ben a rá való külső kulcs hivatkozások értéke NULL lesz.

Attribútumértékekre vonatkozó megszorítások Attribútumra vonatkozó megszorítás CREATE TABLE utasításban Értéktartományra vonatkozó megszorítás CREATE DOMAIN attribútum típus AS CHECK (VALUE IN (kifejezés)) CHECK (VALUE (kifejezés))

Globális meszorítások Sorokra vonatkozó CREATE TABLE utasításban Önálló megszorítások CREATE név ASSERTION CHECK feltétel

Megszorítások módosítása Megszorítások elnevezése CONSTRAINT kulcsszóval név CHAR(30) CONSTRAINT NévKulcs UNIQUE ALTER TABLE Dolgozó DROP CONSTRAINT NévKulcs ALTER TABLE Dolgozó ADD CONSTRAINT NévKulcs UNIQUE (név);

Adattábla aktualizálása (DML) táblába új sor felvétele Sor(ok) módosítása Sor(ok) törlése

táblába új sor felvétele INSERT INTO táblanév [(oszloplista)] VALUES (értéklista); Oszloplista megadása nélkül is lehet

Sor(ok) módosítása UPDATE táblanév SET oszlop = kifejezés,..., oszlop = kifejezés [ WHERE feltétel ]; Where feltétel nélkül minden sorra

Sor(ok) törlése DELETE FROM táblanév [ WHERE feltétel ]; Where feltétel nélkül minden sorra

Lekérdezés (DML) Egy vagy több adattáblából egy eredménytábla előállítása, amely a képernyőn listázásra kerül, vagy más módon használható fel. Egyetlen SELECT utasítás akár egy komplex felhasználói programot helyettesíthet

Lekérdezés (DML) SELECT [DISTINCT] oszloplista FROM táblanévlista [WHERE feltétel];

Lekérdezés (DML) "SELECT A1,...,An FROM T1,...,Tm WHERE feltétel" utasítás egyenértékű a következő relációs algebrai kifejezéssel: E =  A1,...,An(  feltétel(T1 x...x Tn))

A relációs algebra műveleteinek megvalósítása Projekció: SELECT [DISTINCT] A1,...,An FROM T; Szelekció: SELECT * FROM T WHERE feltétel;

A relációs algebra műveleteinek megvalósítása Descartes-szorzat: T1 x T2 SELECT * FROM T1,T2; Théta join: SELECT * FROM T1,T2 WHERE feltétel;

A relációs algebra műveleteinek megvalósítása Unió: (SELECT * FROM T1) UNION (SELECT * FROM T2); Metszet: (SELECT * FROM T1) INTERSECT (SELECT * FROM T2); Különbség: (SELECT * FROM T1) EXCEPT (SELECT * FROM T2);

Alias nevek SELECT után megadott oszloplista tetszőleges kifejezéseket is tartalmazhat az eredménytábla oszlopainak elnevezésére alias neveket adhatunk meg: FROM után megadott táblák esetében is használhatók, pl. ha egy táblára többször is haivatkozunk

Összesítő függvények függvénynév ( [DISTINCT] oszlopnév ) AVG: átlagérték. SUM: összeg. MAX: maximális érték. MIN: minimális érték. COUNT: elemek száma.

Csoportosítás GROUP BY oszloplista – csoportba azok a sorok melyeknél oszloplista értéke azonos. – eredménytáblában egy csoportból egy rekord – Az összesítő függvények csoportonként hajtódnak végre.

Csoportosítás HAVING feltétel – a feltételnek eleget tevő csoportok kerülnek összesítésre az eredménytáblába.

Eredménytábla rendezése ORDER BY oszlopnév [DESC],..., oszlopnév [DESC] Alapértelmezésben növekvő, ha fordítva akarjuk akkor DESC = descending

A SELECT utasítás általános alakja SELECT [DISTINCT] oszloplistaprojekció FROM táblanévlistaDescartes-szorzat [WHERE feltétel]szelekció [GROUP BY oszloplista]csoportosítás [HAVING feltétel]csoport-feltétel [ORDER BY oszloplista];rendezés

Végrehajtási sorrend 1. FROMDescartes-szorzat 2. WHERE szelekció 3. GROUP BYcsoportosítás 4. HAVING csoport-szelekció 5. SELECT projekció 6. ORDER BYrendezés

Alkérdések valamely SQL utasítás belsejében szereplő SELECT utasítás amely egy relációt vagy skalárt eredményez Halmazelméleti metszet művelet megvalósítása SELECT * FROM T1 WHERE EXISTS ( SELECT * FROM T2 WHERE T1.A1=T2.A1 AND... T1.An=T2.An );

Alkérdések INSERT utasítás is tartalmazhat alkérdést: INSERT INTO táblanév [(oszloplista)] SELECT... ; A SELECT annyi oszlopot kell hogy kiválasszon, amennyit oszloplista tartalmaz

Virtuális táblák A virtuális tábla (nézettábla, view) nem tárol adatokat Nézettáblák alkalmazási lehetőségei: - Származtatott adattáblák létrehozása, amelyek a törzsadatok módosításakor automatikusan módosulnak (pl. összegzőtáblák). - Bizonyos adatok elrejtése egyes felhasználók elől (adatbiztonság vagy egyszerűsítés céljából).

Virtuális táblák CREATE VIEW táblanév [(oszloplista)] AS alkérdés; SELECT utasítás eredménytáblája alkotja a nézettáblát ugyanúgy használhatók, mint a tárolt adattáblák

Virtuális táblák Nézettábla módosítása lehetséges kivéve: ha definíciója - DISTINCT opciót, - FROM után egynél több táblanevet (join művelet), - GROUP BY alparancsot tartalmaz.