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

Hasonló dokumentumok
Az SQL adatbázisnyelv: DML

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

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

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-I. előadás dr. Hajas Csilla (ELTE IK)

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

SQL DDL-2 (aktív elemek) triggerek

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

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

Bevezetés: az SQL-be

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

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

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

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

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ázisok-1 előadás Előadó: dr. Hajas Csilla

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

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

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

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

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

Bevezetés: Relációs adatmodell

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

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

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

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

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

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

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

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

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

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

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

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

Adatbázis rendszerek SQL nyomkövetés

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

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

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

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

Adattípusok. Max. 2GByte

Adattípusok. Max. 2GByte

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

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.

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

Tankönyv példák kidolgozása

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

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

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

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

7. fejezet Kulcsok és idegen kulcsok

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 adatbázisok tervezése ---2

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

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

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

Java és web programozás

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

Adabáziskezelés gyakorlat SQL

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

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

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

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

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

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

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

ADATBÁZIS RENDSZEREK I BEADANDÓ

Adatbázis használat I. 5. 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:

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

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

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

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

Bevezetés: Relációs adatmodell

Bevezetés: Relációs adatmodell

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. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

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

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

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

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

Példák átírásokra: Relációs algebrai kifejezések, a kiértékelı fák átírása SQL lekérdezésekre

LBRA6i integrált rendszer

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

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

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

SQL parancsok feldolgozása

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

Vizuális programozás gyakorlat

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

Java és web programozás

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

Elemi alkalmazások fejlesztése IV.

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

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

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

BEVEZETÉS Az objektum fogalma

Átírás:

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 módosító utasítás létezik: INSERT - sorok beszúrása DELETE sorok törlése UPDATE sorok komponensei értékeinek módosítása 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 52

Beszúrás (insert into) Két alakja van: 1.) ha egyetlen sort szúrunk be: INSERT INTO <reláció> VALUES ( <konkrét értékek listája> ); 2.) ha több sort, egy lekérdezés eredményét visszük fel alkérdés segítségével: INSERT INTO <reláció> ( <alkérdés> ); Példa: a Szeret(név, sör) táblában rögzítjük, hogy Zsu szereti a Bud sört. INSERT INTO Szeret VALUES( Zsu, Bud ); 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 53

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 Szeret(sör, név) VALUES( Bud, Zsu ); 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 54

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. 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 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 55

Több sor beszúrása Egy lekérdezés eredményét is beszúrhatjuk: INSERT INTO <reláció> ( <alkérdés> ); A Látogat(név, söröző) 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 sörözőt látogatnak, ahova Zsu is szokott járni. 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 56

Megoldás: Több sor beszúrása (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.söröző = l2.söröző ); (FROM) névpárok: az első Zsu, a második nem Zsu, de van olyan bár, amit mindketten látogatnak. 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 57

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ó)); 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 58

Törlés (delete) 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 Szeret WHERE nev = Zsu AND sör = Bud ; Az összes sor törlése: DELETE FROM Kedvel; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 59

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. 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 60

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ő. 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 61

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: a Bud Lite sor törlődik-e? 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 62

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. 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 63

Módosítás (update) 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>; 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ó ; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 64

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; 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 65

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ó) 05ea_Attekintes // Adatbázisok-1 elıadás // Ullman-Widom (Stanford) tananyaga alapján // Hajas Csilla (ELTE IK) 66