Crearea sau modificarea tabelelor sau indexurilor utilizând o interogare de definiție date

Important: Acest articol este tradus automat, consultați exonerarea de răspundere. Versiunea în limba engleză a acestui articol se poate găsi aici pentru referință.

Aveți posibilitatea să creați și să modificați tabele, restricții, indexuri și relații scriind interogări de definiții date în vizualizarea SQL.

Acest articol prezintă interogările de definiție date și modul în care se utilizează acestea pentru a crea tabele, restricții, indexuri și relații. Acest articol vă poate ajuta de asemenea să decideți când trebuie folosită o interogare de definiție date.

Notă: Nu aveți posibilitatea să utilizați aceste proceduri într-o bază de date Web.

În acest articol

Prezentare generală

Crearea sau modificarea unui tabel

Crearea unui index

Creați o restricție sau o relație

Prezentare generală

Spre deosebire de alte interogări, interogarea de definiție date nu poate regăsi date. În schimb, interogarea de definiție date utilizează Data Definition Language pentru a crea, modifica sau șterge obiecte din baza de date.

Notă: Data Definition Language (DDL) face parte din Structured Query Language (SQL).

Interogările de definiție date pot fi foarte convenabile. Aveți posibilitatea să ștergeți și să creați din nou în mod regulat părți din schema bazei de date doar prin executarea unor interogări. Utilizați o interogare de definiție date dacă sunteți familiarizat cu instrucțiunile SQL și plănuiți să ștergeți și să creați din nou anumite tabele, restricții, indexuri sau relații.

Avertisment: Utilizarea interogărilor de definiție date pentru modificarea obiectelor din baza de date poate fi riscantă, deoarece acțiunile nu sunt însoțite de casete de dialog de confirmare. Dacă faceți o greșeală, este posibil să pierdeți date sau să schimbați în mod nedorit proiectarea unui tabel. Utilizați cu grijă interogările de definiție date pentru modificarea obiectelor din baza de date. Dacă nu sunteți responsabil cu întreținerea bazei de date pe care o utilizați, consultați administratorul bazei de date înainte de a executa o interogare de definiție date.

Important: Creați o copie de rezervă a oricărui tabel implicat înainte de a executa o interogare de definiție date.

Cuvinte cheie DDL

Cuvânt cheie

Utilizare

CREATE

Creează un index sau un tabel care nu a existat anterior.

ALTER

Modifică un tabel sau o coloană existentă.

DROP

Șterge un tabel, o coloană sau o restricție existentă.

ADD

Adaugă o coloană sau o restricție la un tabel.

COLUMN

Se utilizează cu ADD, ALTER sau DROP

CONSTRAINT

Se utilizează cu ADD, ALTER sau DROP

INDEX

Se utilizează cu CREATE

TABLE

Se utilizează cu ALTER, CREATE sau DROP

Începutul paginii

Crearea sau modificarea unui tabel

Pentru a crea un tabel, utilizați comanda CREATE TABLE. O comandă CREATE TABLE are următoarea sintaxă:

CREATE TABLE table_name 
(field1 type [(size)] [NOT NULL] [index1]
[, field2 type [(size)] [NOT NULL] [index2]
[, ...][, CONSTRAINT constraint1 [, ...]])

Singurele elemente obligatorii dintr-o comandă CREATE TABLE sunt comanda CREATE TABLE în sine și numele tabelului, însă, de obicei, este bine să definiți unele câmpuri sau alte elemente ale tabelului. Să observăm următorul exemplu:

Să presupunem că doriți crearea unui tabel care să stocheze numele, anul și prețul mașinilor folosite pe care plănuiți să le cumpărați. Doriți ca numele să aibă cel mult 30 de caractere, iar anul să aibă 4 caractere. Pentru a utiliza o interogare de definiție date pentru a crea tabelul, procedați astfel:

Notă: Mai întâi, trebuie să activați conținutul bazei de date pentru a fi posibilă executarea unei interogări de definiție date:

  • În Bara de mesaje, faceți clic pe Activare conținut.

Crearea unui tabel

  1. Pe fila Creare, în grupul Macrocomenzi și cod, faceți clic pe Proiectare interogare.

  2. Închideți caseta de dialog Afișare tabel.

  3. În fila Proiect, în grupul Tip interogare, faceți clic pe Definiție date.

    Grila de proiect este ascunsă, iar fila obiectului vizualizare SQL este afișată.

  4. Tastați următoarea instrucțiune SQL:

    CREARE TABEL mașini (nume TEXT(30), an TEXT(4), preț MONEDĂ)

  5. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

Modificarea unui tabel

Pentru a modifica un tabel, utilizați comanda ALTER TABLE. Utilizați o comandă ALTER TABLE pentru a adăuga, a modifica sau a elimina coloane sau restricții. Comanda ALTER TABLE are următoarea sintaxă:

ALTER TABLE table_name predicate

în cazul în care predicat poate fi oricare dintre următoarele:

ADD COLUMN field type[(size)] [NOT NULL] [CONSTRAINT constraint]

ADD CONSTRAINT multifield_constraint

ALTER COLUMN field type[(size)]

DROP COLUMN field

DROP CONSTRAINT constraint

Să presupunem că adăugați un câmp text de 10 caractere pentru stocarea informațiilor despre starea fiecărei mașini. Pentru aceasta, procedați astfel:

  1. Pe fila Creare, în grupul Macrocomenzi și cod, faceți clic pe Proiectare interogare.

  2. Închideți caseta de dialog Afișare tabel.

  3. În fila Proiect, în grupul Tip interogare, faceți clic pe Definiție date.

    Grila de proiect este ascunsă, iar fila obiectului vizualizare SQL este afișată.

  4. Tastați următoarea instrucțiune SQL:

    ALTER MASĂ mașini Adăugare COLOANĂ condiție TEXT(10)

  5. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

Începutul paginii

Crearea unui index

Pentru a crea un index pentru un tabel existent, utilizați o comandă CREATE INDEX. O comandă CREATE INDEX are următoarea sintaxă:

CREATE [UNIQUE] INDEX index_name
ON table (field1 [DESC][, field2 [DESC], ...])
[WITH {PRIMARY | DISALLOW NULL | IGNORE NULL}]

Singurele elemente obligatorii sunt comanda CREATE INDEX, numele indexului, argumentul ON, numele tabelului care conține câmpurile pe care doriți să le indexați și lista de câmpuri care va fi adăugată la indexare.

  • Argumentul DESC determină crearea indexului în ordine descendentă, ceea ce poate fi util dacă executați frecvent interogări care caută valori superioare pentru câmpul indexat sau care sortează câmpul indexat în ordine descendentă. Implicit, un index se creează în ordine ascendentă.

  • Argumentul CU PRINCIPAL stabilește indexate câmpul sau câmpurile ca cheie primară a tabelului.

  • Argumentul WITH DISALLOW NULL determină indexul să solicite introducerea unei valori pentru câmpul indexat, adică nu se permit valori Null.

Să presupunem că aveți un tabel denumit Mașini cu câmpuri care stochează numele, anul, prețul și starea mașinilor uzate pe care plănuiți să le cumpărați. De asemenea, să presupunem că tabelul a devenit mare și că adăugați frecvent câmpul de an în interogări. Aveți posibilitatea să creați un index în câmpul An pentru ca interogările să returneze rezultate mai rapid, utilizând următoarea procedură.

  1. Pe fila Creare, în grupul Macrocomenzi și cod, faceți clic pe Proiectare interogare.

  2. Închideți caseta de dialog Afișare tabel.

  3. În fila Proiect, în grupul Tip interogare, faceți clic pe Definiție date.

    Grila de proiect este ascunsă, iar fila obiectului vizualizare SQL este afișată.

  4. Tastați următoarea instrucțiune SQL:

    CREAREA INDEX activat YearIndex mașini (an)

  5. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

Începutul paginii

Crearea unei restricții sau a unei relații

O restricție stabilește o condiție logică care trebuie respectată de un câmp sau de o combinație de câmpuri atunci când se introduc valori. De exemplu, o restricție UNIQUE împiedică câmpul restricționat să accepte o valoare care dublează o valoare existentă pentru acel câmp.

O relație este un tip de restricție care face referire la valorile unui câmp sau ale unei combinații de câmpuri din alt tabel pentru a stabili dacă o valoare se poate introduce în câmpul restricționat sau în combinația de câmpuri restricționate. Nu se utilizează un cuvânt cheie special pentru a arăta că o restricție este o relație.

Pentru a crea o restricție, utilizați clauza CONSTRAINT într-o comandă CREATE TABLE sau ALTER TABLE. Există două tipuri de clauze CONSTRAINT: una pentru crearea unei restricții într-un singur câmp și alta pentru crearea unei restricții în mai multe câmpuri.

Restricții pentru un singur câmp

O clauză CONSTRAINT pentru un singur câmp urmează imediat după definiția câmpului pe care îl restricționează și are următoarea sintaxă:

CONSTRAINT constraint_name {PRIMARY KEY | UNIQUE | NOT NULL |
REFERENCES foreign_table [(foreign_field)]
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Să presupunem că aveți un tabel denumit Mașini cu câmpuri care stochează numele, anul, prețul și starea mașinilor uzate pe care plănuiți să le cumpărați. De asemenea, să presupunem că uitați deseori să puneți o valoare pentru starea mașinii și că este necesar să înregistrați întotdeauna aceste informații. Aveți posibilitatea să creați o restricție în câmpul Stare care va împiedica lăsarea câmpul necompletat, utilizând următoarea procedură:

  1. Pe fila Creare, în grupul Macrocomenzi și cod, faceți clic pe Proiectare interogare.

  2. Închideți caseta de dialog Afișare tabel.

  3. În fila Proiect, în grupul Tip interogare, faceți clic pe Definiție date.

    Grila de proiect este ascunsă, iar fila obiectului vizualizare SQL este afișată.

  4. Tastați următoarea instrucțiune SQL:

    ALTER TABEL mașini ALTER COLOANA stare TEXT RESTRICȚIE ConditionRequired NENULE

  5. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

Să presupunem că, după un timp, observați că există multe valori asemănătoare în câmpul Condiție, care ar trebui să fie identice. De exemplu, unele dintre mașini au o valoare slabă pentru Condiție, iar altele valoarea proastă.

Notă: Dacă doriți să parcurgeți și procedurile rămase, adăugați niște date fictive la tabelul Mașini pe care l-ați creat în pașii anteriori.

După ce aranjați valorile astfel încât să fie mai uniforme, aveți posibilitatea să creați un tabel, denumit StareMașină, cu un câmp numit Stare care să conțină toate valorile pe care doriți să le utilizați pentru starea mașinilor:

  1. Pe fila Creare, în grupul Macrocomenzi și cod, faceți clic pe Proiectare interogare.

  2. Închideți caseta de dialog Afișare tabel.

  3. În fila Proiect, în grupul Tip interogare, faceți clic pe Definiție date.

    Grila de proiect este ascunsă, iar fila obiectului vizualizare SQL este afișată.

  4. Tastați următoarea instrucțiune SQL:

    CREARE TABEL CarCondition (condiție TEXT(10))

  5. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

  6. Creați o cheie primară pentru tabel, utilizând o instrucțiune ALTER TABLE:

    ALTER TABEL CarCondition ALTER COLOANA stare TEXT RESTRICȚIE CarConditionPK CHEIE PRIMARĂ

  7. Pentru a insera valorile din câmpul Stare din tabelul Mașini în tabelul nou StareMașini, tastați următorul cod SQL în fila obiectului vizualizare SQL:

    INSERAȚI ÎN CarCondition SELECTAȚI condiția DISTINCTE DIN mașini;

    Notă: Declarația SQL în acest pas este o interogare de adăugare. Spre deosebire de o interogare de definiție date, o interogare de adăugare se termină cu un punct și virgulă.

  8. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

Crearea unei relații prin utilizarea unei restricții

Pentru a solicita ca orice valoare nouă introdusă în câmpul Stare din tabelul Mașini să coincidă cu o valoare din câmpul Stare din tabelul StareMașină, creați o relație între StareMașină și Mașini în câmpul denumit Stare, utilizând următoarea procedură:

  1. Pe fila Creare, în grupul Macrocomenzi și cod, faceți clic pe Proiectare interogare.

  2. Închideți caseta de dialog Afișare tabel.

  3. În fila Proiect, în grupul Tip interogare, faceți clic pe Definiție date.

    Grila de proiect este ascunsă, iar fila obiectului vizualizare SQL este afișată.

  4. Tastați următoarea instrucțiune SQL:

    ALTER TABEL mașini ALTER COLOANA stare TEXT RESTRICȚIE FKeyCondition REFERINȚE CarCondition (condiții)

  5. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

Restricții de tip câmpuri multiple

O clauză CONSTRAINT cu câmpuri multiple se poate utiliza numai în afara unei clauze de definiție de câmp și are următoarea sintaxă:

CONSTRAINT constraint_name 
{PRIMARY KEY (pk_field1[, pk_field2[, ...]]) |
UNIQUE (unique1[, unique2[, ...]]) |
NOT NULL (notnull1[, notnull2[, ...]]) |
FOREIGN KEY [NO INDEX] (ref_field1[, ref_field2[, ...]])
REFERENCES foreign_table
[(fk_field1[, fk_field2[, ...]])] |
[ON UPDATE {CASCADE | SET NULL}]
[ON DELETE {CASCADE | SET NULL}]}

Să analizăm un alt exemplu care utilizează tabelul Mașini. Să presupunem că vreți să vă asigurați că nu există două înregistrări în tabelul Mașini cu același set de valori pentru Nume, An, Stare și Preț. Creați o restricție UNIQUE care se aplică pentru aceste câmpuri utilizând următoarea procedură:

  1. Pe fila Creare, în grupul Macrocomenzi și cod, faceți clic pe Proiectare interogare.

  2. Închideți caseta de dialog Afișare tabel.

  3. În fila Proiect, în grupul Tip interogare, faceți clic pe Definiție date.

    Grila de proiect este ascunsă, iar fila obiectului vizualizare SQL este afișată.

  4. Tastați următoarea instrucțiune SQL:

    ALTER TABLE mașini ADĂUGAREA RESTRICȚIE NoDupes UNICE (nume, an, condiție, preț)

  5. Pe fila Proiect, în grupul Rezultate, faceți clic pe Execuție.

Începutul paginii

Notă: Exonerare de răspundere pentru traducere automată: Acest articol a fost tradus de un sistem computerizat, fără intervenție umană. Microsoft oferă aceste traduceri automate pentru a ajuta utilizatorii vorbitori de alte limbi decât engleza să beneficieze de conținutul despre produsele, serviciile și tehnologiile Microsoft. Pentru că articolul a fost tradus de un computer, poate conține erori de vocabular, sintaxă sau gramatică.

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×