Namenskonvention für MySQL

Hallo,

ich habe vor kurzem ein Prjekt, bestehend aus ePHP und MySQL, übernommen und soll es jetzt "zu ende bringen".
Nach dem ich schon einige Dinge im PHP Code geändert habe (Wie um alles in der Welt kommt man auf die Idee seine Variablen von $a01 bis $c04e" durch zu nummerieren!?) komme ich jetzt zu der (MySQL)-db.

Nach dem ich schon Inhaltliche Probleme gelöst so wie doppelte/dreifache Einträge gelöscht/geändert habe bin ich jetzt dabei ordentliche Namen für Tabellen und Felder/Atribute zu finden. Als erstes habe ich mich dafür entschieden, alles in Englisch zu schreiben, weil ich Mischungen wie "Straße, rating und working_buero" ... naja doof finde! -.-

Einfach für alles Englische Begriffe zu finden ist nicht das Problem, aber ich bin mir bei Dingen wie Singular oder Plural, groß oder klein, Wörter mit "_" oder Großbuchstaben trennen, Verben ... ziemlich unsicher.

Soll ein Atribut, 0 (== off) und 1 (== on), welches angiebt ob ein Text erstellt wird oder nicht "make_text" heißen oder "makeText" oder ganz anders!?

Dann habe ich noch ein Problem mit den "IDs", heißt die Tabelle "user" (oder lieber users!?) wird das "id" Atribut "uid" (oder lieber u_id!?) genannt. Was passiert aber, wenn ich zwei Tabellen habe, die mit "u" (oder was auch immer) anfangen!?

Ich habe im Netz leider keine - schön aufgelistete - Konvention gefunden, hier und da mal ein paar Schnippsel (ala "ich schreibe immer alles klein") aber nichts wirklich brauchbares, deshalb: Welche Konventionen sind vernüftig, welche benutz ihr, warum!?

Ich hoffe ich kann da ein wenig von euer Erfahrung profitieren und muss nicht alle Fehler selber machen. ;)

mfg
d0ne

PS: Gibt es eine gute/gebräuchliche Abkürung für "Tabelle" (so wie db für Datenbank/database) !?
 
PS: Gibt es eine gute/gebräuchliche Abkürung für "Tabelle" (so wie db für Datenbank/database) !?
Ich würd mal sagen tbl.

Zu den Unterstrichen: Ich mag die gar nicht. Sei es bei Tabellennamen, Columnnamen oder auch Variablen. Aber ich denke das ist auch geschmacksache.

Nun zu den Namenskonvention von MySQL bzw. allgemein Datenbanken kenn ich mich leider auch net aus. Würd mich aber auch mal interessieren obs da was gibt.

MfG aafreak
 
Eine genaue Konvention gibt es meines Wissens nicht.
Ich hallte es pers. so, dass ich alles Englisch schreibe und sinnvolle Abkürzungen verwende. Die Schreibweise verwende ich wie in Java, also z.B.
langBtnSubmit für die Beschritung des Submit-Button.

Die Unterstrichvariante mag ich pers. nicht so, da die Beschriftungen teilweise sehr lang werden.

Solange man eine konstante Beschritung wählt kann da eigentlich nicht viel schiefgehen.
Man sollte darauf achten, dass Titel nicht zu lang werden und für aussenstehende erkennbar.

zu dem id, uid,.. ich glaube das is Geschmackssache, je nachdem ob man das u für unique verwendet.
Für mich ist eine ID immer eindeutig und einmalig, für andere IDs muss es dann auch andere Namen geben.
Beispiel. Die Tabelle user hat eine Spalte Id (also die userid)
Eine Tabelle verwaltet attachments der User.
Dort gibt es eine ID, eine userId und die weiteren Informationen zum Attachment.

Vielleicht hilft dir das ja ;)
 
Ich habe die Erfahrung gemacht, meine ich kann jetzt nicht für jeden spechen, dass eine klare Abgrenzung von Konventionen gut für die geistige Hygiene des Entwicklers ist.
Ich z.B. nenne

Tabelle : T_Tabellenname
Feld : F_Feldname
Datenbank: DB_Datenbankname

die namen dabei in angesprochener java-Schreibweise. Außerdem finde ich sollte man, Bezeichner wenn es geht nicht abkürzen. Ich finde es wichtig, dass wenn man ein Projekt nach 3 Jahren nochmal debuggen muss, klar sieht was man damals gemeint hat.
...nur meine Meinung, hab aber noch niemanden gesprochen, der das unpassend findet..

Ich würde weiterhin, die Feldnamen im Singular beschreiben, da es das Objekt als solches besser beschriebt, wenn man es z.B. im Rahmen von ORM nutzt.
 
Code:
Zu den Unterstrichen: Ich mag die gar nicht.
Code:
Die Unterstrichvariante mag ich pers. nicht so

Ich auch nicht, warum zum Taufel sehe ich sie dann überall!? ;)

Danke für die Tipps/Meinungen! :)
Ich habe gestern auch noch mit ein paar Leuten gesprochen, und das "Ergebnis" ist, "logisch, selbsterklärend und vor allem konsequent". ...

Also werde ich bei Kleinigkeiten, wie Singular/Plural , wie die ID benennen einfach mal ein bisschen ausprobieren und "mit der Erfahrung lernen". Ich denke einige Dinge leuchten einem nicht ein, bevor man sie selbst erlebt hat.

mfg
d0ne
 
Zurück
Oben