SQL Structured Query Language

Slides:



Advertisements
Hasonló előadás
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
Advertisements

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.
Adatbázis-kezelés.
Relációs adatbázisok készítése
1 Informatikai Szakképzési Portál Adatbázis kezelés Az SQL nyelv elemei.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
Delphi programozás alapjai
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.
Microsoft Access V. Készítette: Rummel Szabolcs Elérhetőség:
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-kezelés.
KOVÁCS DÁVID. ALAPFOGALMAK Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az.
16. Tétel. Adatbázis: Olyan adatgyűjtemény, amely egy adott feladathoz kapcsolódó adatokat szervezett módon tárolja, és biztosítja az adatokhoz való hozzáférést,
Adatbázis rendszerek II.
az MSAccess programmal
2006. október 9.Markó Tamás, PTE TTK1 Az Oracle SQL 7. Kényszerek megadása. Indexek kezelése.
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
Adatbázis-kezelés Papp-Varga Zsuzsanna. Elérhetőségek    as.
Kényszerek megadása. Indexek kezelése.
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.
Tervezés, Normalizálás
Statisztika, kutatásmódszertan I.
Dr. Krauszné Dr. Princz Mária Adatbázis rendszerek I.
1 Informatikai Szakképzési Portál Adatbázis kezelés Alapfogalmak.
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
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
Nézzük, mit tudunk…. Mire gondoltam? Megjeleníti az adott adatbázishoz kapcsolódó összes objektumot : adatbázis ablak.
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,
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.
SQL nyelv részei DDL (Data Definition Language – Adat Definiáló Nyelv)  relációs séma séma kezelő utasítások: adatbázisok, táblák létrehozása, módosítása.
Adatbázis kezelés.
Adatbázis-kezelés.
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
Adatbázisok Fleiner Rita, Tankönyv:
Adatbázis-kezelés.
Adatbázis alapfogalmak
5. gyakorlat Fleiner Rita.
Normálformák Takács Gábor mérnök informatikus, okl. mérnöktanár
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
– SELECT - 1. – Tarcsi Ádám január Adatbázis gyakorlat.
Adatbáziskezelés. Adat és információ Információ –Új ismeret Adat –Az információ formai oldala –Jelsorozat.
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ázisszintű adatmodellek
Készítette: Kiss András
Alapfogalmak Adat: rögzített ismeret
Kovács Gergely Péter Bevezetés
Logisztikai projekt - gyakorlat Adatbázis-elmélet
Relációs adatmodell, normálformák
Adatbázis-kezelés 2. Relációs adatbázisok.
Adatbázis-kezelés.
DDL parancsok – Tábla műveletek, mezőtulajdonságok
Előadás másolata:

SQL Structured Query Language Komplett adatbáziskezelő nyelv DDL (Data Definition Language = Adat Definíciós Nyelv) DML (Data Manipulation Language = Adat Manipulációs Nyelv) DQL (Data Query Language = Adat Lekérdező Nyelv) DCL (Data Control Language = Adatelérést Vezérlő Nyelv)

Az SQL tulajdonságai szabványos (SQL'86, SQL'89, SQL'92, …), elterjedt nyelv, a legtöbb elterjedt adatbázis kezelő rendszer támogatja relációkon végez műveleteket (relációs algebra) nem algoritmikus, deklaratív nyelv nem rekurzív (SQL’99)

Az SQL felhasználása interaktív parancsértelmező segítségével grafikus adatbázis kezelő környezetbe ágyazva programozási nyelvbe ágyazva

Az SQL szintaktikájának jellemzői utasításokból áll, végét pontosvessző zárja az utasítások záradékokból állnak, amelyek sorrendje kötött az utasítások tartalma: alapszavak, azonosítók, kifejezések, konstansok, listák, elválasztó jelek

Adatbázis tervezés és megvalósítás lépései Fogalmi tervezés: milyen egyedekkel foglalkozunk, egyedhalmazok tulajdonságai, kapcsolatok megtervezése, Egyed-Kapcsolat modell, EK diagram készítése Logikai tervezés: adatmodell, logikai séma meghatározása, (az EK diagramot leképezzük relációs modellre) Fizikai tervezés: konkrét adatbázis meghatározása (Oracle, MSSQL, Mysql stb…) -> fizikai séma Adatbázis létrehozása: scriptek, utasítások futtatása a logikai séma megvalósítására, majd feltöltése tesztadatokkal, majd éles adatokkal üzembe helyezés

Modellezési alapfogalmak Egyed: „önállóan” létező dolog (pl: autó, egyetem, …) Egyed előfordulása: egy konkrét értéke (LEN120 rendszámú , ELTE) Egyedhalmaz: az egyed előfordulásainak összessége Tulajdonság: amivel az egyedeket jellemezzük (név, testmagasság, …) Azonosító, egyértékű- többértékű, egyszerű-összetett, származtatott Kapcsolat: az egyedek között fennálló viszony nincs kapcsolat, 1:1 (ember-neme), 1:N (anya-gyerek), N:M (diák-tantárgy) kötelező - nem kötelező kettő vagy több egyedhalmaz között

Kulcs Tulajdonság, amely értékei egyértelműen azonosítják a relációt. kulcsok fajtái: egyszerű kulcs összetett kulcs: több attribútum alkotja minimál kulcs: összetett kulcs esetén bármelyik attribútumot vesszük el belőle, akkor már nem kulcs  a legkisebb részhalmaz, ami még azonosít kulcsjelöltek: minimális kulcsok közül választhatunk elsődleges kulcs: a kulcsjelöltek közül kiválasztott kulcs alternatív kulcsok: a kulcsjelöltekből nem elsődleges kulcsként kiválasztott elemek idegen kulcs: olyan tulajdonság, amelyik egy másik relációban elsődleges kulcsként szerepel hivatkozott reláció: amelynek elsődleges kulcsára hivatkozunk hivatkozott táblából nem törölhetek sort, ha a hivatkozó táblában szerepel nem vehetek fel új idegen kulcsot a hivatkozó táblába, ha a hivatkozottban nem szerepel hivatkozott táblában módosítás: törlés + bevitel, CASCADE hivatkozási integritási szabály: az adatbázisban nem lehet olyan idegen kulcs, melynek értéke ne egyezik meg egy hozzá kapcsolódó elsődleges kulcs értékével

Funkcionális függőség funkcionális függőség: egy adott R reláció Y tulajdonsága funkcionálisan függ az R reláció X tulajdonságától  ha X minden értéke egyértelműen meghatározza Y értékét funkcionális teljes függőség: legyen X összetett tulajdonság, Y tulajdonság funkcionálisan teljesen függ X-től, ha funkcionálisan függ X-től, de nem függ X egyetlen résztulajdonságától sem tranzitív függőség: R reláció Z tulajdonsága tranzitíven függ X relációtól, ha Z funkcionálisan függ Y-tól, és Y funkcionálisan függ X-től X->Y->Z

Normálformák 1. NF: ha a relációban minden érték elemi 2. NF: ha 1. NF és minden olyan tulajdonsága, amely nem része az elsődleges kulcsnak, funkcionálisan teljesen függ az elsődleges kulcstól (Megszünteti az összetett kulcstól való részleges függésből adódó redundanciát. Ha egy tábla 1NF és egyszerű kulcsa van, akkor biztosan 2NF is.) 3.NF: ha 2.NF és minden olyan tulajdonsága, amely nem része az elsődleges kulcsnak és funkcionálisan teljesen függ az elsődleges kulcstól, és csak attól (A reláció nem tartalmaz tranzitív függőséget.) (Ha egy tábla 2NF és a nem kulcs tulajdonságok között nincs függőség, akkor 3NF is.)

Példa adatbázisunk Szeretnénk nyilvántartani a diákok adatait, különböző tantárgyak témaköreiből szerzett különböző típusú osztályzataikat. Diákok adatai: név, születési dátum, anyja neve, neme, haja színe. A tantárgyakról és témaköreikről csak a megnevezésüket tároljuk. A diákok jegyeiről tároljuk, hogy melyik tantárgynak melyik témaköréből kapta, milyen típusú (témazáró, felelés, dolgozat, házi feladat,…) és mikor kapta.

Modellezzünk N M Diák Tantárgy 1 1 1 1 N N N Jegy N 1 N N N 1 Típus Témakör 1

A modell leképezése relációs sémába

Táblák létrehozása CREATE TABLE táblanév ( mezőnév1 adattípus (szélesség) [mező szintű megszorítás1]    mezőnév2 adattípus (szélesség) [mező szintű megszorítás2],    ...    mezőnévN adattípus (szélesség) [mező szintű megszorításN],    [táblaszintű megszorítás1],    [táblaszintű megszorítás2],    ...    [táblaszintű megszorításM ) Mező szintű (névtelen) megszorítások: Kötelező tartalom előírása: IS [NOT] NULL Egymezős kulcsok: elsődleges_kulcs típus… PRIMARY KEY Idegen_kulcs típus… REFERENCES hivatkozott_tábla (hivatkozott_kulcs) Egyedi mező: mezőnév típus … UNIQUE Táblaszintű (nevesített) megszorítások: Többmezős kulcsok: CONSTRAINT constraint_név PRIMARY KEY (mező,mező2,…) CONSTRAINT constraint_név FOREIGN KEY (mező1,mező2,…) REFERENCES hivatkozott_tábla (mező1,mező2,…),

CONSTRAINT záradék (Access)   CONSTRAINT név {PRIMARY KEY (elsődleges1[, elsődleges2 [, ...]]) | UNIQUE (egyedi1[, egyedi2 [, ...]]) | NOT NULL (nemnull1[, nemnull2 [, ...]]) | FOREIGN KEY [NO INDEX] (hivatkozás1[, hivatkozás2 [, ...]]) REFERENCES idegen tábla [(idegen mező1 [, idegen mező2 [, ...]])] [ON UPDATE CASCADE | SET NULL] [ON DELETE CASCADE | SET NULL]}

Példa adatbázisunk sémájának a létrehozása CREATE TABLE diak ( diak_id counter not null PRIMARY KEY, nev varchar(50) not null, szulido datetime not null, anyja varchar(50) not null, neme char(1) not null, haja varchar(50) null, CONSTRAINT ix_diak UNIQUE ( nev, szulido, anyja ) ) CREATE TABLE tantargy ( tt_id counter not null PRIMARY KEY, tantargy varchar(50) not null UNIQUE

Példa adatbázisunk sémájának a létrehozása CREATE TABLE diak_tt ( diak_id int not null, tt_id int not null ,CONSTRAINT pk_diak_tt PRIMARY KEY ( diak_id, tt_id ) ,CONSTRAINT fk_diak_tt_diak FOREIGN KEY (diak_id) REFERENCES diak (diak_id) ,CONSTRAINT fk_diak_tt_tt FOREIGN KEY (tt_id) REFERENCES tantargy (tt_id) ) CREATE TABLE temakor ( tt_id int not null REFERENCES tantargy (tt_id), tema_id int not null, temakor varchar(50) not null, CONSTRAINT pk_temakor PRIMARY KEY (tt_id, tema_id), CONSTRAINT ix_temakor UNIQUE (tt_id, temakor)

Példa adatbázisunk sémájának a létrehozása CREATE TABLE jegy_tipus ( tipus_id counter not null PRIMARY KEY, tipus varchar(50) not null UNIQUE ) CREATE TABLE jegy ( diak_id int not null, tt_id int not null, tema_id int not null, tipus_id int not null REFERENCES jegy_tipus (tipus_id), datum datetime not null, jegy int not null, CONSTRAINT pk_jegy PRIMARY KEY (diak_id, tt_id, tema_id, tipus_id, datum), CONSTRAINT fk_jegy_diak_tt FOREIGN KEY (diak_id, tt_id) REFERENCES diak_tt (diak_id, tt_id), CONSTRAINT fk_jegy_temakor FOREIGN KEY (tt_id, tema_id) REFERENCES temakor (tt_id, tema_id)

Index létrehozás (Access) A táblákhoz rendelhetünk indexeket, melyek helyes megválasztása esetén a lekérdezések felgyorsíthatók. CREATE [ UNIQUE ] INDEX index ON tábla (mező [ASC|DESC][, mező [ASC|DESC], ...]) [WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }] ASC: növekvő, DESC: csökkenő Pl.: CREATE UNIQUE INDEX ix_diak ON diak ( nev, szulido, anyja ) CREATE INDEX ix_diak_anyja ON diak (anyja);

Táblák sémájának módosítása (Access) ALTER TABLE tábla {ADD {COLUMN mezőtípus [(méret)] [NOT NULL] [CONSTRAINT index] | ALTER COLUMN mezőtípus [(méret)] | CONSTRAINT többmezős_index} | DROP {COLUMN mező I CONSTRAINT indexnév} } Pl.: ALTER TABLE diak ADD COLUMN testmagassag int NULL; ALTER TABLE diak ADD CONSTRAINT fk_diak_tt_diak FOREIGN KEY (diak_id) REFERENCES diak (diak_id); ALTER TABLE diak DROP CONSTRAINT ix_diak_anyja;

Törlés (Access) DROP {TABLE tábla | INDEX index ON tábla | PROCEDURE eljárás | VIEW nézet} Pl.: DROP TABLE diak; DROP INDEX ix_diak ON diak;