Nom d'utilisateur: Mot de passe:
Enregistrement d'un nouveau membre
Modérateur: 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)


Messages par page:

Quoi de neuf à propos de Microsoft?
Liste des forums de discussions
Vous n'êtes pas autorisé de poster des messages dans ce forum. Le niveau d'adhésion minimal requis pour poster dans ce forum est Pion.
Mode: Tout le monde peut poster
Recherche dans les messages:  

12. Mai 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. Mai 2009, 15:20:25
Vocilka 
Sujet: 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. Mai 2009, 23:05:29
whikki 
Sujet: 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. Mai 2009, 08:02:34
oportunity 
Sujet: 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. Mai 2009, 15:45:11
Krecik 
Sujet: Re:
modifié par Krecik (12. Mai 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. Mai 2009, 23:57:46
whikki 
Sujet: 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. Mai 2009, 08:03:08
oportunity 
Sujet: 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. Mai 2009, 10:50:07
Vocilka 
Sujet: 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. Mai 2009, 14:22:18
oportunity 
Sujet: 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. Mai 2009, 15:01:32
Vocilka 
Sujet: Re:
modifié par Vocilka (13. Mai 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. Mai 2009, 22:00:22
whikki 
Sujet: 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")

Date et heure
Amis en ligne
Forums favoris
Associations
Astuce du jour
Copyright © 2002 - 2024 Filip Rachunek, tous droits réservés
Retour en haut