Filtriranje podataka iz baze????

orthodoxsc:
Kako tabelu od 70000 zapisa o kupcima(kupaID,ime,adresa,telefon) grupisati po polju kupacID tako da on moze biti primarni kljuc? Posto se u tabeli nalazi oko dvesta razlicitih kupaca koji se ponavljaju?
Au, bre, pa ti to onako, pravo u trbuh.
Prvo: ako imaš, kako kažeš, oko 200 kupaca, tada moraš imati posebnu tabelu kupaca sa onim poljima (kupaID,ime,adresa,telefon) gdje će ti kupaID biti indeks bez ponavljanja (ono što je rekao Garwor) i to polje će biti jedinstveni (primarni) ključ.
Drugo: primarni ključ u svakoj tabeli mora biti jedinstven tj. u toj velikoj tabeli gdje se osim kupaID vjerovatno nalaze i mnoga druga polja (recimo datumi, nekakvi brojevi dokumenata, iznosi itd.) postoji mnogo slogova gdje je kupaID isti (ponavlja se) pa samo to polje ne može biti primarni ključ u toj tabeli. Za primarni ključ se mora obezbijediti jedinstvenost.

Pitam se kakva je to tabela od 70000 slogova. Nije valjda da se svaki put za kupca ponavljaju podaci ime, adresa itd. Ako je to tako napravljeno ništa ne valja i mora se potpuno reorganizovati. U takvim tabelama se obično kao primarni ključ uzme neko autonumber polje i o tome se više ne vodi računa. Napravi se posebna tabela kupaca, onako kako sam rekao gore a u velikoj tabeli se stavi polje kupaID kao indeksirano sa ponavljanjem. To je tzv. vanjski ključ preko koga se onda veže tabela kupaca (uspostavi se relacija - zato se to i zove relaciona baza).

Ako sve ovo nisi znao ili ne znaš kako se to radi, batali ćorava posla i daj nekome ko zna par K dinara da to sredi.
 
MGordan:
Au, bre, pa ti to onako, pravo u trbuh.
Prvo: ako imaš, kako kažeš, oko 200 kupaca, tada moraš imati posebnu tabelu kupaca sa onim poljima (kupaID,ime,adresa,telefon) gdje će ti kupaID biti indeks bez ponavljanja (ono što je rekao Garwor) i to polje će biti jedinstveni (primarni) ključ.
Drugo: primarni ključ u svakoj tabeli mora biti jedinstven tj. u toj velikoj tabeli gdje se osim kupaID vjerovatno nalaze i mnoga druga polja (recimo datumi, nekakvi brojevi dokumenata, iznosi itd.) postoji mnogo slogova gdje je kupaID isti (ponavlja se) pa samo to polje ne može biti primarni ključ u toj tabeli. Za primarni ključ se mora obezbijediti jedinstvenost.

Pitam se kakva je to tabela od 70000 slogova. Nije valjda da se svaki put za kupca ponavljaju podaci ime, adresa itd. Ako je to tako napravljeno ništa ne valja i mora se potpuno reorganizovati. U takvim tabelama se obično kao primarni ključ uzme neko autonumber polje i o tome se više ne vodi računa. Napravi se posebna tabela kupaca, onako kako sam rekao gore a u velikoj tabeli se stavi polje kupaID kao indeksirano sa ponavljanjem. To je tzv. vanjski ključ preko koga se onda veže tabela kupaca (uspostavi se relacija - zato se to i zove relaciona baza).

Ako sve ovo nisi znao ili ne znaš kako se to radi, batali ćorava posla i daj nekome ko zna par K dinara da to sredi.




Hvala ti......ni za sta.... Znam ja kako bi to sve trebalo da izgleda, ali (hmmm...mozda nisam lepo postavio pitanje) poenta price jeste da sam negde iskopao neku bazu, prilicno glupavo organizovanu... Sustina jeste da u svakom redu tabele postoji pored tone podataka, i KupacID, adresa, mesto... I sustina pitanja jeste da ja to pokusavam da izdvojim u posebnu tabelu....Ali mi ne ide....Jednostavno ne mogu to da uradim....
I pitanje je bilo da li je to moguce i kako??????
 
Caos, jesi mozda probao sa komplikovanim upitom prema bazi, dosta toga sam server moze da uradi. Samo pitanje je koja je baza (mySql, MS sql, Oracle,...) ali mislim da vecina moze da uradi filtriranje podataka. Samo treba da skontas pravi upit. Cudo je sve sto se moze dobiti pravim upitom.

To sto baza ima 70k slogova nista nije cudno, pa ti brojevi su zapravo i veci u stvarnosti.

Sta ti zapravo zelis? Slazem se sa tim order by, ali probaj sa "distinct" varijantom (to sljaka u mssql) ali probaj.
 
pa onda nemoj autoincrement da stavljas. Napravi novu tabelu (TABELA2) i uradi nesto ovakvo:

insert into tabela2 (kupacID, naziv, adresa...) select distinct kupacID, naziv, adresa... from tabela1;

inace, pretpostavljam da si od neke firme dobio excel/txt file sa svim fakturama i sad im pravis sifarnik kupaca za novi informacioni sistem. Ja sam to radio dosta puta i SVAKI put su imali kvarne podatke, tipa dve firme imaju isti ziro racun, ista firma sa vrlo slicnim nazivom (space manje vise) ima razlicit ziro racun, onda firma bez naziva (!), ista firma u dve fakture ima razlicitu adresu, racun, i sve ostalo, nema nekih podataka za koje tvrde da su obavezni..
 

Back
Top