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

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

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

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

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

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

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

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

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

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

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

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

Adatbázis használat I. 5. gyakorlat

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

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

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

Bevezetés: az SQL-be

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

Adatbázis rendszerek SQL nyomkövetés

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

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

Adatbázisok* tulajdonságai

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

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

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

STRUCTURED QUERY LANGUAGE(SQL) - ALAPOK

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

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ázisok elmélete 10. előadás

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

BEVEZETÉS Az objektum fogalma

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

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:

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

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

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

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

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

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

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

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

SQL parancsok feldolgozása

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

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

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

Java és web programozás

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

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

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

Webfejlesztés 4. alkalom

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

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

Elemi alkalmazások fejlesztése IV.

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

Adatbázis Rendszerek II. 3. SQL alapok

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

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

Az SQL adatbázisnyelv: DML

Adatbázis, adatbázis-kezelő

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

ADATBÁZIS RENDSZEREK I BEADANDÓ

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

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

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

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

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

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

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

Adatbáziskezelő-szerver. Relációs adatbázis-kezelők SQL. Házi feladat. Relációs adatszerkezet

Adatbáziskezelı-szerver SQL. Relációs adatbázis-kezelık. Relációs adatszerkezet. Házi feladat

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

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

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

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

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

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

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

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

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

Adatbáziskezelés - SQL. Forrás: dr. Kovács László: Adatbázisok tervezésének és kezelésének módszertana Computerbooks

Java és web programozás

Vizuális programozás gyakorlat

LBRA6i integrált rendszer

d Nem a konkrét adatokkal, azok előfordulásaival, kapcsolatokkal (egyedtípus, tulajdonságtípus,

LOGISZTIKAI ADATBÁZIS RENDSZEREK BEVEZETÉS

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.

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

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

Adatbázis rendszerek tervezése

Adatbázis rendszerek Gy: MySQL alapok

Funkcionális függések lekérdezések feldolgozása, kifejezésfák

Többtáblás lekérdezések megjelenítése

Gazdasági folyamatok térbeli elemzése. 5. elıadás

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

Tranzakciókezelés PL/SQL-ben

Adatbázis-kezelés - Relációs adatbázisok adatszerkezetének tervezése, megvalósítása

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

Átírás:

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ó utasítások DML (Data Manipulation Language) adatokon műveletet végző utasítások

Kisbetűk és nagybetűk egyenértékűek a nyelv alapszavaiban Utasítások sorfolytonosan írhatók, az utasítás végét ; jelzi Változók nincsenek, csak tábla- és oszlopnevekre lehet hivatkozni Pl. tábla.oszlop (ha a tábla egyértelmű, akkor elhagyható) Alias név: név AS újnév (nem mindenhol kötelező) Szövegkonstansok: jelek között Relációjelek, logikai műveletek -> lásd. előadás

Adatbázis létrehozása CREATE DATABASE adatbazis_neve; Adatbázis használata pl. MySQL adatbáziskezelő rendszernél mysql> use adatbazis_neve Innentől kezdve az összes SQL utasítás ezen az adatbázison lesz értelmezve (a következő use utasítás kiadásáig)

CREATE TABLE táblanév ( oszlopnév adattípus [feltétel],, oszlopnév adattípus [feltétel] [, táblafeltételek] ); Az adattípushoz DEFAULT érték megadásával alapértelmezett érték definiálható (egyébként alapértelmezetten NULL)

INT(n): egész szám, n darab számjegy CHAR(hossz): hossz hosszú karaktersorozat, fix hosszú VARCHAR(hossz): változó hosszú, de maximálisan hossz hosszú karaktersorozat DATE: dátum pl. 1988-11-25 TIME: időpont(óra,perc,másodperc) pl. 16:05:32 REAL: valós szám BIT(hossz): hossz darab bit

Feltételek (egy adott oszlopra vonatkoznak): PRIMARY KEY: elsődleges kulcs UNIQUE: kulcs REFERENCES tábla(oszlop)[on-feltételek]:külső kulcs Táblafeltételek(az egész táblára vonatkoznak): PRIMARY KEY(oszloplista): elsődleges kulcs UNIQUE: kulcs FOREIGN KEY(oszloplisa)REFERENCES tábla(oszloplista): külső kulcs Ha a (külső) kulcs több oszlopból áll, akkor csak táblafeltétel formájában adható meg!

Feladat: Hozzuk létre az OSZTÁLY(osztálykód, osztálynév, vezadószám) DOLGOZÓ(adószám, név, lakcím, osztálykód) relációsémákat SQL-ben! CREATE TABLE Osztaly ( osztalykod CHAR(3) PRIMARY KEY, osztalynev CHAR(20), vezadoszam DECIMAL(10) ); CREATE TABLE Dolgozo ( adoszam DECIMAL(10) PRIMARY KEY, nev CHAR(30), lakcim CHAR(40) DEFAULT ismeretlen, osztalykod CHAR (3) REFERENCES Osztaly(osztalykod) );

A tábla módosításakor a definiált kulcsfeltételek automatikusan ellenőrzésre kerülnek Külső kulcsok esetén szabályozható a rendszer viselkedése: Legyen T1 a hivatkozó tábla, T2 a hivatkozott tábla ON UPDATE CASCADE = ha T2 egy sorában változik a kulcs értéke, akkor a rá való T1-beli hivatkozások is megfelelően módosulnak ON DELETE CASCADE = ha T2-ben törlünk egy sort, akkor T1- ben is törlődnek a rá hivatkozó sorok ON UPDATE SET NULL = ha T2 egy sorában változik a kulcs értéke, akkor T1-ben a rá való külső kulcs hivatkozások értéke NULL lesz ON DELETE SET NULL = mint a CASCADE, csak NULL-ra állítja

Új oszlop hozzáadása: ALTER TABLE táblanév ADD (oszlopnév típus[táblafeltétel]); Oszlop módosítása: ALTER TABLE táblanév MODIFY (oszlopnév[táblafeltétel]); Oszlopok törlése: ALTER TABLE táblanév DROP (oszlop,oszlop,...,oszlop); Az oszlopok törlését nem minden rendszer engedi meg. Tábla törlése: DROP TABLE táblanév;

ALTER TABLE Dolgozo ADD (szuldatum DATE); ALTER TABLE Dolgozo MODIFY (lakcim VARCHAR(60)); ALTER TABLE Osztaly MODIFY (vezadoszam REFERENCES Dolgozo(adoszam));

INSERT INTO táblanév [(oszloplista)] VALUES (értéklista); Két fajtája: Amikor ismerünk minden adatot, és abban a sorrendben adjuk meg, ahogy a táblában a mezőnevek egymás után következnek: INSERT INTO Dolgozo VALUES (1111, Tóth Aladár, Szeged, Kálvária tér 2., 12 ); Amikor a mezők sorrendjétől is függetlenül, akár csak néhány mező kitöltve adunk meg: INSERT INTO Dolgozo (nev, adoszam) VALUES ( Tóth Aladár, 1111); de ebben az esetben is fontos a mezők (általunk definiált) sorrendje. Amely mezők nem szerepelnek az oszloplistában, azok NULL értéket kapnak.

UPDATE táblanév SET oszlop1 = kifejezés1,, oszlopn = kifejezésn [WHERE feltétel]; Az értékadás minden olyan soron végrehajtódik amely eleget tesz a WHERE feltételnek (ennek hiányában az összes sorra) Pl. UPDATE Dolgozo SET lakcim = Szeged, Rózsa u. 5. WHERE nev = Tóth Aladár ;

DELETE FROM táblanév [WHERE feltétel]; Hatására azon sorok törlődnek, amelyek eleget tesznek a WHERE feltételnek (ennek hiányában pedig az összes sor törlődik a táblában, de a séma megmarad!) Pl. DELETE FROM Dolgozo WHERE adoszam = 1111;

Kabinetes Linuxos rendszerben Otthonról SSH / PuTTY : solaris.inf.u-szeged.hu mysql u test mysql> CREATE DATABASE test_hxxxxxx; Ezt csak egyszer kell megcsinálni! mysql> use test_hxxxxxx Innentől kezdve erre az adatbázisra vonatkoznak majd az SQL utasítások

Az aktuális adatbázisban szereplő táblák listázása SHOW TABLES; Egy adott tábla struktúrájának kiíratása SHOW COLUMNS FROM táblanév; Az SQL utasításainkat akár előre is megírhatjuk egy szövegfájlban (mondjuk proba.sql), és azt végrehajthatjuk mysql-el Ilyenkor a következő utasítással kell elindítani a programot: mysql u test test_hxxxxxx < proba.sql

Hozd létre a solaris szerveren az órán megjelölt adatbázisban (test_hxxxxxx) a következő táblákat: Tábla: nevek Oszlop Típus Feltételek id INT(6) PRIMARY KEY, NOT NULL, AUTO_INCREMENT vezeteknev VARCHAR(20) NOT NULL keresztnev VARCHAR(20) NOT NULL szulev INT(4) NOT NULL

Tábla: reszleg Oszlop Típus Feltételek kod INT(6) PRIMARY KEY, NOT NULL, AUTO_INCREMENT nev VARCHAR(20) NOT NULL fonokid INT(6) NOT NULL, REFERENCES nevek(id)

Vidd be a következő adatokat: Nevek: Losoncz Imre 1972 Deák Áron 1990 Tóth Ágnes 1988 Juhász Ernő 1986 Kiss Péter 1957 Boka Dávid 1989 Kovács Emese 1973 Nagy Abonyi Éva 1978 Részlegek: Részleg neve Főnök Gazdasági Műszaki Fejlesztés Kovács Emese Juhász Ernő Losoncz Imre

Hozz létre egy táblát a következő sémának (előbb töröld az órán létrehozott Dolgozó táblát!!): Dolgozo (id, vezeteknev,keresztnev) Az id-t automatikusan állítsa be a rendszer! Töltsd fel a Dolgozó táblát min 6 adattal. Egészítsd ki a Dolgozó táblát egy szuletesiev oszloppal, amely 4 számjegyből álló egész szám. Egészítsd ki a táblát egy fizetes oszloppal, amely 6 jegyű egész szám. Növeld meg azoknak a dolgozóknak a fizetését 5%-al, akik 80.000 Ft alatt keresnek. Növeld meg azoknak a fizetését 10%-al, akik elmúltak 50 évesek. Töröld ki a 60 évesnél idősebb dolgozókat.

Kötelező feladatokról részletesen (lsd. honlapot) Teljes doksi határideje a 11. gyakorlat kezdete (2011. november 22.) Sablon: http://www.stud.uszeged.hu/urmos.beata/minta_dokumentacio2.pdf Beadás CooSpace-en keresztül Szünetre PHP olvasnivaló: http://www.stud.u-szeged.hu/palatinus.endre/db/php.pdf http://www.stud.uszeged.hu/palatinus.endre/db/php_mysql.pdf