Also ich mache das so:
Alle Primärschlüsselfelder und alle Fremdschlüsselfelder erhalten den Prefix
Id (z.B. IdCustomer, IOrder, IdArticle,...).
Eine
SQL-Abfrage sieht dann z.B. so aus
SQL-Code:
SELECT [feldliste]
FROM Orders INNER JOIN Customer ON Orders.IdCustomer=Customer.IdCustomer
-- Customer.IdCustomer ist ein Primärschlüsselfeld
-- Orders.IdCustomer ist ein Fremdschlüsselfeld mit gleichem Datentyp&Länge
Felder auf denen ein (oder mehrere)Index liegt (z.B. PLZ, OrderDate, CountryCode, ...) bleiben unverändert.
Feld- und Tabellennamen schreibe ich in
UpperCamelCase.
Erlaubt sind nur Buchstaben, Ziffern und der Unterstrich; max 32 Zeichen.
Keine deutschen Umlaute oder Bezeichner die mit einer Ziffer beginnen.
Im Prinzip die gleichen Regeln, die auch für Pascal Bezeichner gelten.
Was sich
nicht bewährt hat ist:
* Fester Prefix für alle Felder z.B. alle Feldnamen mit beginnen mit F und alle Tabellennamen beginnen mit T
* Feldnamen werden aus Tabellenname + "_" + Feldname zusammengesetzt wie z.B. (Bestellung_Datum, Customer_City)
Ich habe ein Programm mit dem ich grundsätzlich alle Namen auf reservierte Wörter überprüfe.
Dabei werden nicht nur reservierte Wörter der aktuell verwendeten Datenbank angemeckert sondern auch von anderen Datenbankherstellern.
Damit wird verhindert dass es in Zukunft Probleme gibt falls das Schema mal auf ein anderes
DBMS portiert werden sollte.
http://support.microsoft.com/default...b;en-us;321266
http://docs.oracle.com/cd/B19306_01/...rved_words.htm
http://developer.mimer.com/validator...rved-words.tml
http://www.firebirdsql.org/refdocs/l...-reswords.html