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

Više logičko pitanje

[es] :: MS SQL :: Više logičko pitanje

[ Pregleda: 1096 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vceklic
Posrednik
Beograd, Srbija

Član broj: 257980
Poruke: 11
188.124.195.*



Profil

icon Više logičko pitanje25.11.2012. u 07:39 - pre 138 meseci
Pozdrav,

Nisam previše iskusan sa dizajnom DB, ali evo pokušavam da naučim, pa molio bih za pomoć. Kako bi bilo najbolje, ili najtačnije da se riješi problem i to proizvodi, baza proizvoda. Zamislio sam da imam tabelu proizvod koja sadrži zajedniče informacije za sve proizvode, opis, Serijski broj, BrandID, KategorijaID, itd. e sada pokušavam da napravim kategorijske tabele za specificne proizvode. konkretno Za npr. monitor mi trebaju pored standardnih stavki i veličina, tip monitora, itd. Dok za recimo mobilni telefon trebam IMEI br., zakljucan/otključan, itd.... Imate li neki prijedlog.

LP i hvala
 
Odgovor na temu

Dusan Kondic
Programer
ZR "Parametar" Ljubovija
Ljubovija

Član broj: 49961
Poruke: 225
*.adsl-3.sezampro.rs.

Sajt: www.drinacoding.com


+14 Profil

icon Re: Više logičko pitanje25.11.2012. u 09:24 - pre 138 meseci
Pošto nisi previše iskusan evo jednog jednostavnijeg rešenja:

Sva polja stavi u tabelu "Proizvod" s tim što poljima koja su specifična samo za neku vrstu proizvoda podesiš "Allow nulls" tako da ih popunjavaš samo u slučaju kada unosiš tu vrstu proizvoda a u ostalim slučajevima upisuješ NULL.

Drugo, malo komplikovanije rešenje bi bilo da u tabeli "Proizvod" držiš polja koja su zajednička za sve proizvode, a da za svaku vrstu proizvoda imaš dodatnu tabelu u kojoj bi se nalazila polja koja su specifična samo za tu vrstu proizvoda (vertikalni nastavak tabele). Relacija između ovih tabela treba da bude jedan prema jedan, što znači da za uneseni npr. mobilni u tabeli Proizvod postoji i jedan red u tabeli ProizvodMobilni koji ima isti Id. Isto tako za uneseni monitor postoji red u tabeli ProizvodMonitor koji ima isti Id itd.
Prilikom selektovanja podataka iz ovakvih tabela moraš da JOIN-uješ ove tabele sa ... FROM Proizvod LEFT JOIN ProizvodMonitor ON Proizvod.Id = ProizvodMonitor.Id ...

Treće rešenje bi bilo da ipak sve odvojiš u posebne tabele.
Razmisli koliko imaš različitih vrsta proizvoda, koliko često planiraš da dodaješ nove vrste i slično.

Nadam se da je ovo malo pomoglo.
Pozdrav
 
Odgovor na temu

[es] :: MS SQL :: Više logičko pitanje

[ Pregleda: 1096 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

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