Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica » sql
Trasaturi caracteristice ale limbajului SQL

Trasaturi caracteristice ale limbajului SQL


Trasaturi caracteristice ale limbajului SQL

Limbajul SQL a fost implementat in produse comerciale incepand cu anii 70 cand s-a lansat prima versiune Oracle si SQL/DS de la IBM.

Limbajul SQL este un limbaj declarativ; utilizatorul descrie informatiile pe care doreste sa le obtina in urma interogarii, fara a preciza algoritmii necesari pentru obtinerea rezultatelor dorite. In acelasi timp, SQL face parte din categoria limbajelor de aplicatie pentru baze de date relationale.

Deoarece este un limbaj standard s-a realizat recunoasterea principalelor sale instructiuni de catre mai multe sisteme de gestiune a bazelor de date (S.G.B.D. Oracle, Access, INFORMIX, DBase, DB2.)

In 1986, SQL a devenit standard ANSI (SQL-86) ca urmare a unei intelegeri intre constructori fiind influentat de versiunea pentru DB2 de la IBM.

Versiunea numita si SQL-92, este tot un standard ANSI si ISO. Limbajele utilizate de SGBD- urile actuale sunt apropiate de aceste standarde. SQL-92 propune trei niveluri conformitate:



nivelul de intrare (entry level),

nivelul intermediar (intermediate level)

nivelul maximal (ful/ level).

In ultimii ani, comitetele ANSI si ISO pentru standardizarea limbajului SQL au adaugat noi facilitati pentru gestiunea bazelor de date orientate pe obiecte si obiect-relational, ajungandu-se astfel la o versiune SQL3, care este pe cale de a deveni un standard in domeniu. Aceste facilitati se pot structura:

facilitati orientate obiect ce propun definirea la nivel de utilizator a tipurilor de date abstracte;

structuri de control specifice: IF, FOR, WHILE ce permit transformarea SQL -ului intr-un limbaj de sine statator;

facilitati de comunicare in retea;

facilitati de prelucrare distribuita;

facilitati multimedia, inglobate in modulul Multi - Media SQL.

Proliferarea unui numar mare de standarde este urmarea faptului ca au fost concepute ca un set de recomandari, ceea ce lasa loc la interpretari variate in ce priveste specificatiile limbajului si implementarea lui in aplicatii. Limbajul SQL permite o comunicare complexa si rapida a utilizatorului cu bazele de date, in functie de cerintele si restrictiile acestuia. Pe langa manipularea si regasirea datelor, se efectueaza si operatii privind actualizarea si administrarea bazei de date.

In functie de rolul lor in manipularea datelor si tranzactiilor, instructiunile SQL pot fi grupate astfel:

a)     instructiuni de definire a datelor care permit descrierea structurii bazei de date;

b)     instructiuni de manipulare a datelor in sensul adaugarii, modificarii si stergerii inregistrarilor;

c)     instructiuni de selectie a datelor care permit consultarea bazei de date;

d)     instructiuni de procesare a tranzactiilor care privesc unitatile logice de prelucrare si constituie in fapt, operatii multiple de manipulare a datelor;

e)     instructiuni de control al cursorului;

f)      instructiuni privind controlul accesului la date.

In literatura de specialitate se cunosc trei metode de baza privind implementarea limbajului SQL:

prin apelare directa (Direct Invocation), metoda ce consta in introducerea instructiunilor SQL de la prompter (spre exemplu Dbase IV);

metoda modulara (Modul Language), metoda ce foloseste proceduri apelate de programele aplicatiei;

metoda de tip incapsulat (Embedded SQL) care permite incapsularea instructiunilor in codul de program (spre exemplu, interogarile Access, indiferent daca sunt create prin metoda grafica QBE, cu proprietatea Row Source sau cu o proprietate SQL in Access VBA).


Sintetic, trasaturile caracteristice ale limbajului SQL sunt urmatoarele:

SQL, ca si majoritatea limbajelor de programare, foloseste cuvinte din limba engleza. In mod special cuvintele select, insert, delete ca elemente ale setului de comenzi.

SQL este un limbaj neprocedural: specifica care sunt informatiile dorite, nu cum se obtin acestea. Cu alte cuvinte, SQL nu cere sa fie specificata metoda de acces la date.

Executia comenzilor SQL asupra inregistrarilor nu se poate face decat secvential, asupra cate unei singure inregistrari. Setul de inregistrari fiind vazut ca set de linii ale unui tabel.

SQL poate fi folosit de un sir de utilizatori, incluzand administratorul bazei de date, programatorii de aplicatii, personalul de management si multe alte tipuri de utilizatori.

SQL include comenzi pentru o varietate de sarcini, incluzand:

selectia unor date

inserarea, extragerea si stergerea randurilor dintr-un tabel

crearea, modificarea si stergerea obiectelor de tip baza de date

controlul accesului la baza de date si la obiectele de tip baza de date

verificarea - garantarea consistentei bazei de date

Exista doua tipuri de comenzi:

  1. Comenzi de creare a tabelelor, de stergere a tabelelor si de modificare a tabelelor formeaza comenzile de definire a datelor (Limbaj de definire a datelor-LDD);
  2. Comenzile de manevrare a datelor (LMD): SELECT (interogarile de baza), INSERT, UPDATE, DELETE.

SQL asigura toate operatiile care se considera necesare intr-o baza de date.

A. 1.Comenzile de creare: CREATE TABLE sau CREATE VIEW: in modelul relational, tabelele pot fi:

I.tabele de baza: un tabel care se defineste si este memorat in fisierele bazei de date;

II.vederi: un tablou virtual, ce reprezinta o parte din liniile sau coloanele unuia sau a mai multor tabele. Cand se creeaza o vedere, datele unui tabel-vedere nu se multiplica (datele din vedere sunt chiar cele memorate in tabelele de baza).

Vederile permit restrictionari diferentiate ale drepturilor utilizatorilor. Vederile sunt intotdeauna la zi, o modificare in tabelul de baza se vede si in vedere.

Definirea vederilor reprezinta o imixtiune a nivelului utilizator in nivelul conceptual.

CREATE TABLE nume_tabel(

nume_col1 tip_date [constrangeri_coloana],
     nume_col2 tip_date [constrangeri_coloana],
    .
     nume_coln tip_date [constrangeri_coloana]);

   Obs:

nume_tabel trebuie sa fie unic intr-o baza de date

nume_col1, ., nume_coln : identificatori;

tip_date: tip SQL.

   Exemplu:

Sectie (Numar, Nume, Buget);

Angajat(Nume, Prenume, Data Nasterii, Adresa, Functia, Salariul)

    CREATE TABLE sectie( Numar integer, Nume varchar(20),
    Buget numeric(12,2));

    CREATE TABLE angajat( Nume varchar(20), Prenume varchar(20),
    DataNasterii DATE, Adresa varchar(20), Salariul numeric(6,2));

  1. DROP TABLE nume_tabel;

    Sterge complet tabelul

3. ALTER TABLE nume_tabel..

    Se pot sterge coloane, se pot adauga coloane, etc.

4. CREATE VIEW nume_vedere AS SELECT..

    Rezultatul selectiei reprezinta vederea respectiva.

DROP VIEW nume_vedere;

    Sterge complet vederea.

B.1. Comenzile de manipulare de date:

SELECT, cea mai importanta comanda de manipulare a datelor. Reprezinta comanda de interogare de baza de date. Este o instructiune foarte puternica, folosita si in alte scopuri nu numai pentru interogare.

SELECT [DISTINCT] lista_coloane FROM lista_tabele WHERE conditie [clauze_secundare];

Exista trei clauze (parti) principale ale comenzii:

a)     Clauza SELECT: este urmata de o lista de coloane care vor fi coloanele rezultatului. Rezultatul unei comenzi SELECT este, de regula, un tabel;

b)     Clauza FROM introduce numele unuia sau mai multor tabele. Rezultatul va contine tupluri ale produsului cartezian ale tuturor tabelelor date in clauza FROM, pe coloanele indicate de clauza SELECT care respecta conditia introdusa de clauza WHERE;

c)     Conditia din WHERE evalueaza la o valoare booleana (TRUE, FALSE). In rezultat se admit acele tuluri pentru care conditia este verificata. Clauza WHERE este optionala (!!).

Observatii:

Suita de tabele trebuie sa fie astfel data incat toate coloanele date in lista sa fie gasite in acele tabele;

Numele coloanelor din lista de coloane trebuie sa fie unice. Daca nu sunt unice, se diferentiaza fie prin denumire, fie prin calificare;

"*" pentru clauza SELECT inseamna toate coloanele posibile.
Exemplu:

SELECT * FROM sectie;

SELECT * FROM sectie, angajat; = corect,

desi avem nume de coloane identice, SQL stie sa le diferentieze
SELECT Nume, Nume, Prenume, Salariu,. ; = eroare
SELECT sectie.Nume, angajat.Nume, Prenume, Salariu FROM sectie, angajat; = corect

SELECT Nume, Prenume FROM angajat WHERE Salariu>=1800;

La inceput, sistemele de management a bazelor de date au utilizat un limbaj separat pentru fiecare categorie de sarcini in parte. SQL le-a unificat pe toate acestea intr-un singur limbaj.

Logic, comenzile limbajului SQL sunt impartite in trei componente:

limbajul de definire a datelor (Data Definition Language)- LDD,

limbajul de manipulare a datelor (Data Manipulation Language)- LMD,

limbajul de control al datelor (Data Control Language)- LCD.

Primul pentru crearea structurii de baza de date, al doilea, dupa ce structura exista, pentru a adauga date in tabele si pentru a le manipula. A treia componenta ofera posibilitatea de a proteja (securiza) datele.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.