1 Sramó András 2000. Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL.

Slides:



Advertisements
Hasonló előadás
Tananyag: konzultáció
Advertisements

2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Adatbázis rendszerek I
Anyagadatbank c. tárgy gyakorlat
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Adatbázisok gyakorlat 8. gyakorlat SQL alapok.
1 Informatikai Szakképzési Portál Adatbázis kezelés Az SQL nyelv elemei.
Elmaradás.  0 Számjegy. Ebben a pozícióban egyetlen számjegyet kell megadnia.  9 Számjegy. Ebben a pozícióban egyetlen számjegyet lehet megadni, nem.
15. tétel Adatbázis felhasználói és jogosultságaik
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
Delphi programozás alapjai
SQL Structured Query Language
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
SQL – DQL (Data Query Language ) adat lekérdezések
INSERT INTO Egy vagy több rekordot ad hozzá a táblához. Egyetlen rekordot hozzáfűző kifejezés: INSERT INTO cél_tábla (mező1,mező2,…) VALUES (érték1, érték2,
Adatbázis rendszerek II.
Készítette: Sárközi Anikó
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
2006. október 9.Markó Tamás, PTE TTK1 Az Oracle SQL 7. Kényszerek megadása. Indexek kezelése.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
SQL, adatdefiníció, adatok megváltoztatása, megszorítások
Adatbázis kezelés SQL. Történeti áttekintés 1976IBM:SEQUEL,SQL 1976IBM:SEQUEL,SQL 1983ORACLE 1983ORACLE 1984INFORMIX 1984INFORMIX 1986SQL – szabvány :
Kényszerek megadása. Indexek kezelése.
SQL, Relációs adatmodell
1 Informatikai Szakképzési Portál Adatbázis kezelés DML – Adat manipuláló nyelv.
- adatbázisséma definiálása (DDL) Data Definition Languages, - adatok aktualizálása (DML),Data Maniputaion Language - lekérdezési lehetőségek (DML) Data.
SQL. SQL = Structured Query Language (= struktúrált lekérdező nyelv). A relációs adatbázis-kezelés szabványos nyelve. Nem algoritmikus nyelv, de algoritmikus.
Az SQL nyelv alapjai.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
DDL – Adatdefiníciós nyelv
Adatbázis I. – 11. előadás Kulcsok az SQL – ben. Hivatkozás- épségi megszorítások és idegen kulcsok.
Adatbázis adminisztrátori ismeretek
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Adatbázis-kezelés SQL-lel. SQL SQL = Structured Query Language – Strukturált Lekérdezőnyelv Relációs adatbázis-kezelők lekérdezési nyelve. Alapjait az.
Adatbázis-kezelés SQL-lel
Felhasználók és jogosultságok
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Készítette: Tóth Ervin
Az SQL nyelv. SQL Az SQL utasításait két fő csoportba szokták sorolni: DDL (= Data Definition Language): adatstuktúra definiáló utasítások. DML (= Data.
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
SQL.
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
– SELECT - 2. – Tarcsi Ádám március Adatbázis gyakorlat.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Bevezetés A MYSQL szintaxisa Táblák, adatok kezelésének alapjai
Ma az un. Relációs adatmodelleket használjuk.
Szerver és kliens gép közötti kommunikáció Adattárolási modellek  OLTP: OnLine Transaction Processing az MSSQL Szervert egy időben egyszerre sok felhasználó.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda 3. Előadás Az SQL adatbázisnyelv (Tartalom ) Az SQL története Az SQL felépítése Adattípúsok.
SQL történelem 1970 Edgar F. Codd (IBM) cikke 12 szabály a relációs adatmodellekre 1979 első kereskedelmi forgalmazású relációs adatbáziskezelő 1986 az.
SQL. SQL jellemzői Nem algoritmikus (nem tartalmaz algoritmikus szerkezeteket: ciklus, eljárás, elágazás) Nem rekurzív (önmagát nem hívhatja) Halmazorientált.
Adatbázis rendszerek I
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
SQL.
Adatbázis-kezelés 1-2. adatbázis-kezelő rendszer 1.új adatbázisokat hozhassanak (adat definició 2.lekérdezések és módosítások (adat manipuláció) 3.Támogassa.
1 SQL jogosultság-kezelés Privilégiumok Grant és Revoke Grant Diagrammok.
Adatbázisok SQL.
Logisztikai projekt - gyakorlat Adatbázis-elmélet
DDL parancsok – Tábla műveletek, mezőtulajdonságok
Előadás másolata:

1 Sramó András Adatbázis-technológia V. előadás Adatbázis-technológia 5. előadás Az SQL

2 Sramó András Adatbázis-technológia V. előadás Az előadás célja ismertetni az SQL jelentőségét; bemutatni az SQL kialakulásának történetét; bemutatni az adatdefiniálás módját az SQL-ben; bemutatni a különböző adatkezelési módokat, úgymint adatfelvitel, adatmódosítás és -lekérdezés; bemutatni az adatelérési jogok korlátozásának lehetőségeit az SQL-ben; megmutatni, hogy az SQL hogyan használható egy harmadik generációs programnyelven belül.

3 Sramó András Adatbázis-technológia V. előadás Az előadás vázlata Az SQL története. Előnyök és hátrányok. Adatdefiniálás. Adatkezelés. Adatlekérdezés. Adatvezérlés: az adatelérés korlátozása.

4 Sramó András Adatbázis-technológia V. előadás Történet SEQUEL (Structured English QUEry Language): az IBM kísérleti relációs adatbázis-kezelő rendszerének (System R) relációs nyelve. SQL (Structured Query Language): az IBM kereskedelmi adatbázis-kezelő rendszereinek (DB2, SQL/DS) relációs nyelve SQL1: ANSI 1986 SQL2: ISO 1992 SQL3: tervezés alatt

5 Sramó András Adatbázis-technológia V. előadás Az SQL felépítése SQL Adatdefiní- ciós nyelv Adatke- zelő nyelv Adatve- zérlő nyelv CREATE ALTER DROP SELECT UPDATE INSERT DELETE GRANT REVOKE

6 Sramó András Adatbázis-technológia V. előadás Az SQL 1992-es szabványa már egységes lekérdező nyelv SQL Adatdefiní- ciós nyelv Adatke- zelő nyelv Adatve- zérlő nyelv CREATE ALTER DROP SELECT UPDATE INSERT DELETE GRANT REVOKE

7 Sramó András Adatbázis-technológia V. előadás Adatbázis létrehozása CREATE SCHEMA kölcsönző; létrehozza a “kölcsönző” nevű adatbázist. CREATE SCHEMA kölcsönző AUTHORIZATION Fruzsina; létrehozza a “kölcsönző” nevű adatbázist, és ezt az adatbázist a “Fruzsina” azonosítójú felhasználó használhatja. (SQL1: CREATE DATABASE kölcsönző; )

8 Sramó András Adatbázis-technológia V. előadás Adattípusok FLOAT(p) REAL DOUBLE PRECISION INTEGER SMALLINT DECIMAL(p,s) BIT(n) CHARACTER(n) DATE TIME TIMESTAMP

9 Sramó András Adatbázis-technológia V. előadás Táblázat definiálása CREATE TABLE ügyfél ( ügyfélkódCHAR(8)NOT NULL, ügyfélnévCHAR(30)NOT NULL, ügyfélcímCHAR(40), telefonCHAR(10), szdátumDATE, belépésDATE, PRIMARY KEY (ügyfélkód)); CREATE TABLE kölcsönző.ügyfél (...

10 Sramó András Adatbázis-technológia V. előadás Táblázat definiálása idegen kulccsal CREATE TABLE kölcsönzés ( szszámCHAR(6)NOT NULL, ügyfélCHAR(8)NOT NULL, dátumDATENOT NULL, időpontTIMENOT NULL, kidőINT(2), kdíjDEC(10,2), CONSTRAINT f1 PRIMARY KEY (szszám), CONSTRAINT f2 FOREIGN KEY (ügyfél) REFERENCES ügyfél(ügyfélkód)) ON DELETE CASCADE ON UPDATE CASCADE;

11 Sramó András Adatbázis-technológia V. előadás További táblázatok I. CREATE TABLE kazetta ( kazettakódCHAR(10)NOT NULL, kategóriaCHAR(2)NOT NULL, kazettacímCHAR(30)NOT NULL, évINT(4), rendező CHAR(6), PRIMARY KEY (kazettakód), FOREIGN KEY (rendező) REFERENCES személy(személykód));

12 Sramó András Adatbázis-technológia V. előadás További táblázatok II. CREATE TABLE szereplő ( kazettakódCHAR(10)NOT NULL, személykód CHAR(6) NOT NULL, PRIMARY KEY (kazettakód,személykód), FOREIGN KEY (személykód) REFERENCES személy(személykód)); Összetett kulcs

13 Sramó András Adatbázis-technológia V. előadás Adatbázis törlése DROP SCHEMA kölcsönző CASCADE; a “kölcsönző” nevű adatbázis törlése minden tartozékával együtt. DROP SCHEMA kölcsönző RESTRICT; a “kölcsönző” nevű adatbázis törlése csak akkor történik meg, ha az adatbázis üres.

14 Sramó András Adatbázis-technológia V. előadás Táblázat törlése DROP TABLE kölcsönzés CASCADE; a “kölcsönzés” nevű táblázat törlése minden hivatkozásával együtt. DROP TABLE kölcsönzés RESTRICT; a “kölcsönzés” nevű táblázat törlésére csak akkor kerül sor, ha semmilyen hivatkozás nem vonatkozik rá.

15 Sramó András Adatbázis-technológia V. előadás Táblázat módosítása ALTER TABLE kölcsönző.ügyfél ADD t INT(1) DEFAULT 0; a “kölcsönző” nevű adatbázis “ügyfél” nevű táblázatát kiegészítjük egy “t” nevű oszloppal a törzstagság jelzésére. Ennek az oszlopnak az alapértéke 0. ALTER TABLE kölcsönző.ügyfél DROP belépés CASCADE; a “kölcsönző” nevű adatbázis “ügyfél” nevű táblázatából töröljük a “belépés” nevű oszlopot.

16 Sramó András Adatbázis-technológia V. előadás Adatok táblázatba írása INSERT INTO ügyfél VALUES (‘ ’,’Kiss Pál’, ’József u. 23.’,’454454’); INSERT INTO ügyfél(ügyfélkód, ügyfélnév) VALUES (‘ ’,’Kiss Katalin’); INSERT INTO ügyfél(ügyfélnév, ügyfélcím) VALUES (’Szabó Sándor’,’Mária u. 16.’);

17 Sramó András Adatbázis-technológia V. előadás Adatok táblázatba írása INSERT INTO ügyfél VALUES (‘ ’,’Kiss Pál’, ’József u. 23.’,’454454’); INSERT INTO ügyfél(ügyfélkód, ügyfélnév) VALUES (‘ ’,’Kiss Katalin’); INSERT INTO ügyfél(ügyfélnév, ügyfélcím) VALUES (’Szabó Sándor’,’Mária u. 16.’); Ez az utasítás nem lesz végrehajtva, mert a “szám” nevű mező nem kapott értéket, holott “nemnulla” kulcsként definiáltuk.

18 Sramó András Adatbázis-technológia V. előadás Táblázatsor(ok) törlése DELETE FROM ügyfél WHERE ügyfélnév=‘Szabó János’; DELETE FROM kölcsönzés WHERE dátum<‘ ’; DELETE FROM kölcsönzés;

19 Sramó András Adatbázis-technológia V. előadás Táblázatsor(ok) módosítása UPDATE kölcsönzés SET ügyfélcím=‘Mária u. 20’ WHERE ügyfélkód=‘ ’; UPDATE ügyfél SET t=1 WHERE ügyfélkód<‘ ’;

20 Sramó András Adatbázis-technológia V. előadás A SELECT utasítás általános szerkezete SELECT FROM [ WHERE ] [ GROUP BY ] [ HAVING ] [ ORDER BY ];

21 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P0) SELECT * FROM ügyfél; A teljes “ügyfél” táblázat megjelenítése.

22 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P1) SELECT * FROM ügyfél WHERE t = 1; Az “ügyfél” táblázatból megjeleníti a törzstagokat. (Relációs algebra: SELECT )

23 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P2) SELECT * FROM ügyfél WHERE ügyfélkód>‘ ’ AND ügyfélkód<‘ ’; Az “ügyfél” táblázatból az 1995-ben belépett ügyfelek minden adatát megjeleníti. (Relációs algebra: SELECT )

24 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P3) SELECT ügyfélnév, ügyfélkód FROM ügyfél; Az “ügyfél” táblázatból az ügyfelek nevét és azonosító kódját jeleníti meg. (Relációs algebra: PROJECT )

25 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P4) SELECT ügyfélnév, ügyfélkód FROM ügyfél WHERE t = 1; Az “ügyfél” táblázatból a törzstagok nevét és azonosító kódját jeleníti meg. (Relációs algebra: PROJECT+SELECT )

26 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P5) SELECT szszám, kdíj FROM kölcsönzés WHERE ügyfél=‘ ’ AND dátum<‘ ’; A “kölcsönzés” táblázatból a azonosítójú ügyfél 1996 március 31. előtti kölcsönzéseinek számlaszámát és a kölcsönzési díjat jeleníti meg. (Relációs algebra: PROJECT+SELECT )

27 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P6) SELECT ügyfél FROM kölcsönzés; A “kölcsönzés” táblázatból megjeleníti az ügyfél azonosító kódját. (Minden ügyfél annyiszor szerepel, ahányszor kazettát kölcsönzött!)

28 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P7) SELECT DISTINCT ügyfél FROM kölcsönzés; A “kölcsönzés” táblázatból megjeleníti az ügyfél azonosító kódját. (Minden ügyfél csak egyszer szerepel!)

29 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P8) SELECT * FROM kölcsönzés, ügyfél WHERE ügyfél=ügyfélkód; A “kölcsönzés” táblázatot kiegészíti az “ügyfél” táblázatból az ügyfél minden adatával. (Relációs algebra: NATURAL JOIN ).

30 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P9) SELECT szszám, ügyfélnév FROM kölcsönzés, ügyfél WHERE ügyfél=ügyfélkód AND kidő=4; A “kölcsönzés” és “ügyfél” táblázat összekapcsolá- sával azokat a számlaszámokat és ügyfélneveket jeleníti meg, ahol a kölcsönzés 4 órára szólt. (Relációs algebra: NATURAL JOIN+SELECT+PROJECT ).

31 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P10) SELECT kölcsönzés.szszám, ügyfél.ügyfélnév FROM kölcsönzés, ügyfél WHERE kölcsönzés.ügyfél=ügyfél.ügyfélkód AND kölcsönzés.kdíj=4; Ugyanazt az eredményt adja, mint az előző példa, csak jobban kihangsúlyoztuk, hogy egy tulajdonság melyik táblázatban található.

32 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P11) SELECT DISTINCT dátum FROM kölcsönzés WHERE ügyfél IN (SELECT ügyfélkód FROM ügyfél WHERE szdátum<‘ ’); Milyen napokon voltak kölcsönözni az 1937 előtt született ügyfelek.

33 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P12) SELECT SUM(kdíj), MAX(kdíj), MIN(kdíj), AVG(kdíj) FROM kölcsönzés; A “kölcsönzés” táblázat alapján kiszámolja és megjeleníti a kölcsönzési díjak összegét, a kölcsönzési díjak maximális, minimális és átlagos értékét.

34 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P13) SELECT SUM(kdíj), MAX(kdíj), MIN(kdíj), AVG(kdíj) FROM ügyfél, kölcsönzés WHERE ügyfél=ügyfélkód AND t=1; A “kölcsönzés” táblázat alapján kiszámolja és megjeleníti a törzstagok által fizetett kölcsönzési díjak összegét, maximális, minimális és átlagos értékét.

35 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P14) SELECT COUNT(*) FROM ügyfél; Az “ügyfél” táblázat sorainak számát, azaz az ügyfelek számát adja.

36 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P15) SELECT COUNT(DISTINCT ügyfél) FROM kölcsönzés WHERE dátum=>‘ ’ AND dátum=<‘ ’ ; 1997 februárjában hány ügyfél kölcsönzött kazettát.

37 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P16) SELECT * FROM kazetta GROUP BY rendező; A “kazetta” táblázat megjelenítése úgy, hogy az filmek a rendezők szerint vannak csoportosítva.

38 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P17) SELECT rendező, COUNT(*) FROM kazetta GROUP BY rendező; A “kazetta” táblázat alapján az jelenik meg, hogy egy rendezőnek hány filmje található a kölcsönző-ben.

39 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P18) SELECT * FROM kazetta ORDER BY rendező, kazettacím; A “kazetta” táblázat megjelenítése úgy, hogy az azonos rendezőjű filmek egymás után, betűrend-ben jelennek meg, és a rendezők is betűrendben szerepelnek.

40 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P19) SELECT ügyfélnév FROM ügyfél WHERE (SELECT COUNT(*) FROM kölcsönzés WHERE ügyfél=ügyfélkód)>=20; A legalább 20 kölcsönzést teljesítő ügyfelek nevét jeleníti meg.

41 Sramó András Adatbázis-technológia V. előadás Példa a SELECT utasításra (P20) SELECT ügyfélnév, COUNT(*) FROM ügyfél, kölcsönzés WHERE ügyfél=ügyfélkód GROUP BY ügyfélkód HAVING COUNT(*)>20; A húsznál több kölcsönzést lebonyolító ügyfelek nevét és kölcsönzéseinek számát jeleníti meg.

42 Sramó András Adatbázis-technológia V. előadás Virtuális táblázatok (látványok, nézetek) definiálása CREATE VIEW teljes kölcsönzés AS SELECT * FROM kölcsönzés, ügyfél WHERE ügyfél=ügyfélkód; A (P8) eredményét virtuális táblázatként definiáljuk. Az így létrehozott nézetek táblázatként viselked-nek, és ugyanúgy használhatók SQL utasítások-ban, kivéve az adatmódosításokat.

43 Sramó András Adatbázis-technológia V. előadás Példa virtuális táblázatra (P21) CREATE VIEW ügyfél95 AS SELECT ügyfélkód, ügyfélnév FROM kölcsönzés, ügyfél WHERE ügyfél=ügyfélkód AND dátum>= AND dátum<= ; Az 1995-ben kölcsönzést teljesítő ügyfelek kódját és nevét tartalmazó nézet létrehozása.

44 Sramó András Adatbázis-technológia V. előadás Példa virtuális táblázatra (P22) CREATE VIEW ügyfél96 AS SELECT ügyfélkód, ügyfélnév FROM kölcsönzés, ügyfél WHERE ügyfél=ügyfélkód AND dátum>= AND dátum<= ; Az 1996-ben kölcsönzést teljesítő ügyfelek kódját és nevét tartalmazó nézet létrehozása.

45 Sramó András Adatbázis-technológia V. előadás Táblázatok egyesítése (P23) SELECT * FROM ügyfél95 UNION SELECT * FROM ügyfél96 ORDER BY ügyfélnév; Az os kétéves időszakban kölcsönzést teljesítő ügyfelek kódját és nevét tartalmazó lekérdezés. (Relációs algebra: UNION )

46 Sramó András Adatbázis-technológia V. előadás Táblázatok különbsége (P24) SELECT * FROM ügyfél95 EXCEPT SELECT * FROM ügyfél96 ORDER BY ügyfélnév; Azoknak az ügyfeleknek kódját és nevét adja meg az ügyfélnév szerint rendezve, akik 1995-ben kölcsönöztek kazettát, de 1996-ban már nem. (Relációs algebra: DIFFERENCE )

47 Sramó András Adatbázis-technológia V. előadás Táblázatok metszete (P25) SELECT * FROM ügyfél95 INTERSECT SELECT * FROM ügyfél96 ORDER BY ügyfélnév; Azoknak az ügyfeleknek kódját és nevét adja meg az ügyfélnév szerint rendezve, akik 1995-ben is és 1996-ban is kölcsönöztek kazettát. (Relációs algebra: INTERSECTION )

48 Sramó András Adatbázis-technológia V. előadás Adatelérés korlátozása I. Az SQL lehetővé teszi, hogy megfelelő felhasználó- azonosítás mellett az egyes felhasználóknak kü- lönböző jogokat adjunk az adatbázisban tárolt adatok elérését illetően. Az adatelérési privilégiumok a következőek: –SELECT –INSERT –UPDATE –DELETE –REFERENCES

49 Sramó András Adatbázis-technológia V. előadás Adatelérés korlátozása II. A REFERENCES privilégium megengedi a fel- használónak, hogy olyan táblázatot hozzon létre, amely a megnevezett oszlopra hivatkozik. Az INSERT, UPDATE és REFERENCES privilégiumok megadása vonatkozhat egy egész táblázatra, vagy egy táblázat néhány oszlopára. Jogosultság megadása: GRANT utasítás. Jogosultság visszavonása: REVOKE utasítás.

50 Sramó András Adatbázis-technológia V. előadás Példák jogosultság megadására GRANT ALL PRIVILEGES ON ügyfél TO Fruzsina, Viktor; Az ügyfél táblázaton minden jogosultság megadása a Fruzsina és Viktor azonosítójú felhasználóknak. GRANT SELECT ON kazetta TO PUBLIC; A kazetta táblázatban mindenki szabadon kereshet. GRANT UPDATE (év, rendező) ON kazetta TO Fruzsina; A kazetta táblázatban Fruzsina módosíthatja az év és rendező oszlopokat.

51 Sramó András Adatbázis-technológia V. előadás Példák jogosultság visszavonására REVOKE ALL PRIVILEGES ON szereplő FROM Viktor; A szereplő táblázaton minden jogosultság vissza- vonása a Viktor azonosítójú felhasználótól. REVOKE INSERT ON kazetta FROM Viktor; A kazetta táblázatba Viktor nem írhat be új sort. REVOKE UPDATE (kdíj) ON kölcsönzés FROM PUBLIC; A kölcsönzés táblázatban senkisem módosíthatja a kölcsönzési díj értékét.