DJK(John) Robinson
djkr at msn.com
Sat Feb 21 11:39:53 CST 2004
I think you've all lost the plot, mostly: 1. Each individual answer *has* to identify the question it relates to, if you want to make any sense of the analysis! (Re-read Mark's posting, repeated below. There are different simultaneously existing sets of 25 questions, and each set varies with time.) 2. So a million records at 6 bytes each gives you ... 6 MB! Maybe I've been working too much with SQLS lately, but this minuscule amount, coupled with the simplicity and flexibility of design, and ease of querying/reporting, is "more efficient" (Mark's phrase) than groping about in strings. IF (really?) you think that disk space is the only criterion, then you shouldn't be wasting a whole byte on each answer, when a couple of bits would do! Stick to Normal form, unless there's a GOOD reason not to. John > -----Original Message----- > From: accessd-bounces at databaseadvisors.com > [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of > Stuart McLachlan > Sent: 21 February 2004 10:30 > To: Access Developers discussion and problemsolving > Subject: RE: [AccessD] Table Structure questions > > > On 20 Feb 2004 at 18:25, DWUTKA at marlow.com wrote: > > > Sorry, use 97 for almost all of my backends....so I keep forgetting > > about the Unicode issue! <grin> > > > > However, what are you LINKING the records in that table with? Each > > record, in a one per question table, would need a caller ID (Long), > > Question Number (could be byte), then the answer (another byte). > > > > Now you have 6 bytes per answer (instead of 1 in ASCII, or 2 in > > Unicode!) > > > > No, I agreed completely with your idea of storing all the answers in > one record, I just suggested stotring the anwers in separate fields > rather than a string - so you have CallerID plus 25 byte fields > rather than CallerID plus one string field storing 25 characters. > > ****************************************** Mark's original posting: ****************************************** Hello All, I have been asked to set up a call monitoring db for several different groups. A few pieces of data will be captured for each call and then 25 questions will be answered for each call. Each group may or may not have the same 25 questions...which they can add or remove throughout the month. Initially I wanted 2 main tables for data collection(1 for call info and 1 for Answers)...The Answers table would have 1 row per question(instead of a column for each)...so 25 records per call monitored. I thought this would be best so as new questions were added and discontinued...there would be no need to change the forms,tables, or reports...but with this method I will be over 1 million records in 6 months. I've informed them they will need some BE other than access for this scenario. The question I have...is there a more efficient way to store this type of data?(Also, the answers are all 1,2,or 0...so its very little info...just a lot of rows) Thanks, Mark ******************************************