AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Benennung von Spalten und Tabellen in der Praxis
Thema durchsuchen
Ansicht
Themen-Optionen

Benennung von Spalten und Tabellen in der Praxis

Ein Thema von Der schöne Günther · begonnen am 10. Jan 2014 · letzter Beitrag vom 11. Jan 2014
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.111 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Benennung von Spalten und Tabellen in der Praxis

  Alt 10. Jan 2014, 12:58
Datenbank: - • Version: - • Zugriff über: -
Es mag den Eindruck machen, ich werfe ohne eigene Vorarbeit direkt eine Frage in den Raum. Ich habe fast keine Praxiserfahrung und kenne daher wenig Punkte und Alltagsbegriffe, die man weiterverfolgen kann.

Es geht um folgendes. Ja, "choose short, unambiguous names" und so weiter. Die ganze Theorie, wie man dies und das nennen sollte.

Sieht die Praxis wirklich genauso aus? Oder muss man sich beim Umstieg von z.B. mySQL auf Postgres drauf gefasst machen, dass manche Spalten ihren Namen nicht behalten können? Ich habe dunkel noch die Empfehlung "Nein, nenne die Spalte besser nicht NAME oder ID" im Hinterkopf. War das Quatsch? Oder galt das nur für ein bestimmtes DBMS?

Habt Ihr eigene Einschränkungen entwickelt an die Ihr euch haltet? Aus rein technischer Sicht, keine Style-Guidelines.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.034 Beiträge
 
Delphi 12 Athens
 
#2

AW: Benennung von Spalten und Tabellen in der Praxis

  Alt 10. Jan 2014, 13:08
Jede Datenbank hat sicher den einen oder anderen Namen, der schon für etwas anderes reserviert ist und womöglich jedesmal gequoted werden muss. Bei der Verwendung der meisten Zugriffskomponenten sollte das aber transparent für den Entwickler geschehen. In vielen Fällen kann man auch ein Field-Mapping durchführen.

Bei TClientDataset muss man bei Nested DataSets nur aufpassen, daß die verbundenen Spalten in den beiden Tabellen gleich heißen. Insofern funktioniert die generelle Benennung der AutoInc/UniqueID-Spalte mit "ID" dort schon mal nicht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Benennung von Spalten und Tabellen in der Praxis

  Alt 10. Jan 2014, 13:56
Ich arbeite vorwiegend mit Oracle, hier gibt es eine (heutzutage) unerklärliche Einschränkung auf max 32 Zeichen für Objektnamen.

Vielleicht ist das aber auch ein Erfahrungswert, ängere Namen werden wahrscheinlich nicht gelesen, unterschieden und sind im Objektexplorer nicht zu erkennen.

Erfahrungswert ist, dass Tools nicht durchgängig lokalisierte Benennung erlauben, Umlaute, Leerzeichen usw. also am besten nicht verwenden.
Wer sich an geklammerte oder wie auch immer gequotete Feldnamen gewöhnt hat, meinetwegen, ich finde es störend, sogar häßlich, und es hat mglw. wiederum Seiteneffekte (je nach System und Quotezeichen)

Eine Tabelle sollte einen treffenden Namen haben, der sollte irgendwie zur abgebildeten Entität passen und vielleicht auch dann noch passen, wenn die erste Revision gemacht wurde.

Ein Tabellenname könnte auch ein Domänenkürzel als Prefix haben für den groben Überblick (damit Hacker sich besser zurecht finden)

Also Domäns ala 'SYS', 'BASE', 'CUST..'

Feldbenennung:
Ich verwende gern ein z.B. vierstelligen Präfix, der grob gesagt die Großbuchstaben einer CamelCase Notation wiedergäbe, wenn es CamelCase wäre.
Bsp.: CSTR_ID

Damit spiegelt jedes Feld mehr oder weniger die Herkunfts-Tabelle wieder.
Bei Foreign Keys könnte man drüber streiten, ob man den original Namen wiederholt oder z.B. das Standard Präfix davor stellt.
Unterscheiden sich Foreign- und Primary Key Spaltennamen kann man etwas rotzig auch ein "Select * from tab1, tab2, " machen, ohne das gleichnamige Spalten nerven, was ich sehr schön finde.
Spaltennamen sollten m.E. über alle Tabellen hinweg eindeutig sein.

Der Prefix führt automatisch dazu, das Schlüsselwörter idR egal sind. Wer eine Spalte "Group by" nennt, ist aber irgendwie auch selber Schuld.

Als Zeichen nimmt man sicherheitshalber auch heute noch US ASCII 7.

Und noch was ganz anderes:
Egal ob schon alles zu spät ist oder man neu anfängt mit einem Datenmodell.
1. Schritt Tabellen anlegen
2. Schritt View drüber und man hat ein erstes Interface (Namen und Rechte)

Ich bin mir nicht sicher, ob Du das wissen wolltest, aber nun hab ich es geschrieben.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Benennung von Spalten und Tabellen in der Praxis

  Alt 10. Jan 2014, 16:03
Regel 1: nur Buchstaben, Ziffern und den Unterstrich verwenden (keine Umlaute, Leerzeichen oder Sonderzeichen)
Regel 2: ein Bezeichner darf nicht mit einer Ziffer beginnen
Regel 3: ein Bezeichner darf kein reserviertes Wort des DBMS sein (wie z.B. AND, USER, INDEX, TIME, CHAR, INSERT, ...)
Regel 4: max. 64 Zeichen pro Bezeichner (die Obergrenze lässt sich nicht so scharf definieren; man sollte unterhalb der Genze der meisten DBMS bleiben. Mit max 32 Zeichen ist man auf der sicheren Seite wenn man veraltete DBMS mal ausnimmt)
Regel 5: wie Regel 3 nur sollte man ALLe gängigen DBMS berücksichtigen damit man bei einer Portierung auf ein anderes DBMS nicht in Schwierigkeiten gerät

Im Anhang ist eine Unit mit der man diese Regeln überprüfen kann.
Angehängte Dateien
Dateityp: pas UCheckDesignators.pas (11,9 KB, 16x aufgerufen)
fork me on Github
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.111 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Benennung von Spalten und Tabellen in der Praxis

  Alt 10. Jan 2014, 16:09
Danke für die Hilfe soweit, das hat mir alles gut weitergeholfen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Benennung von Spalten und Tabellen in der Praxis

  Alt 10. Jan 2014, 17:47
Ganz besonders kreativ darfst Du Sein wenn Du Access verwendest "Des schönen Günters erste Tabelle" ist da durchauszulässig. Ob Du dann allerdings über ADO,ODBC,JET.... zugreifen kannst steht auf einem ganz anderen Blatt!
Darum unbedingt die vorgenannten Regeln beherzigen.
Ebenfalls nicht unproblematisch können sein % _ * &. (werden als Wildcards/Escapekeys verwendet!)

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Alt 10. Jan 2014, 17:52     Erstellt von Smut
Dieser Beitrag wurde von TBx gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
nahpets
(Gast)

n/a Beiträge
 
#8

AW: Benennung von Spalten und Tabellen in der Praxis

  Alt 10. Jan 2014, 18:19
'_' ist auch böse??
Nach meiner bisherigen Erfahrung nicht, das einzige Zeichen, außer Buchstaben und Ziffern, dass wir in Tabellen-, Spalten, Funktions-... -namen nutzen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz