Beibehaltung Groß/Kleinschreibung

Beim Anlegen von Tabellen und Spalten, verwende ich zur besseren Leserlichkeit zum Teil Großbuchstaben. Das sieht dann bsw. so aus:

CREATE TABLE t_memberOf (
                userId INTEGER  NOT NULL,
                groupId INTEGER  NOT NULL ,
                moderator CHAR(1) DEFAULT 0 );

PostgreSQL ignoriert diese Großschreibung jedoch. Auch bei simplen Abfragen, wird aus einem großen O schnell ein kleines o. Die Abfragen funktionieren trotzdem. Nur wenn ich dann auf die Werte in dem RückgabeArray zugreifen möchte, fehlt ja der große Buchstabe.

Per phpPgAdmin kann ich die Spalten und Tabellennamen plötzlich so ändern, dass auch Großbuchstaben verwendet werden. Beim Anlegen wird jedoch auch alles ersteinmal klein geschrieben, auch wenn ich die Funktionen und Oberfläche von phpPgAdmin verwende.
Ändere ich eine Spalte wieder so, dass ein Großbuchstabe vorhanden ist, kann ich über die Durschuchen-Funktion von phpPgAdmin nach Zeilen suchen. Verwende ich jedoch SQL mit Großbuchstaben-Spalten, kommt eine Fehlermeldung, die besagt, dass die Spalte (komplett kleingeschrieben) nicht existiert - stimmt ja auch. Nur hier wird wieder alles verkleinert … Warum nur?



test=# create table "TaBeLle" ("sPaLtE_mIt_GROSS_uNd_kleinbuchstaben" int);
CREATE TABLE
test=*# insert into "TaBeLle" values (1);
INSERT 0 1
test=*# select * from "TaBeLle";
 sPaLtE_mIt_GROSS_uNd_kleinbuchstaben
--------------------------------------
                                    1
(1 row)

Andreas

Groß- und Kleinschreibung von Namen



mfg

fristo

jupp, das hab ich mittlerweile auch mit bekommen. Erst hab ich was von Klammern gelesen, aber damit gings auch net wirklich … Anführungszeichen sind der Schlüssel, so aber inkompatibel mit MySQL. Da ich meine Abfragen etc. eben für MySQL und PostgreSQL schreiben möchte. MySQL unterstützt scheinbar Großbuchstaben auch ohne die Anführungszeichen …
Müsste ich nun doch überlegen alles auf Kleinbuchstaben umzustellen, aber das behagt mir gar nicht. :frowning:

Man sottle sich nicht nach Exoten richten, wenn man etwas richtig machen will.

Da ich meine Abfragen etc. eben für MySQL und PostgreSQL schreiben möchte. MySQL unterstützt scheinbar Großbuchstaben auch ohne die Anführungszeichen …

Kommt u.a. auf das OS an, auf dem das läuft.

Müsste ich nun doch überlegen alles auf Kleinbuchstaben umzustellen, aber das behagt mir gar nicht. > :frowning: >

Diese Entscheidung kann Dir hier keiner abnehmen.

Andreas

Läuft derzeit auf OpenSuse 10.2, interessant wär allerdings auch Windows XP oder Server 2003/2000.
Gibts da Möglichkeiten?

Wintendows unterscheidet bei Dateinamen nicht zwischen groß/klein. MySQL bildet Tabellen aber direkt als Dateien ab, was unter *NIX dann groß/klein unterscheidet und bei Win nicht. Ist ein immer wieder gern genommenes Problem.

Andreas

Du solltest Dich für eine Datenbank entscheiden. 2 Datenbanken zu pflegen ist zu aufwendig. Es gibt keine Datenbanken, die kompatibel zueinander sind. Ohne die entsprechenden Anpassungen an die jeweilige Datenbank, wird keine Applikation funktionieren.

Das ist in der Sntaxbeschreibung von MySQL auch so definiert.

Den größten Aufwand wirst Du aber mit den SQL-Scripten haben. Da gibt es gewaltige Unterschiede im Syntax und wie man bestimmte Aufgaben löst.


mfg

fristo

Ich hatte mich ja für MySQL entschieden. Bin dann aber durch Zufall auf Creole gestoßen, mit dem man verschiedene Datenbanken nutzen kann. Je nach Einstellung halt: MySQL oder PGSQL z.B. auch MSSQL wäre möglich. Klar gibts da Unterschiede. Schon allein beim Erstellen gibt es viele Unterschiede, da MyISAM eben keine Fremdschlüssel unterstützt, muss ich hier z.B. InnoDB explizit angeben. Ansonsten bräuchte man halt nur die Datentypen wählen, die es eben in beiden DBMS gibt. Auch bei der Query-Ausführung gibt es ja eigentlich SQL-Standards, an die sich leider auch nicht alle halten - die eine restriktiver als die andere. Aber so lernt man weiter hinzu, sich an Standards zu halten eben … und welche Unterschiede es gibt …

Außerdem fände ich es schon cool, verschiedene DBs nutzen zu können. Grad wie es einem beliebt halt oder welche schon vorhanden ist. Spart auch das aufsetzen eines weiteren DBMS nur für eine Anwendung halt.

Ich probiers halt mal, obs klappt. Is noch ziemlich viel Anpassarbeit zu tun.

Gruß,
Leeloo5E