Databáze ? – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Databáze ? – PHP – Fórum – Programujte.comDatabáze ? – PHP – Fórum – Programujte.com

 

Láďa
~ Anonymní uživatel
30 příspěvků
2. 3. 2016   #1
-
0
-

Ahoj,

   mám takový dotaz, který mi tady určitě každý zodpoví a bude si myslet že sem lama že to nevim ale prostě nevim.

Mám databázi v té databází si udržuji informace o výrobku má nejake konstanty které jsou porad jine ale tohle chapu ale co nechapu je to, jak ke kazdemu vyrobku pridat jeho obsah ktery muze byt treba 100 polozkovy a urcite pokazdy jiny.

Jestli je to moc zamotane tak to zkusim na prikladu :

1,Vyrabim rozvadece

2, Kazdy rozvadec ma výrobní číslo , evidenční číslo zákazníka a spoustu dalších konstant

3, Mam databazi která je jeden radek jeden rozvadec a sloupce jsou ty konstanty

A ted ten dotaz :-)

Kazdy rozvadec ma i svuj obsah a ten muze byt klidne 100 polozek treba 50 jističů značky Moeller o hodnotě 10A 1f každý jistič muze byt bud zaply nebo vyplý 

a tohle nevim jak to do te databaze zakomponovat koncim znalostma tim ze co sloupec to 1 hodnota a ne ve sloupci 100 hodnot

Poradte prosim Díky Láďa

Nahlásit jako SPAM
IP: 178.255.168.–
ondrej39+1
Věrný člen
2. 3. 2016   #2
-
0
-

#1 Láďa
Potřebuješ mapování přes cizí klíče. Chceš mít tabulku rozvaděč, v něm má každý řádek unikátní ID, poté tabulku například jistič, kde budeš mít kromě vlastností jističe také id rozvaděče, inidikující, k jakému rozvaděči se daný jistič váže. Potom při hledání obsahu jističe získáš jeho ID a následně použiješ jednoduchý SELECT nad tabulkou jističe, kde ale vyfiltruješ pouze ty jističe obsahující v atributu id rozvaděče to ID, který zpracováváš.

Nahlásit jako SPAM
IP: 79.141.243.–
Inject all the dependencies!
Láďa
~ Anonymní uživatel
30 příspěvků
2. 3. 2016   #3
-
0
-

#2 ondrej39
Díky za odpoved,

doufal jsem v trošku jednodušší odpoved protože ten rozvadeč muze obsahovat doslova cokoliv a hlavne pokazdy jinou hodnotu kdyz jeden ma 10A jistič od Moelleru tak druhej mam 10 A od OEZ Letohrady .

kazdej rozvadec ma jinej pocet jističů a jejich hodnota impedancni smyscky je pokazdy jina myslel jsem ze treba nejaka syntaxe pro tabulku která je jakoby ted to reknu moc laicky v jedne bunce toho danneho radku

Nahlásit jako SPAM
IP: 178.255.168.–
Kit+15
Guru
2. 3. 2016   #4
-
0
-

#3 Láďa
Potřebuješ dvě tabulky: Tabulku "rozvaděč" a tabulku "jistič".

V tabulce "rozvaděč" budeš mít parametry své zakázky kromě těch jističů.

V tabulce "jistič" budeš mít každý řádek jeden jistič, jehož parametry budeš mít ve sloupcích. Kromě toho tam budeš mít i rozvaděč_id, což bude označení ID rozvaděče, do kterého ten konkrétní jistič patří. Bez problémů tak zaeviduješ i tisíce jističů do jednoho rozvaděče.

Technické parametry jednotlivých druhů jističů je dobré mít ve třetí tabulce - katalogu.
 

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
4014 příspěvků
3. 3. 2016   #5
-
0
-

tab rozvadec
id_roz, nazev, popis

tab jistic
id_jis, nazev, popis

tab roz_jis
id_roz, id_jis

V jedne tabulce mas seznam rozvadecu, v druhe seznam jisticu a ve treti mas propojeni jistice s rozvadeci. Jednoduche, ne?
Jak to vytahnout selectem? 

SELECT 
  b.nazev, -- sloupec z tab 1
  c.nazev, -- sloupec z tab 2
  a.id_roz, -- a pokud te zajimaji i idecka
  a.id_jis,
  b.id_roz AS id_roz2, -- kazde pojmenovani sloupce musi byt unikatni, a.id_roz a b.id_roz by dalo dva stejne sloupce "id_roz", tak se to musi pomoci alias (AS) prejmenovat
  c.id_jis AS id_jis2
FROM roz_jis a -- vyhledavas v tab 3
  LEFT JOIN rozvadec b ON a.id_roz = b.id_roz -- pripojis tab 1
  LEFT JOIN jistic c ON a.id_jis = c.id_jis -- pripojis tab 2
WHERE id_roz = 1
Nahlásit jako SPAM
IP: 2001:718:2601:26c:417d:ba...–
3. 3. 2016   #6
-
0
-

Udělal bych si tabulky "rozvaděče", kde bych měl všechny rozvaděče s jejich údaji jako v.č. cena .... a ke každému rozvaděči tabulku "výčetka materiálu" se sloupci položka (jistič ...) a množství. Druhá možnost (možná lepší) je "rozvaděče" a "sklad" (přehled položek odkazující na karty jednotlivých položek, můžeš evidovat cenu nebo i několik cen pro slevy různým skupinám zákazníků, množství skladem) a pak ke každé položce skladu "namontován do" kde každý řádek bude obsahovat v.č rozvaděče a počet namontovaných kusů popř. i cenovou skupinu pokud jsi ji do skladu zavedl.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 54 hostů

Podobná vlákna

Databáze — založil Rider

Databáze — založil Tomáš

Databáze — založil roman.jaros

C++ a databáze — založil miguel

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý