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

string ili broj da bude ključ

[es] :: Baze podataka :: string ili broj da bude ključ

[ Pregleda: 2914 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lenny
Lendak Imre
saradnik, FTN, Novi Sad
NS

Član broj: 3147
Poruke: 68
*.ftn.ns.ac.yu

ICQ: 158238713


Profil

icon string ili broj da bude ključ16.09.2003. u 12:02 - pre 250 meseci
Struktura baze je sledeca:
1. Grupa proizvoda - jedini atribut je ime_grupe
2. Kategorija proizvoda - jedini atribut je ime_kategorije, i ima spoljni kljuc grupe, jer je u principu podgrupa
3. Proizvod - atributi: ime, referenca_na_kategoriju, itd.

Znaci moze biti vise grupa, u jednoj grupi moze biti vise kategorija, a u svakoj kategoriji moze biti vise proivoda.

U tabeli proizvod ce biti oko 300 vrsta, u kategoriji 25, a u grupi 10.

Godisnje se proda oko 2 miliona proizvoda, i moraju se generisati razni izvestaji po grupama, kategorijama, proizvodima, itd.

Ciljna platforma je: Windows NT + MS SQL 7

Pitanja su sledeca:
1. da li praviti posebne tabele kategorija i grupa, ili ih staviti kao obican string field u proizvod (jer nemaju druge atribute sem imena). Ovde bih ja naravno napravio posebne tabele, ali mozda neko ima drugo misljenje? Sa posebnim tabelama su upiti duzi (i mora se raditi join), ali da li su i sporiji? Ako jesu koliko?
2. ako koristim tabele kategorija i grupa, da li da im bude kljuc ime (tj. string), ili da im se pravi autoincrement int kljuc (pored unique polja ime)? Sta je brze, sta pravilnije? Sta ce raditi brze na MS SQL 7? Ovo je vazno, jer narucilac hoce string id-ove, a po meni to nije dobro resenje.
3. Da li se moze naci neki dobar rad na temu "string ID protiv numerickog ID-a" na net-u?

No signature...
 
Odgovor na temu

broker

Član broj: 2415
Poruke: 8514
*.verat.net



+11 Profil

icon Re: string ili broj da bude ključ16.09.2003. u 13:10 - pre 250 meseci
1. uvek odvoj sifarnike u posebne tabele. na priv pogled se cini koplikovano praviti upite ali se tako najbolje optimizuje baza sto ce reci najbrze se dolazi do rezultata.

2. ja koristim string za id polja osim u slucaju da je to polje autoincrement kad mora da bude numericko. kada je id string onda dobijas mogucnost da ima opisnu ulogu, sto je vrlo zgodno kod nekih manjih sifarnika gde cesto sam ID moze biti dovoljan da se zna o cemu se radi a kod velikih, jer se moze organizovati hijerarhijski sifarnik.

U tvom slucaju mozda je dobro da razmislis da koristis jedan sifarnik ali koji ce biti hijerarhijski, tako da npr prvi znak ili dva znaka oznacavaju grupu a ostali znakovi kategoriju. Tako za svaki slog grupu dobijas tako sto izdvojis deo sifre koji oznacava grupu. Ovo ipak nije bas po pravilima modeliranja.


Najpravilnije bi bilo tako kako si i zamislio.:

=PROIZVODI=
ID_PROIZVODA
ID_KATEGORIJE
OPIS
.
.
.

=KATEGORIJE=
ID_KATEGORIJE
ID_GRUPE
OPIS

=GRUPE=
ID_GRUPE
OPIS

 
Odgovor na temu

vbraca
Bratislav Velickovic
Administrator informacionih sistema
Kragujevac

Član broj: 4956
Poruke: 230
*.ptt.yu

Sajt: velickovic.net


Profil

icon Re: string ili broj da bude ključ17.09.2003. u 05:53 - pre 250 meseci
Procitaj iz bilo koje knjige koja se bavi bazama podataka makar prva tri pravila normalizacije i onda odluci sta i kako.

Moja preporuka je da uvek koristis sifarnike/medjutabele u ovakvim slucajevima i da uvek koristis brojeve kao primarni kljuc (jednostavno sa brojevima se teze gresi).

U praksi, bar kod mene, pokazalo se da je mnogo lakse kasnije na zahtev korisnika generisati GROUP BY izvestaj ako ne moras da vodis racuna i o ispravnosti unetih stringova.

Pozdrav,
Bratislav Velickovic
hhtp://blog.velickovic.net
 
Odgovor na temu

degojs

Član broj: 4716
Poruke: 5096



+51 Profil

icon Re: string ili broj da bude ključ17.09.2003. u 06:15 - pre 250 meseci
Ma naravno da je u većini slučajeva bolje imati brojeve za primarne ključeve. Brojevi se ne ponavljaju :) a za imena proizvoda i slično, ne može se biti siguran. Naravno, sve ovo u pravilu.

Citat:
jer narucilac hoce string id-ove, a po meni to nije dobro resenje.


E ako oni baš hoće tako, onda..

Pozdrav :)
Commercial-Free !!!
 
Odgovor na temu

lenny
Lendak Imre
saradnik, FTN, Novi Sad
NS

Član broj: 3147
Poruke: 68
*.ftn.ns.ac.yu

ICQ: 158238713


Profil

icon Re: string ili broj da bude ključ17.09.2003. u 09:05 - pre 250 meseci
Hvala na odgovorima.

Citat:
vbraca:
Procitaj iz bilo koje knjige koja se bavi bazama podataka makar prva tri pravila normalizacije i onda odluci sta i kako.


Ono što me je najviše interesovalo jeste: Da li je bolje koristiti (dodatne) numeričke id-ove za one tabele koje sadrže jedinstvene opise (tj. imena) tipa string? I zašto? I da li je neko našao neki dobar rad, koji lepo iznosi za i protiv za oba rešenja?
No signature...
 
Odgovor na temu

[es] :: Baze podataka :: string ili broj da bude ključ

[ Pregleda: 2914 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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