Brugernavn: Kodeord:
Ny bruger registrering
Moderator: whikki 
 Počítače

A vše kolem nich
O všem od HW po SW, od assembleru po Javu, od chipu BIOSu po externí periferie, od relátek po nanotranďáky.

včetně elektrónky É třenáct z našeho podniku Katoda hOlomóc :o)


Meddelelser per side:

Hvad nyt om RSS readers?
Liste over diskussionsborde
Du har ikke rettigheder til at skrive meddelelser til dette bord, Mindste medlemsskabsniveau nødvendigt for at skrive til dette bord er BrainSpringer.
Tilstand: Alle kan skrive
Søg i meddelelser:  

12. Maj 2009, 15:08:51
oportunity 
Zdárek všem, prosím o radu v následujícím problému:
potřebuji v Acessu vytvořit databázi s relacema mezi několikama tabulkama

mimo jiné tu mám Objednávky, Rozpis objednávky a sortiment. (dále číslo stolu, obsluhy apod.)

vše udělám vpohodě, určím primární klíče a vytvořím vazby, to je ok.

Jediný problém mám s rozpisem objednávky. Jak ho udělat správně? co mám nastavit jako primární klíč? mám tu položky - číslo objednávky, cena objednávky, stůl, který objednal, obsluha, která kasíruje a pak sortiment. Ani jeden z těhle údajů nemůže být primárním klíčem (protože se může opakovat). A dále, jak správně, či nejlépe doplnit sortiment?
(Zatím řeším tak, že mám vypsán veškerý sortiment a u každého mám počet kusů, někde je tedy nula.)

snad jsem napsal srozumitelně... :o)
Předem děkuji

12. Maj 2009, 15:20:25
Vocilka 
Emne: Re:
oportunity: Číslo objednávky se může opakovat? Pak asi záleží na tom, co tu objednávku jednoznačně identifikuje, když se číslo opakuje, takže třeba číslo objednávky + obsluha? Nebo číslo objednávky + datum?
Sortiment asi doplnit tam, kde je ta nula, ne? Nebo kde se blíží k nule... Takže pokud potřebuješ dostat seznam toho, co je potřeba doplnit, tak ne vypsat veškerý sortiment, ale vypsat sortiment, kde je počet kusů 0?

12. Maj 2009, 23:05:29
whikki 
Emne: Re:
Vocilka: podle mě nemá na mysli doplnění sortimentu, který je spotřebován, ale jak do rozpisu objednávky přiřadit jednotlivé objednané položky ze sortimentu...

13. Maj 2009, 08:02:34
oportunity 
Emne: Re:
Vocilka:
no to asi ne, ale právě číslo objednávky je primárním klíčem v tabulce "objednávky".
dočetl a dopátral jsem se toho, že bych to měl v "rozpisu" nastavit jako "cizí klíč", ale to v acessu nikde nejni... :oD

12. Maj 2009, 15:45:11
Krecik 
Emne: Re:
Tilpasset af Krecik (12. Maj 2009, 15:46:10)
oportunity: Jako primární klíč použij UID(unikátní identifikátor). Tzn inkrementálně se zvyšující číslo identifikující každou položku v databázi. Toto číslo nemá jiný význam než pořadové číslo záznamu v databázi. Stačí tak?

Více viz http://cs.wikipedia.org/wiki/Rela%C4%8Dn%C3%AD_datab%C3%A1ze

12. Maj 2009, 23:57:46
whikki 
Emne: Re:
oportunity: podle mě by rozpis objednávky měl k objednávce přiřazovat jednotlivé položky sortimentu, takže jako primární klíč by byl určitě UID jak psal Krecik, a pak by už jen obsahoval položky číslo objednávky a číslo sortimentu (tedy odkaz na jednu z objednaných položek do tabulky sortimentu) a možná ještě počet kusů (pokud je možné objednat stejnou položku sortimentu vícekrát), a potom by s daným číslem objednávky bylo v rozpisu tolik řádků, kolik různých položek ze sortimentu v rámci této objednávky bylo objednáno.

Stůl a obsluha podle mě patří spíš do tabulky objednávky - předpokládám, že objednávka vzejde od jednoho stolu (jiný stůl jiná objednávka, a pokud by více stolů objednávalo zároveň na společnou objednávku, tak by se zkrátka zadal jen "hlavní stůl", jinak by se vztah objednávka-stůl asi musel řešit samostatnou spojovací tabulkou - něco jako "rozpis stolů" v podobném stylu, jako ten rozpis objednávky), totéž obdobně pro obsluhu (stůl/objednávku kasíruje na závěr jedna obsluha).

No a cena objednávky (pokud je myšlena výsledná celková cena), se pak spočítá podle rozpisu objednávky ze všech řádků s daným číslem objednávky, kde mám vždy počet objednaných kusů daného sortimentu a cena jednoho kusu je předpokládám v tabulce sortimentu...

Ale nevím, jestli sem správně pochopil zadání a specialistou na databáze taky nejsem, tak to ber jen jako moji selskou úvahu

13. Maj 2009, 08:03:08
oportunity 
Emne: Re:
whikki: děkuji za rady (všem):o)
dost pomohly :o)))
Tvá odpověď je přesně dle zadání hehe...

jen mi stále není jasná jedna věc -
když dám do tabulky rozpis objednávek položku sortiment + počet kusů, jak mám navrhnout tu tabulku, když na každém rozpisu může být jiný počet sortimentu, to bych měl v každém řádku jiný počet sloupců....proto mě nenapadlo nic jiného, než tam mít všechny....to pak je každý řádek stejný :o))

Kreciku - děkuji za odkaz, jdu čerpat...

13. Maj 2009, 10:50:07
Vocilka 
Emne: Re:
oportunity: Aha, tak to jsem blbě pochopila, už jsem v obraze.
V tabulce Rozpis objednávky budeš mít Číslo objednávky a třeba Pořadí položky objednávky (nebo ostatními navrhované UID), a ty 2 věci dohromady budou primární klíč. Takže pro jednu objednávku bude v tabulce Rozpis objednávky víc řádků se stejným číslem objednávky a různým pořadovým číslem, čímž se řeší to, že nepotřebuješ různý počet sloupců v různých objednávkách. Řádek bude stejný, jen pro některou objednávku bude jeden a pro některou jich bude víc.

13. Maj 2009, 14:22:18
oportunity 
Emne: Re:
Vocilka: bingo...to byla právě varianta, kde jsem se nedokázal popasovat s prim. klíčem...takže nastavim klíče dva? a to jde? :o))))

13. Maj 2009, 15:01:32
Vocilka 
Emne: Re:
Tilpasset af Vocilka (13. Maj 2009, 15:19:30)
oportunity: Klíč bude jeden, ale bude složen ze 2 sloupců. Mělo by to jít i u Accessu...
Každopádně (kdyby to nešlo i kdyby to šlo) můžeš použít jen unikátní ID, které nebude odkazovat nikam, bude jen číslem řádku v tabulce Rozpis objednávky... (Access ho sám vytvoří jako datový typ automatické číslo).

PS: Tak jsem tady http://office.microsoft.com/cs-cz/access/HA100140991029.aspx vyčetla, že složený primární klíč (z více sloupců) se u Accessu dělá tak, že ty sloupce označíš kliknutím s klávesou Ctrl a pak dáš ikonku klíče (nebo Úpravy / Primární klíč)

13. Maj 2009, 22:00:22
whikki 
Emne: Re:
oportunity: není zač, jsem rád, že to pomohlo. Myslel jsem to přesně tak, jak to doplnila Vocilka, ale neuměl sem to tak srozumitelně napsat
Ale s konkrétní realizací už neporadím, v Accessu sem nikdy nic nedělal (kromě cvičného příkladu v rámci povinného kurzu "počítačové gramotnosti")

Dato og klokkeslæt
Venner online
Favoritborde
Sammenslutninger
Dagens tip
Copyright © 2002 - 2024 Filip Rachunek, all rights reserved.
Tilbage til toppen