[AccessD] On DB Bloat, Bad DB Design, and various

John W. Colby jwcolby at colbyconsulting.com
Tue May 25 10:46:11 CDT 2004


>What if the maximum for a text field was 512? Would you then set the limit
to 512?

Yep.

It is not a big deal.  Expanding a text field may be a HUGE deal.  It cannot
be done unless everyone is out of that table.  So I have to (potentially) go
boot all the users, and in the case of my current client REBOOT THE DAMN
SERVER (because the lock file is getting mangled all the time).  All to
change a text field with artificial limits.

It isn't like the db USES 255 characters, it just ALLOWS 255 characters.

It is NOT my business to tell the user they cannot enter valid data in a
field.  If the business rules CLEARLY STATE that I need to do that then I
do, else I don't.  I have never seen a business rule that said the address1
(address2, last name, take your pick) had to be some arbitrary fixed length.

John W. Colby
www.ColbyConsulting.com

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Scott Marcus
Sent: Tuesday, May 25, 2004 7:38 AM
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] On DB Bloat, Bad DB Design, and various


<< Just today I had to go in and remove a mask that the client requested.
When
I designed the db the client swore up and down that they would NEVER have
claimants residing outside the US.  They did NOT want a country field, they
wanted a US state table etc.  I explained the obvious and gave them what
they asked for.  Today I removed the zip code mask so that a Canadian zip
could be entered.  The 2nd line of the address is being used for the city
and country.

Why is it such a big deal to go and make the change? That's why they pay
you. What if the maximum for a text field was 512? Would you then set the
limit to 512?

Scott Marcus
TSS Technologies, Inc.
marcus at tsstech.com
(513) 772-7000

 -----Original Message-----
From: 	accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]  On Behalf Of John W. Colby
Sent:	Monday, May 24, 2004 8:59 PM
To:	Access Developers discussion and problem solving
Subject:	RE: [AccessD] On DB Bloat, Bad DB Design, and various

Brett,

>If you always allow 255 characters for your text fields, do you format your
forms and reports to display that size of data?

I format forms to accept as much as is normally needed plus some, taking in
to account screen real estate.  You can always scroll left / right or even
add scroll bars to text boxes to allow vertical scrolling as needed.  In
reports I use AllowToGrow so that the box can expand vertically as needed.

>Of course, I'm assuming that you don't display all 255 characters.

On forms that is obviously true, on reports it is false.

>Have you ever encountered users that misuse the fields?

Of course.

>Doesn't allowing the entry of 255 characters in any text field (say Address
2) invite the careless user to treat it as the Memo field they forgot to ask
for?

Yes.

OTOH, how do you handle it?  OK, lets not make it 255, let's make it
what.... 25?  What happens when they really do need 26?  OK, if not 25, then
what?  50?  You are making an arbitrary decision, running the risk of a
valid address not fitting (and I've seen some pretty big ones) or, if you
expand to 50, then allowing the user a short memo anyway.

I cannot set the rules for the user, the client needs to do that.  If the
client does not want the user using Address2 as a memo field they need to
state that.  If the user uses Address2 as a memo field then the client needs
to discipline their employee.  My job is to allow the user to capture the
data, whatever that data might be.  My job is NOT to tell the user "make it
fit in 20 spaces".

IF the client asks me to set up a zip code mask, or a phone mask or whatever
I will do so.  That is the CLIENT requesting it.  If the client requests
that I set Address2 to 20 characters then I will do so, because the CLIENT
asks me to.  I will state the argument that the address might be longer than
20, explain that in the event they encounter an address longer than the
limit they will have to get all the users out of the db (or at least out of
that table) in order to modify things so that the address fits.  If they
want 20, then they get 20 but I am never going to arbitrarily make such a
decision.  If the data MUST be limited, or checked in some way, for a valid
business rules reason, I will do that.  But that is fundamentally different
from arbitrarily "deciding" on 20 (or whatever) characters.  I certainly do
not agree that it is sloppy programming (db design).

Just today I had to go in and remove a mask that the client requested.  When
I designed the db the client swore up and down that they would NEVER have
claimants residing outside the US.  They did NOT want a country field, they
wanted a US state table etc.  I explained the obvious and gave them what
they asked for.  Today I removed the zip code mask so that a Canadian zip
could be entered.  The 2nd line of the address is being used for the city
and country.

I explained the obvious and was explicitly told NOT to give them what they
ultimately needed.  No way in hell I am going to INTENTIONALLY not give them
what they need just because I personally think an address should fit in 25
(or whatever) characters.

John W. Colby
www.ColbyConsulting.com






More information about the AccessD mailing list