Adatbázis használat I. 5. gyakorlat



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

BEVEZETÉS Az objektum fogalma

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ázis-kezelés. Harmadik előadás

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

Adatbázis használat I. 1. gyakorlat

Adatbázisok* tulajdonságai

A relációs adatbáziskezelés szabványos nyelve Két fő csoportba sorolhatók az 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

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

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

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

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

Bevezetés: az SQL-be

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

Tranzakciókezelés PL/SQL-ben

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

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

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

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

A trigger egy aktualizálási művelet esetén végrehajtandó programrészletet definiál. Alakja:

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

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) október október 22. Adatbázisok 1 / 14

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

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

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

Adatbázis rendszerek SQL nyomkövetés

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

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

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

ADATBÁZIS HASZNÁLAT I. 4. gyakorlat

Java és web programozás

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

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

Adatbázisok I. Jánosi-Rancz Katalin Tünde 327A 1-1

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

Adatbázis használat I. 2. gyakorlat

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

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

Triggerek. Olyan névvel ellátott adatbázisobjektumok, amelyek eseményorientált feldolgozást tesznek lehetővé

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

SQL parancsok feldolgozása

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

Tranzakciók az SQL-ben


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

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

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

Haladó DBMS ismeretek 1

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

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

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:

SELECT DISTINCT deptno FROM emp; (distinct) SELECT STATEMENT HASH UNIQUE TABLE ACCESS FULL EMP

Adatbázisok biztonsága

Adatbázis másolás Slony-I segítségével

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

Együttes hozzárendelés

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

Elemi alkalmazások fejlesztése IV.

Java és web programozás

ADATBÁZIS RENDSZEREK I BEADANDÓ

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

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.

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

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

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS


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

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

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

Az SQL adatbázisnyelv: DML

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

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

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

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A

LOGISZTIKAI ADATBÁZIS RENDSZEREK JOIN, AGGREGÁCIÓ

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

Adatbázisok II. Jánosi-Rancz Katalin Tünde 327A 1-1

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

PL/SQL feladatok 8. gyakorlat

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

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

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

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

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

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

ORACLE. 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. Az esetleges hibákat kérlek a csongor@csongorbokay.com címen jelezd! Utolsó módosítás: március 20.

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.

Adatok szűrése, rendezése

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

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

PL/SQL 1. rész. Procedural Language extension to SQL

II. év. Adatbázisok és számítógépek programozása

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

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

Átírás:

Adatbázis használat I. 5. gyakorlat

Tudnivalók Jövő hétre a normalizálást hozni vagy e- mailben beküldeni! 7. héten (= két hét múlva!) nagyzh + FF checkpoint: adattáblák feltöltése, megszorítások 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 2

DML és DDL utasítások DML: Data Manipulation Language sorok beszúrása, módosítása, törlése DDL: Data Definition Language táblák létrehozása, módosítása, törlése 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 3

Tranzakciók SAVEPOINT ittmentettünk; mentési pont létrehozása ROLLBACK TO ittmentettünk; visszagörgetés COMMIT; véglegesítés 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 4

DML: beszúrás Helyezzünk el a dept táblába egy újabb részleget! INSERT INTO dept (deptno, dname, loc) VALUES (50, 'SAJTKÉSZÍTŐK', 'BUDAPEST'); Ami érdekes: sorrend minden értéket megadunk? 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 5

DML: beszúrás Kellene dolgozó is abba a részlegbe: vegyünk fel SAJTKUKAC munkakörbe egy 1111-es azonosítójú személyt! INSERT INTO emp (empno, deptno, job) VALUES (1111, 50, 'SAJTKUKAC'); 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 6

DML: módosítás Legújabb dolgozónknak nem adtunk nevet... és ami számára nagyobb baj, fizetést sem. UPDATE emp SET ename='ödön', sal=500 WHERE empno=1111; Fontos a feltétel megadása, különben mindenhol átírja!!! 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 7

DML: módosítás Adjunk Ödönnek jutalékot is! (10) UPDATE emp SET comm=10 WHERE empno=1111; 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 8

DML: törlés A cég felszámolta sajtkészítő üzletágát, szegény Ödönt elbocsátották. Töröljük a táblából! DELETE FROM emp WHERE empno=1111; Körültekintően határozzuk meg a feltételt! (Vagy legalább hozzunk létre előtte egy mentési pontot :P) 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 9

DML: törlés Töröljük a sajtkészítők részlegét a dept táblából! DELETE FROM dept WHERE deptno=50; 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 10

DDL: tábla létrehozása Egyszerűbb eset: tábla létrehozása egy lekérdezés eredménye alapján: CREATE TABLE emp2 AS SELECT * FROM emp; 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 11

DDL: tábla létrehozása Most azokat másoljuk át új táblába, akiknek 2000 dollárnál több a fizetése! CREATE TABLE emp3 AS SELECT * FROM emp WHERE sal>2000; 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 12

DDL: tábla létrehozása Teljesen új tábla létrehozása: CREATE TABLE újtábla (ezegyszám NUMBER(5,2), ezegyszöveg VARCHAR2(10), ezegydátum DATE); Megjegyzés: a CHAR kötött hosszúságú! 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 13

DDL: módosítás ALTER TABLE táblanév ADD (...); ALTER TABLE táblanév MODIFY (...); ALTER TABLE táblanév DROP COLUMN oszlopnév; CASCADE CONSTRAINTS: csak óvatosan! ALTER TABLE táblanév RENAME COLUMN Réginév TO Újnév; 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 14

DDL: módosítás Adjunk hozzá egy új oszlopot a másolattáblánkhoz (Színe)! Legyen mindenkinek a kedvenc színe a kék! ALTER TABLE emp3 ADD (színe VARCHAR(10)); UPDATE emp3 SET színe='kék'; 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 15

DDL: átnevezés, törlés RENAME emp3 TO emp23; DROP TABLE emp3; 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 16

VÉGE

FF példa Jani bácsi székgyártó kisiparos szeretne adatbázist készíttetni. 1. Tárolnánk a székek megnevezését, típusát, színét, méretét, árát, a készlet nagyságot. 2. Tároljuk a vásárlók adatait is: név, cím, telefonszám, törzsvásárló-e. 3. Nyilvántartjuk a rendeléseket: ki, mikor, mit rendelt. 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 18

FF példa 1. lépés: az ősmodell sémája székvásárlás <megnevezés, típus, szín, méret, ár, készlet, név, cím, telszám, törzsvásárló, dátum, mennyiség> A megnevezés, a szín és a típus együtt azonosítja a széket, a név és a telszám a vásárlót. Adott típusú szék többféle színben kapható, de ezek mérete és ára megegyezik. 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 19

FF példa 2. lépés: függőségek felírása {név, telszám} => {cím, törzsvásárló} {megnevezés, típus, szín} => {méret, ár, készlet} DE: {megnevezés, típus} => {méret, ár}!!!! 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 20

FF példa És a vásárlások? (Mi az ősreláció kulcsa?) {név, telszám, megnevezés, típus} => {dátum, mennyiség, stb.} vagy {név, telszám, megnevezés, típus, dátum} => {mennyiség, stb.} 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 21

FF példa 3. lépés: normalizálás 1NF: oké, mert minden adatunk elemi. 2NF: nem oké! A {megnevezés, típus, szín} => {méret, ár, készlet} függőség sérti, mert a méret és az ár csak a bal oldal egy részétől függ, nem az egésztől, tehát itt szétbontás (dekompozíció) következik: {megnevezés, típus} => {méret, ár} és {megnevezés, típus, szín} => {készlet} 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 22

FF példa 2NF folytatás: hasonló módon persze a vásárlásos nagy függőségünket is szét kell szedni. Így ezek maradnak: {név, telszám, megnevezés, típus, szín} => {dátum, mennyiség} {megnevezés, típus} => {méret, ár} {megnevezés, típus, szín} => {készlet} {név, telszám} => {cím, törzsvásárló} 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 23

FF példa 3NF oké, mert ezekben már nincs tranzitív függés. BCNF oké. 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 24

FF példa Eredmény: vásárlás<név, telszám, megnevezés, típus, szín, dátum, mennyiség> szék<megnevezés, típus, méret, ár> készlet<megnevezés, típus, szín, készlet> vásárló<név, telszám, cím, törzsvásárló> Elsődleges kulcsok, idegen kulcsok... 2010. 03. 11. nagy.gabriella@nik.uni-obuda.hu 25