bancuri, glume, imagini, video, fun, bancuri online, bancuri tari, imagini haioase, videoclipuri haioase, distractie online Pe HaiSaRadem.ro vei gasi bancuri, glume, imagini, video, fun, bancuri online, bancuri tari, imagini haioase, videoclipuri haioase, distractie online. Nu ne crede pe cuvant, intra pe HaiSaRadem.ro ca sa te convingi.

SQL - Structured Query Language

 

            Acest articol este adresat începatorilor care vor sa cunoasca notiuni de baza legate de SQL, gasind aici strictul necesar de informatii.

            SQL este standardul international pentru comunicarea cu sistemele de baze de date. Include 13 instructiuni formate din cuvinte în engleza ( Ex : SELECT * FROM tbl ) usor de utilizat si flexibile. Vom analiza doar un set restrâns din toate aceste functii însa suficiente pentru a lucra cu baze de date foarte usor.

            Cunoasterea standardului SQL este foarte importanta pentru ca exista un numar mare de sisteme de baze de date care folosesc acest limbaj printre care cele mai importante sunt : Aqua Data Studio, DB2, Macromedia ColdFusion, Microsoft Access, Microsoft ASP, Microsoft ASP.NET, Microsoft Query, Microsoft SQL Server, MySQL, Oracle, PostreSQL etc.

 

Notiuni elementare de baze de date

 

Bazele de date sunt modalitati de a stoca datele, pot fi formate dintr-un fisier sau mai multe fisiere. Acestea sunt gestionate de sisteme de gestiune a bazelor de date (SGBD). Fiecare baza de date este formata din mai multe tabele. La rândul sau fiecare tabel este format din mai multe coloane identificate printr-un nume unic în tabel. Fiecare coloana poate contine diferite tipuri de date variind de la : numere întregi, numere reale, siruri de caractere, siruri binare si date completate automat. Datele sunt stocate în tabele aranjate pe mai multe linii.

În discutia despre coloane apare denumirea de cheie primara. Fiecare tabel trebuie sa aiba o astfel de coloana care sa identifice unic fiecare linie din tabel.

Acestea fiind spuse sa vedem cum putem interactiona cu tabelele. Vom analiza mai întâi principalele tipuri de date disponibile urmând ca apoi sa vedem cum putem crea un tabel, modifica si accesa datele stocate în el.

 

Tipuri de date

 

Asa cum am spus într-o coloana nu pot exista decât date de un singur tip. Principale tipuri de date disponibile pot fi încadrate în urmatoarele categorii : tipuri de date sir ( CHAR , VARCHAR, TEXT ), tipuri de date numerice ( BIT, DECIMAL, FLOAT, INT ), tipuri de date data/ora ( DATE, DATETIME, TIME ) si tipuri de date binare ( BINARY, VARBINARY ).

Datele de tip sir pot fi limitate la o anumita lungime maxima, în cazul tipurilor de date CHAR(n) si VARCHAR(n) unde n este lungimea maxima sau nelimitate în cazul utilizarii tipului TEXT. Este recomandat ca sa fie utilizat tipul cel care ofera facilitatile cele mai apropiate de cele dorite, în special din motive de performanta, programele SGBD stiind sa faca optimizari de stocare si acces. Ceea ce vreau sa spun e ca pentru a retine un numar de telefon este absurd sa se foloseasca un tip de date TEXT pentru ca se stie ca lungimea acestuia nu va depasi niciodata 15 caractere fiind suficient un CHAR(15).

La utilizarea datelor de tip sir, valorile trebuie puse între ghilimele. Fiecare câmp poate sa detina si o valoare speciala NULL, care desemneaza un camp fara informatie.

 

Crearea unui tabel

 

Exista doua modalitati de a creea tabele. Prima presupune folosirea unui interfete grafice pusa la dispozitie de majoritatea programelor SGBD sau se poate folosi direct limbajul SQL.

Comanda care face acest lucru este CREATE TABLE. Sintaxa ei poate fi diferita în functie de SGBD-ul folosit, însa majoritatea versiunilor folosesc o implementare standard.

 

Exemplu de utilizare :

 

            CREATE TABLE Produse

            (

            id_produs                     CHAR(10)                  NOT NULL,

            id_producator              CHAR(10)                  NOT NULL,

nume_produs                 CHAR(254)                NOT NULL,

            pret_produs                  DECIMAL(8,2)             NOT NULL,

            descriere_produs            VARCHAR(1000)            NULL

            );

 

Se poate observa ca numele tabelului trebuie specificat imediat dupa instructiune urmat de o lista de parametrii de forma nume_coloana, tip si NOT NULL/NULL. Sintaxa acestei functii este dependenta de programul SGBD folosit.

 

            Modificarea unui tabel

 

            Prin modificarea unui tabel ma refer la operatii de adaugare sau de stergere a unor coloane. Astfel de operatii apar destul de rar si trebuie sa aveti grija în faza de design ca sa anticipati necesitati viitoare astfel încât sa nu fiti nevoit sa apelati la aceste functii.

            Functia pe care o vom folosi se numeste ALTER TABLE.

 

            Exemplu de utilizare :

 

                        ALTER TABLE Producatori

                        ADD telefon_producator CHAR(20);

 

                        Sau

 

                        ALTER TABLE Producator

                        DROP COLUMN telefon producator;

 

            Aceasta functie trebuie utilizata cu mare atentie pentru ca datele nu pot fi recuperate. Va recomand sa realizati copii de siguranta înainte.

 

            Stergerea tabelelor

 

            Stergerea unui tabel este o operatie destul de rar întâlnita. Se utilizeaza functia DROP TABLE.

Exemplu :         DROP TABLE Produse;

 

Functia trebuie utilizata cu atentie deoarece datele nu pot fi recuperate.

 

Am învatat cum sa creem un tabel, sa ii adaugam sau sa ii stergem coloane si sa-l stergem în totalitate, însa un tabel este total inutil fara informatii. Sa vedem cum adaugam informatii în tabel.

 

Inserarea datelor

 

Dupa functia SELECT pe care o vom analiza imediat functia INSERT INTO este una dintre cele mai folosite. Aceasta permite inserarea într-un tabel a unei linii complete sau partiale.

 

Exemplu de utilizare :

 

INSERT INTO Clienti

VALUES ( ‘106’,

                   ‘Toy Land’,

                   ‘123 Any Street’,

                   ‘New York’,

                   ‘NY’,

                   ‘112345’,

                   NULL,

                   NULL);

 

            Acest tip de inserare este oarecum nesigura. O modalitate mai sigura, dar mai greoaie, este aceasta :

 

INSERT INTO Clienti (id_client,

                   nume_client,

                   adresa_client,

                   oras_client,

                   stat_client,

                   cod_postal_client,

                   tara_client,

                   contact_client,

                   email_client)

VALUES ( ‘106’,

                   ‘Toy Land’,

                   ‘123 Any Street’,

                   ‘New York’,

                   ‘NY’,

                   ‘112345’,

                   NULL,

                   NULL);

Folosind aceeasi sintaxa se pot insera si rânduri partiale precizând în lista de coloane doar pe cele dorite. Coloanele omise trebuie sa poata fi NULL sau sa aiba o valoarea prestabilita, altfel programul SGBD va genera un mesaj de eroare.

 

Sa consideram o situatie practica. Am inserat date într-un tabel dar acum avem nevoie sa modificam unele înregistrari iar pe altele sa le stergem.

 

Actualizarea datelor

 

            Pentru actualizarea datelor se foloseste functia UPDATE în combinatie cu o clauza WHERE. Aceasta clauza identifica linia sau liniile care vor fi actualizate. Sintaxa pentru clauza WHERE este urmatoarea : WHERE expresie [ AND/OR expresie] unde expresia este de forma : nume_coloana, operator, valoare. Utilizarea acestei clauze este esentiala altfel fiind modificate toate datele din tabel.

            Operatorii clauzei WHERE sunt :

 

Operator                        Descriere

=                        Egalitate

<>                        Diferit de

!=                        Diferit de

<                        Mai mic

<=                        Mai mic sau egal

!<                        Nu mai mic

>                        Mai mare

>=                        Mai mare sau egal

!>                        Nu mai mare

BETWEEN                        Între doua valori

IS NULL                        Este o valoare NULL

 

            Pentru a putea utiliza functia de actualizare este necesar ca în tabel sa existe un câmp cu valoare unica în tot tabelul care sa poata fi indicat printr-o clauza WHERE.

 

            Exemplu de utilizare :

 

            UPDATE Clienti

            SET email_client = ‘email@king.com’

            WHERE id_client = ‘1005’

 

            Stergera datelor

 

            Pentru a sterge o linie sau mai multe linii dintr-un fisier utilizam functia DELETE FROM împreuna cu o clauza WHERE. ATENTIE !! omiterea clauzei WHERE poate avea consecinte dezastruoase, golirea tabelului.

 

            Exemplu de utilizare :

 

            DELETE FROM Clienti

            WHERE id_client = ‘1203’;

 

            Operatiile de actualizare si de stergere trebuie tratate cu foarte mare atentie pentru ca folosite gresit duc la pierderi de date. Din acest punct de vedere va recomand sa faceti un back-up înainte unei astfel de operatii.

           

            Regasirea datelor

 

Am ajuns la cea mai frecventa operatie executata asupra bazelor de date, operatia de regasire a datelor. Functia folosita este SELECT nume_coloana FROM tabel. Este una dintre cele mai folosite functii. I se poate adauga la sfarsit o clauza WHEREB astfel încât sa regaseasca doar informatiile care îndeplinesc o anumita conditie.

 

Exemplu utilizare :

 

SELECT *                            ( regaseste toate coloanele )

FROM Produse;

 

sau

 

SELECT nume_produs, pret_produs

FROM Produse;

 

sau folosind o clauza WHERE:

 

SELECT nume_produs, pret_produs

FROM Produse

WHERE pret_produs < 10;

 

sau ordonandu-le folosind clauza ORDER BY, ordonare lexicografica :

 

SELECT nume_produs, pret_produs

FROM Produse

ORDER BY nume_produs;

 

Aceasta este functia pe care o veti utiliza cel mai frecvent.

 

Cea mai buna modalitate de a învata functiile este sa le aplicati. Va sfatuiesc sa va procurati un program de SGBD, va recomand MySQL care este gratis si foarte bine facut. Orice comanda o puteti rula în consola si sa vedeti imediat rezultatul.

In cazul MySQL dupa instalare si configurare user, rulati fisierul mysql.exe care se gaseste în directorul bin. În primul rând trebuie sa va conectati la o baza de date utilizând fie comanda use fie comanda connect. Dupa aceasta operatie puteti sa rulati orice comanda SQL direct. Începeti prin realizarea unui tabel si adaugarea de informatii.

 

Bibliografie

 

Articolul reprezinta o concentrare a materialului din cartea “ SQL in lectii de 10 minute ” ( Ben Forta ), eliminând detalii inutile pentru un începator. Va recomand sa cititi cartea în totalitate pentru ca am omis multe informatii care va vor fi utile dupa ce veti stapânii cât de cât instructiunile prezentate aici.

Pentru mesaje si comentarii va stau la dispozitie la savu.andrei@gmail.com.