User Name: Password:
New User Registration
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)


Messages per page:

What is new about cheap notebooks?
List of discussion boards
You are not allowed to post messages to this board. Minimum level of membership required for posting on this board is Brain Pawn.
Mode: Everyone can post
Search in posts:  

12. May 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. May 2009, 15:20:25
Vocilka 
Subject: 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. May 2009, 23:05:29
whikki 
Subject: 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. May 2009, 08:02:34
oportunity 
Subject: 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. May 2009, 15:45:11
Krecik 
Subject: Re:
Modified by Krecik (12. May 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. May 2009, 23:57:46
whikki 
Subject: 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. May 2009, 08:03:08
oportunity 
Subject: 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. May 2009, 10:50:07
Vocilka 
Subject: 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. May 2009, 14:22:18
oportunity 
Subject: 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. May 2009, 15:01:32
Vocilka 
Subject: Re:
Modified by Vocilka (13. May 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. May 2009, 22:00:22
whikki 
Subject: 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 and time
Friends online
Favourite boards
Fellowships
Tip of the day
Copyright © 2002 - 2024 Filip Rachunek, all rights reserved.
Back to the top