Subject Re: [firebird-support] Use of double quoted names in Firebird
Author Kjell Rilbe
As I see it, the problem is that when a person who doesn't have English
as his native toungue, he has to do some kind of translation between the
name he actually wants and the name he can use. This translation has to
follow some kind of standard.

In your examples, you've apparently chosen not to translate the words to
English but simply strip them of accents and convert them to uppercase.
But there are several cases when this wouldn't work very well, because
it would alter the original word into a completely different one with a
completely different meaning. For example, in Swedish "hår" means hair
and "har" mean "has". Not even the same part of speech (noun vs. verb).
I can give you endless numbers of worse cases, where the risk of
confusion would be a lot worse.

Accents and letter decorations aren't there just for fun, they actually
mean something. Removing them removes information.

As an alternative, you could choose to translate all identifiers to
English. But in many situations this wouldn't be very good either, due
to insufficient knowledge of the English language on the part of the
developers. I've seen many examples of this. Again, the result is confusion.

Is this good?

The simplest way of doing this would be for the developer to use the
word/name he really wants, without conversion. To use that exact same
name, same case, same accents, same everything, in every place shouldn't
be a problem. Provided that all interfacing systems and applications do
support unicode of course, which I think is only a matter of time.

May I also mention that if I'm not mistaken, Delphi 2005 supports
unicode in source code and now allows identifiers like "Hår" and
"Automóvel". How it handles the dated "feature" of case unsensitivity, I
do not know.

Kjell

Fabricio Araujo wrote:
> For me, quoted idenfiers is only for column names in select.
> In table, constraint, etc, etc, names? Complete madness of
> SQL Standard.
>
> And even that use in column names I prefer to not use.
> Is nothing more than a source of headache... If someday
> I hire a DBA and see him/her starting doing what Kjell
> talks, I send him/her a message: "If like the job, get
> rid of that quoted idenfiers except the ones that you have
> a very strong reason to do that way. And ask my permission
> before use quote on those exceptions".
>
> Clientes, CLIENTES, ClIeNtEs e clientes are the same thing.
> Automóvel, Automovel, automóvel e AutoMovel are that same
> thing - so call it AUTOMOVEL. Not accent sensitive, not
> case sensitive, not *nothing* sensitive.
>
> I would economize hundreds of hour of useless meetings
> if I had followed it and the column names are just the
> field names.
>
> And yes, I'm radical about this point. Identifiers are
> pure ascii. String *data* is what that is stored in
> national chars. No trouble, no mess.


--
--------------------------------------
Kjell Rilbe
Adressmarknaden AM AB
E-post: kjell.rilbe@...
Telefon: 08-761 06 55
Mobil: 0733-44 24 64