Sql
Comenzi SQL de definire a datelorComenzi SQL de definire a datelorDintre comenzile SQL de definire a datelor, in aceasta lucrare se vor studia comenzile de creare, modificare si stergere a tabelelor. Pentru crearea unui tabel se definesc atributele tuplurilor relatiei corespunzatoare, domeniile atributelor si diferite constrangeri pe care datele inregistrate (valori ale atributelor) trebuie sa le respecte pentru asigurarea integritatii (corectitudinii) bazei de date. In limbajul SQL2 un tabel se creeaza folosind comanda CREATE TABLE, care are urmatoarea sintaxa CREATE TABLE nume_tabel ( nume_atribut_1 domeniu_atribut_1 [constrangeri_atribut_1 nume_atribut_2 domeniu_atribut_2 [constrangeri_atribut_2 nume_atribut_n domeniu_atribut_n [constrangeri_atribut_n [constrangeri_tabel] Constrangerile impuse fiecarui atribut, ca si constrangerile de tabel, sunt optionale si vor fi prezentate pe parcursul mai multor lucrari. Ca exemplu, crearea tabelului ANGAJAT arata astfel (intr-o forma simplificata, care va fi completata ulterior) CREATE TABLE ANGAJAT ( IdAngajat char(4) PRIMARY KEY, Nume varchar(50)NOT NULL, Prenume varchar(50), DataNasterii Date, Adresa varchar (100), Functia varchar (20 Salariu numeric(8) DEFAULT 1800); Tabelul SECTIE se poate crea cu comanda: CREATE TABLE SECTIE ( IdSectie char(4) PRIMARY KEY, Nume varchar(50) NOT NULL, Buget numeric(8)); Se pot introduce una sau mai multe constrangeri de atribut (coloana) ca: PRIMARY KEY, NOT NULL, DEFAULT. Constrangerea de atribut PRIMARY KEY defineste atributul pe care il insoteste ca fiind cheie primara, adica un identificator unic al tuplurilor relatiei respective. Intr-o relatie nu pot exista doua sau mai multe tupluri cu aceeasi valoare a cheii primare. Constrangerea NOT NULL specifica fapul ca atributul respectiv nu poate lua valori nedefinite (NULL). Constrangerea DEFAULT introduce o valoare implicita a atributului respectiv, care va fi folosita la initializarea valorilor unui tuplu nou introdos, atunci cand nu se specifica o valoare pentru acest atribut. In lipsa parametrului DEFAULT, valorile implicite ale atributelor depind doar de tipul atributului (numerele reale primesc valoarea implicita 0, sirurile de caractere sunt siruri vide, etc).
Tabelele create cu instructiunea CREATE TABLE sunt numite si tabele de baza; ele sunt memorate in fisierele bazei de date si pot fi accesate pentru introducerea, modificarea si regasirea (interogarea) datelor. Instructiunea de modificare a tabelelor (ALTER TABLE) permite adaugarea sau stergerea unor atribute, modificarea domeniilor unor atribute, precum si adaugarea, modificarea sau stergerea unor constrangeri ale tabelului. De exemplu, instructiunea de adaugare a atributului DataAngajarii in tabelul ANGAJATI se scrie in felul urmator ALTER TABLE ANGAJAT ADD DataAngajarii Date; Pentru stergerea unui atribut (coloana) dintr-un tabel, in instructiunea ALTER TABLE se foloseste cuvantul-cheie DROP. De exemplu, stergerea atributului Functie din tabelul ANGAJAT se poate face cu comanda: ALTER TABLE ANGAJAT DROP Functie; Instructiunea de stergere a unui tabel este DROP TABLE nume_tabel; Dupa introducerea sau stergerea tabelelor intr-o baza de date, se poate afla ce tabele mai exista in baza de date respectiva prin comanda SHOW TABLES. Structura fiecarui tabel existent se poate afla cu comanda DESCRIBE nume_tabel. De exemplu, dupa definirea tabelului ANGAJAT si a modificarii lui cu comenzile de mai sus, la comanda DESCRIBE ANGAJAT; se va obtine urmatoarea descriere a tabelului:
Coloana Functia se poate reintroduce in tabelul ANGAJAT folosind din nou comanda ALTER TABLE.
|