Потребителско име: Парола:
Регистрация на нов потребител
Отговорник: 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)


Съобщения на страница:

Какво ново за cell phones?
Списък с дискусии
Тук не Ви е разрешено да публикувате съобщения. Изисква се ниво на членство най-малко Мозъчна Пешка.
Режим: Всеки може да публикува
Търси сред публикуваното:  

12. май 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. май 2009, 15:20:25
Vocilka 
Относно: 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. май 2009, 23:05:29
whikki 
Относно: 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. май 2009, 08:02:34
oportunity 
Относно: 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. май 2009, 15:45:11
Krecik 
Относно: Re:
Променен от Krecik (12. май 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. май 2009, 23:57:46
whikki 
Относно: 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. май 2009, 08:03:08
oportunity 
Относно: 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. май 2009, 10:50:07
Vocilka 
Относно: 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. май 2009, 14:22:18
oportunity 
Относно: 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. май 2009, 15:01:32
Vocilka 
Относно: Re:
Променен от Vocilka (13. май 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. май 2009, 22:00:22
whikki 
Относно: 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")

Дата и час
Приятели на линия
Любими дискусии
Дружества
Подсказка на деня
Copyright © 2002 - 2024 Филип Рачунек, всички права запазени
Нагоре