ali said:
Hi
Rhino
you are right that how the database will be
about which dbms i am going to use it is still open choice for me
(still my superviser would like to have MS Access ) but i dont think MS
Access can handle this
I'm not 100% sure if MS Access can handle this. I haven't used Access a lot
but I just looked at the datatypes described in the Help and there are three
possible datatypes that _MIGHT_ work for your situation:
- You could use Memo if you converted your boolean array into a text string.
Then, instead of storing actual booleans, you could store String
representations of booleans, like TFTF for true-false-true-false. You said
that your array will never have more than 53000 values in it so each boolean
could be turned into a single character representing true or false and still
fit in a Memo field. But you'd have to convert the array into a long string
before inserting it into the table and you'd have to convert it back to a
boolean array when you fetch it from the database. If each dimension of your
array always had the exact same number of entries, this might be fairly easy
but, if not, you might find that it was complicated or impossible to convert
your String back to an array reliably.
- You might be able to put the whole array in an OLE Object, assuming that
the object was less than 1 GB in size. I'd be very surprised if your array
was anywhere near that big! I've never worked with OLE Objects in any
language though so I'm not sure what sort of code you'd have to write.
- You could use a Hyperlink and then store something similar to a URL in the
database. The URL would point to a file that contained some sort of
representation of your array. I'm not sure if you'd find this easier or more
complex though! It's easier in some ways - your database only needs a small
field for the URL instead of a big field for the array - but you also have
to write your array to a file and read it from the file again to get the
data back. Again, I've never really worked with hyperlinks in Access so I'm
not sure how ugly this would be.
But I don't guarantee that _any_ of these datatypes would work for your
data.
so what is the best DBMS to use
That's an _excellent_ question but I'm not sure I can answer it. I don't
know all of the different databases. I've used DB2 a lot and MySQL quite a
bit. I've also dabbled with Access a little. But I've never used Oracle or
Sybase or Informix or Cloudbase or several of the other databases at all.
My main database is DB2 and I spent a bit of time yesterday trying to see if
it could do the job but I'm not sure yet. There are a few ways that _might_
work but I don't know yet if they will definitely work. I _THINK_ that I
should be able to get it to work if I can convert the boolean array to a
byte array: then I'll probably be able to store it in a BLOB. It might even
be possible to store the array directly as an Object, which would be my
preference. But I need to do a bit more research before I can answer that
for sure.
Since this is an interesting issue that I've been curious about for some
time, let me do a bit of research and see if I can suggest some answers. I'm
not sure how long it will take to find out what I want to know so check back
every few hours.
One other thing: what operating system(s) will be used for this system? Most
databases are limited to only some of the operating systems that are
available.