Het vouwen van (niet-geciteerde) tabelnamen naar hoofdletters is vereist door de ANSI SQL-standaard.
Je kunt maak tabellen (en kolommen) met namen in kleine letters met behulp van een identificatie tussen aanhalingstekens (ook dit volgt de SQL-standaard):
CREATE TABLE "foo"
(
"id" integer,
"SomeColumn" varchar(100)
);
Ik zou u echter sterk aanraden om niet doe dat.
Zodra u uw tabellen op die manier heeft gemaakt, moet u altijd gebruik dubbele aanhalingstekens omdat elke naam die niet tussen aanhalingstekens staat (volgens de regels voor SQL-ID's) opnieuw in hoofdletters wordt gevouwen en dus niet overeenkomt met de naam zoals deze is opgeslagen in de systeemcatalogi.
Daarom zal de volgende verklaring niet werk:
SELECT id, somecolumn FROM foo;
U moet een identificatie tussen aanhalingstekens gebruiken:
SELECT "id", "SomeColumn" FROM "foo";
Voor meer details over (geciteerde) identifiers, lees het hoofdstuk Regels voor naamgeving databaseobjecten in de handleiding.