Cunoaște Intuit, lectura, crearea de obiecte pentru stocare a datelor

Alocarea tabele cheie primare

După determinarea tuturor vorbitorilor și tipurile lor ar trebui să procedeze pentru a identifica cheia primară a tabelului. În conformitate cu cerințele teoriei relațională fiecărui rând (tuplu) trebuie să aibă o cheie primară unică. De obicei, un bun candidat pentru cheia primara a tabelei este cheia primară a relației dintre modelul logic. Deoarece se presupune că în ceea ce privește modelul logic cheia primară definită, au proprietăți minime, atunci ai nevoie doar pentru a defini o echipa CREATE TABLE. Această definiție a cheii primare din tabel pentru mai multe tabele nu este definitivă. Override cheie primară poate avea loc în următoarele etape ale proiectului bazei de date fizice.

Coloana destinație drept cheie primară în contextul multor baze de date, inclusiv Oracle, considerată ca o limitare a valorii coloanei (a se vedea. următoarea subsecțiune).

SQL standard-92 oferă o ofertă cheie primară specială comanda CREATE TABLE pentru specificarea cheii primare a tabelului. Atributele cheie primare enumerate o virgulă și între paranteze. În cazul în care specificația PRIMARY KEY nu este determinată, se crede că masa nu are nici o cheie primară. Atunci când în rânduri duplicate în tabel.

Exemplu. De exemplu nostru, coloanele cheie primare pot fi atribuite: Coloana DEPNO împotriva DEPARTAMENTUL. coloană EMPNO în relația EMPLOYEE. Coloana PROJNO împotriva PROIECT.

În Oracle, puteți specifica o constrângere cheie primară. și anume definiți coloana cheie primară, ca parte a coloanei specificație, mai degrabă decât ca parte a mesei (vezi. exemplul de mai sus), caietul de sarcini. Când se folosește o astfel de tehnică de comanda CREATE TABLE ar fi așa cum se arată mai jos pentru masa DEPARTAMENT:

Atunci când definiți o cheie primară la crearea unei tabele, in mai multe baze de date relaționale cer ca vom crea un index de cheie unic primar. Indecși, precum și tabele, sunt obiecte ale unei baze de date relaționale (dar nu modelul relațional). In mod logic indici reprezintă tabelul în care fiecare valoare a coloanelor indexate plasate în corespondență cu unele informații referitoare la locația fizică pe purtător. Indecșii sunt proiectate pentru a organiza accesul rapid la rândurile din tabel și pentru a asigura integritatea datelor (mecanismul de index va bloca baza de date introducând din nou rândurile din tabel cu valori identice de atribute indexate). Indicele este creat folosind comanda

Propunerea definește CREATE INDEX numele index clauza specifică numele și coloanele de masă, pentru care, și pentru care indicele de construcție, un cuvânt cheie unic indică faptul că valorile coloanei indexate trebuie să fie unic la masă, și anume evită dublarea valorilor indexate coloanei. Tabelul trebuie să existe deja și trebuie să conțină definiții ale coloanelor indexate. caietul de sarcini unic este opțională, și puteți crea, de asemenea, indicii non-unice.

Trebuie reamintit faptul că pentru multe baze de date de integritate cheie primară este menținută prin specificarea unui index unic pe coloana cheie, sau pentru a crea un tabel este considerat incomplet.

Prin urmare, pentru a finaliza procedura de determinare a cheii primare a proiectantului bazei de date tabel de bază trebuie să fie adăugate la comanda script-trei CREATE UNIQUE INDEX. așa cum se arată mai jos:

Pentru SQL, Oracle dialect nu trebuie să, deoarece menține în mod automat integritatea cheii primare.

După cele de mai sus este problema de determinare a cheii primare tabelul de bază în primă aproximație poate fi considerată completă și trece la următoarea decizie foarte importantă definiție tabel sarcină - definirea constrângerilor asupra valorilor de coloane.