Acțiune sugerată:
Aflați cum să utilizați interogarea de definiție a datelor
Important: Utilizarea cererilor de control pentru modificarea obiectelor bazei de date poate fi periculoasă, deoarece acțiunile nu sunt însoțite de casete de dialog de confirmare. Dacă faceți o greșeală, puteți pierde date sau puteți modifica accidental aspectul mesei. Aveți grijă când utilizați interogarea de definiție a datelor pentru a modifica obiectele din baza de date. Dacă nu sunteți responsabil pentru întreținerea bazei de date pe care o utilizați, contactați administratorul bazei de date înainte de a efectua solicitarea de definiție a datelor. În plus, este recomandat să creați copii de rezervă pentru toate tabelele pe care urmează să executați o astfel de interogare.
Creați și editați un tabel
Pentru a crea o tabelă, utilizați comanda CREATE TABLE. Sintaxa pentru comanda CREATE TABLE este prezentată mai jos.
Doar elementele necesare ale comenzii CREATE TABLE sunt comanda CREATE TABLE în sine, numele tabelului, cel puțin un câmp și tipul de date al fiecărui câmp. Să ne uităm la un exemplu simplu.
Să presupunem că doriți să creați un tabel pentru a stoca marca, modelul anului si pretul masinii utilizat pe care intenționați să cumpere. Numele ștampilei poate dura până la 30 de caractere, un an - 4 caractere. Pentru a crea o interogare pentru a crea acest tabel, urmați acești pași:
Notă: Mai întâi trebuie să includeți conținutul bazei de date, în caz contrar, solicitați o definiție a datelor pentru a începe.
În bara de mesaje, faceți clic pe butonul Opțiuni, apoi pe Enable this content.
În fila Creare, în grupul Altele, faceți clic pe butonul Design de interogare.
Închideți caseta de dialog Adăugare tabelă.
În fila Constructor, în grupul Tip de interogare, faceți clic pe Definiție date.
Grilă de designer dispare, apare fila obiect Modul SQL.
Introduceți următoarea instrucțiune SQL:
CREATE TABLE Masini (Nume TEXT (30), Anul TEXT (4), Pret CURRENCY)
În fila Constructor, în grupul Rezultate, faceți clic pe Executare.
Schimbarea unui tabel
Pentru a modifica tabelul, utilizați comanda ALTER TABLE. Cu aceasta puteți adăuga, edita și șterge coloane și constrângeri. Sintaxa pentru comanda ALTER TABLE este prezentată mai jos.
ALTER TABLE predicat nume_tabel
unde predicatul poate fi oricare dintre următoarele:
ADD COLUMN tip câmp [(dimensiune)] [NU NULL] [constrângere CONSTRAINT]
ADD CONSTRAINT multifield_constraint
Tipul câmpului ALTER COLUMN [(dimensiune)]
Camp DROP COLUMN
Constrângerea DROP CONSTRAINT
Să presupunem că doriți să adăugați un câmp de 10 caractere pentru a stoca informații despre starea fiecărei mașini. Pentru a face acest lucru, puteți face următoarele:
În fila Creare, în grupul Altele, faceți clic pe butonul Design de interogare.
Închideți caseta de dialog Adăugare tabelă.
În fila Constructor, în grupul Tip de interogare, faceți clic pe Definirea datelor.
Grilă de designer dispare, apare fila obiect Modul SQL.
Introduceți următoarea instrucțiune SQL:
ALTER TABLE Autovehicule ADAUGATI COLOANA Conditie TEXT (10)
În fila Constructor, în grupul Rezultate, faceți clic pe Executare.
Crearea unui index
Pentru a crea un index al unui tabel existent, utilizați comanda CREATE INDEX. Sintaxa comenzii CREATE INDEX este prezentată mai jos.
Elementele necesare sunt numai comanda CREATE INDEX în sine, numele indexului, argumentul ON, numele tabelului cu câmpurile pe care doriți să le indexați și lista câmpurilor incluse în index.
Argumentul DESC cere să creați un index în ordine descrescătoare, care poate fi util atunci când rulați frecvent interogări pentru a găsi valori maxime într-un câmp indexat sau pentru a sorta acest câmp în ordine descrescătoare. În mod prestabilit, indexul este creat în ordine crescătoare.
Argumentul cu BASIC stabilește câmpul sau câmpurile indexate ca cheie primară a tabelului.
Argumentul WITH DISALLOW NULL indică faptul că câmpul indexat trebuie să conțină o anumită valoare (adică interzice utilizarea valorilor NULL).
Să presupunem că există o masă (mașini) cu câmpuri pentru păstrarea mărcii, anul de fabricație, prețurile și starea mașinilor uzate care sunt planificate a fi cumpărate. De asemenea, să presupunem că masa a devenit prea mare și că domeniul anului este adesea folosit în interogări. Pentru ca astfel de interogări să returneze rapid rezultatele, puteți crea un index pentru câmpul An. Pentru aceasta, urmați acești pași:
În fila Creare, în grupul Altele, faceți clic pe butonul Design de interogare.
Închideți caseta de dialog Adăugare tabelă.
În fila Constructor, în grupul Tip de interogare, faceți clic pe Definirea datelor.
Grilă de designer dispare, apare fila obiect Modul SQL.
Introduceți următoarea instrucțiune SQL:
CREEAȚI INDEX AnulIndex ON Cars (Year)
În fila Constructor, în grupul Rezultate, faceți clic pe Executare.
Crearea unei constrângeri sau a unei legături
O constrângere este o condiție logică care trebuie îndeplinită pentru un câmp sau o combinație de câmpuri atunci când se introduc valori. De exemplu, o constrângere unică nu permite să intre în valorile câmpurilor corespunzătoare care au loc deja în acest domeniu.
Puteți crea o constrângere utilizând comanda CREATE TABLE sau ALTER TABLE cu clauza CONSTRAINT. Există două tipuri de propuneri de precizare: se creează o constrângere pentru un câmp, iar al doilea - pentru cei puțini.
Restricții la un câmp
Clauza CONSTRAINT, care creează o constrângere pentru un câmp, urmează imediat definiția acestui câmp și are următoarea sintaxă:
Să presupunem că există o masă de mașini cu câmpuri pentru stocarea mărcii, anul de producție, prețurile și starea mașinilor uzate care sunt planificate a fi cumpărate. De asemenea, presupuneți că utilizatorul uită de multe ori să introducă valoarea de stare a vehiculului, deși această informație este necesară. Pentru a împiedica ca câmpul de stare să fie lăsat necompletat, puteți crea o constrângere pentru acesta. Pentru aceasta, urmați acești pași:
În fila Creare, în grupul Altele, faceți clic pe butonul Design de interogare.
Închideți caseta de dialog Adăugare tabelă.
În fila Constructor, în grupul Tip de interogare, faceți clic pe Definiție date.
Grilă proiectant dispare, apare fila obiect Modul SQL.
Introduceți următoarea instrucțiune SQL:
ALTER TABLE Autovehicule ALTER COLUMN Condiție TEXT CONSTRAINT StareRequired NU NULL
În fila Constructor, în grupul Rezultate, faceți clic pe Executare.
Să presupunem că după un timp veți observa că există multe valori similare în câmpul condiție, care ar trebui să fie aceleași. De exemplu, unele mașini au o valoare scăzută a condițiilor și alți utilizatori au valoarea rău. După ștergerea valorilor astfel încât acestea să fie mai coerente, puteți crea un tabel numit CarCondition și un câmp numit condiție care conține toate valorile pe care doriți să le utilizați pentru starea autoturismelor:
În fila Creare, în grupul Altele, faceți clic pe butonul Design de interogare.
Închideți caseta de dialog Adăugare tabelă.
În fila Constructor, în grupul Tip de interogare, faceți clic pe Definirea datelor.
Grilă de designer dispare, apare fila obiect Modul SQL.
Introduceți următoarea instrucțiune SQL:
CREATE TABLE CarCondition (condiție TEXT (10))
În fila Constructor, în grupul Rezultate, faceți clic pe Executare.
Pentru a introduce valorile în câmpul Condition din tabelul Cars în noua tabelă CarCondition, introduceți următoarea interogare SQL în fila Obiecte de mod SQL:
INSCRIEȚI ÎN CONDIȚII DE CARACTERISTICĂ SELECTAȚI DISTINCT CONDIȚIE DE LA Mașini;
Notă: Instrucțiunea SQL din acest pas este o cerere de adăugare. Spre deosebire de cererea de control al cererii, cererea se încheie cu un punct și virgulă.
În fila Constructor, în grupul Rezultate, faceți clic pe Executare.
Pentru a indica faptul că toate valorile noi introduse în câmpul Condition din tabelul Cars trebuie să se potrivească cu una dintre valorile din câmpul Condition din tabelul CarCondition, creați o legătură între tabelele CarCondition și Cars în câmpul Condition, efectuând următoarele:
În fila Creare, în grupul Altele, faceți clic pe butonul Design de interogare.
Închideți caseta de dialog Adăugare tabelă.
În fila Constructor, în grupul Tip de interogare, faceți clic pe Definiție date.
Grilă de designer dispare, apare fila obiect Modul SQL.
Introduceți următoarea instrucțiune SQL:
ALTER TABLE Masini ALTER COLUMN Stare TEXT CONSTRAINT FKeyCondition REFERINTE CarCondition (Conditie)
În fila Constructor, în grupul Rezultate, faceți clic pe Executare.
Restricții în mai multe domenii
Clauza CONSTRAINT a câtorva câmpuri poate fi utilizată numai din definiția câmpului de teză și are următoarea sintaxă:
Să ne uităm la un alt exemplu de utilizare a meselor de mașini. Să presupunem că doriți să vă asigurați că nici două înregistrări din tabelul mașinilor nu au un set de valori pentru numele, anul, condițiile și prețurile. Puteți crea unicitatea pe care o aplicați acestor câmpuri, efectuând următoarele:
În fila Creare, în grupul Altele, faceți clic pe butonul Design de interogare.
Închideți caseta de dialog Adăugare tabelă.
În fila Constructor, în grupul Tip de interogare, faceți clic pe Definirea datelor.
Grilă proiectant dispare, apare fila obiect Modul SQL.
Introduceți următoarea instrucțiune SQL:
ALTER TABLE Masini ADD CONSTRAINT NoDupes UNIQUE (nume, an, conditie, pret)
În fila Constructor, în grupul Rezultate, faceți clic pe Executare.