Limbajul de interogare structurat (Structured Query Language, SQL) este un limbaj de bază de date conceput pentru gestionarea datelor păstrate într-un sistem de gestionare a bazelor de date relaționale. SQL a fost dezvoltat inițial de IBM la începutul anilor 1970 (Data 1986). Versiunea inițială, numită SEQUEL (Structured English Query Language), a fost concepută pentru a manipula și prelua datele stocate în sistemul de gestionare a bazelor de date cvasirelaționale IBM, System R. Apoi, la sfârșitul anilor 1970, Relational Software Inc., care este acum Oracle Corporation, a introdus prima implementare comercială a SQL, Oracle V2 pentru computerele VAX.
Multe dintre SGBD-urile relaționale disponibile în prezent, cum ar fi baza de date Oracle, Microsoft SQL Server (prezentate în Figura 15.1), MySQL, IBM DB2, IBM Informix și Microsoft Access, utilizează SQL.
(Exemplu de Microsoft SQL Server, de A. Watt.)
Într-un SGBD, limbajul bazei de date SQL este utilizat pentru:
- Crearea de structuri de baze de date și tabele
- Efectuarea de sarcini de bază de gestionare a datelor (adăugare, ștergere și modificare)
- Efectuare de interogări complexe pentru a transforma datele brute în informații utile
Ne vom concentra pe utilizarea SQL pentru a crea baza de date și structurile de tabel, folosind în principal SQL ca limbaj de definire a datelor (data definition language, DDL). Ulterior vom folosi SQL ca limbaj de manipulare a datelor (data manipulation language, DML) pentru a insera, șterge, selecta și actualiza date în tabelele bazei de date.
Crearea bazei de date
Instrucțiunile majore SQL DDL sunt CREATE DATABASE și CREATE/DROP/ALTER TABLE. Instrucțiunea SQL CREATE este utilizată pentru a crea structura bazei de date și a tabelelor.
Exemplu: Crearea bazei de date SW
O nouă bază de date numită SW este creată de instrucțiunea SQL CREATE DATABASE SW. Odată ce baza de date este creată, următorul pas este crearea tabelelor bazei de date.
Formatul general pentru comanda CREATE TABLE este:
CREATE TABLE <tablename>
(
ColumnName, Datatype, Optional Column Constraint,
ColumnName, Datatype, Optional Column Constraint,
Optional table Constraints
);
Numele tabletei este numele tabelului bazei de date, cum ar fi Employee. Fiecare câmp din CREATE TABLE are trei părți (a se vedea mai sus):
- Nume coloană
- Tip de date
- Restricție opțională a coloanei
Nume coloană
Nume coloană (ColumnName) trebuie să fie unic în tabel. Câteva exemple de nume de coloană sunt prenumele și prenumele.
Tip de date
Tipul de date (Data Type), așa cum este descris mai jos, trebuie să fie un tip de date de sistem sau un tip de date definit de utilizator. Multe dintre tipurile de date au o dimensiune precum CHAR(35) sau Numeric(8,2).
- Bit – Date întregi cu o valoare 1 sau 0
- Int -Număr întreg, date de la -231 (-2.147.483.648) până la 231 – 1 (2.147.483.647)
- Smallint – Date întregi de la -215 (-32.768) la 215 – 1 (32.767)
- Tinyint – Date întregi de la 0 la 255
- Decimal – Date numerice și scale fixate de precizie de la -1038 -1 până la 1038
- Numeric -Un sinonim pentru marcajul temporal zecimal -Un număr unic la nivelul întregii baze de date Uniqueidentifier -Un identificator unic global (GUID)
- Money – Valori de date monetare de la -263 (-922,337,203,685,477,5808) până la 263 – 1 (+922,337,203,685,477,5807), cu precizie de până la o zecime de miime de unitate monetară
- Smallmoney -Valorile datelor monetare de la -214.748,3648 până la +214,748,3647, cu precizie până la o zecime de miime dintr-o unitate monetară
- Float -Date numerice de precizie flotante de la -1,79E + 308 până la 1,79E + 308
- Real -Date numerice de precizie flotante de la -3,40E + 38 până la 3,40E + 38
- Datetime – Date și date temporale din 1 ianuarie 1753 până la 31 decembrie 9999, cu o precizie de o treime de sutimi de secundă sau 3,33 milisecunde
- Smalldatetime – Date și date temporale de la 1 ianuarie 1900 până la 6 iunie 2079, cu o precizie de un minut
- Char – Date cu caractere non-Unicode cu lungime fixă cu o lungime maximă de 8.000 de caractere
- Varchar – Date non-Unicode cu lungime variabilă, cu maximum 8.000 de caractere
- Text – Date non-Unicode cu lungime variabilă cu o lungime maximă de 231 – 1 (2.147.483.647) caractere
- Binary – Date binare cu lungime fixă cu o lungime maximă de 8.000 octeți
- Varbinary – Date binare cu lungime variabilă cu o lungime maximă de 8.000 octeți
- Image – date binare cu lungime variabilă cu o lungime maximă de 231 – 1 (2.147.483.647) octeți
Bibliografie
Date, C.J. Relational Database Selected Writings. Reading: Mass: Addison-Wesley Publishing Company Inc., 1986, p. 269-311.
Sursa: Adrienne Watt, Database Design – 2nd Edition. Descărcare gratuită de la B.C. Open Textbook Collection. © 2014 Adrienne Watt and Nelson Eng. Licența (inclusiv imagini) CC BY 4.0. Traducere Nicolae Sfetcu
© 2021 MultiMedia Publishing, Baze de date, Volumul 1
Lasă un răspuns