Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Baze de date


Index » educatie » » informatica » Baze de date
» Concepte despre limbajul SQL


Concepte despre limbajul SQL


Concepte despre limbajul SQL

1 Limbajul SQL

Limbajul SQL (Structured Ouery Language-limbaj structurat de interogare) este limbajul utilizat de majoritatea sistemelor de baze de date relationale (SGBDR) pentru definirea si manipularea datelor.SQL este cel mai frecvent utilizat limbaj de baze de date folosit cu preponderenta de majoritatea creatorilor de aplicatii, administratorilor de baze de date, proiectantilor de aplicatii web sau utilizatorilor de Microsoft Office.

O interogare (query) este o simpla cerere transmisa catre baza de date, la care aceasta raspunde intr-o anumita forma.SQL este limbajul folosit cel mai frecvent pentru interogarea bazelor de date.SQL este considerat un limbaj neprocedural sau declarativ, ceea ce inseamna ca ii spunem calculatorului ce rezultate vrem fara sa-i spunem cum sa le obtina.Un limbaj procedural foloseste o serie de instructiuni executate secvential. De asemenea SQL nu trebuie confundat cu limbajele orientate spre obiecte, precum java sau C++. Simplu spus SQL este un limbaj pentru gestionarea si intretinerea bazelor de date relationale, nu un limbaj potrivit pentru programarea generala a aplicatiilor.



SQL este deseori folosit in combinatie cu limbajele procedurale sau orientate spre obiecte pentru a manipula stocarea si extragerea datelor, folosind instructiuni din limbajul de programare cu destinatie generala pentru alte sarcini de programare, precum prezentarea datelor pe o pagina web sau furnizarea raspunsurilor la informatiile introduse de utilizatori de la tastatura sau mouse. Atunci cand este necesara interactionarea cu baza de date, instuctiunile din limbajul procedural formeaza instructiunea SQL, o transmit catre SGBDR in vederea prelucrarii, primesc rezultatele returnate de SGBDR si le prelucreaza intr-un mod corespunzator.

2 Conectarea la baza de date

Atunci cand folosim limbajul SQL pentru lucrul cu bazele de date se pot intalni doua situatii:

● una cand toate componentele bazei de date ruleaza pe acelasi sistem de calcul

● a doua cand baza de date este instalata intr-un aranjament client-server

Cea dea doua situatie fiind specifica bazelor de date care trebuie folosite in comun de mai multi utilizatori.

Intr-un aranjament client-server avem urmatoarele componente:

● Sistemul de gestionare a bazei de date rationale (SGBDR) ruleaza pe     un server,care este un sistem partajat.

● Fisierele care compun baza de date din punct de vedere fizic sunt stocate pe discuri conectate la serverul de baze de date.

● Utilizatorii care au acces la baza de date folosesc statii de lucru, numite clienti.Clientul trebuie sa aiba o conexiune de retea la baza de date, care poate fi o retea privata, instalata acasa sau la birou, ori o retea publica precum Internet.

● Componentele software furnizate de producatorul sistemul de gestionare a bazei de date rationale (SGBDR) ruleaza pe statiile de lucru ale clientilor pentru a oferi utilizatorilor posibilitatea sa introduca instructiuni SQL, sa le transmita sistemului SGBDR in vederea prelucrarii si sa vada rezultatele returnate de sistemul de gestionare a bazei de date rationale (SGBDR).

3 Componentele limbajului SQL

Instructiunile SQL sunt impartite in categorii, dupa functiile pe care le indeplinesc si sunt urmatoarele:

Limbajul de definire a datelor (DDL-Data Definition Language)

Limbajul de interogare a datelor (DQL-Data Query Language)

Limbajul de manipulare a datelor (DML-Data Manipulation Language)

Limbajul pentru controlul datelor (DCL-Data Control Language)

Comenzile pentru controlul tranzactiilor (Tranzaction Control Commands)

Limbajul de definire a datelor (DDL)

Limbajul de definire a datelor (a schemei unei baze de date) include instructiuni ce permit:

♦ crearea schemei bazei de date ;

♦ adaugarea relatiilor la schema bazei ;

♦ stergerea unor relatii existente;

♦ adaugarea de noi atribute relatiilor existente;

♦ optimizarea bazei de date ;

♦ definirea structurii fizice si logice a unei baze de date;

Comanda pentru crearea bazei de date" Bilioteca"

CREATE DATABASE Biblioteca;

Comenzi pentru crearea relatiilor bazei de date

CREATE TABLE CARTI

(Id_carte BIGINT(20) NOT NULL,

ISBN VARCHAR (15) NOT NULL,

Locatia VARCHAR (15) NOT NULL,

Stare_fizica VARCHAR (15) NOT NULL,

Stare_imprumut BOOLEAN,

PRIMARY KEY (Id_carte),

FOREIGN KEY (Id_carte) REFERENCES TRADUCERE_CARTI (Id_carte),

FOREIGN KEY (ISBN) REFERENCES EDITIE(ISBN),

FOREIGN KEY (Id_carte) REFERENCES IMPRUMUT (Id_carte));

CREATE TABLE EDITIE

(ISBN VARCHAR (20) NOT NULL,

Id_editura SMALLINT (6) NOT NULL,

Titlul VARCHAR (100) NOT NULL,

Domeniul VARCHAR (20)NOT NULL,

An_aparitie SMALL INT (4) NOT NULL,

Valoare DECIMAL(10,2) NOT NULL,

PRIMARY KEY (ISBN),

FOREIGN KEY (ISBN) REFERENCES CARTI_AUTOR (ISBN),

FOREIGN KEY (Id_editura) REFERENCES EDITURI (Id_editura));

CREATE TABLE EDITURI

(Id_editura SMALLINT (6) PRIMARY KEY,

Nume_editura VARCHAR (20) NOT NULL,

Adresa_editura VARCHAR (20) NOT NULL,

Nr_telefon_editura INT (20) NOT NULL,

E_mail_editura VARCHAR (20) NOT NULL);

CREATE TABLE CARTI_AUTOR

(ISBN VARCHAR (20) NOT NULL,

Id_autor SMALLINT (6),

PRIMARY KEY (ISBN,Id_autor),

FOREIGN KEY (Id_autor) REFERENCES AUTOR (Id_autor));

CREATE TABLE AUTOR



(Id_autor SMALLINT(6) PRIMARY KEY,

Nume_autor VARCHAR (50) NOT NULL);

CREATE TABLE TRADUCERE_CARTI

(Id_carte BIGINT(20),

Limba VARCHAR (20),

PRIMARY KEY (Id_carte, Limba));

CREATE TABLE IMPRUMUT

(Numar_permis INT (10) ,

Id_carte BIGINT(20),

Data_imprumut DATE,

Data_restituit DATE NOT NULL,

PRIMARY KEY (Numar_permis,Id_carte,Data_imprumut),

FOREIGN KEY (Numar_permis) REFERENCES CITITORI (Numar_permis));

CREATE TABLE CITITORI

(Numar_permis INT (8) PRIMARY KEY,

Nume_cititor VARCHAR(20) NOT NULL,

Prenume_cititor VARCHAR(20) NOT NULL,

Loc_de_munca VARCHAR (20)NULL,

Telefon_cititor INT (20) NULL

Amenda_cititor DECIMAL (10,2));

CREATE TABLE CARTI_PIERDUTE

(Id_carte BIGINT(20)PRIMARY KEY,

Locatia VARCHAR (15) NOT NULL,

Stare_fizica VARCHAR (15) NOT NULL,

Titlul VARCHAR (100) NOT NULL,

Domeniul VARCHAR (20) NULL,

Valoare DECIMAL(10,2) NOT NULL,

Nume_autor VARCHAR (50) NOT NULL,

Numar_permis INT (8) NOT NULL,

Limba VARCHAR (20) NOT NULL,

Nume_cititor VARCHAR(20) NOT NULL,

Prenume_cititor VARCHAR(20) NOT NULL,

Telefon_cititor INT (20) NULL,

Amenda_cititor DECIMAL (10,2));

CREATE TABLE UTILIZATORI

(Numar_permis INT (8) PRIMARY KEY,

Nume VARCHAR(20) NOT NULL,

Prenume VARCHAR(20) NOT NULL,

Telefon INT (20) NULL,

E_mail VARCHAR (20) NOT NULL);

Limbajul de interogare a datelor(DQL)

Comanda SELECT permite interogarea bazei de date. Interogarea reprezinta o intrebare care isi extrage raspunsul din baza de date.Componentele interogarii se numesc clauze.Exemple de clauze ale comenzii SELECT sunt:

WHERE, FROM, GROUP BY, HAVING, ORDER BY.

Exemplu de utilizare a comenzii SELECT in codul SQL al bazei de date Biblioteca

pentru selectarea tuturor cititorilor care locuiesc in Curtea de Arges

SELECT*FROM CITITORI

WHERE Adresa_cititor LIKE%Curtea de Arges%;

pentru selectarea tuturor titlurilor cartilor care sunt din domeniul fizicii

SELECT Titlul FROM EDITIE

WHERE EDITIE.Domeniul='fizica';

pentru selectarea titlurilor cartilor scrise de Camil Petrescu care se gasesc in biblioteca

SELECT Titlul FROM EDITIE

WHERE AUTOR.Nume_autor= Camil Petrescu';

Limbajul de manipulare a datelor (DML)

Inserarea datelor reprezinta, alaturi de modificarea si stergerea datelor, comenzi de actualizare a datelor din baza de date specifice limbajelor relationale de manipulare a datelor (DML)

Exemple de inserari de date in baza de date Biblioteca

◦ Introducerea datelor cititorului: Bucur Andrada

INSERT INTO CITITORI VALUES(000015,' Bucur Andrada', Curtea De Arges, str. LT. Pavelescu nr. 22 jud Arges','Basarab I',2960218033357)

◦ Introducerea datelor unei carti primite in biblioteca:

INSERT INTO EDITIE (ISBN, Id_editura,Titlul, Domeniul,Limba, An_aparitie, Valoare)

VALUES(5424-25-10,52,'Poezii','beletristica', 'romana', 2007, 52)

◦ Pentru modificarea datelor unui cititor folosim comanda :

UP DATE CITITORI

SET Adresa_cititor='Curtea De Arges str. Cuza Voda nr. 5', Telefon_cititor=0248767676

WHERE Numar_permis=000089

◦ Pentru stergerea datelor unei carti din baza de date folosim comanda:

DELETE FROM CARTI

WHERE Id_carte=856

◦ Pentru stergerea datelor unui cititor din baza de date folosim comanda:

DELETE FROM CITITORI

WHERE Numar_permis=000015







Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate