SQL lenguaia

No profile photo programatzen | 2006-12-18 20:32

Egilea: Gorka Alustiza

DATU BASEAK


Datu base bat textu formatuan informazioaren biltegiratze masiboa  helburu duen soporte digital bat da. Datu base bakoitza, informazioa era ordenatuan erakusteko, tabletan banatuta dago. Tabla bakoitza zutabetan banatuta dago, informazioaren kanpo ezberdinak izango litzatezkeenak, eta azkenik, datu erregistro bakoitzeko lerro bat egongo litzateke. Hobeto ulertzeko, tabla bat "lagunak" izango litzateke, zutabeak "izena","abizena","adina" eta lerroak ["Iker","Murua","22"], ["Ainara","Zabala","24"],...

Datu baseak sortu, bertara akzeditu eta aldatzeko programa kudeatzaileak erabiltzen dira. Hona hemen adibide batzu:

MySQL: GPL baimena duen datu base bat da (askea beraz), denetan erabiliena. Berez kode bidez sortu eta kudeatu behar den arren, erabiltzaileek phpMyAdmin, MySQL Control Center edo beste programaren bat erabil dezakete informazioa kudeatzeko.

Access: Microsoftek garatua, access programarekin sortu behar da, zeinak gorago azaldu den egitardun .mdb artxibo bat sortuko du. Ingurune grafikoa excelen oso antzekoa da.

Oracle: Oracle Corporationek sortua, dagoen sistemarik osoenetarikotaz jotzen da, bere estabilitate, transakzio soporte eta plataformanitza delako. Bere alde negatiboa oso garestia dela da.

SQL LENGUAIA


SQL edo structured consulting language (kontsulta lenguaia estrukturatua) datu base erlazionaletara sartzeko lenguaia deklaratibo bat da, berauekin hainbat operazio egitea ahalbidetzen duena. Aljebra eta kalkulu erlazionalaren ezaugarriak batzen ditu datu base batetik interesezko datuak atera ahal izateko modu errazean. Kontsulta soiletik haratago, datu baseak eta bistak definitzeko eta datuen manipulatzeko lenguaia ere bada.

DATUAK ATERATZEKO


Datu base erlazionaletan ematen den operazio ohikona datuak ateratzekoa da. Datuak lortzeko komandoetara mugatua dagoenean, SQLk lenguaia deklaratibo gisa jokatzen du.

SELECT

Datu baseko tabla batetik edo gehiagotik erregistro lerro bat edo gehiago ateratzeko erabiltzen da. Komandorik erabiliena, erabiltzaileak atera nahi duen informazioaren ezaugarriak aukera ditzazke. Hauek dira SELECT komandoari atxikituta doazen hitz gako nagusienak:

FROM: datu baseko zein tabletatik atera nahi den informazioa adierazteko balio du.
WHERE: atera nahi diren erregistroen ezaugarriak identifikatzen ditu.
JOIN: baliokide konbinazio bat sortzen du. Hauek bi tabletako erregistroak konbinatzen dituzte, komunean duten zutabe baten balioaren arabera.
GROUP BY: adierazitako zutabeetan balio bera duten erregistroak konbinatzen ditu erregistro bakar batean.
HAVING: WHERE-n antzekoa, GROUP BY instrukzioarekin konbinatutako erregistroen ezaugarriak definitzen ditu.
ORDER BY: lortutako erregistroak ordenatzen ditu adierazitako zutabearen balioaren arabera.

Ikus ondorengo adibidea:

    SELECT * FROM lagunak
    WHERE adina>20
    ORDER BY abizena

Adibide honetan "lagunak" tablatik ateratzen dira erregistro lerroak. "*" sinboloarekin erregistroen zutabe guztiak atera nahi direla adierazten da (zutabe jakin batzu soilik nahi izango bagenituzke, nahikoa litzateke hauek jartzea sinboloaren ordez: "izena","abizena",...). "Adina" izeneko zutabea (zenbakizkoa izango dena) 20 baino handiagoa dutenak aterako dira soilik, baldintza hau betetzen ez duten erregistroak baztertuko direlarik. Lortutako erregistroak "abizena" zutabearen arabera ordenatuko dira alfabetikoki. Ondorengo adibidea konplexuagoa da:

    SELECT lagunak.izena,lagunak.bizilekua FROM lagunak
    JOIN herriak
    ON lagunak.bizilekua=herriak.izena

Baliokide konbinazio bat egiten du. "Lagunak" tablatik, "herriak" tablan agertzen diren herrietan bizi diren lagunen izena eta bizilekua ateratzen du. Lagunen bat "herriak" tablan agertzen ez den herri batean bizi bada, ez da emaitzan agertuko, eta lagunik bizi ez den herririk ere ez. Hau izango litzateke emaiza:

Nerea Alegia
Imanol Beasain
Itxaso Asteasu

DATUAK MANEIATZEKO


Datuak Manipulatzeko Lenguaiaren (DML, "Data Manipulation Language") elementuak erabiltzen dira, datuak sartu, eguneratu edo ezabatzeko.

INSERT

Existitzen den tabla bati erregistro bat edo gehiago gehitzeko erabiltzen da. Adb.:

    INSERT INTO lagunak(izena,abizena,adina) VALUES ('garikoitz",'ayestaran',25)

UPDATE

Existitzen den lerro baten balioak aldatzeko. Adb.:

    UPDATE lagunak SET abizena='iraola' where izena='maitane'

DELETE

Lerroren bat ezabatzeko. Adb.:

    DELETE FROM lagunak WHERE adina<20


TRANSAKZIO KONTROLA


Datu basean operazio bat egiten den bakoitzean, hau ez da benetazko tablan egiten, bere kopia batean baizik. Aldaketa hauek datu basean modu iraunkorrean gordetzeko, ondorengo komandoak erabiltzen dira. Zorrotzki jokatuz, BEGIN WORK komandoarekin ireki behar dira.

COMMIT

Egindako aldaketa guztiak "igotzen" ditu, iraunkorrak eginez.

ROLLBACK

Azken COMMITetik egindako aldaketa guztiak desegiten ditu, gordetako azken bertsiora itzuliz.


DATUEN DEFINIZIOA


Bigarren hitz gako taldea Datuen Definizio Lenguaia (DDL, "Data Definition Language") da. Honen bidez erabiltzaileak tabla berriak definitu ditzazke. Hauek dira bere komando nagusiak:

CREATE

Objetu bat sortzen du (tabla bat adibidez) datu basean.

DROP

Objetu bat ezabatzen du datu basetik.

TRUNCATE

Tablako datu guztiak ezabatzen ditu.

ALTER

Objetuak aldatzea ahalbidetzen du, adibidez, tabla bati zutabe bat gehituz.


Utzi iruzkina: