[ Ha-Nocri @ 08.04.2008. 21:23 ] @
Poz ljudi. Reč je o bazi za neku prodavnicu. Svaka kupovina bi trebala da se zapiše, normalno. Sada, kako to da uradim? Ako se napravi tabela kupovina sa rdbr (rednim brojem svake kupovine) onda će ona biti ograničena tipom tog rednog broja. Na primer, maximum za tip long je nesto preko 120k ako se ne varam. Koje mi rešenje predlažete?

Hvala unapred
H
[ bags @ 08.04.2008. 23:04 ] @
Pa ako ima jednu kasu DATETIME. A ako vise DATETIME + brojKase. :)
[ Ha-Nocri @ 08.04.2008. 23:16 ] @
Izvini, mozes li detaljnije da objasnis. Sta je DATETIME? tip podataka za datume? Da, u toj tabeli "Kupovina" ima vec atribut datKup(datum kupovine).
[ savkic @ 08.04.2008. 23:35 ] @
> Reč je o bazi za neku prodavnicu. Svaka kupovina bi trebala da se zapiše, normalno. Sada, kako to da uradim? Ako se napravi
> tabela kupovina sa rdbr (rednim brojem svake kupovine) onda će ona biti ograničena tipom tog rednog broja. Na primer, maximum za
> tip long je nesto preko 120k ako se ne varam. Koje mi rešenje predlažete?

Nisi napisao o kom RDBMS je reč. Gotovo sam siguran da svi moderni sistemi imaju barem 32bitni INTEGER tip polja gde je max vrednost 2147483647, što će ti sigurno biti više nego dovoljno. Većina ima i 64bitni integer...
[ momsab @ 08.04.2008. 23:38 ] @
i datum i satnica (sat+minut i bese sekund) http://msdn2.microsoft.com/en-us/library/system.datetime.aspx
TIMESTAMP http://en.wikipedia.org/wiki/Time_zone#Databases

budi detaljniji sa problemom
[ Ha-Nocri @ 09.04.2008. 00:02 ] @
@savkic:

O Accessu 2002 je rec. Nisam mislio da tipovi mogu imati razlicit opseg kod razlicitih RDBMS. Zato nisam ni dao taj podatak. U javi je tip ~128k. Ali opet mi to nije neko elegantno resenje. Razmisljao sam nakon sto sam postavio ovu temu da brisem prvo-unesene podatke iz tabele "Kupovina" kada broj zapisa predje 128k. hmm....

@momsab - znam sta je DATETIME, samo nisam razumeo njegovu poruku.
[ Getsbi @ 09.04.2008. 09:56 ] @
Ako staviš kombinovani ključ (Datum + RedniBroj), gde je redni broj Long Integer, tvoj "Sumer-Mega-Giga" market neće uspeti da proda 2.147.483.647 artikala u toku dana. Ako je ključ na nivou lanca marketa onda ubaci u složeni ključ i šifru objekta (prodavnice) ispred rednog broja.
[ savkic @ 09.04.2008. 10:35 ] @
> O Accessu 2002 je rec. Nisam mislio da tipovi mogu imati razlicit opseg kod razlicitih RDBMS. Zato nisam ni dao taj podatak. U javi je tip ~128k. Ali opet
> mi to nije neko elegantno resenje. Razmisljao sam nakon sto sam postavio ovu temu da brisem prvo-unesene podatke iz tabele
> "Kupovina" kada broj zapisa predje 128k. hmm....

Čekaj tebi je problem što u JAVI gde je frontend nemaš odgovarajući tip podatka koji bi povezao sa accessovim long integer (–2,147,483,648 - 2,147,483,647)?

Kratak search po googlu daje da JAVA podržava i 32bitni (int) i 64bitni integer (long).
Tebi je 32bitni više nego dovoljan za godinu dana, tako da nema razloga za brigu.

Pogledaj:
http://www.unix.org.ua/orelly/java/langref/ch03_01.htm
http://www.cafeaulait.org/course/week2/02.html

[ Ha-Nocri @ 09.04.2008. 16:26 ] @
Nista, mozete zatvoriti temu. Kako sam ja izracunao da je max vrednost tipa long koji je 64-bitan 128k nemam pojma. Mozete zatvoriti temu. MAX_VALUE of long iznosi cifru sa neverovatno puno tacaka i to je dovoljno svakoj prodavnici bar za 10 godina minimum. Anyhow, hvala svima na odgovorima.