7. fejezet Kulcsok és idegen kulcsok

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "7. fejezet. 7.1. Kulcsok és idegen kulcsok"

Átírás

1 7. fejezet Megszorítások és triggerek Ebben a fejezetben az SQL-nek azokat a sajátosságait tekintjük át, amelyek az aktív elemek létrehozásával kapcsolatosak. Egy aktív elem olyan kifejezés vagy utasítás, amelyet egyszer megírunk, eltárolunk az adatbázisban, és azt várjuk el tole, hogy a megfelelo idopillanatokban lefusson. Ez az idopont lehet egy esemény bekövetkezése, mint például egy adott relációba való beszúrás, vagy lehet az adatbázisnak olyan megváltozása, amikor egy logikai értéku feltétel igazzá válik. Az egyik komoly nehézség, amivel az alkalmazásfejlesztok szembe találják magukat, hogy az adatbázis módosításakor az új információ nagyon sokféleképpen lehet hibás. Kézzel bevitt adatok esetén például gyakran fordul elo elírás vagy másolási hiba. Az alkalmazásokat megírhatjuk úgy is, hogy minden beszúrást, törlést és módosító utasítást a szükséges, helyességet biztosító ellenorzésekhez rendelünk hozzá. A legjobb ezeket az ellenorzéseket az adatbázisban tárolni, és az ABKR-re bízni az ellenorzést. Ekkor ugyanis biztosan nem felejtodik el egyetlen ellenorzés sem, sot így a felesleges munkát is elkerülhetjük. Az SQL számos lehetoséget kínál arra, hogy az épségi megszorításokat az adatbázisséma részeként adjuk meg. Ebben a fejezetben a legfontosabb módszereket fogjuk áttekinteni. Korábban már foglalkoztunk a kulcsmegszorításokkal, amelyeknél egy attribútum vagy egy attribútumhalmaz a reláció kulcsaként van megadva. Az SQL lehetové teszi az attribútumokra, a sorokra vonatkozó megszorításokat és a több relációt érinto megszorításokat is. Ez utóbbiakat önálló megszorításoknak nevezzük. Végül pedig a fejezet végén a "triggereket" fogjuk bemutatni. Ezek olyan aktív elemek, amelyek bizonyos események hatására jönnek muködésbe. Ilyen esemény lehet például egy adott relációba való beszúrás. Emlékezzünk vissza a alfejezetre, amelyben láthattuk, hogy az SQL lehetové teszi a PRIMARYKEY,illetve UNIQUEkulcsszó használatával azt, hogy egy vagy több attribútum a reláció kulcsa legyen. Az SQL nyelv a,,kulcs" kifejezést

2 Megszorftások és triggerek 331 használja bizonyos hivatkozásiépség-megszorítások esetén is. Ezek a megszorítások, amelyeket idegenkulcs-megszorításoknak hívunk, azt mondják ki, hogy egy relációban eloforduló értéknek szerepelnie kell egy másik reláció elsodleges kulcsoszlopában vagy oszlopaiban is Idegen kulcsok megadása Az idegenkulcs-megszorítás bizonyos attribútumok értékeinek jelentésére eloírt követelmény. Vegyük például a példát, amelyben azt néztük meg, hogyan fejezheto ki a relációs algebrában az a megszorítás, hogy a filmeknek a producer "azonosító szám" értéke néhány gyártásirányítónak is azonosító száma lesz a GyártásIrányító relációban. Az SQL-ben egy reláció azon attribútumát vagy attribútumait idegen kulcsnak deklarálhat juk, amelyek egy másik reláció (ez lehet akár ugyanaz a reláció is) bizonyos attribútumaira hivatkoznak. Ez a deklaráció két dolgot jelent egyszerre. 1. A másik reláció azon attribútumait, amelyekre hivatkozunk, elsodleges kulcsként vagy UNIQUEkulcsként kell deklarálni abban a relációban. Enélkül nem adhatjuk meg az idegenkulcs-deklarációt. 2. Az idegen kulcs értékeinek, amelyek elofordulnak az elso relációban, elo kell fordulniuk a hivatkozott attribútumokban is a másik reláció valamelyik sorában. Még pontosabban kifejezve, legyen F egy idegen kulcs, amely egy másik reláció G attribútumhalmazára hivatkozik. Tegyük fel, hogy az elso relációnak egy t sora az F attribútumaiban csupa nem NULLértékkel rendelkezik. Jelöljük t-nek ezen attribútumokon felvett értékeit t[f]-fel. Ekkor a hivatkozott relációnak kell hogy legyen olyan s sora, amelyik a G attribútumainmegegyezikt[f]-fel,vagyiss[g]= t[f].. Az idegen kulcsot is kétféleképpen deklarálhat juk ugyanúgy, ahogyan azt az elsodleges kulcsok esetében láttuk. a) Ha az idegen kulcs egyetlen attribútum, akkor az attribútum neve és típusa után adhatjuk meg, hogy az egy másik tábla egy attribútumára hivatkozik. (Annak az attribútumnak ott elsodleges kulcsnak vagy unique-nak kell lennie. ) A deklaráció formája a következo: REFERENCES<tábla> «attribútum» b) A másik lehetoség, hogya CREATETABLEutasításban az attribútumok listája után egy külön deklarációban adjuk meg, hogy bizonyos attribútumok idegen kulcsot alkotnak. Itt kell megadnunk azt a táblát és azokat az attribútumokat, amelyekre az idegen kulcs hivatkozik. (Ezeknek az attribútumoknak ez esetben is elsodleges vagy unique kulcsnak kell lenniük. ) A deklaráció formája ekkor a következo: FOREIGNKEY «attribútumok» REFERENCES <tábla> «attribútumok> ) 7.1. példa. Tegyük fel, hogy a következo relációt szeretnénk deklarálni: Stúdió (név, cím, elnökazon) Ennek az elsodleges kulcsa a név, az elnökazon attribútuma pedig idegen kulcs, amelyik a GyártásIrányító(név, cím, azonosító, nettóbevétel) reláció azonosító attribútumára hivatkozik. Az elnökazon közvetlenül deklarálható az azonosító attribútumra történo hivatkozással a következo módon: CREATETABLE Stúdió ( cím VARCHAR(255), elnökazon INT REFERENCES GyártásIrányító(azonosító) Vagy megadhatjuk úgy is, hogy az idegen kulcsot külön deklaráljuk: CREATETABLE Stúdió ( cím VARCHAR(255), elnökazon INT, FOREIGN KEYelnökAzon REFERENCES GyártásIrányító(azonosító) Figyeljük meg, hogy a hivatkozott azonosító attribútum a GyártásIrányító táblának valóban kulcsa, ahogyan az szükséges. Mindkét fenti deklarációnak az a jelentése, hogy ha egy érték szerepel a Stúdió tábla egy sorának elnökazon oszlopában, akkor ennek az értéknek szerepelnie kell a GyártásIrányítótábla valamely sorának azonosító oszlopában is. Kivétel az az eset, ha a Stúdió tábla egy sorában az elnökazon oszlopban NULLérték szerepel. Ilyenkor nem követelmény, hogy a NULLérték szerepeljen a másik tábla azonosító oszlopában. Valójában az azonosító elsodleges kulcs, és így nem is szerepelhet benne NULL érték. O Hivatkozási épség fenntartása A séma tervezoje három lehetoség közül választhat az idegenkulcs-megszorítás kikényszerítésére. Az általános megközelítéseket megfigyelhettük a 7.1. példa vizsgálatánál, amelyben elvárás volt, hogy a Stúdióreláció elnökazonértéke egyben a GyártásIrányító reláció azonosító értéke is legyen. A következo muveleteket az ABKR visszautasítja, vagyis egy futási hibát generál:

3 Megszorítások és triggerek a) Ha megpróbálunk egy olyan sort beszúrni a Stúdió táblába, amelyben az elnökazon értéke nem NULL,és nem egyezik meg a GyártásIrányító táblabeli azonosító-hoz tartozó egyik értékével sem. b) Ha megpróbáljuk módosítani a Stúdió tábla egy sorát, és az elnökazon attribútumot egy olyan nem NULLértékre változtatjuk, amelyik nem egyezik meg a GyártásIrányító táblabeli egyik azonosító értékkel sem. e) Ha megpróbálunk kitörölni egy sort a GyártásIrányító táblából, amelyben az azonosító értéke nem NULLés szerepel a Stúdió tábla elnökazon oszlopában. d) Ha megpróbáljuk módosítani a GyártásIrányító tábla egy sorát oly módon, hogy az azonosító értékét is megváltoztatjuk és a régi azonosító értéke szerepel a Stúdió tábla elnökazon oszlopában. Az elso két módosítás esetén, amelyek az idegenkulcs-megszorítással deklarált relációt akarták megváltoztatni, nincs választási lehetoségünk. A rendszer egyszeruen visszautasítja a megszorítást sérto módosítást. A hivatkozott relációra vonatkozó módosításoknál (vagyis az utolsó kettonél) viszont a tervezo három lehetoség közül választhat: 1. Alapértelmezés szerinti eljárás (Megszorítást sérto módosítások visszautasítása). Az SQL-ben az alapértelmezés szerinti eljárás minden olyan módosítást, amely megsérti a hivatkozásiépség-megszorítást, visszautasít. 2. Továbbgyuruzo eljárás. Ezzel az eljárással az idegen kulcsok hivatkozott attribútuma(i) is megváltoznak. Ha például a továbbgyuruzo eljárással egy stúdió elnökéhez tartozó GyártásIrányító sort törlünk, akkor a rendszer a hivatkozási épség megorzéséhez a Stúdió reláció hivatkozott sorait is törli. Ha ci-rol C2-re változtatjuk egy gyártásirányító azonosítóját, és van olyan sora a Stúdió táblának, amelyben az elnökazon értéke CI, akkor a rendszer ezt az értéket is C2-remódosítja. 3. A NULLértékre állítás módszere. Itt a hivatkozott reláció egy idegen kulcsának értékét érinto módosításánál a hivatkozott reláció megfelelo értékeit NULLértékre változtatjuk. Ha például a GyártásIrányító reláció az egyik stúdió elnökéhez tartozó sorát töröljük, akkor a rendszer a szóban forgó stúdió elnökazon értékeit NULLértékre kell állítsa. Ha ennek az elnöknek az azonosító számát a GyártásIrányító relációban megváltoztatjuk, akkor a Stúdió reláció elnökazon értékét NULLértékre kell változtassuk. A fenti módszerek közül az alkalmazni kívántat a törlés és módosítás esetére külön-külön, egymástól függetlenül megadhatjuk, amikor az idegen kulcsot deklaráljuk. A megadásuk úgy történik, hogy a törlés esetén használandó módszert az ONDELETE,a módosítás esetén alkalmazandót pedig az ONUPDATEkulcsszó után adjuk meg. A módszerekre vonatkozó kulcsszavak pedig NULLértékre állítás esetén SET NULL,továbbgyuruzo módszer esetén pedig CASCADE példa. Nézzük meg, hogyan kell módosítanunk a Stúdió(név, cím, elnökazon) reláció 7.1. példában szereplo deklarációját, hogy a Gyártás Irányító (név, cím, azonosító, nettóbevétel) relációra vonatkozó törlések és módosítások esetén az általunk kívánt módszert alkalmazzaa rendszer. A 7.1. ábrán az említett példában szereplo elso CREATE TABLEutasítást láthatjuk az ONDELETEés ONUPDATEzáradékkal kiegészítve. Az 5. sor azt adja meg, hogy ha a GyártásIrányító táblából kitörlünk egy sort, akkor az összes Stúdió-beli sorban, amelyekben az éppen törölt gyártásirányító volt az elnök, az elnökazon értékét NULL-rakell változtatni. A 6. sor azt mondja meg, hogy ha a GyártásIrányító tábla egy sorában megváltoztatjuk az azonosító-t, akkor a Stúdió tábla megfelelo soraiban ugyanarra az értékre kell változtatni az elnökazon értékét. 1) CREATE TABLE Stúdió ( 2) 3) cím VARCHAR(255), 4) elnökazon INT REFERENCES GyártásIrányító(azonosító) 5) ON DELETE SET NULL 6) ON UPDATECASCADE 7.1. ábra. Módszer megadása a hivatkozási épség megorzésére Figyeljük meg, hogy a példában a törlés esetén a nullértékre állítás tunik értelmes megoldásnak, míg a módosítás esetén a továbbgyuruzo módszer a logikus. Ha ugyanis egy stúdió elnöke visszavonul, attól még a stúdió tovább muködik, egy darabig esetleg elnök nélkül. Ha azonban egy stúdió elnökének megváltozik az azonosítója, az valószínuleg csak valamilyen adminisztratív változást jelent. Valószínuleg az illeto továbbra is elnöke marad a stúdiónak, és ezért ezt a változást abban a relációban is követni kellene. D Megszorítások ellenörzésének késleltetése Vegyük a 7.1. példában említett' szituációt, ahol a Stúdióreláció elnökazon attribútuma idegen kulcs, amely a GyártásIrányító tábla azonosító oszlopára hivatkozik. Tegyük fel, hogy Arnold Schwarzenegger Kalifornia kormányzójaként visszavonul, és elhatározza, hogy egy filmstúdiót alapít, amelynek neve La Vista Studios lesz. A stúdió elnöke természetesen o lesz. Ha végrehajtjuk a következo beszúrást, akkor gondban leszünk.

4 Megszorítások és triggerek 335 Lógó sorok és módosítási eljárások Azokat a sorokat, amelyekben olyan idegen kulcs értéke szerepel, amely nincs benne a hivatkozott táblában, lógó soroknak nevezzük. Emlékezzünk rá, hogy azokat a sorokat is lógó soroknak neveztük, amelyek egy összekapcsolás esetén kimaradtak az eredménybol. A fenti két dolog szoros kapcsolatban áll egymással. Ha egy sorb eli idegen kulcs értéke hiányzik a hivatkozott táblából, akkor az adott sor nem lesz benne a relációnak a hivatkozott relációval vett összekapcsolásában. Ha az összekapcsolás az idegen kulcs, illetve a hivatkozott kulcs egyenloségén alapul, akkor az összekapcsolást idegenkulcs-összekapcsolásnak nevezzük. A lógó sorok pontosan azok a sorok lesznek, amelyek megsértik az idegenkulcs-megszorítás hivatkozásiépség-elvárását. INSERT INTO Stúdió VALUES('La Vista', 'New York', 23456); Az lesz a probléma, hogy nincs a GyártásIrányító táblának azonosítójú sora (feltételezzük, hogy ez lesz Arnold Schwarzenegger új azonosítója), és így nyilvánvaló módon megsért jük az idegenkulcs-megszorítást. Az egyik lehetséges megoldás, hogy eloször szúrjuk be a La Vista stúdióra vonatkozó sort az elnök azonosítója nélkül: INSERT INTO Stúdió(név, cím) VALUES('La Vista', 'New York'); Ez a módosítás már nem sérti meg a megszorítást, mivel a La Vistára vonatkozó sorban NULLérték kerül az elnökazon oszlopba, és ez nem követeli meg semmilyen érték meglétét a hivatkozott oszlopban. Mielott azonban módosítani tudnánk az értéket az alábbi utasítással, eloször be kell szúrnunk egy Arnold Schwarzeneggerre vonatkozó sort a GyártásIrányító táblába a megfelelo azonosítóval. UPDATE Stúdió SET elnökazon = WHERE név = 'La Vista'; Ha nem szúrjuk be elozoleg a megfelelo sort a GyártásIrányító táblába, akkor a fenti módosítás is meg fogja sérteni az idegenkulcs-megszorítást. A jelen példában, ha eloször beszúrjuk Arnold Schwarzeneggert és az o azonosítóját a GyártásIrányító táblába, mielott a La Vistát is beszúrnánk, ezzel biztosan elkerülhetjük az idegen kulcs megsértését. Vannak azonban olyan esetek, amikor a körkörös megszorítások miatt még az adatbázis-módosítások sorrendjének megfontolt megválasztásával sem tudjuk orvosolni a problémát példa. Ha a gyártásirányítók csak stúdióelnökök lehetnének, akkor az azonosítóoszlopot idegen kulcsként kellene deklarálnunk, ami a Stúdió (elnökazon) -ra hivatkozik. Ez esetben az elnökazon oszlopot UNIQUEnak kellene deklarálnunk, aminek akkor van értelme, ha feltesszük, hogy egy ember nem lehet egyidejuleg két stúdiónak az elnöke. Ebben az esetben lehetetlen új stúdiókat és elnököket felvinni. Nem tudunk új elnökazon értékkel rendelkezo sort beszúrni a Stúdió táblába, mert ez a sor megsértené azt az idegen kulcsot, ami az elnökazon-ról a GyártásIrányító(azonosító)-ra mutat. Új azonosító értékkel rendelkezo sort sem tudunk beszúrni a GyártásIrányító táblába, mert az pedig azt az idegen kulcsot sérti meg, amely az azonosító-ról a Stúdió (elnökazon)-ra mutat. O A 7.3. példában szereplo probléma másképp is megoldható: 1. Eloször is szükségünk van arra, hogy a két beszúrást (az egyiket a Stúdió, a másikat a GyártásIrányító táblába) egyetlen tranzakcióba foglaljunk. 2. Másrészt valahogy meg kell mondanunk az ABKR-nek, hogy a megszorításokat ne ellenorizze, amíg az egész tranzakció be nem fejezodött. A tranzakciók nyelvén ezt a befejezodést jóváhagyásnak nevezzük. Ahhoz hogy a 2. pontban az ABKR-t informáljuk, bármelyik megszorítás (kulcs, idegen kulcs vagy a fejezetben késobb eloforduló megszorítástípusok) deklarációját egydeferrable(késleltetheto) vagy egynot DEFERRABLEkulcsszó kell kövesse. Az utóbbi az alapértelmezés, és ez azt jelenti, hogy minden adatbázis-módosításkor a megszorítás közvetlenül utána ellenorzésre kerül, ha a módosítás egyáltalán megsértheti az idegenkulcs-megszorítást. Ha azonban a megszorítást DEFERRABLE-ként deklaráljuk, akkor lehetoségünk van arra, hogy azt mondjuk a rendszernek, hogy a megszorítás ellenorzésével várjon a tranzakció végéig. A DEFERRABLE kulcsszót követhet egy INITIALL Y DEFERRED vagy egy INITIALLYIMMEDIATEkiegészítés is. Az elso esetben az ellenorzés a tranzakció jóváhagyásáig késleltetve lesz. A második esetben az ellenorzés minden egyes utasítás után azonnal megtörténik példa. A 7.2. ábra a Stúdióreláció módosított deklarációját mutatja. A módosítás az idegen kulcs késleltetését teszi lehetové a tranzakció végéig. Az elnökazon oszlopot UNIQUE-nakdeklaráltuk, hogy más relációk idegenkulcsmegszorításai hivatkozhassanak rá. Ha a 7.3. példában szereplo másik idegenkulcs-deklarációt is megadtuk volna a Gyártáslrányító(azonosító)-ról a Stúdió(elnökAzon)-ra, akkor olyan tranzakciókat írhatnánk, amelyek két sort szúrnak be (mindegyik táblába), és a két idegen kulcs csak a két beszúrás után kerül ellenorzésre. Így ha egy új stúdiót és az új elnököt is beszúrjuk ugyanazzal az azonosítóval-;-akkor nem sérül meg egyik megszorítás sem. D

5 Megszorítások és triggerek 337 CREATE TABLE Stúdió ( cím VARCHAR(255), elnökazon INT UNIQUE REFERENCES GyártásIrányító(azonosító) DEFERRABLE INITIALLY DEFERRED 7.2. ábra. Az elnökazon egyedisége és a megszorítás késleltetése e) A feltétel legyen ugyanaz, mint a)-ban, de a megszorítást megsérto törlések vagy módosítások esetén törölje vagy módosítsa a rendszer a Filmek reláció megfelelo sorait is. d) A SzerepelBennerelációban lévo filmeknekbenne kell lenniük a Filmek táblában is. A megszorítást megsérto utasításokat a rendszer utasítsa vissza. e) A SzerepelBenne relációban levo színészeknek benne kell lenniük a FilmSzínész táblában is. A megszorítást megsérto utasításokat a rendszer kezelje le a megfelelo sorok törlésével. csolatban: Két további dolgot kell megemlítenünk a megszorítások késleltetésévei kap- Bármelyikfajta megszorításnak nevet adhatunk. Hogy ezt hogyan tehetjük, arról majd a alfejezetben szólunk bovebben. Ha egy megszorításnak nevet adtunk (például saját), akkor egy késleltethet o megszorítást azonnaliról késleltetettre változtathatunk a következo SQL-utasítással: SET CONSTRAINT saját DEFERRED; Ennek a fordítottját kulcsszót használjuk Feladatok is megtehetjük, ha a DEFERRED helyett az IMMEDIATE feladat. A alfejezetben bevezetett filmes adatbázisban minden relációhozadtunk meg kulcsot. Filmek(filmcím, év, hossz, mufaj, stúdiónév, producerazon) SzerepelBenne(filmCím, filmév, színésznév) FilmSzínész(~, cím, nem, születésidátum) GyártásIrányító(név, cím, azonosító, nettóbevétel) Stúdió(név, cím, elnökazon) deklarációit a filmadatbázisra: Adjuk meg a következo hivatkozásiépség-megszorítások aj Egy film producerének szerepelnie kell a gyártásirányítók között. A GyártásIrányító tábla olyan módosításait, amelyek ezt a megszorítást megsértenék, utasítsa vissza a rendszer. bj A feltétel legyen ugyanaz, mint az elobb, de a megszorítást megsért o módosítások esetén a Filmekreláció producerazon oszlopát változtassa a rendszer NULL-ra.! feladat. Azt a megszorítást szeretnénk megadni, hogy minden filmnek, amely a Filmek relációban szerepel, legalább egy színésszel benne kell lennie a SzerepelBenne relációban is. Megadhatjuk-eezt egy idegen kulcs segítségével? Indokoljuk meg a választ! feladat. Javasoljunk megfelelo kulcsokat és idegen kulcsokat a feladat PC-adatbázisának relációihoz. Módosítsuk a feladatban szereplo SQL-sémát úgy, hogy az tartalmazza ezeknek a kulcsoknak a deklarációját. Termék (gyártó, modell, típus) PC (modell, sebesség, memória, merevlemez, cd, Laptop(modell, sebesség, memória, merevlemez, Nyomtató (modell, színes, típus, ár) ár) képernyö, feladat. Javasoljunk megfelelo kulcsokat a feladatban szereplo Csatahaj ók adatbázis relációihoz. Módosítsuk a feladatban szereplo SQLsémát úgy, hogy az tartalmazza ezeknek a kulcsoknak a deklarációját. Haj óosztályok (hajóosztály, típus, ország, ágyúkszáma, kaliber, vízkiszorítás) Hajók(név, hajóosztály, felavatva) Csaták (név, dátum) Kimenetelek(hajó, csata, eredmény) feladat. Adjuk meg a következo hivatkozásiépség-megszorításokat az elozo feladatban szereplo adatbázissémára vonatkozóan. Az ott általunk megadott kulcsokat használjuk, és a megszorításokat megsérto utasításokat kezeljük le úgy, hogy a megfelelo értékeket NULL-raváltoztatjuk. a) Minden Hajók táblabeli hajóosztálynak szerepelniekell a Hajóosztályok táblában is. b) Minden Kimenetelektáblabeli csatának szerepelnie kell a CsatáktáblábaB is. ej Minden Kimenetelek is. táblabeli hajónak szerepelnie kell a Hajóktáblában ár)

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

SQL DDL-1: táblák és megszorítások SQL DDL-1: táblák és megszorítások Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása 7.1. Kulcsok és idegen kulcsok 7.2. Értékekre

Részletesebben

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

Adatbázis I. 11. előadás. Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok. Adatbázis I. 11. előadás Kulcsok az SQL ben. Hivatkozásépségi megszorítások és idegen kulcsok. 1 1. Kulcsok az SQL-ben 2. Hivatkozási épség és idegen kulcsok 3. Attribútum értékre vonatk. megszorítások

Részletesebben

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

Megszorítások. AB1_06A_Megszorítások - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján Megszorítások Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.1. Kulcsok és idegen kulcsok 7.2. Attribútumra vonatkozó megszorítások 7.3. Megszorítások módosítása

Részletesebben

SQL DDL-2 (aktív elemek) triggerek

SQL DDL-2 (aktív elemek) triggerek SQL DDL-2 (aktív elemek) triggerek Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.fej.: Megszorítások és triggerek 7.4. Önálló megszorítások 7.5. Triggerek

Részletesebben

Adatbázis tartalmának módosítása

Adatbázis tartalmának módosítása Adatbázis tartalmának módosítása Tankönyv 6.5. Változtatások az adatbázisban A módosító utasítások nem adnak vissza eredményt, mint a lekérdezések, hanem az adatbázis tartalmát változtatják meg. 3-féle

Részletesebben

Nézetek és indexek. 8. fejezet Nézettáblák

Nézetek és indexek. 8. fejezet Nézettáblák 1 ~... lk 8. fejezet Nézetek és indexek Ezt a fejezetet a nézettáblák ismertetésével kezdjük. A nézettábla olyan reláció, melyet más relációkra vonatkozó lekérdezésekkel definiálunk. A nézettáblák az adatbázisban

Részletesebben

Az SQL adatbázisnyelv: DML

Az SQL adatbázisnyelv: DML Az SQL adatbázisnyelv: DML Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.5. Az adatbázis tartalmának módosítása (DML utasítások) INSERT, DELETE, UPDATE

Részletesebben

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

Relációsémák létrehozása SQL nyelvben Relációsémák létrehozása SQL nyelvben SQL (Structured Query Language) lekérdezés módosítás relációséma leírására alkalmas utasítások: attribútumnevek, attribútumok adattípusa megszorításokat is megadhatunk,

Részletesebben

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

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 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 SQL története, szabványok Szabvány adatbázis-kezelő nyelv: SQL SQL (angol kiejtésben

Részletesebben

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

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 5.ea: SQL áttekintés SQL DML, DDL Az előadások Ullman-Widom: Adatbázisrendszerek Alapvetés alapján készültek, forrás: http://infolab.stanford.edu/~ullman/dscb.html

Részletesebben

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben

ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben ABR ( Adatbázisrendszerek) 2. Előadás : Műveletek a relációs modellben 2.2 Műveletek a relációs modellben 2.2.1 Relációra vonatkozó megszorítások 2.2.2 Multihalmazon értelmezett műveletek 2.2.3 A relációs

Részletesebben

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

SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák SQL DDL: Táblák, megszorítások (constraints), triggerek, nézettáblák Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 7.1.-7.4. Megszorítások 7.5.-7.6. Triggerek

Részletesebben

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

Bevezetés az SQL-be. Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Bevezetés az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben Kulcsok megadása (folyt.köv.7.fej.) -- még: Relációs

Részletesebben

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben

ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) ABR ( Adatbázisrendszerek) 1. Előadás : Műveletek a relációs medellben 1.0 Bevezetés. A relációs adatmodell. 1.1 Relációs algebra 1.2 Műveletek a relációs

Részletesebben

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

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 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 1 Külső összekapcsolás Összekapcsoljuk R és S relációkat: R C S. R azon sorait,

Részletesebben

Bevezetés: az SQL-be

Bevezetés: az SQL-be Bevezetés: az SQL-be Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.3. Relációsémák definiálása SQL-ben, adattípusok, kulcsok megadása 02B_BevSQLsemak

Részletesebben

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

Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) Informatikai képzés Információs rendszerek dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 5.hét: SQL áttekintés, táblák létrehozása és adatok felvitele Az előadások Ullman-Widom: Adatbázisrendszerek

Részletesebben

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

6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) 6.előadás: Adatbázisok-I. dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ SQL gyakorlatban: SQL DML, SQL DDL 6.5. Változtatások az adatbázisban: SQL DML adatkezelő utasítások: INSERT, DELETE, UPDATE

Részletesebben

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

SQL ALAPOK. Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai SQL ALAPOK Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai BEVEZETÉS SQL: Structured Query Language Strukturált Lekérdező Nyelv Szabvány határozza meg, azonban számos nyelvjárása létezik

Részletesebben

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Magas szintű adatmodellek Egyed/kapcsolat modell I. Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1-4.3.fej.) (köv.héten folyt.köv. 4.4-4.6.fej.) Az adatbázis modellezés

Részletesebben

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok

SQL jogosultság-kezelés. Privilégiumok Grant és Revoke Grant Diagrammok SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok 1 Jogosultság-kezelés Egy fájlrendszer általában jogosultságokat rendel az általa kezelt objektumokhoz. Tipikusan olvasható, írható,

Részletesebben

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

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17 Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 17 SQL nyelv Structured Query Language Struktúrált lekérdez

Részletesebben

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:

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: 1 Adatbázis kezelés 2. gyakorlat 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: Táblák létrehozása,

Részletesebben

7. Előadás tartalma A relációs adatmodell

7. Előadás tartalma A relációs adatmodell 7. Előadás tartalma A relációs adatmodell 7.1 A relációs adatmodell 7.2 Relációs adatbázisséma meghatározása 7.3 E/K diagram átírása relációs modellé 7.4 Osztályhierarchia reprezentálása 1 7.1 A relációs

Részletesebben

4. Előadás Az SQL adatbázisnyelv

4. Előadás Az SQL adatbázisnyelv 4. Előadás Az SQL adatbázisnyelv Sorváltozók Alkérdések Ismétlődő sorok Összesítések 1 Sorváltozók Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Olyan lekérdezéseknél, amelyik UGYANAZON reláció két

Részletesebben

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

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai 8. gyakorlat Structured Query Language Struktúrált lekérdező nyelv A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az utasításai DDL (Data Definition Language) adatstruktúra definiáló

Részletesebben

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

Adatbázisok elmélete 10. előadás Adatbázisok elmélete 10. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE

Részletesebben

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

ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT ÓBUDAI EGYETEM Neumann János Informatikai Kar Nappali Tagozat ADATBÁZIS-KEZELÉS FÉLÉVES FELADAT NÉV: MÁK VIRÁG NEPTUN KÓD: A DOLGOZAT CÍME: Jani bácsi székadatbázisa Beadási határidő: 14. oktatási hét

Részletesebben

Adatbázisok 1 2013-14 tavaszi félév Vizsgatételsor

Adatbázisok 1 2013-14 tavaszi félév Vizsgatételsor Adatbázisok 1 2013-14 tavaszi félév Vizsgatételsor 1. Relációs adatmodell alapjai Adatmodell: Az adatmodell egy jelölésmód egy adatbázis adatszerkezetének a leírására, beleértve az adatra vonatkozó megszorításokat

Részletesebben

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

Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány) Adatbázis Rendszerek I. 10. SQL alapok (DML esettanulmány) 23/1 B IT v: 2018.10.31 MAN DML adatokon műveletet végző utasítások DML Data Manipulation Language Rekordok (sorok) beszúrása (felvitele) Mezők

Részletesebben

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

Adatbázisok elmélete 9. előadás Adatbázisok elmélete 9. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

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

Adatbázisok elmélete 6. előadás Adatbázisok elmélete 6. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE

Részletesebben

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

Adatbázisok elmélete 9. előadás Adatbázisok elmélete 9. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére.

Mveletek a relációs modellben. A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére. Mveletek a relációs modellben A felhasználónak szinte állandó jelleggel szüksége van az adatbázisban eltárolt adatok egy részére. Megfogalmaz egy kérést, amelyben leírja, milyen adatokra van szüksége,

Részletesebben

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése

Fájlszervezés. Adatbázisok tervezése, megvalósítása és menedzselése Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése Célok: gyors lekérdezés, gyors adatmódosítás, minél kisebb tárolási terület. Kezdetek Nincs általánosan legjobb optimalizáció. Az egyik

Részletesebben

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

AB1 ZH mintafeladatok. 6. Minősítse az állításokat! I-igaz, H-hamis AB1 ZH mintafeladatok 1. Töltse ki, és egészítse ki! Matematikai formalizmus arra, hogy hogyan építhetünk új relációkat a régi relációkból. Az adatoknak egy jól strukturált halmaza, amelyből információ

Részletesebben

Relációs adatmodell. Adatbázisok használata

Relációs adatmodell. Adatbázisok használata Relációs adatmodell Adatbázisok használata Mi is az adatmodell? Az adatmodell információ vagy adatok leírására szolgáló jelölés. A leírás részei: az adatok struktúrája. Az adatokon végezhető műveletek.

Részletesebben

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

Adatbázisok elmélete 11. előadás Adatbázisok elmélete 11. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2004 ADATBÁZISOK ELMÉLETE

Részletesebben

Csima Judit október 24.

Csima Judit október 24. Adatbáziskezelés Funkcionális függőségek Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2018. október 24. Csima Judit Adatbáziskezelés Funkcionális függőségek 1 / 1 Relációs sémák

Részletesebben

E/K diagram átalakítása relációs adatbázistervre

E/K diagram átalakítása relációs adatbázistervre E/K diagram átalakítása relációs adatbázistervre Egy egyedhalmaznak egy reláció felel meg, melynek neve megegyezik az egyedhalmaz nevével, attribútumai az egyedhalmaz attribútumai. Egy kapcsolatnak szintén

Részletesebben

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

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14 Adatbázisok 8. gyakorlat SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) 2014. október 22. 2014. október 22. Adatbázisok 1 / 14 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A

Részletesebben

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

Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) Adatbázisok-I. előadás dr. Hajas Csilla (ELTE IK) http://sila.hajas.elte.hu/ 6.ea: SQL folytatás SQL DDL, DCL Az előadások Ullman-Widom: Adatbázisrendszerek Alapvetés alapján készültek, forrás: http://infolab.stanford.edu/~ullman/dscb.html

Részletesebben

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák SQL Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák A SELECT UTASÍTÁS ÁLTALÁNOS ALAKJA (ISM.) SELECT [DISTINCT] megjelenítendő oszlopok FROM táblá(k direkt szorzata) [WHERE feltétel]

Részletesebben

Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat

Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián. 1. gyakorlat Adatbázisok 1. Kósa Balázs gyakorlata alapján Készítette: Nagy Krisztián 1. gyakorlat Relációs adatbázis Alap fogalmak (Forrás: http://digitus.itk.ppke.hu/~fodroczi/dbs/gyak2_1/ ) A relációs algebra egy

Részletesebben

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

Adatbázisok. 2. gyakorlat SQL november november 12. Adatbázisok 1 / 31 Adatbázisok 2. gyakorlat SQL 2016. november 12. 2016. november 12. Adatbázisok 1 / 31 SQL nyelv Structured Query Language Struktúrált lekérdez nyelv A relációs adatbáziskezelés szabványos nyelve Két f

Részletesebben

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték

WHERE záradék (további lehetıségek) SQL specialitások, nem írhatók át relációs algebrába: LIKE. NULL értékek. Az ismeretlen (unknown) igazságérték WHERE záradék (további lehetıségek) SQL specialitások, amelyek könnyen átírhatóak relációs algebrai kifejezésre (összetett kiválasztási feltételre) BETWEEN.. AND.. intervallumba tartozás IN (értékhalmaz)

Részletesebben

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF. Adatbázisrendszerek előadás november 3.

7. előadás. Karbantartási anomáliák, 1NF, 2NF, 3NF, BCNF. Adatbázisrendszerek előadás november 3. 7. előadás,,,, Adatbázisrendszerek előadás 2008. november 3. és Debreceni Egyetem Informatikai Kar 7.1 relációs adatbázisokhoz Mit jelent a relációs adatbázis-tervezés? Az csoportosítását, hogy jó relációsémákat

Részletesebben

Relációs algebra 2.rész példák

Relációs algebra 2.rész példák Relációs algebra 2.rész példák Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Lekérdezések a relációs modellben 2.4. Egy algebrai lekérdező nyelv Lekérdezések

Részletesebben

Adatbázis rendszerek SQL nyomkövetés

Adatbázis rendszerek SQL nyomkövetés Adatbázis rendszerek 1. 12. SQL nyomkövetés 1/32 B ITv: MAN 2017.10.26 Nyomkövetési feladat 2/32 Gyakorló feladatok Termék-Vásárlás-Vásárló Oktató-Tantárgy-Hallgató 3/32 Gyakorló feladat: Termék-Vásárlás-Vásárló

Részletesebben

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján

Nézetek és indexek. AB1_06C_Nézetek_Indexek - Adatbázisok-1 EA (Hajas Csilla, ELTE IK) - J.D. Ullman elıadásai alapján Nézetek és indexek Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 8.1. Nézettáblák 8.2. Adatok módosítása nézettáblákon keresztül 8.3. Indexek az SQL-ben 8.4. Indexek

Részletesebben

~i 6.2. Több relációra vonatkozó lekérdezések

~i 6.2. Több relációra vonatkozó lekérdezések f " it.. li~, J. 'o,. 6.2. Több rejációra vonatkozó lekérdezések 273 6.1.5. feladat. Legyenek a és b egész szám típusú attribútumok, melyek NULL értéket is felvehetnek. Az alábbi feltételek mindegyikére

Részletesebben

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

Adatbázis kezelés Delphiben. SQL lekérdezések Adatbázis kezelés Delphiben. SQL lekérdezések Structured Query Language adatbázisok kezelésére szolgáló lekérdező nyelv Szabályok: Utasítások tetszés szerint tördelhetők Utasítások végét pontosvessző zárja

Részletesebben

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás

RELÁCIÓS ADATBÁZISSÉMÁK. Egyed-kapcsolat modellről átírás RELÁCIÓS ADATBÁZISSÉMÁK Egyed-kapcsolat modellről átírás A RELÁCIÓS ADATMODELL Az adatokat egyszerűen reprezentálja: kétdimenziós adattáblákban Minden sor azonos számú oszlopból áll; egy sor egy rekord,

Részletesebben

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR ( Adatbázisrendszerek) 12. Előadás:

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely. ABR ( Adatbázisrendszerek) 12. Előadás: Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Marosvásárhely ABR ( Adatbázisrendszerek) 12. Előadás: 0. Egyes érdekesebb lekérdezésekről 1. NULL értékek használata alkérdésekben 2. Számlanyilvántartási

Részletesebben

A triggerek tárolt eljárások, melyek elsüt események hatására indulnak. Ilyen elsüt esemény lehet egy táblára vonatkozó INSERT parancs DELETE parancs

A triggerek tárolt eljárások, melyek elsüt események hatására indulnak. Ilyen elsüt esemény lehet egy táblára vonatkozó INSERT parancs DELETE parancs Triggerek A megszorítások által kért ellenrzést a rendszer akkor hajtja végre, ha az adat, melyre a megszorítás vonatkozik megváltozik. (SQL2) Az SQL3 további lehetségeket ad az adatbázisba tárolásra kerül

Részletesebben

Adatmodellezés, alapfogalmak. Vassányi István

Adatmodellezés, alapfogalmak. Vassányi István Adatmodellezés, alapfogalmak Vassányi István Alapok A helyes modell az információs rendszer későbbi használhatóságánakazalapja, olyanmint a jómunkaruha: véd, de nem akadályozza a munkát Objektum-orientált

Részletesebben

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

Adatbázisok elmélete 12. előadás Adatbázisok elmélete 12. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

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:

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: 1 Adatbázis kezelés 3. gyakorlat 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: Tábla kapcsolatok létrehozása,

Részletesebben

Adatbázisok gyakorlat

Adatbázisok gyakorlat Adatbázisok gyakorlat 4. gyakorlat Adatmodellezés II Relációs adatbázisséma készítése E-K modellből Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Közérdekű Honlap: http://antalgabor.hu

Részletesebben

Adatbázisok* tulajdonságai

Adatbázisok* tulajdonságai Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az

Részletesebben

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

Az SQL nyelv. SQL (Structured Query Language = Strukturált Lekérdező Nyelv). Az SQL nyelv SQL (Structured Query Language = Strukturált Lekérdező Nyelv). A lekérdezési funkciók mellett a nyelv több olyan elemmel is rendelkezik, amelyek más adatkezelési funkciók végrehajtására is

Részletesebben

A relációs adatmodell

A relációs adatmodell A relációs adatmodell E. Codd vezette be: 1970 A Relational Model of Data for Large Shared Data Banks. Communications of ACM, 13(6). 377-387. 1982 Relational Databases: A Practical Foundation for Productivity.

Részletesebben

Tankönyv példák kidolgozása

Tankönyv példák kidolgozása Tankönyv példák kidolgozása Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Áttekintés: Rel.algebra és SQL Példák: Tk.2.4.14.Feladatok Tk.54-57.o. 2.4.1.feladat

Részletesebben

Könyvtári nyilvántartás

Könyvtári nyilvántartás Könyvtári nyilvántartás Feladat: Készítette: Az alkalmazás lehetővé teszi egy könyvtári könyv kikölcsönzésének és visszahozásának, az könyvtártagok tagdíj-befizetéseinek és az olvasó terembe történő be-

Részletesebben

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 1.rész Lekérdezések az SQL-ben 1.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.1. Egyszerű (egy-relációs) lekérdezések az SQL-ben - Select-From-Where utasítás

Részletesebben

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

Adatbázisok elmélete 6. előadás ADATBÁZISOK ELMÉLETE 6. ELŐADÁS 2/23 Adatbázisok elmélete 6. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/

Részletesebben

ADATBÁZIS RENDSZEREK I BEADANDÓ

ADATBÁZIS RENDSZEREK I BEADANDÓ ADATBÁZIS RENDSZEREK I BEADANDÓ n é v : H u zynets Erik n e p t un: BJ8BDJ t a n k ö r: G2-BGI G y a k. v ezető: Smid László G y a k. időpontja: Szerda 16-18 Feladat megfogalmazása Beadandóm főként számítógépes

Részletesebben

ADATBÁZISOK. 4. gyakorlat: Redundanciák, funkcionális függőségek

ADATBÁZISOK. 4. gyakorlat: Redundanciák, funkcionális függőségek ADATBÁZISOK 4. gyakorlat: Redundanciák, funkcionális függőségek Példa: szállodai adattábla vendég kód vendég név 200005 Pécsi Ádám 333230 Tóth Júlia 200005 Pécsi Ádám 123777 Szép László lakcím Budapest,

Részletesebben

BEVEZETÉS Az objektum fogalma

BEVEZETÉS Az objektum fogalma BEVEZETÉS Az objektum fogalma Program (1) Adat (2) Objektum Kiadványszerkesztés Word Táblázatkezelés Excel CAD AutoCad Adatbáziskezelés Access 1 Program (1) Adat (2) Objektum Adatmodell (2) A valós világ

Részletesebben

Java és web programozás

Java és web programozás Budapesti M szaki Egyetem 2013. november 20. 10. El adás SQLite SQLite: Adatbázis kezel rendszer SQL standardokat nagyrészt követi Nagyon elterjedt, pl böngész kben is használt Nehéz olyan programnyelvet

Részletesebben

Tervezés: Egyed-kapcsolat modell és az SQL DDL: táblák, nézetek

Tervezés: Egyed-kapcsolat modell és az SQL DDL: táblák, nézetek Tervezés: Egyed-kapcsolat modell és az SQL DDL: táblák, nézetek Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiad, 2009 4.1.- 4.4. E/K-modell elemei (folyt) 4.5.- 4.6. E/K-diagram

Részletesebben

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14 Adatbázisok 9. gyakorlat SQL: SELECT 2015. október 26. 2015. október 26. Adatbázisok 1 / 14 SQL SELECT Lekérdezésre a SELECT utasítás szolgál, mely egy vagy több adattáblából egy eredménytáblát állít el

Részletesebben

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

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 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

Részletesebben

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

Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Adatbázisok-1 előadás Előadó: dr. Hajas Csilla Áttekintés az I.zh-ig Áttekintés az 1ZH-ig // Adatbázisok-1 elıadás // Ullman (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 1 Hol tartunk? Mit tanultunk

Részletesebben

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

B I T M A N B I v: T 2015.03.01 M A N Adatbázis Rendszerek MSc 2. Gy: MySQL Táblák, adatok B I v: T 2015.03.01 M A N 1/41 Témakörök SQL alapok DDL utasítások DML utasítások DQL utasítások DCL utasítások 2/41 Az SQL jellemzése Az SQL a relációs

Részletesebben

Lekérdezések az SQL-ben 1.rész

Lekérdezések az SQL-ben 1.rész Lekérdezések az SQL-ben 1.rész Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.1. Egyszerű (egy-relációs) lekérdezések az SQL-ben - Select-From-Where utasítás

Részletesebben

ADATBÁZIS-KEZELÉS. Relációs modell

ADATBÁZIS-KEZELÉS. Relációs modell ADATBÁZIS-KEZELÉS Relációs modell Relációséma neve attribútumok ORSZÁGOK Azon Ország Terület Lakosság Főváros Földrész 131 Magyarország 93036 10041000 Budapest Európa 3 Algéria 2381740 33769669 Algír Afrika

Részletesebben

Egyed-kapcsolat modell

Egyed-kapcsolat modell Adatbáziskezelés Egyed-kapcsolat modell Csima Judit BME, VIK, Számítástudományi és Információelméleti Tanszék 2018. szeptember 5. Csima Judit Adatbáziskezelés Egyed-kapcsolat modell 1 / 45 Adatmodellezés

Részletesebben

Az SQL lekérdeznyelv

Az SQL lekérdeznyelv Az SQL lekérdeznyelv A legtöbb relációs ABKR az adatbázist az SQL-nek (Structured Query Language) nevezett lekérdeznyelv segítségével kérdezi le és módosítja. Az SQL központi magja ekvivalens a relációs

Részletesebben

Adatbázisok biztonsága

Adatbázisok biztonsága Adatbázisok biztonsága 13 1 Célkitőzések 1. Titoktartás (Secrecy): olyan felhasználó, akinek nincs joga, ne férjen hozzá az információkhoz. pl. egy diák ne láthassa más diák kreditjeit. 2. Sértetlenség

Részletesebben

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

Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Relációs algebra (áttekintés) 5.1.

Részletesebben

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

Adatbázis-lekérdezés. Az SQL nyelv. Makány György Adatbázis-lekérdezés Az SQL nyelv Makány György SQL (Structured Query Language=struktúrált lekérdező nyelv): relációs adatbázisok adatainak visszakeresésére, frissítésére, kezelésére szolgáló nyelv. Születési

Részletesebben

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

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv) Az SQL a relációs adatbázis-kezelő rendszerek ma legelterjedtebb szabványosított adatbáziskezelő nyelve. Az IBM dolgozta ki 1983-ban,

Részletesebben

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

8. Gyakorlat SQL. DDL (Data Definition Language) adatdefiníciós nyelv utasításai: 8. Gyakorlat SQL SQL: Structured Query Language; a relációs adatbáziskezelők szabványos, strukturált lekérdező nyelve SQL szabványok: SQL86, SQL89, SQL92, SQL99, SQL3 Az SQL utasításokat mindig pontosvessző

Részletesebben

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai:

Feladatok A mai előadáson: Tankönyv -- Termékek feladatai: Feladatok ---1 Először relációs algebrában táblákkal gondolkodva nézzük meg, hogy milyen műveletekkel tudjuk megkapni a kívánt eredményt, írjuk fel lineáris módon és kifejezőfákkal, majd a kifejezőfákat

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

Relációs algebra 1.rész alapok

Relációs algebra 1.rész alapok Relációs algebra 1.rész alapok Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 Lekérdezések a relációs modellben 2.4. Egy algebrai lekérdező nyelv, relációs

Részletesebben

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

Adatbázis rendszerek. Molnár Bence. Szerkesztette: Koppányi Zoltán Adatbázis rendszerek Molnár Bence Szerkesztette: Koppányi Zoltán A mai órán A mai órán SQL (és ami mögötte van) Mi lesz a ZH-ban? SQL Történet 1970-es évek eleje IBM SEQUEL (Structured English QUery Languge)

Részletesebben

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése,

Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése, Adatbázis tartalmának módosítása (DML), az adatbázis-kezelı rendszerek felépítése, Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.5. Változtatások az adatbázisban:

Részletesebben

Webfejlesztés 4. alkalom

Webfejlesztés 4. alkalom Webfejlesztés 4. alkalom Adatbázis kezelés, SQL alapismeretek, MySQL és a PHPMyAdmin használata Adatbázis kezelési alapok Az adatbázisok alapvetően adatkiszolgálást, illetve különböző szűréi, szeparálási

Részletesebben

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5. IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.kiadás IBM WebSphere Adapters 7. változat 5. alváltozat IBM WebSphere

Részletesebben

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot

Részletesebben

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések SQL bevezetés Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések 1 Miért az SQL? Az SQL magas szintű programozási nyelv. A hogyan helyett azt mondjuk meg, hogy mit szeretnénk.

Részletesebben

Tranzakciókezelés PL/SQL-ben

Tranzakciókezelés PL/SQL-ben Tranzakciókezelés PL/SQL-ben ACID tulajdonságok: Tranzakció Atomosság, Konzisztencia, Izoláció, Tartósság A tranzakció állhat: - Több DML utasításból - Egy DDL utasításból A tranzakció kezdete az első

Részletesebben

A legfontosabb DOS parancsok

A legfontosabb DOS parancsok A legfontosabb DOS parancsok A DOS parancsok általános formája: KULCSSZÓ paraméterek Az utasítások akár kis-, akár nagybetűkkel is írhatók, a DOS nem tesz köztük különbséget. A kulcsszó és az első paraméter

Részletesebben

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

Adatbázis Rendszerek II. 8. Gyakorló környezet Adatbázis Rendszerek II. 8. Gyakorló környezet 1/24 B IT v: 2017.10.26 MAN Gyakorló környezet Géptermek 193.6.5.58:8080/apex H16_neptunkód ADMIN neptunkód 2/24 Jelszó váltás 1 2 3 4 3/24 Gyakorló környezet

Részletesebben

Adatbázis tartalmának módosítása. SQL DML utasítások

Adatbázis tartalmának módosítása. SQL DML utasítások Adatbázis tartalmának módosítása Tankönyv: Ullman-Widom: SQL DML utasítások Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 6.3. Alkérdések a záradékokban (folyt) (where, having

Részletesebben

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

Adatbázisok elmélete 3. előadás Adatbázisok elmélete 3. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat ADATBÁZISOK ELMÉLETE 3. ELŐADÁS

Részletesebben

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte Adattípusok Típus Méret Megjegyzés Konstans BIT 1 bit TRUE/FALSE SMALLINT 2 byte -123 INTEGER 4 byte -123 COUNTER 4 byte Automatikus 123 REAL 4 byte -12.34E-2 FLOAT 8 byte -12.34E-2 CURRENCY / MONEY 8

Részletesebben

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

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2 Tartalomjegyzék Tartalomjegyzék 1 Az SQL nyelv 1 Az SQL DDL alapjai 2 Adatbázis parancsok 2 Táblaparancsok 2 A táblázat létrehozása 2 A táblázat módosítása 3 A tábla törlése 3 Indextábla létrehozása 3

Részletesebben