Struktura databáze pro sklad

Ijacek

Struktura databáze pro sklad
« kdy: 16. 11. 2018, 18:50:14 »
Zdravím,
ze studijních důvodů bych chtěl v php nahradit excelovskou tabulku kterou požíváme ve výrobe pro evidenci materiálu. Přijde mi rozumnější se učit na něčem reálném než na virtuální knihovně z tutoriálů. A to, že by mohl být výsledek i někomu užitečný poskytne i nějakou motivaci.
Prvotní pokus s vytvořením MySQL tabulky ala excelovská tabulka se ukázal jako blbost. Nastudoval jsem nějakou teorii a objevil normalizaci databáze, ale pořád moc netuším jak na to. Rozebral jsem jednu velkou tabulku na vic malých provázaných pomocí cizích klíčů. Zasekl jsem se na tom, že výrobky jsou z různých součástí o různém počtu. Mít v tabulce výrobků položku s polem součást/počet mi nepřijde správné.
Hledal jsem inspiraci jak vypadá databáze u podobných opensource projektů, ale asi se neumím správně zeptat. Nacházím jen velké ERP systémy. Poradil by někdo jak má ta databáze vypadat případně nějaký obdobný opensource projekt z kterého by se dalo inspirovat?
Jde o sklad dílů a výrobků z něho. Chci databázi v které bude sklad výrobků a seznam z kterých součástí jsou vyrobené. K tomu skladovou evidenci těch součástí. Jednotlivé díly se mohou vyskytovat ve více výrobcích. A databáze by měla být rozšiřitelná. Na tom ztroskotala jedná velká tabulka ala excel...
Diky za jakékoliv nakopnutí.


xffefef

Re:Struktura databáze pro sklad
« Odpověď #1 kdy: 16. 11. 2018, 19:15:26 »
Zdravím,
ze studijních důvodů bych chtěl v php nahradit excelovskou tabulku kterou požíváme ve výrobe pro evidenci materiálu. ... Na tom ztroskotala jedná velká tabulka ala excel ... ale asi se neumím správně zeptat. Nacházím jen velké ERP systémy.
Nevim jak chceš něco dělat když nemáš intelekt ani na položení dotazu v google.

Chápu, že je někdy hledání dřina, ale zkusils něco jako "php pro začátečníky" a pak třeba "mysql pro začátečníky" a pak se můžeš přesunout k výživnému "jak navrhnout databázi pro začátečníky".

BoneFlute

  • *****
  • 1 981
    • Zobrazit profil
Re:Struktura databáze pro sklad
« Odpověď #2 kdy: 16. 11. 2018, 19:22:10 »
Zdravím,
ze studijních důvodů bych chtěl v php nahradit excelovskou tabulku kterou požíváme ve výrobe pro evidenci materiálu. Přijde mi rozumnější se učit na něčem reálném než na virtuální knihovně z tutoriálů. A to, že by mohl být výsledek i někomu užitečný poskytne i nějakou motivaci.
Prvotní pokus s vytvořením MySQL tabulky ala excelovská tabulka se ukázal jako blbost. Nastudoval jsem nějakou teorii a objevil normalizaci databáze, ale pořád moc netuším jak na to. Rozebral jsem jednu velkou tabulku na vic malých provázaných pomocí cizích klíčů. Zasekl jsem se na tom, že výrobky jsou z různých součástí o různém počtu. Mít v tabulce výrobků položku s polem součást/počet mi nepřijde správné.
...
Jde o sklad dílů a výrobků z něho. Chci databázi v které bude sklad výrobků a seznam z kterých součástí jsou vyrobené. K tomu skladovou evidenci těch součástí. Jednotlivé díly se mohou vyskytovat ve více výrobcích. A databáze by měla být rozšiřitelná. Na tom ztroskotala jedná velká tabulka ala excel...
Diky za jakékoliv nakopnutí.

Nástřel schematu:
Kód: [Vybrat]
vyrobek
- id
- name
... další vlastnosti

cast
- id
- name
... další vlastnosti

vyrobek2cast
- id_vyrobek
- id_cast
- kusů

Domnívám se, že tvůj problém je právě ten počet kusů ve vazební tabulce

RDa

  • *****
  • 2 467
    • Zobrazit profil
    • E-mail
Re:Struktura databáze pro sklad
« Odpověď #3 kdy: 16. 11. 2018, 20:33:05 »
Ono by postacil jenom strom, jelikoz se nemusi rozlisovat mezi tridou vyrobku a komponent. I komponent muze byt vyrobek sam o sobe:

Kód: [Vybrat]
produkt
- id
- name
... další vlastnosti

sestava
- id_sestava
- id_komponent
- reference
- kusů

Sestava i Komponent se odkazuje do tabulky produktu. Samozrejme nejaka logika musi vyresit to, abys nemohl udelat smycku :)

.

Re:Struktura databáze pro sklad
« Odpověď #4 kdy: 16. 11. 2018, 20:43:02 »
Citace
Mít v tabulce výrobků položku s polem součást/počet mi nepřijde správné.
Výrobek a jeho položky bych dal samostatně. Takový model mi přijde v pohodě:
Kód: [Vybrat]
Šroubek ...
Krabička ...
Krabička šroubků ...
    Krabička, 1x
    Šroubek, 10x
Jde hlavně o to, jak se ti to hodí. Nebo si nainstaluj Pohodu nebo něco a inspiruj se, co tak nějak sklady mají umět a jak to ukládají (tak jak jsem popsal).


agent

Re:Struktura databáze pro sklad
« Odpověď #5 kdy: 16. 11. 2018, 21:09:26 »
1. tabulka - Výrobek (id, název, početNaSkladě, další informace)
2. tabulka - Součástka (id, název, početNaSkladě, daší informace)
Pak si musíš uvědomit typ vzájemné vazby. Výrobek může obsahovat více druhů součástek, stejná součástka může být v několika typech výrobků => vazba M:N (to je databázová teorie) a tahle vazba se řeší vazební tabulkou:
3. tabulka - VýrobekSoučástka (id, idVýrobku, idSoučástky, početSoučástekVeVýrobku, další informace)
Ten početSučástekVeVýrobku není principiální nutnost, ale jen praktické zjednodušení, jinak bys musel místo toho zakládat pro X součástek v jednom výrobku X vazebních záznamů (což by ale mohlo zase mít výhodu, pokud bys chtěl popsat umístění každé z těch součástek ve výrobku)

honzikk

Re:Struktura databáze pro sklad
« Odpověď #6 kdy: 16. 11. 2018, 21:14:35 »
1. tabulka - Výrobek (id, název, početNaSkladě, další informace)
2. tabulka - Součástka (id, název, početNaSkladě, daší informace)
Pak si musíš uvědomit typ vzájemné vazby. Výrobek může obsahovat více druhů součástek, stejná součástka může být v několika typech výrobků => vazba M:N (to je databázová teorie) a tahle vazba se řeší vazební tabulkou:
3. tabulka - VýrobekSoučástka (id, idVýrobku, idSoučástky, početSoučástekVeVýrobku, další informace)
Ten početSučástekVeVýrobku není principiální nutnost, ale jen praktické zjednodušení, jinak bys musel místo toho zakládat pro X součástek v jednom výrobku X vazebních záznamů (což by ale mohlo zase mít výhodu, pokud bys chtěl popsat umístění každé z těch součástek ve výrobku)
Mohl sis usetrit cas a napsatze RDa ma pravdu ... jeho reseni bylo naprosto stejne.

agent

Re:Struktura databáze pro sklad
« Odpověď #7 kdy: 16. 11. 2018, 21:51:49 »
Ale pro začátečníka mi připadlo moc stručné a bez vysvětlení proč.

Radovan.

Re:Struktura databáze pro sklad
« Odpověď #8 kdy: 17. 11. 2018, 05:22:20 »
Nastříhej si papírové kartičky a "simuluj". Až pochopíš jak sklad vůbec funguje, můžeš něco navrhovat.

Oooo

Re:Struktura databáze pro sklad
« Odpověď #9 kdy: 17. 11. 2018, 06:00:50 »
Nebo si vygoogluj neco o BOM - billing of materials

To je jedno

Re:Struktura databáze pro sklad
« Odpověď #10 kdy: 17. 11. 2018, 08:08:01 »
Potřebuješ řešení o 2 tabulkach
Vetsinou prodacas i materiál. Skladovou zásobu bys měl vést jen u něj a dostup ost výrobků hledat dynamicky(nebo počítat triggerem). Rozhodně se inspiruj v hotových programech.

romanz

Re:Struktura databáze pro sklad
« Odpověď #11 kdy: 17. 11. 2018, 08:33:35 »
Excel nahrad Accessem, u tak maly veci nema cenu delat sql..

Dr. Heinz Doofenshmirtz

Re:Struktura databáze pro sklad
« Odpověď #12 kdy: 17. 11. 2018, 10:23:05 »
Nastříhej si papírové kartičky a "simuluj". Až pochopíš jak sklad vůbec funguje, můžeš něco navrhovat.

Přesně tak, analýzou totiž zjistíš jak to funguje a zároveň ti pomůže odhalit slabá místa a pak můžeš navrhnout úpravy, jimiž vyřešíš to, co uživatele nejvíce pálí. Před lety jsem se takhle potýkal se skladovým hospodářstvím výdejny ve strojírenském podniku. Tam je situace řádově složitější, protože krom toho, že nástroje a nářadí vydáváš, také je i přijímáš, posíláš na kontrolu (elektrické nástroje, měřidla...) a odepisuješ (zlomený vrták, fréza...).

V lékárně se například řeší navíc rozdíl mezi expirací a šarží (stejné kapky do nosu nejsou stejné).

j

Re:Struktura databáze pro sklad
« Odpověď #13 kdy: 17. 11. 2018, 11:46:27 »
A az si zacnes hrat, tak velmi rychle zjistis, ze tech tabulek v ty databazi bude 30, kdyz malo. Protoze tech skladu mas zcela zarucene vic, pripadne chces vedet, kde v tom skladu dana vec je. Pak chces taky delat inventury a porovnavat to co se naslo s tim co by tam melo byt. Chces trebas taky videt kdo co a kdy kam daval, chces resit fifo atd atd.

Ivan

Re:Struktura databáze pro sklad
« Odpověď #14 kdy: 17. 11. 2018, 12:38:41 »
Warehouse management systemy ktery jsem doposud videl, byly zalozeny na dvou klicovych tabulkach. Jedna obsahovava seznam veci, ktery se do  skladu privezly, druha seznam veci ktery se vyskladnily. Zbyle tabulky popisovaly procesy ve skladu, objednavky, konfiguraci, uzivatele, prava, ...