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

Spasavanje sastavnice u bazi

[es] :: MySQL :: Spasavanje sastavnice u bazi

[ Pregleda: 2581 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

PavleK86
Pale

Član broj: 127034
Poruke: 34



Profil

icon Spasavanje sastavnice u bazi15.11.2013. u 15:08 - pre 126 meseci
Pozdrav svima!

Naime scenario je sljedeci:

Imam tabelu `komponenta` u kojoj se cuvaju odredjene informacije o komponentama (`id`, `opis`, `kolicina`, `cijena`...)
Imam tabelu `podsklop` u kojoj se cuvaju odredjene informacije o podsklopovima (`id`, `opis`, ...)

E sad, svaki podsklop se moze sastoji od odredjenih komponenata, ali i podsklopova.

Trenutno je podsklop zapisan na nacin da se u tabelu:

- `podsklop_sastav` (`id`, `id_podsklop`, `id_komponenta`, `kolicina`) upisuje sastav osnovnog podsklopa, odnosno onog koji se sastoji samo od komponenata. Napominjem da se jedan osnovni podsklop moze sastojati od ~100 komponenti.

Primjer zapisa u ovoj tabeli za podsklop sa id=1 je:

`id` | `id_podsklop` | `id_komponenta` | `kolicina`
--------------------------------------------------
1 | 1 | 1 | 1
---------------------------------------------------
2 | 1 | 2 | 2
---------------------------------------------------
3 | 1 | 3 | 3


Primjer zapisa u ovoj tabeli za podsklop sa id=2 je:

`id` | `id_podsklop` | `id_komponenta` | `kolicina`
--------------------------------------------------
4 | 2 | 4 | 2
---------------------------------------------------
5 | 2 | 5 | 4
---------------------------------------------------
6 | 2 | 6 | 6


- `podsklop_sastav2` (`id`, `id_podsklop_parent`, `id_podsklop_child`, `kolicina`) upisuje sastav podsklopa koji se sastoji od drugih podsklopova

Primjer zapisa u ovoj tabeli za podsklop sa id=3 je:

`id` | `id_podsklop_parent` | `id_podsklop_child` | `kolicina`
------------------------------------------------------------
1 | 3 | 1 | 1
-------------------------------------------------------------
2 | 3 | 2 | 2
-------------------------------------------------------------

Slicna je situacija i sa proizvodima, koji se sastoji od odredjenih podsklopova i komponenti.

Da li bi bilo bolje/efikasnije rjesenje da se u tabelu `podsklop` doda polje u kome bi se upisivali uredjeni parovi (id_komponenta,kolicina) i na taj nacin se cuvala sastavnica podsklopa.
 
Odgovor na temu

farmaceut
Apoteka
Banja Luka

Član broj: 182739
Poruke: 55
188.124.195.*



+30 Profil

icon Re: Spasavanje sastavnice u bazi18.11.2013. u 18:00 - pre 126 meseci
Ja bih u jednu stavio tabelu stavio "komponentu", "podsklop", "proizvod", a u drugu tabelu samu relaciju izmedju entiteta u prvoj tabeli (to jest "sastavnicu" - id, parent_id, kolicina ).
To ti daje mogucnost dodavanja dodatnih nivoa np. neki "poluproizvod" i sl.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Spasavanje sastavnice u bazi18.11.2013. u 21:21 - pre 126 meseci
ovo sto je farmaceut rekao je kako bih ja radio .. tj malko drugacije

object: object_id, object_type_id, object_name, .. object_stagod
object_type: object_type_id, object_type_name (enum:komponenta, podsklop, ..)
object_object: object_id, component_object_id


 
Odgovor na temu

PavleK86
Pale

Član broj: 127034
Poruke: 34



Profil

icon Re: Spasavanje sastavnice u bazi30.01.2014. u 12:49 - pre 124 meseci
Ok, hvala mnogo na odgovorima!

Ono sto me na neki nacin uslovljava da ovo ne koristim jeste cinjenica da svaka komponenta ima cijenu, tako da se prilikom svakog prikazivanja bilo proizvoda, bilo podsklopa, mora prikazivati ukupna cijena. Posto broj komponenata zna biti prilicno veliki (do 100 komada za podsklop, a za proizvod i do 2-3 hiljade) onda je i samo preracunavanje cijene dugotrajan posao.

Iz tog razloga, koliko je ispravan koncept da tabela `podsklop` ima polja `id`, `sastav`, `cijena`, ...., i da se u polju `sastav` cuva struktura podsklopa u JSON formatu, a da se cijena preracunava u aplikaciji i upisuje u polje `cijena` prilikom svake izmjene?
Znam da nema neke pretjerane veze, ali aplikacija je radjena u C#-u.
 
Odgovor na temu

[es] :: MySQL :: Spasavanje sastavnice u bazi

[ Pregleda: 2581 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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