Kako uopste pravis tabelu?
Ako je pravis uz upotrebu navodnika, a identifikatorima dajes imena malim slovima, poput:
Code:
CREATE TABLE "qwerty" (
"group_id" ...
);
onda i moras da nastavis da koristis navodnike. (Navodnike cesto stavljaju alati za generisanje strukture iz ER dijagrama.)
I interbase i firebird su case-sensitivni sto se tice identifikatora (imena tabela, kolona, procedura,...) koji su prosledjeni unutar navodnika.
Identifikatori koji se proslede Interbasu (pa i Firebirdu) bez navodnika, se prebacuju u velika slova, dodaju im se navodnici i takvi se dalje upotrebljavaju. Upotreba navodnika znaci da identifikator treba da ostane u obliku kakva su slova upotrebljena.
To znaci da interbase i naredbu:
Code:
CREATE TABLE qwerty (
group_id ...
);
i naredbu
Code:
CREATE TABLE qWeRtY (
grOUp_Id ...
);
prevodi u isti oblik:
Code:
CREATE TABLE "QWERTY" (
"GROUP_ID" ...
);
, a naredbu:
Code:
CREATE TABLE "qwerty" (
"group_id" ...
);
ostavlja takvu kakva je.
Posto je case senzitivan zaista mu nije isto "QWERTY" i "qwerty".
Problem nastaje vec kod kreiranja tabela, jer se vec tada koriste navodnici (eksplicitno - od strane coveka, ili implicitno - od strane alata).
Digresija: Kod PostgreSQL-a je default prebacivanje u mala slova!
Moj savet je da se apsolutno nikada ne upotrebljavaju navodnici! Tada se identifikatori mogu smatrati case-insensitive-nim sto je daleko ugodnije za rad, portabilnije je, a i po SQL standardu je.
"The best code is no code at all."
- Zidar (ES član)
"Biggest obstacle to learning
SQL is unlearning procedural
programming." - Joe
Celko
"Minimize code, maximize data."
- A. Neil Pappalardo