Sunteți pe pagina 1din 2

LINUX USER

Pagina nceptorului

Baze de date n Linux

SQL
Odat cu apariia calculatoarelor n producie au aprut i primele sisteme de baze de date. Acestea s-au dezvoltat mult de atunci i aduc un profit mare celor care le utilizeaz. Tocmai din acest motiv marea majoritatea a sistemelor de baze de date sunt aplicaii comerciale costisitoare, iar documentaia pentru ele este greu accesibil. PostgreeSQL i MySQL sunt dou implementri Open Source ale sistemelor SQL. DE DRAGO ACOSTCHIOAIE

n vederea organizrii i regsirii facile a informaiilor, acestea pot fi stocate n baze de date. Fiecare baz de date conine mai multe tabele, structurate n coloane (cmpuri) i rnduri (nregistrri). De asemenea, se pot defini diverse relaii ntre tabelele unei baze de date, constituindu-se un model relaional. Totalitatea bazelor de date stocate pe un sistem constituie o colecie numit cluster. Ansamblul de aplicaii care realizeaz managementul bazelor de date se numete sistem de baze de date relaional (Relational DataBase Management System - RDBMS). Pentru Linux, MySQL i PostgreSQL sunt sisteme relaionale de gestiune a bazelor de date, compatibile SQL (Structured Query Language, cel mai rspndit limbaj standardizat pentru interogarea bazelor de date), cu arhitectur client/server. Spre deosebire de alte sisteme similare disponibile sub Linux, cum ar fi Oracle, DB2 sau Informix, acestea dou sunt open source.

la serverul PostgreSQL care ruleaz pe maina local, la baza de date avnd numele utilizatorului curent. Autentificarea se face tot cu numele acestuia. Sintaxa este: psql [optiuni] [ dbname [ utilizator ] ] unde opiuni pot fi: -h main specific numele mainii la care se face conectarea -p port specific portul pe care daemonul PostgreSQL accept conexiuni

-U utilizator specific numele utilizatorului cu care se face autentificarea Pentru a indica utilizatorului c este pregtit s execute urmtoarea comand, psql va afia un prompt de forma: cdshop=> unde cdshop reprezint baza de date la care suntem conectai n mod curent. Pot fi lansate comenzi SQL, care trebuie s se ncheie cu caracterul ;. De asemenea, pot fi folosite i o serie

PostgreSQL
Aplicaiile care folosesc serviciile sistemului de baze de date utilizeaz biblioteca postgresql. Aceasta trimite cereri prin reea daemonului postmaster care ruleaz pe server. Pentru efectuarea de operaiuni asupra bazelor de date sau tabelelor prin intermediul comenzilor SQL se poate folosi utilitarul psql. Implicit se face conectarea

Figura 1: Utilitarul pgadmin.

86
085-086_db.indd 86

Noiembrie 2004

www.linux-magazin.ro

22/02/2005 07:15:14

Pagina nceptorului

LINUX USER

de comenzi interne. Acestea ncep cu caracterul \. Cele mai frecvent utilizate comenzi sunt: \connect [ dbname [ utilizator ] ] nchide conexiunea curent i realizeaz o conexiune la o alt baz de date, utiliznd utilizatorul specificat \d [ tabel ] afieaz coloanele din componena tabelei. Dac aceasta din urm nu este specificat, sunt afiate tabelele din baza de date curent \help [ comand ] afieaz sintaxa comenzii SQL specificate. \list afieaz bazele de date din componena clusterului PostgreSQL \o [ fiier ] redirecteaz rezultatele interogrilor ctre fiierul specificat \q prsete programul psql

Sistemul MySQL
Pentru efectuarea de operaiuni asupra bazelor de date sau tabelelor prin intermediul comenzilor SQL se utilizeaz utilitarul mysql. Implicit se face conectarea la daemonul MySQL care ruleaz pe maina local, la baza de date avnd numele utilizatorului curent. Autentificarea se face tot cu numele acestuia. Sintaxa este: mysql [optiuni] [dbname] unde opiuni pot fi: -h main specific numele mainii la care se face conectarea -p [ parol ] specific parola pentru autentificare. Dac nu este specificat, va fi solicitat utilizatorului -P port specific portul pe care daemonul MySQL accept conexiuni -u utilizator specific numele utilizatorului cu care se face autentificarea
Figura 2: Utilitarul MySQL Administrator.

SELECT * FROM facturi WHERE denumire~SPIT. ORDER BY nr_doc DESC,data DESC; solicit coninutul tabelei facturi pentru care coloana denumire ncepe cu SPIT., ordonat dup coloana nr_doc i data, n ordine descendent. UPDATE tabel SET coloan=valoare [,...] [ opiuni ] modific coninutul coloanei specificate cu valoare. Spre exemplu: UPDATE comenzi SET nr_doc=6789 where nr_doc>=6642 and nr_doc<=6645; stabilete valoarea coloanei nr_doc la 6789 pentru toate coloanele care satisfac condiia specificat. INSERT INTO tabel specificaie_ coloane insereaz o linie nou n tabela specificat. Dou exemple: INSERT INTO agenti VALUES (BURAGA SABIN,5); insereaz o nou linie avnd valorile specificate (tabela agenti are dou coloane). INSERT INTO comenzi SELECT * FROM pctemp4 WHERE cant > 0;

insereaz n tabela comenzi liniile obinute din tabela pctemp4 (care are aceeai structur), n condiia n care coloana cant are valori pozitive. DELETE list_selecie FROM tabel [ opiuni ] terge linii din tabel. Spre exemplu: DELETE * FROM stoc WHERE cant > 0; terge toate liniile din tabela stoc pentru care valoarea coloanei cant este pozitiv. Astfel, limbajul standard SQL este uor accesibil n mediul Linux, avnd o interfa simpl, comod i sigur fiind absolut deschis. Putei administra informaiile dumneavoastre fr s fie nevoie s pltii bani grei pentru licene, i totui folosinfu-v de un sistem performant de baze de date

Comenzi SQL uzuale


Prezentm n continuare cteva comenzi SQL mai des utilizate. Menionm faptul c nu se face deosebire ntre literele mici i cele mari. SELECT list_selecie FROM tabel [ opiuni ] solicit o interogare cu scopul de a obine informaii dintr-o tabel. De exemplu: SELECT * FROM furnizori ORDER BY denumire; solicit toate nregistrrile tabelei furnizori, care vor fi ordonate dup coloana denumire.

INFO
[1] Acostchioaie, D.; Buraga, S., Utilizare Linux. Noiuni de baz i practic, Polirom, Iai, 2004: http://www.adt.ro/linux/ [2] Acostchioaie, D., Programare C i C++ pentru Linux, Polirom, Iai, 2002: http://www.adt.ro/prg/

AUTORUL

Drago Acostchioaie este programator de sistem i aplicaii Linux, administrator de reea, putnd fi contactat la adresa dragos@adt.ro

www.linux-magazin.ro

Noiembrie 2004

87
22/02/2005 07:15:18

085-086_db.indd 87

S-ar putea să vă placă și