Az SQL adatbázisnyelv: DML

Hasonló dokumentumok
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)

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

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

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

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

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

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

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

SQL DDL-2 (aktív elemek) triggerek

Bevezetés: az SQL-be

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Információs rendszerek Adatbázis-kezelés

Adattípusok. Max. 2GByte

Adatbázis rendszerek SQL nyomkövetés

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

Adattípusok. Max. 2GByte

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

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

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

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

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

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.

Bevezetés: Relációs adatmodell

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

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

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

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

Adatbázisok tavaszi félév Vizsgatételsor

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

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

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

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

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

Több táblára vonatkozó lekérdezések Relációs algebra és SQL SELECT

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

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

7. fejezet Kulcsok és idegen kulcsok

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

ADATBÁZISOK: TAN7.EA témaköre SQL DDL, DML, DCL, Tranz.kez.

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

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

Adatbázis használat I. 5. gyakorlat

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

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

Java és web programozás

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

Adatbázisrendszerek Tervezése Közgazdászoknak Munkapéldány

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

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

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

Adatbázisok* tulajdonságai

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

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

Tankönyv példák kidolgozása

Adabáziskezelés gyakorlat SQL

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

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

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

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

ADATBÁZIS RENDSZEREK I BEADANDÓ

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

SQL parancsok feldolgozása

Az SQL nyelv Structured Query Language (Struktúrá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:

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

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

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

BEVEZETÉS Az objektum fogalma

Relációs adatbázisok tervezése ---2

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

Vizuális programozás gyakorlat

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

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ázis Rendszerek II. 2. Gyakorló környezet

Java és web programozás

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

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

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

Bevezetés: Relációs adatmodell

Objektum-relációs adatbázisok. Felhasználói típusok (User-Defined Types) Objektum ID-k Beágyazott táblák (Nested Tables)

Extrémen brutál, gyors talpaló PHP nyelvhez (database). v2.1

Átírás:

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 1

Adatbázis tartalmának módosítása 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 módosító utasítás létezik: INSERT - sorok beillesztése, beszúrása DELETE sorok törlése UPDATE sorok komponensei értékeinek módosítása 2

Beszúrás Ha egyetlen sort szúrunk be: INSERT INTO <reláció> VALUES ( <attribútum lista> ); Példa: a Kedvel(név, sör) táblában rögzítjük, hogy Zsu szereti a Bud sört. INSERT INTO Likes VALUES( Zsu, Bud ); 3

Attribútumok megadása A reláció neve után megadhatjuk az attribútumait. Ennek alapvetıen két oka lehet: 1. elfelejtettük, hogy a reláció definíciójában, milyen sorrendben szerepeltek az attribútumok. 2. Nincs minden attribútumnak értéke, és azt szeretnénk, ha a hiányzó értékeket NULL vagy default értékkel helyettesítenék. Példa: INSERT INTO Kedvel(sör, név) VALUES( Bud, Zsu ); 4

Default értékek megadása A CREATE TABLE utasításban az oszlopnevet DEFAULT kulcsszó követheti és egy érték. Ha egy beszúrt sorban hiányzik az adott attribútum értéke, akkor a default értéket kapja. 5

Példa: Default értékek CREATE TABLE Sörivók( név CHAR(30) PRIMARY KEY, cím CHAR(50) DEFAULT Sesame St telefon CHAR(16) ); INSERT INTO Sörivók(név) VALUES( Zsu ); Az eredmény sor: név cím telefon Zsu Sesame St NULL 6

Több sor beszúrása Egy lekérdezés eredményét is beszúrhatjuk a következı módon alkérdéssel: INSERT INTO <reláció> ( <alkérdés> ); A Látogat(név, bár) tábla felhasználásával adjuk hozzá a LehetBarát(név) táblához Zsu lehetséges barátait, vagyis azokat a sörivókat, akik legalább egy olyan bárat látogatnak, ahova Zsu is szokott járni. (megoldás a köv.oldalon) 7

Megoldás (SELECT) a másik sörivó INSERT INTO LehetBarát (SELECT l2.név FROM Látogat l1, Látogat l2 WHERE l1.név = Zsu AND l2.név <> Zsu AND l1.bár = l2.bár ); (FROM) névpárok: az elsı Zsu, a második nem Zsu, de van olyan bár, amit mindketten látogatnak. 8

Tk.Példa INSERT INTO utasításra A lekérdezést teljesen ki kell értékelni, mielıtt a sorokat beszúrnánk. Tankönyv 6.36 példa: új stúdiók beszúrása INSERT INTO Stúdió (név) (SELECT DISTINCT stúdiónév FROM Filmek WHERE stúdiónév NOT IN (SELECT név FROM Stúdió)); 9

Törlés A törlendı sorokat egy WHERE feltétel segítségével adjuk meg: DELETE FROM <reláció> WHERE <feltétel>; Példa: DELETE FROM Kedvel WHERE nev = Zsu AND sör = Bud ; Az összes sor törlése: DELETE FROM Kedvel; 10

Példa: Több sor törlése A Sörök(név, gyártó) táblából töröljük azokat a söröket, amelyekhez létezik olyan sör, amit ugyanaz a cég gyártott. (Megoldás a köv.oldalon) 11

Példa: Több sor törlése A Sörök(név, gyártó) táblából töröljük azokat a söröket, amelyekhez létezik olyan sör, amit ugyanaz a cég gyártott. DELETE FROM Sörök s WHERE EXISTS ( SELECT név FROM Sörök WHERE gyártó = s.gyártó AND név <> s.név); (WHERE) azok a sörök, amelyeknek ugyanaz a gyártója, mint az s éppen aktuális sorának, a nevük viszont különbözı. 12

A törlés szemantikája Tegyük fel, hogy az Anheuser-Busch csak Bud és Bud Lite söröket gyárt. Tegyük fel még, hogyssorai közt a Bud fordul elı elıször. Az alkérdés nem üres, a késıbbi Bud Lite sor miatt, így a Bud törlıdik. Kérdés, hogy a Bud Lite sor törlıdik-e? (válasz a köv. oldalon) 13

A törlés szemantikája Válasz: igen, a Bud Lite sora is törlıdik. A törlés ugyanis két lépésben hajtódik végre. 1. Kijelöljük azokat a sorokat, amelyekre a WHERE feltétele teljesül. 2. Majd töröljük a kijelölt sorokat. 14

Módosítás Bizonyos sorok bizonyos attribútumainak módosítása. UPDATE <reláció> SET <attribútum értékadások listája> WHERE <sorokra vonatkozó feltétel>; 15

Példa: Módosítás Fecó telefonszámát 555-1212-re változtatjuk (Fecó itt egy sörivó neve): UPDATE Sörivók SET telefon = 555-1212 WHERE név = Fecó ; 16

Példa: Több sor módosítása Legfeljebb 4 dollárba kerülhessenek a sörök: UPDATE Felszolgál SET ár = 4.00 WHERE ár > 4.00; Olcsó sörök árát duplázzuk UPDATE Felszolgál SET ár = 2 * ár WHERE ár < 1.00; 17

Tk.Példa UPDATE utasításra Tankönyv 6.39 példa: UPDATE GyártásIrányító SET név = Ig. név WHERE azonosító IN (SELECT elnökazon FROM Stúdió) 18