Darren Duncan wrote:

At 9:44 AM +0100 2/1/06, Alexander Foken wrote:

You could slowly migrate your system, a first step would be to make sure all table and column names match /^[A-Za-z][A-Za-z0-9_]+$/. Next, move the tables and the business logic to a "real" database. Then finally, get rid of ODBC drivers and Access on the clients and switch to a web frontend using a native driver like DBD::Oracle or DBD::Pg.


Any "real" database can use all of the same identifiers that Access can, and in fact you can use any character at all in one. You just bound them in double-quotes everywhere they are referenced, at least with databases conforming to the SQL standard of delimited identifiers; some products may use alternate delimiters.

Right. But using a restrictive set of characters for table and column names makes things easier. "The column for the number of hours worked for that day and that client, including phone support, but without travel time" may be a perfectly valid and very speaking column name, but "Hours_Worked" is shorter, easier to type, does not run easily into name length limits, and has no need for quotes. I do not propose to use stupid abbreviations like "hsw", but to use reasonably short and readable names (two to three words), using only letters and digits and the underscore instead of the space. In the original example, "EMPLOYEE_NAME" instead of "EMPLOYEE NAME"

Chopping out the spaces and stuff is only crippling yourself. -- Darren Duncan

I don't want to remove spaces, I want to replace them with a character that does not need quoting. Column and table names are identifiers for the database and the programmer, not pretty and nice names for the end user. Nice names and providing help is the job of the front end, not the job of the database.

Alexander

--
Alexander Foken
mailto:[EMAIL PROTECTED]  http://www.foken.de/alexander/

Reply via email to