Adatbázis-kezelés alapok
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Mirıl lesz szó? 1. 2. 3. 4. 5. 6.
Adatbázis-tervezés Relációs adatbázis kezelık - Oracle SQL alapok SQL adatdefiníció SQL lekérdezések SQL adatkarbantartás
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatbázis-tervezés
A felhasználói rendszerek túlnyomó része adatfeldolgozás:
Adatok tárolása Adatok átalakítása Adatok elıkeresése Adatok megjelenítése
A felhasználói rendszer sikere a helyes adatszerkezeten múlik! Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatbázis-tervezés Rendszerfejlesztés folyamata: 1. Megvalósíthatósági elemzés 2. Elemzés
Tervezés
3.
4. 5. 6.
Követelmény-elemzés Követelmény-specifikáció Logikai Fizika
Adatbázis-tervezés
Megvalósítás, programozás Tesztelés Üzembehelyzés/Oktatás Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés
Adatmodellezés Célja: Az adatok helyes logikai szerkezetének meghatározása a jelenlegi rendszer (követelmény-elemzés) és az igényelt rendszer (követelmény-specifikáció) szempontjából Eszközök: Egyed-kapcsolat diagram Normalizálás
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Alapfogalmak: Egyed (entitás): azok az objektumok, amiket le szeretnénk írni. (pl. könyv) Tulajdonság (attribútum): amivel leírjuk az objektumokat (pl. cím, szerzı)
Lényeges (idıben) állandó
Kapcsolat: az egyedek közötti viszony leírására szolgálnak. (pl. melyik kiadó adta ki)
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Egyed-Kapcsolat diagram: Egyedtípus (entitások halmaza): Kapcsolat foka házastársa
1:1
FÉRJ 1:N Aláfölérendeltség
KÖNYV
FELESÉG M:N
OSZTÁLY dolgozik
DOLGOZÓ
DOLGOZÓ
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
dolgozik
PROJEKT
Adatmodellezés - ETK Típus Egyed
Könyv Példány
Szerzı Tulajdonság Cím Kapcsolat
1:N 1:1, N:M
Elıfordulás ISBN 963 577 251 1 12 (Könyvtári kód)
Stolnicki Gyula: SQL kézikönyv Könyv-
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Példány (1:N)
Adatmodellezés Esettanulmány – Könyvtár (jelenlegi rendszer) Vannak könyveink, melynek tudjuk a címét, kiadóját, kiadás évet, szerzı(i)t , és a szerzı(k) nemzetiségét Az egyes könyvekhez tárgyszavakat rendelhetünk hozzá (esetleg többet is)
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Esettanulmány – Könyvtár Egyedek: KÖNYV SZERZİ KIADÓ TÁRGYSZÓ
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Esettanulmány – Könyvtár Egyed-Kapcsolat diagram 1. KIADÓ kiadja
TÁRGYSZÓ
SZERZİ
KÖNYV tartozik
írta
Problémás kapcsolatok Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Esettanulmány – Könyvtár Egyed-Kapcsolat diagram 2. KIADÓ kiadja tartozik
TÁRGYSZÓ
írta
SZERZİ
KÖNYV
KÖNYV/ TÁRGYSZÓ
KÖNYV/ SZERZİ
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Egyedek belsı szerkezete: Az adott egyed leírására szolgáló tulajdonságok Tulajdonságtípusok: Azonosító
elemi összetett
Leíró Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Azonosító: Az adott egyed (elıfordulásainak) egyértelmő azonosítására szolgáló tulajdonság(ok)
Egyedinek kell lennie Nem lehet üres értéke
Típusok: Nominatív : önmagában csak azonosításra szolgáló tulajdonság(ok), egyéb jelentése nincs (pl. Neptunkód) Deszkriptív: azonosításon kívül egyéb jelentése is van.
elemi (pl. Kiadó neve) összetett (pl. Név+ Születési dátum+ Anyja neve)
Vegyes (pl. személyi szám) Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Funkcionális függés: Egy egyeden belül az A tulajdonság funkcionálisan meghatározza B tulajdonságot, ha minden esetben azonos A tulajdonság- érték mellett ugyanaz a B tulajdonság- érték szerepel. Pl. Az ABC-123 rendszámhoz mindig a LADA gyártmány társul, és ugyanígy a többi rendszám esetén is, tehát a Rendszám tulajdonság funkcionálisan meghatározza a Gyártmány tulajdonságot. ( a valóságban vannak kivételek pl. JIMMY-1 rendszám)
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Normalizálás: Célja az egyedek tulajdonságaiból kiindulva helyes adatmodell kialakítása. Normálformák: 0. Normálforma (NF): Minden egyednek kell lennie azonosítójának. 1. NF: 0.NF és minden leíró tulajdonságnak funkcionálisan függeni kell az azonosítótól (nem lehetnek benne ismétlıdı csoportok) 2. NF: 1.NF és minden leíró tulajdonságnak a teljes azonosítótól funkcionálisan is függeni kell (összetett azonosító esetén egyik leíró tulajdonság függ csupán egy kulcsrészlettıl- részleges függés) 3. NF: 2. NF és minden leíró tulajdonság csakis az azonosítótól függ (a leíró tulajdonságok között nem lehet funkcionális függés – tranzitív függés) Megjegyzés:
ha egy egyed 1. NF-ban van és azonosítója elemi, akkor mindjárt 2.NF-ban is lesz. Léteznek magasabb normálformák is nagyon speciális esetekre.
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Normalizálás lépései: 0. Normálforma (NF): Felsoroljuk az összes tulajdonságot, és meghatározzuk az azonosítót 1. NF: Megkeressük az ismétlıdı tulajdonság-csoportokat, ezeket kiemeljük egy új egyedbe és hozzávesszük az eredeti egyed azonosítóját. A régi egyedbıl az ismétlıdı tulajdonságokat eltüntetjük. Az új egyed azonosítója összetett lesz: egyik része az eredeti egyed azonosítója, másik része az ismétlıdı csoporton belüli alkalmas azonosító. Az egész folyamatot addig folytatjuk, amíg találunk ismétlıdı csoportot 2. NF: 1.NF és az egyed azonosítója elemi, akkor mindjárt 2.NF. is. Ha összetett azonosító, megvizsgáljuk, hogy létezik-e olyan leíró tulajdonság (csoport), amelyet már valamely azonosítórészlet is önmagában meghatároz. Az ilyen tulajdonságokat, az ıket meghatározó azonosítórészlettel együtt kiemeljük egy új egyedbe, és a leíró tulajdonságokat az eredeti egyedbıl eltüntetjük (az azonosítórészt NEM!) Az új egyed azonosítója a meghatározó azonosítórészlet legyen. Az egész folyamatot addig folytatjuk, amíg találunk részlegesen függı csoportot. 3. NF: Megvizsgáljuk, hogy leíró tulajdonságok között találunk-e funkcionális függést, ha igen, az ilyen tulajdonságokat, az ıket meghatározó leíró tulajdosággal (-gokkal) együtt kiemeljük egy új egyedbe, és a meghatározott leíró tulajdonságokat az eredeti egyedbıl eltüntetjük (de a meghatározót NEM!) Az új egyed azonosítója a meghatározó leíró tulajdonság legyen. Az egész folyamatot addig folytatjuk, amíg találunk tarnzitívan függı csoportot.
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés 0.NF
ISBNkód Könyvcím Szerzı(k) neve Szerzı(k) nemzetisége Kiadó neve Kiadó székhelye Kiadás éve Tárgyszó(sza vak)
1.NF
Ismétlıdı csoport
Ismétlıdı csoport
ISBNkód Szerzıkód Szerzı neve Szerzı nemzetisége ISBNkód Tárgyszó ISBNkód Könyvcím Kiadó neve Kiadó székhelye Kiadás éve
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Részleges függés
Adatmodellezés 3.NF
2.NF Szerzıkód Szerzı neve Szerzı nemzetisége ISBNkód Tárgyszó ISBNkód Könyvcím Kiadó neve Kiadó székhelye Kiadás éve
Szerzıkód Szerzı neve Szerzı nemzetisége
SZERZİ
ISBNkód Szerzıkód
KÖNYV/ SZERZİ
ISBNkód Tárgyszó Kiadó neve Kiadó székhelye Tranzitív függés
ISBNkód Könyvcím Kiadó neve Kiadás éve
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
KÖNYV/ TÁRGYSZÓ KIADÓ
KÖNYV
Adatmodellezés Kapcsoló tulajdoság: egy egyed azonosítója leíró, vagy azonosítórészként szerepel egy másik egyedben. Kapcsolat az egyed belsı és külsı szerkezete között: Az alárendelt egyednek azonosítórészként vagy leíró tulajdonságként tartalmaznia kell a fölérendelt egyed azonosítóját.
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Esettanulmány – Könyvtár A normalizálásból származó Egyed-Kapcsolat diagram 3. KIADÓ kiadja
SZERZİ
KÖNYV
KÖNYV/ TÁRGYSZÓ
KÖNYV/ SZERZİ
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Esettanulmány – Könyvtár Végleges Egyed-Kapcsolat diagram 4. KIADÓ kiadja
TÁRGYSZÓ
SZERZİ
KÖNYV
KÖNYV/ TÁRGYSZÓ
KÖNYV/ SZERZİ
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Esettanulmány- Könyvtár (igényelt rendszer) Az eddig (katalógus) nyilvántartásra alapozva meg szeretnénk oldani a kölcsönzés nyilvántartását is. A kölcsönzık az adott könyv példányait kikölcsönzik, ha nincs bent egy sem, akkor elıjegyzésbe veszik. Ha a kölcsönzı nem hozzá vissza idıre könyvet, akkor a késés napjai számától függı büntetést fizet, ami könyvenként 100 Ft.
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés Esettanulmány- Könyvtár (igényelt rendszer) Új egyedek: KÖLCSÖNZİ PÉLDÁNY ELİJEGYZÉS
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés KIADÓ kiadja
TÁRGYSZÓ
SZERZİ
KÖNYV
KÖNYV/ SZERZİ
KÖNYV/ TÁRGYSZÓ
ELİJEGYZÉS
PÉLDÁNY Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
KÖLCSÖNZİ
Adatmodellezés KIADÓ kiadja
TÁRGYSZÓ
SZERZİ
KÖNYV
KÖNYV/ SZERZİ
KÖNYV/ TÁRGYSZÓ
ELİJEGYZÉS
KÖLCSÖNZİ
PÉLDÁNY KÖLCSÖNZÉS Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatmodellezés KÖNYV ISBNkód Könyvcím Kiadó neve Kiadás éve Példányszám SZERZİ Szerzıkód Szerzı neve Szerzı nemzetisége KIADÓ Kiadó neve Kiadó székhelye
KÖNYV/SZERZİ ISBNkód Szerzıkód
KÖLCSÖNZİ Kölcsönzıkód Kölcsönzınév Irányítószám KÖNYV/TÁRGYSZÓ Település ISBNkód Lakcím Tárgyszó Telefon Tagság kezdete TÁRGYSZÓ Tagság vége Tárgyszó KÖLCSÖNZÉS PÉLDÁNY Kölcsönzıkód Könyvtárikó Könyvtárikód d Kölcsönzés ISBNkód dátuma Lejárat dátuma Visszadátum Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
ELİJEGYZÉS Kölcsönzıkód ISBNkód Elıjegyzés dátuma Aktív-e
Adatbázis tervezése Adat(bázis) terv
Adatmodell
• fájlkezelés TERVEZÉS
• Adatbázis-kezelı rendszer • Hierarchikus • Hálós • Relációs
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatbázis tervezése Adatbáziskezelı rendszerek (DBMS) elınyei: Minden adat az DBMS-en keresztül érhetı
logikai fizikai adatfüggetlenség
Ügyfél-kiszolgáló architektúra Több felhasználó hatékony kiszolgálás Adatbiztonság
adathozzáférés, jogosultságok Adatok biztonsága tranzakció-kezelés helyreállítás, mentés- visszatöltés Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatbázis tervezése Relációs modell: Reláció: A1 , A2 , A3 K An alaphalmaz ok R ⊂ A1 × A2 × A3 × K × An Egy általános relációt legtöbbször táblázatos formában adjuk meg
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
Adatbázis tervezés Relációs modell: Egyed tábla Tulajdonság mezı Azonosító elsıdleges kulcs Kapcsoló tulajdonság idegen kulcs Kapcsolat idegen kulcson keresztül megvalósított logikai kapcsolat – hivatkozási integritás Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL nyelv
SQL :Structured Query Language Nem programozási (értsd nem algoritmus leíró) nyelv, hanem a lekérdezı nyelv Szabványos – SQL-92 Relációs adatbázis kezelık szinte kivétel nélkül támogatják Tartalmaz
Adatdefiníciós Data Definition Language (DDL) Adatmanipuláló Data Manipulation Language (DML) elemeket
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DDL Tábla definiáló utasítások CREATE TABLE - létrehozás ALTER TABLE – (definíció)módosítás DROP TABLE - törlés
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DDL CREATE TABLE táblanév (táblaelem-felsorolás) táblaelem-felsorolás:= táblaelem | táblaelem, táblaelem-felsorolás Táblaelem:= oszlop- meghatározás|megszoritás-meghatározás Oszlop-meghatározás:= oszlopnév adattípus [DEFAULT érték] [oszlopmegszorítás] Oszlop-megszorítás:=NOT NULL| CHECK megszorítás| UNIQUE|PRIMERY KEY| REFERENCE DEFAULT érték:= szöveg| beépített érték|NULL
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DDL SQL adattípusok: Számok: SMALLINT INT LONG FLOAT NUMBER(számjegyekszáma, tizedesjegyek száma) Szöveg CHAR(n) VARCHAR2(n) DÁTUM DATE
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DDL -Esettanulmány KIADÓ tábla létrehozása: CREATE TABLE KIADO ( Kiadonev VARCHAR2(40) PRIMARY KEY, Kiado_szekhely VARCHAR2(25) NOT NULL) SZERZO tábla: CREATE TABLE SZERZO ( Szerzokod INTEGER PRIMARY KEY, Szerzonev VARCHAR2(35) NOT NULL, Szerzo_nemzetiseg VARCHAR2(15)) Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DDL -Esettanulmány KÖNYV tábla létrehozása: CREATE TABLE KONYV ( ISBNKOD NUMBER(10,0) PRIMARY KEY, Konyvcim VARCHAR2(50) NOT NULL, Kiadonev VARCHAR2(40) REFERENCES KIADO, Kiadas_eve INTEGER, Peldanyszam SMALLINT) TARGYSZO tábla: CREATE TABLE TARGYSZO ( Targyszo VARCHAR2(20) PRIMARY KEY)
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DDL -Esettanulmány KONYV_SZERZO tábla létrehozása: CREATE TABLE KONYV_SZERZO ( ISBNKod NUMBER(10,0) REFERENCES KONYV, Szerzokod INTEGER REFERENCES SZERZO, PRIMARY KEY(ISBNkod, Szerzokod) ) KONYV_TARGYSZO tábla: CREATE TABLE KONYV_TARGYSZO ( ISBNKod NUMBER(10,0) REFERENCES KONYV, Targyszo VARCHAR2(20) REFERENCES TARGYSZO, PRIMARY KEY(ISBNKod, Targyszo))
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DDL -Esettanulmány PÉLDÁNY tábla létrehozása: CREATE TABLE PELDANY ( Konyvtarikod INTEGER PRIMARY KEY, ISBNKod NUMBER(10,0) REFERENCES KONYV) KOLCSONZO tábla: CREATE TABLE KOLCSONZO ( Kolcsonzokod INTEGER PRIMARY KEY, Kolcsonzonev VARCHAR2(35) NOT NULL, IRSZ INTEGER NOT NULL, Telepules VARCHAR(20) NOT NULL, Lakcim VARCHAR(50) NOT NULL, Telefon VARCHAR(15), Tagsag_kezdete DATE NOT NULL, Tagsag_vege DATE)
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DDL - Esettanulmány KOLCSONZES tábla: CREATE TABLE KOLCSONZES ( Kolcsonzokod INTEGER REFERENCES KOLCSONZO, Konyvtarikod INTEGER REFERENCES PELDANY, Kolcsonzes_datuma DATE, Lejarat_datuma DATE NOT NULL, Visszahozas_datuma DATE, PRIMARY KEY(Kolcsonzokod, Konyvtarikod, Kolcsonzes_datuma)) ELOJEGYZES tábla: CREATE TABLE ELOJEGYZES ( Kolcsonzokod INTEGER REFERENCES KOLCSONZO, ISBNKod NUMBER(10,0) REFERENCES KONYV, ELojegyzes_datuma DATE, Aktiv_e CHAR(1) NOT NULL CHECK( Aktiv_e IN (‘I’,’N’)), PRIMARY KEY(Kolcsonzokod, ISBNKod, Elojegyzes_datuma))
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML
Adatkarbantartó utasítások
INSERT UPDATE DELETE
Lekérdezések
SELECT
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML Egy rekord felvitele: INSERT INTO táblanév (oszlopnév-nevek) VALUES (érték(ek),[DEFAULT] Több rekord felvitele egy másik táblából: INSERT INTO táblanév (oszlopnév-nevek) SELECT lekérdezés
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML- Esettanulmány INSERT INTO KIADO VALUES(‘Kiskapu Kft.’, ‘Budapest’) INSERT INTO SZERZO VALUES (16, ‘Joe Celko’, ‘amerikai’) INSERT INTO KONYV VALUES (9639301205, ‘SQL felsıfokon’, ‘Kiskapu Kft.’,2002, 2) Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML- Esettanulmány INSERT INTO TARGYSZO VALUES(‘SQL’) INSERT INTO KONYV_SZERZO VALUES (9639301205, 16) INSERT INTO KONYV_TARGYSZO VALUES (9639301205, ‘SQL’)
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML- Esettanulmány INSERT INTO PELDANY VALUES (18,9639301205) INSERT INTO PELDANY VALUES (19,9639301205) INSERT INTO KOLCSONZO (Kolcsonzokod, Kolcsonzonev,IRSZ,Telepules,Lakcim,Telefon,Tags ag_kezdete) VALUES (1, 'Ford Fairlane',12623, 'Los Angeles', 'Pacific Ocean Beach 2589.', '1-80073737328','1991-06-27')
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML- Esettanulmány INSERT INTO KOLCSONZES (Kolcsonzokod, Konyvtarikod,Kolcsonzes_datuma,Lejarat_da tuma) VALUES (1, 19,'2003-09-30','2003-10-21')
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML- Esettanulmány INSERT INTO KIADO SELECT * FROM SZILAGYI.KIADO INSERT INTO SZERZO SELECT * FROM SZILAGYI.SZERZO INSERT INTO KONYV SELECT * FROM SZILAGYI.KONYV INSERT INTO PELDANY SELECT * FROM SZILAGYI.PELDANY INSERT INTO TARGYSZO SELECT * FROM SZILAGYI.TARGYSZO INSERT INTO KOLCSONZO SELECT * FROM SZILAGYI.KOLCSONZO
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML- Esettanulmány INSERT INTO KONYV_SZERZO SELECT * FROM SZILAGYI.KONYV_SZERZO INSERT INTO KONYV_TARGYSZO SELECT * FROM SZILAGYI. KONYV_TARGYSZO INSERT INTO KOLCSONZES SELECT * FROM SZILAGYI.KOLCSONZES INSERT INTO ELOJEGYZES SELECT * FROM SZILAGYI.ELOJEGYZES
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL SELECT SELECT oszlopnevek|* FROM Táblanév(ek) WHERE feltétel(ek) ORDER BY oszlopszám(ok) GROUP BY oszlop(ok) HAVING feltétel
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL S ELECT példák 1. Szerzık listája SELECT * FROM Szerzo
2. Lista csak könyvcímekrıl SELECT Konyvcim FROM Konyv 3. Mely városokból származnak a kölcsönzıink? SELECT DISTINCT Telepules FROM Kolcsonzo
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL SELECT példák Hányféle könyvünk van? SELECT COUNT(*) FROM KONYV 1.
2. Hány darab könyvünk van összesen? SELECT SUM(Peldanyszam) FROM KONYV
3. Átlagosan hány napig volt(van) kint a könyv a kölcsönzıknél? SELECT AVG(DECODE(Visszahozas_datuma,NULL, Sysdate-Kolcsonzes_datuma, Visszahozas_datuma-Kolcsonzes_datuma)) FROM Kolcsonzes
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL SELECT példák Hányféle könyvünk van? SELECT COUNT(*) FROM KONYV 1.
2. Hány darab könyvünk van összesen? SELECT SUM(Peldanyszam) FROM KONYV
3. Átlagosan hány napig volt(van) kint a könyv a kölcsönzıknél? SELECT AVG(DECODE(Visszahozas_datuma,NULL, Sysdate-Kolcsonzes_datuma, Visszahozas_datuma-Kolcsonzes_datuma)) FROM Kolcsonzes
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL SELECT példák Kölcsönzık legutóbbi belépésük szerint rendezve SELECT Kolcsonzonev FROM Kolcsonzo Order BY Tagsag_kezdete DESC 1.
2. Kölcsönzıként összesen hány könyvet kölcsönöztek ki? SELECT Kolcsonzokod, COUNT(konyvtarikod) FROM Kolcsonzes GROUP BY Kolcsonzokod 3. Mely könyvek vannak meg egynél több példányban? SELECT * from KONYV WHERE Peldanyszam>1
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL SELECT példák Adott kiadó által kiadott könyvek címei SELECT KONYV.Konyvcim FROM KONYV, KIADO WHERE KIADO.Kiadonev='Kiskapu Kft.' AND KONYV.Kiadonev=KIADO.Kiadonev 1.
2. Kiknél van kint aktuálisan könyv? SELECT DISTINCT KOLCSONZO.Kolcsonzonev FROM KOLCSONZO, KOLCSONZES WHERE KOLCSONZES.Visszahozas_datuma IS NULL AND KOLCSONZO.Kolcsonzokod=KOLCSONZES.Kolcsonzokod
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML - UPDATE UPDATE táblanév SET oszlop(ok)=érték WHERE feltétel
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML - UPDATE Ford Fairlane új helyre költözik UPDATE KOLCSONZO SET IRSZ=45556, Telepules='Venice', Lakcim='Verona Drive 6767.' WHERE Kolcsonzokod=1 Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL DML - DELETE DELETE FROM táblanév WHERE feltétel Pl. Töröljük ki a ‘Virágnyelv’ tárgyszót: DELETE FROM TARGYSZO WHERE Targyszo='Virágnyelv'
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2
SQL Házi feladatok 1. 2.
3.
4.
Keressük ki, kik kölcsönöztek ma! Határozzuk meg kölcsönzıként a fizetendı büntetés összegét! Listázzuk ki azokat a szerzıket, akiket eddig már olvasott valaki! Mely kiadó könyvei a legkurrensebbek!
Adatbázis kapcsolatos Internet alkalmazás III. Fodor Szabina, Szilágyi József 2003.10.2