Limbajul de definire a datelor
Această intrare sau secțiune despre limbaje de programare nu menționează sursele necesare sau cei prezenți sunt insuficienți . |
În informatică, Limbajul de definire a datelor ( DDL ) este un limbaj , parte a limbajului SQL , care vă permite să creați, să modificați sau să ștergeți obiecte dintr-o bază de date sau să acționați în schema bazei de date . Comenzile DDL definesc structura bazei de date și, prin urmare, organizarea logică a datelor conținute în aceasta, dar nu oferă instrumente pentru a modifica valorile asumate de date sau pentru a interoga datele în sine pentru care Limbajul de manipulare a datelor este respectiv utilizat și Limbajul interogării datelor . Este utilizat atât în faza de proiectare , cât și în faza de restructurare a bazei de date. Pentru a acționa asupra structurii bazei de date, utilizatorul trebuie să aibă permisiunile necesare, atribuite prin Limbajul de control al datelor (DCL).
Domenii
Creați un domeniu
În plus față de tipuri precum întreg, char, float, ... putem crea altele: creația este similară cu o redenumire a unui tip fundamental văzut printre cele de mai sus sau a unui tip creat de la zero, moștenind toate caracteristicile sale.
Creați sintaxa comenzii de domeniu
CREAȚI DOMENIU nume_domeniu tip AS [ SetValue ] [ Constraint ] { DefSchema }
Creați un tip de nume nume_domeniu pornind de la un tip anterior, setând o valoare implicită opțională și un set de constrângeri. Această operație vă permite să definiți o singură dată toate caracteristicile (constrângerile) care pot fi asociate cu un atribut, atunci când acesta este utilizat în mai multe tabele, evitând astfel redundanțele.
Drop Domain
Ștergeți un domeniu definit de utilizator.
Sintaxa comenzii Drop Domain
DROP DOMAIN domeniu_nume [ CASCADE | RESTRICȚIE ]
Dacă este specificat CASCADE
, toate coloanele tabelelor aparținând domeniului respectiv vor fi șterse odată cu acesta. Dacă specificați RESTRICT
, care este implicit, acest lucru nu se va face.
Scheme
Creați schemă
Schema este o colecție a tuturor obiectelor care vor face parte din baza de date, adică domenii, tabele, vizualizări, privilegii, afirmații. Este un pic ca partea declarativă a unui program scris într-un limbaj imperativ: mai întâi creăm tipurile, funcțiile și procedurile, apoi le folosim în corp.
Creați sintaxa comenzii schemei
CREATE SCHEMA [NomeSchema] [[autorization] Autorizație] {DefElementoSchema}
Autorizarea este numele utilizatorului care deține schema; dacă lipsește, se presupune că utilizatorul a emis comanda. SchemaName poate fi omis: în acest caz, numele va fi cel al utilizatorului proprietar. Pentru fiecare utilizator există autorizații, adică putem impune anumite limite celor care interogă baza noastră de date .
Schema de renunțare
Ștergeți o schemă deja definită.
Sintaxa comenzii Drop Schema
DROP SCHEMA nume_schemă [ CASCADE | RESTRICȚIE ]
Dacă este specificat CASCADE
, toate obiectele care fac parte din schemă vor fi șterse. Dacă specificați RESTRICT
, care este valoarea implicită, obiectele care fac parte din schemă vor fi păstrate.
Bază de date
Creați o bază de date
Comanda CREATE DATABASE
este utilizată pentru a crea o nouă bază de date, care poate conține tabele, vizualizări, proceduri stocate, declanșatoare sau alte tipuri de obiecte.
Creați sintaxa comenzii bazei de date
Sintaxa este următoarea:
CREAȚI { BAZA DE DATE | SCHEMA } nume_bază de date
[ create_specification [, create_specification ] ...]
create_specification :
[ DEFAULT ] CHARACTER SET charset_name
| [ DEFAULT ] COLLATE colation_name
Dacă [IF NOT EXISTS]
este specificat la executarea comenzii, baza de date este creată numai dacă nu există, altfel nu va fi returnată nicio eroare. Șirul create_specification vă permite să inserați opțiuni atunci când creați baza de date. CHARACTER SET
inserează setul de caractere acceptat în baza de date. Prin COLLATE
puteți defini datele implicite ale bazei de date.
Modificați baza de date
Comanda ALTER DATABASE
este utilizată pentru a modifica o bază de date existentă. Nu există în standardul SQL, dar majoritatea SGBD îl implementează.
Modificați sintaxa comenzii bazei de date
Sintaxa este următoarea:
ALTER { BAZA DE DATE | } SCHEMA [nume_bazădedate]
[ DEFAULT ] CHARACTER SET charset_name
| [ DEFAULT ] COLLATE colation_name
Eliminați baza de date
Comanda DROP DATABASE
este utilizată pentru a renunța la o bază de date. Această comandă nu există în standardul SQL, dar toate SGBD-urile o implementează.
Eliminați sintaxa comenzii bazei de date
Sintaxa este următoarea:
DROP DATABASE database_name
Mese
Creați o masă
Comanda CREATE TABLE
are funcția de a crea un nou tabel (sau tabel).
Numele tabelului poate fi scris fie cu litere mari, fie cu litere mici, în orice caz, cu toate acestea, trebuie să respecte următoarele reguli:
- Poate consta din litere și cifre, dar primul caracter trebuie să fie întotdeauna o literă;
- Nu poate depăși 30 de caractere în lungime;
- Nu poate avea același nume ca un tabel sau o vizualizare care există deja pe același utilizator de bază de date.
Pe lângă definirea atributelor unui tabel, este posibil să se definească constrângeri.
Tabelul poate fi creat gol (vezi tabelul de creare simplă) sau poate fi creat și completat cu date (vezi tabelul de creare folosind select ): în al doilea caz structura tabelului este definită implicit de numărul de coloane (sau câmpuri) extrase din select, din tipul de date al fiecărei coloane și din numele coloanelor respective extrase din select (sau din aliasurile aplicate acestora). Dacă tabelul este completat în timpul creării, tranzacția este terminată automat printr-o comandă commit .
Constrângeri de integritate
Există cuvinte rezervate pentru a implementa constrângerile de integritate cu SQL .
Constrângeri intrarelaționale
-
NOT NULL
: Constrângerea not null indică faptul că valoarea nulă nu este permisă ca valoare de atribut; în acest caz, atributul trebuie să fie întotdeauna specificat de obicei în timpul fazei de inserție. Cu toate acestea, dacă atributul este asociat cu o valoare implicită, alta decât nulă, devine posibilă inserarea acestuia chiar și fără a furniza o valoare a atributului, deoarece valoarea implicită este atribuită automat atributului. -
UNIQUE
: O constrângere unică se aplică unui atribut sau unui set de atribute ale unui tabel și forțează valorile atributelor (sau tuplurile de valori din setul de atribute) să fie o (super) cheie, adică rânduri diferite de tabelul nu pot apărea pe linii diferite fără a încălca constrângerea, deoarece se presupune că valorile nule sunt toate diferite una de cealaltă. -
PRIMARY KEY
: La definirea unui tabel este necesar să se specifice cheia primară pentru fiecare relație, cel mai important dintre identificatorii relației. SQL vă permite astfel să specificați constrângerea cheii primare o singură dată pentru fiecare tabel. Constrângerea cheii primare poate fi definită direct pe un singur atribut sau poate fi definită prin listarea mai multor atribute care alcătuiesc identificatorul.
Constrângeri interrelaționale
Pentru gestionarea acestui tip de constrângeri FOREIGN KEY
este utilizat ( de exemplu , cheie externă). Această constrângere creează o legătură între valorile unui atribut al tabelului curent și valorile unui atribut al unui alt tabel, care este relativ la tabelul curent în sine. Constrângerea necesită ca pentru fiecare rând al tabelului valoarea atributului specificat dacă este diferită de valoarea nulă este prezentă în rândurile tabelului extern între valorile corespunzătoare ale atributului.
Creați sintaxa comenzii tabelului
- Creație simplă (adăugarea unui
CONSTRAINT
este opțional):
CREATE TABLE table_name (
column_name1 tip de date CONSTRAINT,
column_name2 tip de date CONSTRAINT,
nome_colonna3 tip de date CONSTRAINT,
...
nome_colonnaN tip de date CONSTRAINT);
- Crearea folosind selectați:
CREATE TABLE nume_tabel
LA FEL DE
SELECTA ...;
Modificați masa
- Comanda
ALTER TABLE
are funcția de a modifica structura tabelului. - Operatorul
ADD
vă permite să inserați o nouă coloană pe un tabel existent sau să adăugați constrângeri coloanelor tabelului. - Operatorul
MODIFY
vă permite să modificați tipul de date și / sau constrângerea fiecărei coloane a unui tabel. - Operatorul
DROP
vă permite să renunțați la constrângere din coloană.
Modificați sintaxa comenzii tabelului
Adăugați operator
- Se introduce o nouă coloană:
ALTER TABLE nume_tabel
ADD CONSTRAINT data_type column_name_new;
- Adăugarea unei chei principale:
ALTER TABLE nume_tabel
ADĂUGAȚI CONSTRAINT table_name_pk
CHEIE PRIMARĂ ( nume_coloană )); / * acționând ca cheie primară * /
- Adăugarea unui index:
ALTER TABLE nume_tabel
ADĂUGAȚI CONSTRAINT table_name_pk
ADĂUGAȚI INDEX index_name ( column_name )
- Adăugarea unei chei străine moștenite dintr-un alt tabel:
ALTER TABLE table_name_daughter
ADĂUGAȚI CONSTRAINT table_name_fk_daughter
CHEIE STRĂINĂ ( nume_coloană ) / * acționând ca o cheie străină pe masa copilului * /
REFERINȚE nume_tabel_tată ( nume_coloană )); / * acționând ca cheie principală pe tabela părinte * /
Modificarea operatorului
- Modificarea tipului de date al unei coloane:
ALTER TABLE nume_tabel
MODIFICĂ din nou tipul de date nume_coloană ; / * noul tip de date trebuie să fie compatibil * /
- Modificarea constrângerii unei coloane:
ALTER TABLE nume_tabel
MODIFICĂ nume_coloană CONSTRAINT nou ;
Operator drop
- Ștergerea cheii principale:
ALTER TABLE nume_tabel
DROP CHEIE PRIMARĂ ;
- Ștergeți cheia străină:
ALTER TABLE table_name_daughter
DROP CONSTRAINT table_name_daughter_fk ;
Picătură de masă
Comanda DROP TABLE
vă permite să distrugeți un tabel scăpându-l fizic din baza de date. Ca toate comenzile DDL, este o operație ireversibilă și provoacă pierderea tuturor datelor conținute în tabel.
Sintaxa comenzii drop table
DROP TABLE table_name [ CASCADE | RESTRICȚIE ]
Redenumiți
Comanda RENAME
vă permite să redenumiți numele atributelor unui tabel. În standardul SQL nu există, dar mulți Dbms îl implementează, de exemplu, postgres.
Redenumiți sintaxa comenzii
REDENUMIRE nume_tabelă LA new_table_name;
Indici
Creați index
Aceasta este o comandă rapidă pentru a evita tabelele de modificări complexe. Adaugă un index la un tabel.
Sintaxa comenzii Create Index
CREARE INDEX [ UNIQUE ] index_name
ON nume_tabel ( nume_coloană [ ASC | DESC ])
Dacă este specificat UNIQUE
, indexul este unic, adică valorile din acesta nu pot fi duplicate.
Dacă specificați ASC
valorile din interiorul indexului vor fi în ordine crescătoare, dacă specificați DESC
vor fi în ordine descrescătoare; implicit este primul.
Drop Index
Aceasta este o comandă rapidă pentru a evita tabelele de modificări complexe. Ștergeți un index dintr-un tabel.
Aruncați sintaxa comenzii index
DROP INDEX index_name
ON nume_tabel
Instrumente de management
- Programator PL / SQL - Distribuit de AllRoundAutomations
- SQL Server Management Studio - Distribuit de Microsoft
- SQL Manager Studio - Distribuit de Stevtech