SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER



Hasonló dokumentumok
8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai:

B I T M A N B I v: T M A N

Adatbázis-kezelés. Harmadik előadás

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Adatbázis használat I. 5. gyakorlat

Adatbázis-kezelés, információs-rendszerek

Adatbázisok* tulajdonságai

SQL parancsok feldolgozása

BEVEZETÉS Az objektum fogalma

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai

Bevezetés: az SQL-be

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Adatbázis-kezelés alapok Adatbázisok című tárgyhoz, ismétlés kapcsán

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

SQL nyelv Táblák összekapcsolása. Táblák összekapcsolása

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT

SQL. 1.rész. 1.elıadás // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai

Adatbázisok I. Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009

Adatbázis rendszerek SQL nyomkövetés

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

SQL DDL-1: táblák és megszorítások

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK)

Adatbázis-kezelés. Második előadás

3. Előadás. Az SQL adatbázisnyelv (Tartalom) Az SQL története. Az SQL felépítése. Adattípúsok. SQL utasítások

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány)

Adatbázis Rendszerek II. 8. Gyakorló környezet

Adatbázisok elmélete 10. előadás

Adatbázis Rendszerek II. 3. SQL alapok

Debreceni Egyetem Informatikai Kar TANULÓI NYILVÁNTARTÓ SZOFTVER FIREBIRD ADATBÁZIS ALKALMAZÁSÁVAL

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

B I T M A N B I v: T M A N

Adatbázis-kezelés alapjai SQL 1: DDL, DML. v: B IT MAN 92/1B IT MAN

SQL haladó. Külső összekapcsolások, Csoportosítás/Összesítés, Beszúrás/Törlés/Módosítás, Táblák létrehozása/kulcs megszorítások

Relációsémák létrehozása SQL nyelvben

Tábla létrehozása: CREATE TABLE alma( ID INT( 3 ) NOT NULL PRIMARY KEY, Leiras VARCHAR( 100 ) );

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Vizuális programozás gyakorlat

Adatbázisok I A relációs algebra

5. téma XML DB. Az adatkezelés és XML kapcsolata. Miért fontos az XML használata az adatbázis kezelésben?

Célkitűzések Az Oracle10 g felépítésének, használatának alapszíntű megismerése

MySQL. Elektronikus jegyzet Széchenyi István Egyetem Távközlési tanszék

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Adatbázis Rendszerek I. 9. SQL alapok (DDL esettanulmány)

Tranzakciókezelés PL/SQL-ben

Adatbázis rendszerek Gy: MySQL alapok

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok.

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

Adatbázisok elmélete 9. előadás

Java és web programozás

Adatbázis Rendszerek II. 3. Ea: MySQL alapok

Adatbázis rendszerek Ea: Eskúel. Structured Query Language

Adatbázisok elmélete 9. előadás

Java és web programozás

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis

SQL gyakorló feladatok. 6. Adatbázis gyakorlat április 5.

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

3. Gyakorlat Ismerkedés a Java nyelvvel

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv).


Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK)

6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK)

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák


Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán

Adatbázis kezelés Delphiben. SQL lekérdezések

BEVEZETÉS Az objektum fogalma

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 4.ELŐADÁS. Adatbázis alapú alkalmazások készítése PHP-ben

Adatbázisok biztonsága

Készítette: Szabóné Nacsa Rozália

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések

Adatbázisok I. Az SQL nyelv

B I T M A N B I v: T M A N

1.óra. Bevezetés. Adatmodellezés, elméleti háttér

ADATBÁZIS RENDSZEREK I BEADANDÓ

GEIAL Kovács László. GEIAL Kovács László GEIAL Kovács László

Programozás. Adatbázis-kezelés (alapok) Fodor Attila

Vektoros grafikát tároló adatbázisok. Katona Endre Térképi adatbázisok diasorozata alapján

Adatbázis Rendszerek II. 6. PLSQL Triggerek 32/1B IT MAN

A könyv tartalomjegyzéke

Keskeny Zoltán 2007/08 SQL. Structured Query Language. (gyakorlat az SQL2 szabvány alapján) Keskeny Zoltán tanév

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31

ADATB`ZIS-KEZEL S. SegØdanyag a gyakorlathoz. sszeæll totta: VÆrady Lajos varadyl@math.klte.hu

Adatbázis Rendszerek II. 3. Ea: MySQL alapok

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

Adatbázis rendszerek tervezése

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

Adatbázis-kezelés alapok. Adatbázis kapcsolatos Internet alkalmazás III. - Fodor Szabina, Szilágyi József

ÖNÁLLÓ LABOR VII. SZEMESZTER. Sümeghy Tamás Pál GFHSRE

Spatial a gyakorlatban

Elemi alkalmazások fejlesztése IV.

Beszerzési logisztika támogatása az optimális beszállító kiválasztása révén

GEIAL Kovács László. GEIAL Kovács László

B I T M A N B I v: T M A N

Átírás:

Adatbázisok I SQL- Utasítások csoportosítása Definíció: DDL: - objektum létrehozás CREATE - objektum megszüntetés DROP - objektum módosítás ALTER Módosítás: DML: - rekord felvitel INSERT - rekord törlés DELETE - rekord módosítás UPDATE Lekérdezés: DQL: - lekérdezés SELECT Vezérlés DCL: - védelem GRANT,.. - tranzakció kezelés COMMIT,.. 2 1

Táblák létrehozása Az üres adatszerkezeti elemeket, struktúrákat kell először megadni, később töltjük fel őket adatokkal A táblázat szerkezete, sémája, a már ismert, a táblázathoz tartozó adatmezőkkel írható le. A mezők megadása a Mezők nevének Adattípusának és Az integritási feltételeknek a kijelölésével történik. 3 Táblák megadása Összefoglalva a tábla létrehozásakor meg kell adni: Tábla nevét Mezők nevét Mezők típusát Integritási feltételeket 4 2

Táblák megadása CREATE TABLE táblanév(m 1 t 1 [i 1 ] [,, m i t i [i i ]], [i g ]); m i : mezőnév t i : típus i i : mezőhöz kötött integritási feltétel i g : mezőcsoporthoz kötött integritási feltétel 5 Táblák megadása CREATE TABLE tnév (mnév1 típus1 intfelt1, intfelt); CHAR(n) NUMBER(n,m) DATE PRIMERY KEY NOT NULL UNIQUE CHECK felt REFERENCES tábla PRIMERY KEY (m1,m2) FOREIGN KEY(m1, m2) REFERENCES tábla CHECK felt CREATE TABLE AUTO (RSZ CHAR(6) PRIMARY KEY, AR NUMBER(9) NOT NULL, GYART_IDO DATE); 6 3

Adattípusok Szabványosított hivatkozást nehéz megadni, mert a legtöbb elterjedt RDBMS más-más elnevezést használ. Legfontosabb típusok: CHAR (n) : n hosszúságú szöveg NUMBER(n [,m]) : n hosszú szám, ahol m a tizedesjegyek száma DATE : dátum 7 Numerikus adattípusok Fix vagy lebegőpontos számok Fixpontos adattípusok: A fixpontos szám rendelkezik egész (P) és tizedesjegy(s) résszel. NUMERIC(P,S) DECIMAL(P,S) INTEGER SMALLINT 8 4

Numerikus adattípusok Fix vagy lebegőpontos számok Lebegőpontos adattípusok: Mantissza és kitevő is előjeles érték. A lebegőpontos értéknek "pontosság" tulajdonsága is van. (A mantisszában lévő szignifikáns bináris számjegyek száma) FLOAT(P) REAL DOUBLE PRECISION Egyedi adattípus: MONEY A numerikus adattípusok esetében sok problémát okoz, hogy a tárolás megvalósítás függő. 9 Dátum és Idő Dátum és idő kezelése sok problémát vet fel Dátum típusú konstans formája: DATE '1948-05-14' TIME '15:00:02.5' Dátum és idő együtt jelenik meg a TIMESTAMP értékben: TIMESTAMP '1948-05-14 12:00:00' Microsoft SQLServer dátumábrázolása DateTime típus :1753.jan.1. és 9999.dec.31 közötti dátumidő adatok három századmásodperc pontossággal, 8 byte-on tárolva SmallDateTime típus: 4 byte, 1900.jan.1-2079.jún.6 közötti egyperces pontossággal. 10 5

Példa táblák létrehozására CREATE TABLE Auto ( TUL NUMBER(3) NOT NULL, RSZ CHAR(6) NOT NULL UNIQUE, TIP CHAR(10), SZIN CHAR(10), EVJ NUMBER(4), AR NUMBER(8)); 11 Megszorítások Egy oszlopra vonatkozó megszorítások NULL az attribútum definíciójában arra utal, hogy az adat megadása nem kötelező, ez az alapértelmezés ezért a legritkább esetben írják ki. NOT NULL az attribútum definíciójában arra utal, hogy az adat megadása kötelező, azaz nem vihető be olyan sor a relációban, ahol az így definiált adat nincs kitöltve. PRIMARY KEY ez az oszlop a tábla elsődleges kulcsa. UNIQUE ez az oszlop a tábla kulcsa. CHECK(feltétel) csak feltételt kielégítő értékek kerülhetnek be az oszlopba. [FOREIGN KEY] REFERENCES reláció_név [ (oszlop_név) ], ez az oszlop külső kulcs 12 6

Több oszlopra vonatkozó megszorítások PRIMARY KEY(oszlop1[, oszlop2,...]) ezek az oszlopok együtt alkotják az elsődleges kulcsot. UNIQUE(oszlop1[, oszlop2,...]) ezek az oszlopok együtt kulcsot alkotnak. CHECK(feltétel) csak feltételt kielégítő sorok kerülhetnek be a táblába. FOREIGN KEY (oszlop1[, oszlop2,...]) REFERENCES reláció(oszlop1[, oszlop2,...]), az oszlopok külső kulcsot alkotnak a megadott tábla oszlopaihoz. 13 Tábla szerkezet módosítása ALTER objektumtípus azonosító paraméterek ALTER TABLE tnév ADD MODIFY(mnev tip intfelt intfelt); ALTER TABLE Auto (TULAJ REFERENCES Ember); Objektum megszüntetése: DROP objektumtípus azonosító paraméterek DROP TABLE tnév; Pl. DROP TABLE Auto 14 7

Példák CREATE TABLE osztaly ( oszt_azon INT PRIMARY KEY, nev VARCHAR(14) NOT NULL, varos VARCHAR(13) NOT NULL, CONSTRAINT unev UNIQUE(nev)); CREATE TABLE alkalmazott ( alk_azon INT PRIMARY KEY, nev VARCHAR(10) NOT NULL, beosztas VARCHAR(9) NOT NULL, belepes DATE NOT NULL, fizetes FLOAT NOT NULL, jutalom FLOAT, oszt_azon INT NOT NULL, CONSTRAINT idegenkulcs FOREIGN KEY (oszt_azon) REFERENCES osztaly (oszt_azon)); 15 Példák CREATE TABLE fiz_oszt ( f_oszt INT PRIMARY KEY, min FLOAT NOT NULL, max FLOAT NOT NULL, CONSTRAINT minmax_rule CHECK (min < max)); 16 8

Példák ALTER TABLE reláció_név ADD attribútum_név adattípus [(szélesség)]; ALTER TABLE reláció_név MODIFY attribútum_név adattípus (új_szélesség) [NOT NULL]; ALTER TABLE reláció_név RENAME COLUMN régi_név TO új_név; ALTER TABLE reláció_név DROP COLUMN attribútum_név; DROP TABLE [IF EXISTS] reláció_név; Példák ALTER TABLE osztaly ADD oszt_vez int NOT NULL; ALTER TABLE osztaly DROP COLUMN oszt_vez; DROP TABLE osztaly; kényszerek (alkalmazott tábla idegenkulcs hivatkozás) miatt nem hajtható végre! 17 Indexek CREATE [UNIQUE] INDEX index_név ON reláció(oszlop1, oszlop2,...); Egyedi index = kulcs Példák CREATE INDEX belepes_index ON alkalmazott(belepes); DROP INDEX belepes_index; 18 9

Adatbázis tervezés kérdései Adatstruktúra helyessége A tervezés számos hibalehetőséget rejt magában. Hibaforrások: -nem megfelelő relációkat hozunk létre -nem megfelelő mezőket alkotunk meg -nem megfelelő a mezők elnevezése -nem a megfelelő mezők kerülnek egy relációba -nem megfelelő a relációk kapcsolatának megvalósítása -nem megfelelő a mezők adattípusa -nem megfelelő a megadott integritási feltétel rendszer 19 Redundancia Redundancia: adatelemek többszörös, ismételt letárolása. Következmény: anomáliák beszúrási anomália módosítási anomália törlési anomália inkonzisztencia 20 10

Helytelen séma: Anomáliák Beszúrási anomália: egy rekord felvitelekor, felesleges, már letárolt információkat újra fel kell vinni(pl. minden új dolgozó felvitelénél fel kell vinni a munkahely adatait is; ha valahol véletlenül elgépeljük, új adatot hozunk létre) 21 Anomáliák Módosítási anomália: egy adat módosításához több helyen is módosítani kell az adatbázisban(ha pl. megváltozik a munkahely címe, akkor minden egyes, az adott munkahelyen dolgozó rekordjában el kell végezni a módosítást többletmunka és ügyelni kell, hogy mindenhol helyesen elvégezzük a módosítást) Törlési anomália: egy információelem megszűnésekor más, hozzá nem tartozó információk is elvesznek(ha pl. máshol nincs letárolva a munkahely címe, akkor az adott munkahelyen dolgozók kitörlésével a munkahelyre vonatkozóadatok is törlődnek) 22 11

Anomáliák oka Az anomáliák abból származnak, hogy nem az igazán összetartozó adatokat vesszünk be egy relációba. Hogy mely mezők tartoznak igazán egy relációba, azt a mezők közötti összetartozási viszony, a mezők közötti függőségek határozzák meg. Legfontosabb függőségi típus a funkcionális függőség. 23 12