Relációs adatbáziskezelés

SQL

A „kétkezi” adatbáziskezelés, az SQL részletes ismertetésére itt és most nem térek ki. Számos kiváló mű és példatár taglalja, néhányat alább felsorolok.

Az SQL definitív nyelv, azaz nem hasonlít olyan hagyományos programnyelvekre, mint pl. a Pascal vagy a C vagy a COBOL (vagy mint a FORTRAN).

Négy fő részre oszlik: DDL, DML, DQL, DCL. Ezek rendre a Data Definition Language (adatdefiníciós nyelv), a Data Manipulation Language (adatmanipulációs nyelv), a Data Query Language (adatlekérdező nyelv) és a Data Control Language (adatvezérlő nyelv) kifejezések rövidítései.

Az alábbiakban bemutatok néhány példát. Az SQL szabványosított nyelv, azonban a változatosság gyönyörködtet, azaz ahány ház, annyiféle megvalósítás van. Ezért nem biztos, hogy egy adott SQL parancsot minden SQL-értelmező egyformán helyesnek fogad el. Teljesen szubjektív alapon az alábbi példák MySQL-ből valók. Az alábbi példák kipróbálásához egyéb, üzemeltetési ismeretek is szükségesek, például ahhoz, hogy táblát lehessen létrehozni, előbb létre kell hozni egy adatbázist, és annak használatához, illetve táblák létrehozásához megfelelő jogokat kell kapnunk (adnunk magunknak). Ennek ismertetésére itt nem térek ki.

Az SQL definitív nyelv, mint az alábbi példákon keresztül látni fogjuk, ennek összes előnyével és néhány hátrányával egyetemben. A szükségszerűségnek engedve azonban az SQL nyelvbe is beépült a procedurális kiterjesztés. Ennek következtében alkalmassá válik önálló alkalmazásfejlesztésre is. Az Oracle a esetében a PL/SQL, a PostgreSQL esetében a PL/pgSQL, a MySQL esetében pedig a tárolt programok, illetve az összetett utasítások tartalmazzák a procedurális lehetőségeket. Ezek híján, vagy ezeket mellőzve valamilyen gazdanyelv segítségével lehet önálló alkalmazásokat fejleszteni.

DDL

CREATE TABLE `CETLI` (

 `CetliAzon` bigint(20) unsigned NOT NULL auto_increment,

 `Szerzo` varchar(64) default NULL,

 `Cim` varchar(255) default NULL,

 `Soder` text,

 `Megjegyzes` text,

PRIMARY KEY (`CetliAzon`));

Az utasítás létrehoz egy CETLI nevű táblát, amelynek van egy mesterséges azonosítója, amelyet a MySQL önműködően növel minden új rekord rögzítésekor, egy Szerző nevű (karakteres típusú, max. 64 karakter), egy Cím nevű (karakteres típusú, max. 255 karakter) mezője, Sóder és Megjegyzés néven pedig egy-egy szöveg típusú (max. 4 GB) mezője. Az elsődleges kulcs, vagy azonosító a CetliAzon, amely egy pozitív, 8 bájton tárolt egész szám (lehetséges értékei: 0-18.446.744.073.709.551.615), amely nem lehet NULL.

DML

INSERT into `CETLI`

 (Szerzo,Cim,Soder,Megjegyzes)

 VALUES

 ("Fekete István","Vuk","Kiváló természetrajzi regény a rókákról.","Dargay Attila készített belőle rajzfilmet.");

Az utasítás beilleszt egy (soron következő) rekordot a CETLI nevű táblába, amely Fekete István Vuk c. regényéről tartalmaz néhány példaszerű adatot. A rekord azonosítója önműködően kap értéket.

DQL

SELECT * FROM `CETLI`

 WHERE Szerzo="Fekete István";

Az utasítás kilistázza mindazon rekordokat (azon minden mezőjét egy-egy sorban), amely rekordok esetén a szerző értéke pontosan a „Fekete István” szöveggel megegyező.

DCL

GRANT ALL on `ADATBAZISOM.*` to KEA;

Az utasítás az ADATBAZISOM nevű adatbázisra minden jogot (ALL) megad a KEA nevű felhasználónak. Az adatvezérlő nyelv alapvetően az adatbázisok üzemeltetésével kapcsolatos tevékenységeket fedi, a jogosultságokkal, hozzáférésekkel és az adatbáziskezelő működésével kapcsolatos műveletek elvégzésére szolgál.


Lásd még (a teljesség igénye nélkül):

Kende Mária - Nagy István: ORACLE példatár. Panem, Budapest, 2005.

Orákulum Virtuális Egyetem

ORACLE

MySQL 5.5 Reference Manual

Békéssy András - Demetrovics János: Adatbázis-szerkezetek. Akadémiai Kiadó, Budapest, 2005.

Ullman Jeffrey D. - Widom Jennifer: Adatbázisrendszerek. Alapvetés. Panem, Budapest, 2008.

Codd E. F.: The Relational Model for Database Management - version 2. Addison-Wesley Publishing Company, h.n., 1990. helyben itt

 

Vélemény

Nincs és nem is lehet.

impresszum

Alapfogalmak