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:

Hasonló dokumentumok
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 gyakorlaton a következőket fogjuk gyakorolni:

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

Adatbázis-kezelés. MySQL, PhpMyAdmin. 1. gyakorlat

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

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

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

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

Adatbázis Rendszerek II. 2. Ea: Gyakorló környezet

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

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

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

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

Adatbázis rendszerek SQL nyomkövetés

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Adatbázis használat I. 5. gyakorlat

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

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

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

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

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. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE) október október 22. Adatbázisok 1 / 14

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

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

Adatbázis Rendszerek II. 3. SQL alapok

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

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

Vizuális programozás gyakorlat

PHP-MySQL. Adatbázisok gyakorlat

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

Adattípusok. Max. 2GByte

Java és web programozás

Adattípusok. Max. 2GByte

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Bevezetés: az SQL-be

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.

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

OO PDO. Tehát PDO használatával, könnyen átállhatunk egy másik adatbáziskezelőre, anélkül hogy a kódot teljes egészében újraírnánk.

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

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

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

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

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

Java és web programozás

ADATBÁZIS RENDSZEREK I BEADANDÓ

LBRA6i integrált rendszer

Webfejlesztés 4. alkalom

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

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

Az SQL adatbázisnyelv: DML

Adatbáziskezelés php-ben MySQL adatbáziskezelı rendszert használva

Oktatási cloud használata

Adatbázis rendszerek tervezése

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

Téradatbázisok használata QGIS-ből A DB kezelő modul 2.2 verzió

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

SQL parancsok feldolgozása

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

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

TvNetTel Internet Kapcsolat Beállítása

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

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

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

Kilencedik témakör: Lazarus-Firebird. Készítette: Dr. Kotsis Domokos

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

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

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

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


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

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

CareLink Personal telepítési útmutató. Első lépések a CareLink Personal adatfeltöltéshez

Adatbázis rendszerek Gy: MySQL alapok

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

Adatbázisok* tulajdonságai

opensuse 10.3 Érettségi változat telepítése

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

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

Spatial a gyakorlatban

Adatbázis. AMP! (Apache + MySql + PHP) XAMPP, LAMP, MAMP, WAMP et cetera

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

A Mozilla Thunderbird levelezés beállítása

Készítsen egy adatbázist (egytáblásat) egy számítástechnikai tanfolyam résztvevőiről. Az adattábla rögzítse a következőket:

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

1. Az Access 2000 indítása után válasszuk az Üres adatbázis létrehozása pontot,

VisualBaker Telepítési útmutató

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

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

Segédlet online felület használatához

ADATSZOLGÁLTATÁS webes metaadat-szerkesztővel

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Access gyakorlati feladatok lépésről lépésre

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Könyvtári nyilvántartás

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Az SQL*Plus használata

Regisztrációs útmutató a Közokos- a BME Közoktatási Vezető Képzésének Online Oktatási Rendszeréhez Őszi beíratkozott hallgatók részére

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

FITNESS SYSTEM Telepítési útmutató

Átírás:

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, módosítása Mező adattípusok kiválasztása Kulcsértékek meghatározása Táblák közötti kapcsolatok definiálása Intergritási feltételek megadása Csatlakozás az adatbázishoz Indítsunk egy böngészőt, és írjuk bele: http://193.224.129.119/dbgyak. A gyakorlat céljaira használjuk az uneptunkód felhasználónevet. Az ehhez tartozó jelszó is ugyanaz. Az ABC123 neptunkódú hallgató felhasználói neve tehát uabc123, jelszava uabc123.

2 A továbbiakban, amikor e leírásban az uneptun vagy hasonló nevet használjuk, akkor azt minden hallgató a saját neptun kódjának behelyettesítésével értelmezze. Táblák definiálása Hozzunk létre egy jármű táblát. A tábla tartalmazza a jármű típusát és rendszámát. CREATE TABLE jarmu (rsz CHAR(6), tipus VARCHAR(20)); A létrejött táblába szúrjunk be néhány adatot: INSERT INTO jarmu VALUES ( JKK567, személyautó ); INSERT INTO jarmu VALUES ( IFA453, teherautó ); Egyszerre több rekordot is beszúrhatunk: INSERT INTO jarmu VALUES ( EVI001, roller ), ( ADI007, motorkerékpár );

3 Nem kell minden parancsot újra begépelni, a Szerkesztés gomb megnyomásával megnyílik az alábbi ablak, amiben a megfelelő módosítások után kényelmesen többször is kiadhatjuk a parancsokat: Ha van már legalább 5 rekordunk, listázzuk ki a tábla rsz és tipus mezőit: SELECT rsz, tipus FROM jarmu Mivel a tábla összes mezőjét kilistáztuk, az összes mező felsorolása helyett a * is használható: SELECT * FROM jarmu Az egyes mezőket átnevezhetjük az eredményrelációban, ha valamiért szükség van erre: SELECT rsz AS Rendszám, tipus AS Típus FROM jarmu A fentiek tetszőlegesen variálhatók:

4 SELECT *, rsz, rsz AS Rendszám FROM jarmu

5 A rendszám mezőnek kulcsnak kellene lennie, de ezt egyelőre nem állítottuk be. Így most még gond nélkül felvehetünk azonos rendszámú járműveket, ami nyilvánvalóan hibás adatfelvitelre utal: INSERT INTO jarmu VALUES ('JNN867', 'bicikli'), ('JNN867','traktor'); Ezt az állapotot meg kell szüntetnünk. Állítsuk be, hogy rsz kulcsmező legyen: ALTER TABLE jarmu ADD PRIMARY KEY (rsz);

6 A parancsot nem tudta végrehajtani. Magyarázzuk meg az okát!

7 Töröljük ki a hibát okozó rekordokat: DELETE FROM jarmu WHERE rsz = 'JNN867'; Adjuk ki újra a korábbi parancsot, amivel az rsz mezőt kulcsértéknek állítjuk be: ALTER TABLE jarmu ADD PRIMARY KEY (rsz); Most már sikerült, hiszen nincs olyan rekord, ami ne tartaná be a megfogalmazott szabályt.

8 Ezután már létező rendszámokat nem tudunk újra felvinni: INSERT INTO jarmu VALUES ('JNN867', 'bicikli'), ('JNN867','traktor'); Ellenőrizzük a fenti parancs után a tábla tartalmát! Mit tapasztaltunk? Válasszunk egy rekordot, és módosítsuk a tartalmát. A rekord a kulcsérték alapján egyértelműen megtalálható. UPDATE jarmu SET tipus = 'Személygépjármű' WHERE rsz = GJG593 Figyeljük meg, hogy a tábla szerkezetét az ALTER, a tábla adattartalmát pedig az UPDATE parancsokkal tudjuk módosítani. Adjunk egy márka mezőt a táblához: ALTER TABLE jarmu ADD marka VARCHAR(20) Nézzük meg a tábla tartalmát.

9 Töltsük fel a tábla márka mezőjét életszerű adatokkal, például: UPDATE jarmu SET marka = 'IFA' WHERE rsz = IFA453 A fentihez hasonló parancsok kiadása közben ellenőrizzük, van e olyan rekord, amiben a márka mezőt még nem töltöttük ki: SELECT * FROM jarmu WHERE marka IS NULL Így bármikor ellenőrizhetjük, hogy mely rekordokat kell még módosítanunk. Vegyük fel a gyártási év mezőt is: ALTER TABLE jarmu ADD gyartasiev int Töltsünk bele adatokat: UPDATE jarmu SET gyartasiev = 1980 WHERE rsz = IFA453 Készítsünk olyan lekérdezést, ami a járművek adatai mellett azok életkorát is kiírja: SELECT *, 2014 gyartasiev AS Kor FROM jarmu A CURDATE() és YEAR() függvények segítségével a lekérdezés univerzálisabb, hiszen nem tartalmazza konstansként a jelenlegi aktuális évszámot: SELECT *, YEAR ( CURDATE() ) gyartasiev AS Kor FROM jarmu Figyeljük meg, hogy a járművek korát sehol nem tároltuk le, csupán a lekérdezés alatt számítottuk ki és így az eredményrelációba került. Az eredményreláció pedig nem kerül tartós tárolásra. Több tábla kapcsolata Kapcsoljuk a napsugár tábla óvodásaihoz a járműveket! Most feltételezzük, hogy egy gyerek egyetlen járművet birtokolhat és egy járműnek egyetlen kis gazdája lehet. Ez egy 1:1 kapcsolat. Először vizsgáljuk meg a napsugár tábla szerkezetét! Természetesen megtehetjük a grafikus felületen is, de ehelyett most adjuk ki a következő parancsot: SHOW CREATE TABLE napsugár

10 A parancs a következő kimenetet adja (a teljes adattartalom megtekintéséhez jelöljük be a Teljes szövegek rádiógombot a Beállítások között): Megkaptuk azt a parancsot, amivel a napsugár táblát létre lehet hozni (adatok nélkül, természetesen). Ellenőrizzük, hogy van e a táblának kulcsa (PRIMARY KEY). A fenti képernyőképen látható, hogy az ID mező kulcsként használható, ezért ezt, mint idegen kulcsot, be tudjuk írni a jármű táblába. Ehhez létre kell hoznunk egy tulajdonos mezőt, ahol arra kell figyelnünk, hogy a típusa feleljen meg az idegen kulcs (ID) típusának (INT). ALTER TABLE jarmu ADD tulajdonos INT Azt, hogy egy gyerek csak egy járművet birtokolhasson, a tulajdonos mezőt beállíthatjuk úgy, hogy az azonosítója csupán egyetlen járműnél szerepelhessen, azaz a táblában egyedi legyen: ALTER TABLE jarmu ADD UNIQUE(tulajdonos) A fenti két parancsot egyszerűen így is egybeírhattuk volna: ALTER TABLE jarmu ADD tulajdonos int UNIQUE

11 A két tábla összekapcsolásához egy modernebb adatbázis motort és táblaformátumot kell használnunk. Ennek részleteibe nem megyünk bele. Adjuk ki a következő parancsokat: ALTER TABLE napsugár ENGINE=InnoDB; ALTER TABLE jarmu ENGINE=InnoDB; Ezután már beállíthatjuk, hogy a tulajdonos mező a napsugár tábla kapcsolómezője legyen, és a napsugár táblában az id mező értékét tartalmazza: ALTER TABLE jarmu ADD FOREIGN KEY(tulajdonos) REFERENCES napsugár (id) Módosítsunk a táblák adatain, szerezzünk tapasztalatot a kapcsolómező működéséről! A következő paranccsal figyeljük meg a jarmu tábla szerkezetét: SHOW CREATE TABLE jarmu Láthatjuk, hogy milyen jarmu_idfk_1 néven hivatkozhatunk a két tábla kapcsolatára. Ez a név hasznos például, ha törölni akarjuk: ALTER TABLE jarmu DROP FOREIGN KEY jarmu_ibfk_1; Tegyük fel, most azt szeretnénk megoldani, hogy ha egy gyereket törlünk, mert például kijárta az óvodát, akkor a hozzá tartozó jármű is törlődjön az adatbázisból:

12 ALTER TABLE jarmu ADD FOREIGN KEY(tulajdonos) REFERENCES napsugár (id) ON DELETE CASCADE; Próbáljunk is egy olyan gyereket törölni, akinek van járműve és figyeljük meg, mi történik. (Visszafelé nem működik ez a törlés, hiszen ha a járművet töröljük, a gyerek megmarad!) A feladat befejezése A munka végeztével jelentkezzünk ki az adatbázis kliensből.