[ zorrome @ 26.08.2005. 17:39 ] @
Što je tu Surrogat ključ ili polje(nisam siguran što sam čuo) u bazama podataka - ili ja nisam dobro čuo? Nikad prije to nisam čuo. |
[ zorrome @ 26.08.2005. 17:39 ] @
[ antix @ 26.08.2005. 17:59 ] @
surrogate key je drugi naziv za vještački ključ koji dodijeliš određenom podatku... znači umjesto npr. JMBG ti koristiš neki ID da bi identifikovao neku osobu.
[ Riste Pejov @ 27.08.2005. 11:36 ] @
Surogatni kljucevi ti trebaju kada:
1. Tabela nema dobrog kandidata za PK. 2. PK je kompozitni sa veliki broj kolona i je kompliciran za upotrebu. 3. Kandidat za PK se koristi u FK relacije i svaka promena bi zahtevala cascade update Primer koji apsolutno zadovoljava potrebe za surogatnim kljucem, Tabele: Code: MASTER ------------ naziv char(50) tip int datum datetime -------------- PRIMARY KEY (naziv,tip,datum) DETAIL ------------ naziv char(50) tip int datum datetime ex_data char(100) -------------- PRIMARY KEY (naziv,tip,datum,ex_data) FOREIGN KEY fk1 ON naziv,tip,datum REFERENCES MASTER(naziv,tip,datum) Ako se koriste surogatni klucevi onda bi tabele izgledale ovako: Tabele: Code: MASTER ------------ MASTER_ID int (sequence, autoinc, whatever ...) naziv char(50) tip int datum datetime -------------- PRIMARY KEY (MASTER_ID) DETAIL ------------ DETAIL_ID int (sequence, autoinc, whatever ...) MASTER_ID int naziv char(50) tip int datum datetime ex_data char(100) -------------- PRIMARY KEY (DETAIL_ID) FOREIGN KEY fk1 ON MASTER_ID REFERENCES MASTER(MASTER_ID) I polja koja su bili PK u prvom slucaju sada mogu imati samo UNIQUE constraint. Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|