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. |