Avatar billede showsource Seniormester
22. december 2008 - 08:23 Der er 8 kommentarer og
1 løsning

En uskik i sql ?

Hej
I dette spm.
http://www.eksperten.dk/spm/857236
skriver arne_v at det er en uskik at bruge `` omkring feltnavne

Hvad er forklaring på det?

P.S. Kunne ha' smidt en kommentar i spm. men noget skal point jo bruges til :O)
Avatar billede schwarz84 Nybegynder
22. december 2008 - 09:26 #1
`` gør dig i stand til at bruge reserverede ord som kolonne-navne, for eksempel `key`. Nogle sætter `` omkring alle navne for altid at være sikre på at SQL-serveren ikke misforstår hvad de mener. Dette er som regel overflødigt og gør tingene svære at læse, men omvendt så er det forskelligt fra database til database hvilke ord der er reserverede så man er nødt til at sætte dem i ``. Derfor gør nogle det konsekvent for at være sikre.
Avatar billede showsource Seniormester
22. december 2008 - 11:41 #2
Jahh, det er jo hvad jeg selv gør, altså konsekvent bruger `` om feltnavne, men arne_v kalder det "uskik", og hvorfor mon det?
Han plejer jo at ha' ret i sine udsagn :O)
Avatar billede showsource Seniormester
22. december 2008 - 11:42 #3
Og han kikker jo nok forbi på et tidspunkt :O)
Avatar billede arne_v Ekspert
22. december 2008 - 15:04 #4
Jeg betragter det som en uskik fordi at:
- man kan nemt vaelge nogle navne som ikke er reserverede
- fordi `` er MySQL specifikt

Taenk på den dag din app som bruger MySQL skal porteres til MS SQLServer og du skal
erstatte `` i alle SQL saetninger med [] (det bruger man i SQLServer).

Og saa ombestemmer kunden sig og vil bruge PostgreSQL. Og saa skal [] laves om til "" (fordi
det bruger man i PostgreSQL - faktisk i ANSI SQL men det er en anden sag).

Nu er det ikke sikkert, at din app paa et tidspunkt skal bruge en anden database,
og det er ogsaa muligt at man bruger et MySQL specifikt API saa man alligevel
skal aendre kode for hver eneste SQL saetning.

Men taget i betragtning af at det ikke koster noget at undlade at bruge de ``, saa
mener jeg, at man konsekvent skal undlade dem.

Det er en god vane at komme ind paa. Arbejder man meget med apps som bruger MYSQL, saa
skal man nok paa et eller andet tidspunkt komme til at portere en app til en anden
database.
Avatar billede showsource Seniormester
23. december 2008 - 23:14 #5
Ok, var ikke klar over at ` er mysql specifikt!
Smid et svar!

Og endnu engang, tak !!!!!!
Avatar billede arne_v Ekspert
24. december 2008 - 03:02 #6
svar
Avatar billede schwarz84 Nybegynder
25. december 2008 - 11:07 #7
Det er nu sjældent at man kan skifte databasen ud uden at skulle skrive SQL om alligevel, hvis man selv har skrevet sin SQL.
Avatar billede inglenook Praktikant
25. december 2008 - 11:27 #8
En anden, meget udbredt, uskik er at bruge vendingen "fordi at". Det hedder jo bare "fordi".........  :-)
Avatar billede arne_v Ekspert
25. december 2008 - 16:10 #9
schwarz84>

Ofte skal nogle af SQL sætningerne skrives om, men sjældent dem alle sammen. Ihvertfald
hvis man gør en lille indsats for at forebygge det.

inglenook>

:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester