[ zorrome @ 31.07.2005. 13:39 ] @
| Imam tri tablice i njihova polja:
1.UČENICI
----------
SifraUcenika - primarni ključ
Ime
Prezime
2. PROFESORI
--------------
SifraProfesora - primarni ključ
Ime
Prezime
3. SVIZAJEDNO.
SifraUcenika
SifraProfesora
Ukupno
Polja koja povezujem :
- iz tablice UČENICI polje SifraUcenika sa tablicom SVIZAJEDNO i njezinim poljem SifraUcenika.
- iz tablice PROFESORI polje SifraProfesora sa tablicom SVIZAJEDNO i njezinim poljem SifraProfesora.
Jasno mi je zašto su u tablicama UČENICI i PROFESORI polja SifraUcenika i SifraProfesora primarni ključevi koji su ujedno i UNIQUE (univerzalni).
PITANJE:
Da li u tablici SVIZAJEDNO mora SifraUcenika i SifraProfesora biti primarni ključ ili može samo biti UNIQUE. Znam da je primarni ključ ujedno i UNIQUE, ali koja je ključna razlika.
Da li mogu SifraUcenika i SifraProfesora ostaviti kao UNIQUE ili da ih stavim kao PRIMARNI ključ. Zašto? Kada staviti Unique, a kad Primarni u ovakvim situacijama gdje se polja povlače iz drugih tablica i koriste kao ključevi. |
[ obucina @ 01.08.2005. 08:32 ] @
UNIQUE indeks je indeks sa jedinstvenim vrednostima.
Primarni kljuc je indeks sa jedinstvenim vrednostima koji se koristi za identifikaciju zapisa.
Primarni kljuc treba da bude izabran tako da rad sa njim bude najbrzi. Npr, ti mozes imati u jednoj tabeli kolone IME, PREZIME u kojima ce biti jedinstvene vrednosti. I mozes po njima napraviti primarni kljuc, ali rad sa VARCHAR-om je sporiji od rada sa INTEGER-om, pa je logicno da dodas novu kolonu ID, koja ce biti INTEGER i po njoj napravis primarni kljuc. U ovom slucaju, ti mozes identifikovati zapise i po primarnom kljucu i po kljucu IME, PREZIME, posto su oba UNIQUE, ali je rad po primarnom kljucu neuporedivo brzi.
UNIQUE ne znaci univerzalan vec jedinstven - unikatan.
U tvom slucaju, indeks ne mora, ali po prirodi stvari treba da bude primarni kljuc. Situacija je banalno jednostavna tako da prakticno nema razlike kako ces postaviti indeks, ali po teoriji, svaka tabela treba da ima primarni kljuc.
[ Riste Pejov @ 15.08.2005. 12:44 ] @
Stvarno mi nije jasna uloga tabele svi zajedno. Sta ona treba raditi ? ako to treba biti link N<->N za prof i ucenicima onda cemu sluzi kolona ukupno ?!
Ipak, u zavisnosti od baze neke se terminologije preklapaju.
Razlika megju UNIQUE i PK je u tome da UNIQUE moze biti Index ili Constraint u zavisnosti od RDBMS-a. Neke baze ne podrzavaju cisto unique index vec samo index + unique constraint.
Constraint se moze skinuti, disable, i ne mora imati index iza sebe, sto je i malo fleksibilniji od unique index-a za neke stvari, ali opet index ima standarne opcije za manipulaciju za indexima itd .....
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.