[DB] Id (prim key) wordt te groot.

Pagina: 1
Acties:

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
Wat ik me nou afvraag:

stel je hebt een in een database een tabel voorraad.
je hebt als velden Id(als primary key) en artikelnummer
die Id = int(10) auto_increment

maar wat er zoveel in de voorraad gaat (op de lange termijn) en weer uitgaat zodat Id > int(10)?

als je Id uniek en niet auto_increment maakt, gaat het dan wel goed?

Multimonitor is relax :P


  • creative8500
  • Registratie: September 2001
  • Laatst online: 03-01 16:54

creative8500

freedom.

Nee, je moet gewoon int(10) opschalen naar int(11) :P

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Waarom, waarom beperk je jezelf zo met een 10-digit value als id? Maar je zult dus een alter table moeten uitvoeren.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Volgens mij klopt er geen hol van je datamodel.... wat zet je in godesnaam in je database dat je zovaak entries moet adden en removen? :?

Waarmee ik dus bedoel: een normale voorraad tabel heeft een auto-create GUID of voor mijn part een identity-int als primary key, een foreign key naar een artikel definitie, en een int voor de voorraad. Heb je serieus 4+ miljard artikelen in je assortiment?

[ Voor 49% gewijzigd door curry684 op 05-01-2004 12:03 ]

Professionele website nodig?


Verwijderd

jeps, zowist....

tblArtikelgroep
tblArtikelen (met evt voorraad niveau ) en link naar artikelgroep.
of tblVoorraad met min en max niveau per artikelgroep en/of artikelen

Maar dan hoef je nog geen artikel te deleten als je voorraad 0 is. Behalve als je artikel uit het assorti gehaald wordt. ;)

Richard

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 05 januari 2004 @ 14:05:
Maar dan hoef je nog geen artikel te deleten als je voorraad 0 is. Behalve als je artikel uit het assorti gehaald wordt. ;)
Het hangt er van af waar je alles mee aan mekaar knoopt overigens, correcte manier zou imho zijn om een tabel van Opslagruimtes te hebben en een tabel van Artikelen, en vervolgens een Voorraad tabel tussen te hebben die linkt naar de Opslagruimte en Artikel, en daarin dus een integer voorraad te hebben. Daarmee heb je dus een many-to-many relatie gelegd waarmee je hetzelfde artikel in meer opslagruimtes kunt hebben, en meer artikelen in een opslagruimte. En op die manier komt je RI ook niet in de knoop als je 'm wil deleten omdat opslag X 'm niet meer voert, of omdat het artikel niet meer bestaat, maar ben je wel beschermd tegen het deleten van een artikel waarvan nog voorraad is, en tegen het deleten van een opslagruimte die nog voorraad heeft.

Professionele website nodig?


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
dit was ook nog voorbeeld maar nog niet uitgewerkt. Ik vroeg me het gewoon af

Elk artikel heeft ook een datum van binnenkomst

als 10 artikelen op 01-01-04 zijn binnen gekomen en op 02-01-04 zijn verkocht, dan kan het artikel toch het beste uit de voorraad?

Ik zat te denken aan een tabel met de volgende velden:
Id : primary key auto_increment
Artikelnummer : int (linkt naar tabel met artikelen)
Aantal : int
datumbinnenkomst : date

of zou ik toch stuk anders moeten doen?
Ik ben overigens nog redelijk nieuw met databases

Multimonitor is relax :P


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

als 10 artikelen op 01-01-04 zijn binnen gekomen en op 02-01-04 zijn verkocht, dan kan het artikel toch het beste uit de voorraad?
Verkoopoverzichten per maand zijn ook volstrekt niet nuttig om te generen. Verder is het ook absoluut niet belangrijk om trends over verschillende maanden te analyseren.
Terugontvangen orders c.q. retour goederen komt ook niet voor.

Of om een historie bij te houden van klanten of veel gekochte c.q. verkochte artikelen; heeft an sich ook niemand interesse in.
Boekhouders werken verder ook niet met Lifo / Fifo om bij te houden wat wanneer verkocht is, zodat dit beletsel ook weg valt.

idd kan je net zo goed de verkochte 'records' verwijderen.

[ Voor 28% gewijzigd door gorgi_19 op 05-01-2004 19:26 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
gorgi_19 schreef op 05 januari 2004 @ 19:24:
[...]

Verkoopoverzichten per maand zijn ook volstrekt niet nuttig om te generen. Verder is het ook absoluut niet belangrijk om trends over verschillende maanden te analyseren.

Of om een historie bij te houden van klanten of veel gekochte c.q. verkochte artikelen.
Allemaal ook overbodig....
maar wel makkelijk als een product verrot is en je moet de factuur erbij zoeken voor bijv rma

Multimonitor is relax :P


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

maar wel makkelijk als een product verrot is en je moet de factuur erbij zoeken voor bijv rma
Let op de ironie.. ;)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

MeIsTwisted schreef op 05 januari 2004 @ 19:14:
Ik ben overigens nog redelijk nieuw met databases
We noticed :)

Lees voor de lol mijn posts hierboven nog eens: er zit wat nut in.
als 10 artikelen op 01-01-04 zijn binnen gekomen en op 02-01-04 zijn verkocht, dan kan het artikel toch het beste uit de voorraad?
Even een vraag he: was het je al eens opgevallen dat er in een integer 4 miljard getallen kunnen. Een middelgrote Albert Heijn heeft een assortiment van 50000 artikelen geloof ik. Stel dat je iedere dag het hele assortiment leegverkoopt en op jouw manier een nieuwe record aanbrengt, was het je al opgevallen dat je dan alsnog 80000 dagen oftewel 220 jaar bezig bent voordat je door alle beschikbare getallen heen bent?

Dus ja, zelfs met een idioot datamodel is een autoincrement ID ruim genoeg :z

Professionele website nodig?


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Topicstarter
curry684 schreef op 05 januari 2004 @ 20:58:

Even een vraag he: was het je al eens opgevallen dat er in een integer 4 miljard getallen kunnen. Een middelgrote Albert Heijn heeft een assortiment van 50000 artikelen geloof ik. Stel dat je iedere dag het hele assortiment leegverkoopt en op jouw manier een nieuwe record aanbrengt, was het je al opgevallen dat je dan alsnog 80000 dagen oftewel 220 jaar bezig bent voordat je door alle beschikbare getallen heen bent?
jah, zo ver was ik ook al :), maar ik vroeg het me gewoon af wat er dan gebeurd.

Multimonitor is relax :P


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

jah, zo ver was ik ook al , maar ik vroeg het me gewoon af wat er dan gebeurd.
test het uit met een loopje met insert statements; ik denk alleen dat je wel een scriptje een aardig tijdje moet laten draaien wil je dit uittesten. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

gorgi_19 schreef op 05 januari 2004 @ 21:06:
[...]

test het uit met een loopje met insert statements; ik denk alleen dat je wel een scriptje een aardig tijdje moet laten draaien wil je dit uittesten. :)
ach, je laat je auto_increment gewoon nabij die 4 miljard beginnen :P
(en je kan het natuurlijk ook testen met een kleinere int)
overigens, wat er gebeurd is dat er niets meer geinsert kan worden :)

[ Voor 18% gewijzigd door .oisyn op 05-01-2004 21:15 . Reden: ik edit deze post zodat erkens niet meer aan kan tonen dat hij z'n post heeft geedit voor mijn post, en dus niet meer kan zeggen dat ik laat ben of iets in die strekking :P ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 15:32

.oisyn

Moderator Devschuur®

Demotivational Speaker

Dat testen doe je dan natuurlijk gewoon met een int(2), en niet met een int(10) ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:08

gorgi_19

Kruimeltjes zijn weer op :9

.oisyn schreef op 05 januari 2004 @ 21:13:
Dat testen doe je dan natuurlijk gewoon met een int(2), en niet met een int(10) ;)
offtopic:
:/

Wie heeft jou gevraagd om intelligente opmerkingen te maken? Dankzij jou is dit nu al de 2e keer dat ik onzin post en me er van bewust ben.

:+

[ Voor 20% gewijzigd door gorgi_19 op 05-01-2004 21:17 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Erkens
  • Registratie: December 2001
  • Niet online

Erkens

Fotograaf

.Oisyn: ik heb mijn post helemaal niet ge-edit :+ O-)
Pagina: 1