Moin Moin!
Hallo
Nur mal so am Rand.
Wie macht ihr Experten denn die Schreibweise mit den Spaltennamen?
Ungequoted aus dem Set [A-Z0-9_], sowohl für Spalten als auch für andere Identifier (Namen von Tabellen, Views, Prozeduren, Funktionen, Variablen, ...).
Ich habe viele Tabellen wo ich die Spaltennamen in gemischter Groß- Kleinschreibweise habe. Also etwa;
LanguageID oder TextID
LANGUAGE_ID, Language_ID, language_id, wie es Dir gerade paßt. Ist alles beliebig, so lange Du die Finger von den Quotes läßt.
Ist das sinnvoll oder wäre es nicht einfacher dann gleich alles in Kleinschreibweise zu machen?
Es ist völlig egal, ob Du groß oder klein schreibst, so lange Du die Finger von den Quotes läßt.
Denn selbst wenn man mit
PDO::ATTR_CASE: Force column names to a specific case.
PDO::CASE_LOWER: Force column names to lower case.auf lower case umstellen kann, dann kann ich doch mir gleich die Mühe machen und alle Spalten auf Kleinbuchstaben umzustellen. Dann habe ich später weniger Probleme.
Oder sehe ich das falsch?
Ja. Die nächste DB, auf die Du portierst, liefert Dir die Spaltennamen wieder in Großbuchstaben. PDO::ATTR_CASE + PDO::CASE_LOWER bzw. PDO::CASE_UPPER sorgt dafür, dass die Spaltennamen unabhängig von den Details der DB-Implementierung sind.
Außerdem zwingst Du jeden, der sich irgendwann mal mit Deiner Software und der darunter liegenden DB rumschlagen muß, ebenfalls alle Identifier zu quoten, was gerade bei Wartungsarbeiten echt lästig ist.
Überlaß es der DB, ob sie die Identifier als upper oder lower case speichern will, damit ersparst Du Deinem Nachfolger auch die Quoting-Orgien. PDO kümmert sich darum, dass Du die Spalten im Programm unter konstanten Namen ansprechen kannst.
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".