Sunteți pe pagina 1din 2

Tema 6 Modificarea structurii tabelelor. Suprimarea tabelelor.

- adăugarea unei noi coloane,


- modificarea caracteristicilor coloanei,
- modificarea constrângerilor de integritate,
- suprimarea coloanelor și a constrângerilor.

Se poate întâmpla că, după proiectarea structurii unui tabel, să apară necesitatea
includerii sau excluderii unor câmpuri deja create. Aceste sarcini sunt simple in cazul
când tabe cauză nu este completat cu date.

Cu toate acestea, SQL Server permite să se adauge tabelelor (cu date) existente
coloane noi, dacă aceste coloane acceptă valori nule sau sunt create constrângeri
DEFAULT pe aceste coloane. Atunci când intr-un tabel se adaugă o coloană nouă,
SOL Server inserează o valoare în coloană pe fiecare inregistrare existentă. De aceea,
atunci când coloana este adăugată unui tabel, este foarte bine să se specifice pentru
coloană o constrângere DEFAULT. Dacă coloana nouă nu are o definiție DEFAULT,
trebuie să se specifice că coloana acceptă valori nule. SQL Server va insera, în acest
caz, în coloană, valori NULL și va returna o eroare, dacă coloana nouă nu acceptă
valori NULL.

Modificarea proprietăților coloanelor

Coloanele pot fi sterse din tabelele existente sau pot fi modificate proprietățile
coloanelor. İnsă, există cazuri speciale când proprietățile coloanei nu pot fi
modificate:
 Coloana este de tipul TIMESTAMP sau UNIQUEIDENTIFIER.
 Este o coloană calculată (computed) sau este utilizată de o coloană calculată.
 Este folosită într-un index. Exceptie pot fi coloanele de tip VARCHAR,
NVARCHAR, VARBINARY, dacă tipul de date nu se schimbă, ci se
măreşte dimensiunea dat nu este rezultatul constrângerii PRIMARY KEY.
 Coloana este utilizată de statisticile generate de instrucțiunea CREATE
STATISTICS. Excepție pot fi coloanele de tip VARCHAR, NVARCHAR
sau VARBINARY, dacă tipul de date nu se schimbă, ci se măreşte
dimensiunea acestuia sau coloana se schimbă din NOT NULL în NULL
 Coloana este utilizată în PRIMARY KEY sau în constrângerea [FOREIGN
KEY] REFERENCES
 Coloana este utilizată în constrângerile CHECK sau UNIQUE. Insă
schimbarea lungimii coloanelor utilizate în CHECK sau UNIQUE este
posibilă.
 Coloanele asociate cu clauza DEFAULT. Dar, totuşi, este posibilă
modificarea lungimii, preciziei sau scalei coloanei, dacă tipul de date nu este
modificat.
• Dacă tabelul ce conține coloana este partiționat, atunci schimbarea tipului de
date acestei coloane nu este posibilă.
Există și unele constrângeri în ce privește modificarea coloanelor de tipul
TEXT, NTEXT sau IMACE. Atunci cànd se doreste o modificare a tipurilor de date,
trebuie sa se tins cont de faptul că aceste modificari pot duce la modificarea datelor.
De exemplu, reducerea precizie unei coloane poate duce la trunchierea datelor
conținute.

Dacă corstrángerile sus-numite sunt respectate și tabelul nu conține date care


pierdute în urma operațiilor de modificare sau ștergere a coloanelor, atunci
modificarea, inserarea sau ștergerea coloanelor se realizează precum urmează.

Inserarea unui camp nou

Pentru inserarea unui câmp în structura unui tabel:

1. Se face un click cu butonul drept al mouse-ului asupra tabelului care trebuie să


posede un câmp nou.
2. In meniul de context, care s-a deschis, se actionează opțiunea Design
3. Se selectează coloana (câmpul), înainte căreia trebuie sa fie plasată coloana
nouă executánd un click cu butonul drept al mouse-ului.
4. In meniul de context, care s-a deschis se selectează opțiunea Insert Column
5. Se completeaza proprietatile pentru coloana nous.
6. Se face un click pe butonul care reprezinta actiunea de salvate (Save)

Tot aici pot fi editate coloanele deja existente, selectänd cu un clic sotärile ce
trebuie supuse schimbari

Ştergerea unul câmp existent

Pentru ștergerea unui câmp din structura unui tabel.


1. Se executa primii 2 paşi din procedura anterioară (de inserare)
2. Se face un click cu butonul drept al mouse-ului pe coloana care trebuie să fie
exclusă.
3. In meniul de context care s-a deschis, se acționează optiunea Delete Column.
4. Se execută un click pe butonul Save de pe bara de instrumente .