Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Što je tu Surrogat ključ ili ja nisam dobro čuo?

[es] :: Baze podataka :: Što je tu Surrogat ključ ili ja nisam dobro čuo?

[ Pregleda: 1294 | Odgovora: 2 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zorrome

Član broj: 22587
Poruke: 166
*.cmu.carnet.hr.



Profil

icon Što je tu Surrogat ključ ili ja nisam dobro čuo?26.08.2005. u 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.
26.08.2005. u 17:39 

antix
Java/JEE developer

Član broj: 8388
Poruke: 239
*.pat-pool.nsad.sbb.co.yu.

Jabber: antix@elitesecurity.org


Profil

icon Re: Što je tu Surrogat ključ ili ja nisam dobro čuo?26.08.2005. u 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.
26.08.2005. u 17:59 

Riste Pejov
Team Leader/Senior Software Developer @ Ein-Sof ltd S..
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.162.223.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: Što je tu Surrogat ključ ili ja nisam dobro čuo?27.08.2005. u 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.
People who think they know everything tend to irritate those of us who do.
27.08.2005. u 11:36 

[es] :: Baze podataka :: Što je tu Surrogat ključ ili ja nisam dobro čuo?

[ Pregleda: 1294 | Odgovora: 2 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.