On Sat, 20 Sep 2014 20:21:29 +0100
Simon Slavin <slav...@bigfraud.org> wrote:

> > Your suggestion essentially amounts to "names are not
> > decomposable, so keep one version for the user and one for the
> > system."
> 
> Sorry, I don't think I got that across effectively.  If I make up a
> database that stores names, I'm storing them pretty-much for two main
> reasons: to know the name and to sort by name on displays and
> printouts.  So I keep one column for the whole name ("to know the
> name") and one for the name in the order I want to see it sorted ("to
> sort by names").  Two things you need, make two columns.  I see no
> reason to split name up into three artificial units.

I think you got your point across just fine.  "no reason to split name
up into three artificial units" is the same as "names are not
decomposable".  

The units aren't artificial, else the history of Europe would surely
have been different.  Names if nothing else have legal meaning.  There's
a case in court in Tennessee currently because, in that state,  the
couple can't put just any old thing in the "last name" of the birth
certificate.  

I can well appreciate that might not matter to your database, which is
really my point.  What we're really dealing with here is a question of
problem domain: what does the name *mean* in the context of the
database in question. For you, evidently, it's the string by which its
owner identifies himself.  You take what he gives you, and you
reproduce it once for sorting purposes.  Because not every database has
such relaxed needs, your advice is not generally applicable.  

You say, 

> I don't understand why anyone would want to sort on firstname

I guess you've never produced a club membership or other informal
listing by first name.  I thought that was pretty common in those clubs
I've heard about over there, with the Chesterfield couches and brandy
and cigars by the fireplace, old chum?  

That also suggests you've never had to reconcile two databases in which
the people's names were the only identifying information.  Some years
ago a friend of mine integrated 50 separate state databases of doctors
for the AMA.  Much hilarity ensued, as I'm sure you can imagine.  The
job would surely have been harder if last names hadn't been
identified.  

> I suspect that those thousands of databases had their fields defined
> in the 1970s, along with checking to see that all three fields
> weren't blank and didn't have anything but letters in them.  And that
> such things would only be done in the US.  

Really?  HM Revenue and Customs doesn't require you to distinguish
between your given and family names once a year?  Your drivers license
doesn't say "Surname" on it anywhere?  

> If you want to assess their success, ask yourself how many times
> you've seen NO-MIDDLE-NAME in official records.  Or someone who
> apparently has the lastname of OMALLEY.  Or someone who apparently
> has a lastname of Al-Haj and is therefore sorted into the 'A's.

These are not necessarily database limitations or database design
issues, as you know.  Just because some COBOL system running IMS in
1975 didn't admit nonalphanumeric data, doesn't mean that in 2014 we
can't distinguish last name from first.  

> Anyone who worked for a big company these days and created such a
> database should get called in and told to do it again properly.

The day that happens, the lunatics will have been put in charge of the
asylum, because "properly" will have lost all meaning.  

I hope we've finally exhausted this topic.  Now, if you really want to
usefully direct your righteous outrage, please join me in my petition
to get web payment forms to allow, for the love of God, spaces in
credit card numbers.  

--jkl
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to