• Nem Talált Eredményt

MySQL adatbázis-kezelő rendszer

2. Lecke: MySQL-adatbázisok kezelése

2.7 MySQL adatbázis-kezelő rendszer

Az adatbázis-rendszerek második eleme az adatbázis-kezelő rendszer. Tan-anyagunkban az ingyenesen használható DBMS-ek között, napjainkban talán legleterjedtebbnek nevezhető MySQL 5.5.0 verzióját, annak Windows operációs rendszeren futó változatát fogjuk használni.

A MySQL eredetileg a svéd MySQL AB cég terméke. SQL nyelven vezérelhe-tő, hálózati környezetben kiszolgálóként működő, többfelhasználós relációs adatbázis-kezelő rendszer. A szoftver 2010 januárja óta az Oracle tulajdonában van. Kereskedelmi és GPL-licenceléssel is használható. Ingyenes használatának, illetve a PHP-beli integrációjának köszönhetően a webes alkalmazások támoga-tására talán legelterjedtebben használt adatbázis-kezelő rendszer.

Számos platformon, többek között Windows, MAC OS X, Linux, Solaris ope-rációs rendszereken is használható.

http://dev.mysql.com/downloads/mysql/

1. link MySQL letöltése

24 MySQL-adatbázisok kezelése

A MySQL szerver telepítésére nem térünk ki. A szoftver, és dokumentációja letölthető a http://dev.mysql.com/downloads/mysql/ címről.

Amennyiben az olvasó később adatbázis-háttérrel rendelkező webalkal-mazások készítését tervezi, érdemes megfontolni valamilyen WAMP-csomag letöltését és telepítését.

A WAMP csomagok Windows platformon futó Apache webszervert, PHP-t, és MySQL-szervert telepítenek gépünkre. Ilyen csomag az úgynevezett EasyPHP, ami az alábbi címen férhető hozzá:


http://www.easyphp.org/download.php

http://www.easyphp.org/download.php

2. link EasyPHP letöltése

2.7.1 Az SQL

A relációs adatbázis-kezelő rendszerek napjainkra szabvánnyá vált nyelve az SQL (Structured Query Language), amely az IBM által, az 1970-es évek elején kifejlesztett SEQUEL (Structured English Query Language) utóda.

Az SQL-t 1986-ban az ANSI (Amerikai Nemzeti Szabványügyi Intézet – Ame-rican National Standards Institute), később pedig az ISO is hivatalos szabvánnyá minősítette. Napjainkra szinte minden relációs adatbázis-kezelő szoftvert gyár-tó cég terméke, így értelemszerűen a MySQL is támogatja.

Az ANSI- és ISO-szabványok biztosítják a nyelv egységességét, a különböző gyártók implementációi, az úgynevezett SQL-nyelvjárások azonban mégis mu-tatnak kisebb-nagyobb eltéréseket. Tananyagunkban természetesen a MySQL adatbázis-kezelő rendszer vezérlésére alkalmas SQL változatot mutatjuk be.

Az SQL-ben úgynevezett SQL-mondatok formájában fogalmazhatunk meg egy-egy adatbázis kezelő parancsot. Az nyelv négy nagyobb résznyelvből tevő-dik össze.

MySQL-adatbázisok kezelése 25

Az SQL DDL (Data Definition Language = Adatdefiníciós Nyelv) tartalmazza adatszerkezetek létrehozását biztosító nyelvi elemeket. A DDL segítségével új adatbázisokat, és táblákat hozhatunk létre, de módosítjuk, illetve törölhetjük is azokat.

A DCL-t (Data Control Language = Adatelérést Vezérlő Nyelv) résznyelvbe azokat nyelvi elemeket sorolják, amelyekkel az adatbázis-kezelő rendszer mű-ködését szabályozhatjuk.

SQL DML (Data Manipulation Language = Adatmanipulációs Nyelv) biztosít-ja az új rekordok beszúrásának, az adatok megváltoztatásának és törlésének lehetőségét. A DML teszi lehetővé, hogy az adatbázis tartalma bármikor változ-tatható legyen.

SQL DQL (Data Query Language = Adatlekérdező Nyelv) az SQL adatlekérde-ző résznyelve, amely az adatbázisokban tárolt adatok kiolvasását teszi lehetővé.

A DCL-t gyakran tekintik a DDL, a DQL-t pedig a DML részének, így egyes irodalmakban az SQL-t csak két résznyelvre DDL-re és DML-re osztják.

Még előző tananyagunkban elsősorban a DCL és DDL résznyelvekkel fogla-koztunk, addig jelen tananyagunkban a DQL és DML résznyelvekre koncentrá-lunk.

2.7.2 Az SQL nyelvtana

Az SQL-ben, a számítógép programozás során leginkább alkalmazott proceduláris programozási nyelvekkel szemben nem a feladat megoldását kell megfogalmaznunk, hanem a várt eredményt kell meghatároznunk a nyelv esz-közeinek felhasználásával. E tekintetben az SQL az úgynevezett deklaratív prog-ramozási nyelvekhez hasonló.

Az SQL mondatok mindig egy paranccsal kezdődnek, és pontosvesszővel (;) fejeződnek be.

A parancsot meghatározott sorrendben, különböző kötelező és opcionális elemek követhetik:

 az SQL fenntartott szavai,

 tábla-, mező- és változóazonosítók,

 értékek, literálok,

 kifejezések,

 függvényhívások.

26 MySQL-adatbázisok kezelése

SQL-mondatok tördelése

Az SQL mondatok szóhatárokon tetszőleges számú sorba tördelhetők. A mondat végét nem a sortörés, hanem pontosvessző jelzi.

A mondatokat, egyenként vagy kötegelten is végrehatathatjuk a MySQL-szerverrel. Utóbbi esetben egy-, vagy többsoros megjegyzések is elhelyezhetők a szövegben. Az egy soros megjegyzések kettőskereszt (#) karakterrel kezdőd-nek, a többsoros megjegyzéseket pedig /* */ jelek közé zárjuk.

Kis- és nagybetűk

Az értelmező nem tesz különbséget a kis- és nagybetűk között, de az adat-bázis önálló állományként tárolódó elemeinek azonosítói (például táblák) az operációs rendszertől függően kivételt jelenthetnek.

Szövegek

A szöveg literálokat a MySQL-ben is egyszeres vagy dupla aposztrófok közé kell zárni.

Szintaktikai leírás

Az SQL-mondatok szintaktikáját, az egyes parancsok specifikációját az alábbi formában fogjuk ismertetni (az itt olvasható elemek nem részei az SQL nyelvnek, csupán a szintaktikai leírás egyes részeinek használati módjára utal-nak):

 NAGYBETÜKKEL írt szavak: leírásban megadott formában használható nyelvi elemek

 [szögletes zárójelben megadott szöveg]: opcionális nyelvi elem. A nem szögletes zárójelek között lévő nyelvi elemek használata kötelező.

 | függőleges vonal (cső karakter) két szöveg között: választási kötele-zettség. A cső karakterrel elválasztott elemek közül kizárólag egy hasz-nálható.

 Dőlt betűk: értelemszerűen helyettesítendő szöveg.

 Sortörés jel (): a csak több sorban elférő szintaktikai leírások logikai összekapcsolására használjuk!

Az SQL-mondatok és parancsok formai leírása általában több opcio-nális (elhagyható) elemet is tartalmaz. Az opcioopcio-nális elemek haszná-latát az határozza meg, hogy milyen eredményt szeretnénk kapni.

MySQL-adatbázisok kezelése 27

Fontos azonban tudnunk, hogy a leírásban feltüntetett elemek sor-rendje általában kötött. A használt opciókat a specifikációnak megfe-lelő sorrendben kell szerepeltetnünk.

Az alábbi szintaktikai leírás a felhasználó jelszavának megváltoztatására al-kalmas DCL-mondat általános formátumát határozza meg. A [FOR user_azonosító] szögletes zárójele jelzi, hogy a közrezárt rész használa-ta nem kötelező, a user_azonosító szó dőlt betűje pedig arra utal, hogy a szó helyére egy felhasználó azonosítójának kell kerülnie. A harmadik, és negyedik sor elején lévő cső karakter jelzi, hogy az SQL-mondatban a 2., vagy a 3., vagy pedig a 4. sorban leírt részt kell használni.

SET PASSWORD [FOR user_azonosító] = PASSWORD('jelszó')

| OLD_PASSWORD('jelszó') | 'kódolt jelszó'

A fenti szintaktikai leírásnak megfelel például az alábbi SQL-mondat:

SET PASSWORD = PASSWORD(’sosemtudodmeg’)