Avatar billede nanna31 Praktikant
07. juli 2002 - 15:42 Der er 20 kommentarer og
1 løsning

data-økonomi


kan man spare plads i en accesdatabase ved at lagre een lang streng fremfor to korte ?
Avatar billede juks Novice
07. juli 2002 - 16:14 #1
hmmmm
lagre den i en tabel eller?
det burde giver samme størrelse en byte er jo en byte
Avatar billede nanna31 Praktikant
07. juli 2002 - 16:38 #2
Ja - men burde er een ting, nogen som har erfaring på området ? :)
Avatar billede mugs Novice
07. juli 2002 - 16:55 #3
I Access97:

Et tekstfelt fylder ikke mere end indholdet i feltet.
Et notatfelt kan indeholde op til 65535 bytes, men fylder dog aldrig mere end indholdet.
Talfelter fylder 1-16 bytes afhængig af feltstørrelsen:
Byte: 1 Byte
Heltal: 2 bytes
Dobbelt heltal: 4 Bytes
Reelt Tal: 4 Bytes
Dobbelt reelt tal: 8 Bytes
Replikeringsid: 16 Bytes
Avatar billede nanna31 Praktikant
07. juli 2002 - 17:07 #4
Det var et megt fint svar tak :) - jeg har dog lige to spørgsmål til det :

Fylder eksempelvis tekstvariablen "tak" præcist 3 bytes ? - er der ingen standardstørrelser for tekstfelter ?

hvad er replikeringsid ?
Avatar billede juks Novice
07. juli 2002 - 17:14 #5
Et tekstfelt fylder ikke mere end indholdet i feltet.
standardstørrelser = valgfrit i options under tools  og fanen tabeller.
fra 0 -255

hvad er replikeringsid ? prøv at søge efter ReplicaID i hjælpen i access så kan du læse alt om dette
Avatar billede nanna31 Praktikant
07. juli 2002 - 17:26 #6
Er det en autogenereret primærnøgle du tænker på ?
Avatar billede juks Novice
07. juli 2002 - 17:31 #7
Er det en autogenereret primærnøgle du tænker på ?
hmmmmmm?????????
Avatar billede mugs Novice
07. juli 2002 - 17:40 #8
Enh replikeringsid er et felt Access tilføjer.

Et eksempel:
Et firma har en database til at registrere salg, der foretages af en række sælgere med hver sin transportable PC. Omj morgenen tager de en kopi (replika) af hoveddatabasen, kører ud i mor DK og sælger.
Hvert salg bliver registreret på deres PC. Når de kommer hjem til kontoret om eftermiddagen, indlæser de hver sin db i hoveddatabasen, der så opretter et felt (replikeringsid) der overfor styresystemet indikerer hvilken replika der er tale om.
Avatar billede nanna31 Praktikant
07. juli 2002 - 17:52 #9
Ok, jeg tror det er fint :) - tak for hjælpen :)
Avatar billede terry Ekspert
07. juli 2002 - 17:59 #10
nanna31> Access is a relational database so by putting "two strings" in one is going away from the principles of a relational database!
You may as well write them to a flat file and then ZIP it if you want to save space!

Have you thought about how your going to get at each part? If each part was in it own string then they could be indexed for faster access to your data!


http://www.awtrey.com/support/dbeweb/database.php
Avatar billede nanna31 Praktikant
07. juli 2002 - 18:17 #11
Thanks - but in this particular case the relational aspect is not so important.
Avatar billede terry Ekspert
07. juli 2002 - 18:26 #12
If you put two strings in one it will save some room (meta-data) Meta data is data about data soi what I am saying is you only need to have infromation on one field and not two!
Avatar billede nanna31 Praktikant
07. juli 2002 - 18:50 #13
How much data am I saving then ?
Avatar billede terry Ekspert
07. juli 2002 - 19:05 #14
not much!
Avatar billede terry Ekspert
07. juli 2002 - 19:07 #15
what makes it necessary to have to save this data?
Avatar billede nanna31 Praktikant
07. juli 2002 - 19:30 #16
Thats a long story :) -
How much data is one piece of metadata ?
Avatar billede terry Ekspert
07. juli 2002 - 19:51 #17
I wouldnt know precisely, but for each field there rae a number of properties, name, data type, length etc. and they all use some ammount of space. But it is only ONE time, so unless you have 100's of tables and fields it isnt much at all.
I dont know how much you have used Access but Access databases do tend to GROW when used. How much they grow depends on a number of factors but I would imagine that it can grow MORE than how much you MIGHT save by putting two lots of data in one field.

So I would think again before I went  ahead with it!
Avatar billede nanna31 Praktikant
07. juli 2002 - 20:00 #18
you mean think about putting two variables together in one ?

Yes access-bases can grow in a weird way - just before I made a small test: I made a new database with only one field and no data. After that I added some fields and removes them again, now the base took more space than from start even though it schould end up the same ???.
Avatar billede terry Ekspert
07. juli 2002 - 20:13 #19
Yes think again about putting two variables together in one!

Access grows because it deosnt automatically free the space it uses for working with. You have to compact the dB to do this (tools + database... menu)
Avatar billede mugs Novice
07. juli 2002 - 20:46 #20
nanna31 > Jeg er tilhænger af små felter, og hvis jeg af den grund så skal bruge flere er der ikke noget at gøre ved det.

Nu ved jeg ikke i hvilken forbindelse du spørger, men der er jo en mulighed for, at indsætte en kode i formularen's OnCurrentEvent:

Ubundettekstfelt = Tekst1 & Tekst2

Du kan også lave det i forespørgslen, så du får det med i en rapport. Brug evt. udtryksgeneratoren.
Avatar billede nanna31 Praktikant
07. juli 2002 - 21:31 #21
Thanks for your help guys :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester