Frage

Ich bin zum Datenbankdesign und vor kurzem eine Spalte in einer Tabelle DayOfWeek genannt, völlig zu vergessen, dass DayOfWeek eine eingebaute Funktion in SQL Server ist. Jetzt bin ich entscheiden, ob ich sollte es einfach lassen wie es ist und verweisen auf die Spalte mit eckigen Klammern [DayOfWeek] oder den Spaltennamen Konflikte in Zukunft zu vermeiden ändern. Ich bin nicht zu weit in das Projekt so zu ändern es nicht zu hart ist. Die Debatte in meinem Kopf ist, dass der Spaltenname von DayOfWeek nur so viel Sinn für seinen Zweck macht, so dass ich wirklich wollen, es zu benutzen ... aber es ist ein reserviertes Wort ... und könnte Schmerzen in der Zukunft führen (vor allem, wenn ich muß immer eckige Klammern um es ausdrückte, als Verweis auf die Spalte).

Was bedeutet jeder denken?

War es hilfreich?

Lösung

Ich würde es ändern - ich habe ein Vermächtnis Tabelle namens Benutzer bekam - es ist ein Schmerz, der mit den eckigen Klammern die ganze Zeit. vielleicht nennen es DayOfWeekName oder DayOFWeekId

Josh

Andere Tipps

Jeff,

Wenn Sie nicht zu weit unten auf der Spur sind die Spalte (relativ) umbenennen schmerzfrei dann würde ich empfehlen Sie es ändern. Sie haben einen wahrscheinlichen-future-Kopfschmerzen für die maintentance Crew identifiziert, und ich denke, es ist eigentlich wäre weniger kostspielig (im Laufe der Zeit) ist es jetzt zu reinigen, besonders wenn man bedenkt, dass etwas Umbenennung ist nicht die Hölle auf Räder, da die Aufkommen einer wirklich effektiven suchen und ersetzen-Funktionalität in Text-Editoren und IDE.

Die wirklich harte Teil der Umbenennung das Verständnis gewinnt benötigt, um die Arbeit sicher zu tun. Sie sind einzigartig (das ist der Autor) in dieses Verständnis haben. Wenn Sie mich fragen (nur zum Beispiel), um den Job zu tun, dann wäre es wahrscheinlich nicht ein kostengünstiges Geschäftsangebot sein.

So ... +1 für die Befestigung des Saugers selbst ... und zwei für ihn nicht wieder zu tun; -)

Prost. Keith.

ich immer sicher, dass ich nie ein Schlüsselwort als Beginn jeden Variable / Objekt / Funktion verwenden, einfach weil man nie sicher ist, ob Ihre Zielsprache es mag. Es kann oft verrückte Fehler erzeugen, die eine Weile dauern, bis zu verfolgen. Auch wenn Syntaxprüfung es nicht abholen, es bedeutet, dass Sie mehr Zeit verschwendet haben, als wenn sie einen anderen Namen wie FurryKitten gewesen war.

würde ich DayOfWeek vermeiden und für etwas entscheiden, die eine ganz andere ist, vielleicht Weekday oder DayName. Es spart nur Ärger.

Plus - eckige Klammern nur Kopfschmerzen schaffen, und es gibt eine Menge von SQL-Entwickler gibt, die die Klammern nicht verwenden - neue Entwickler werden „nicht-eingeklammert“ Code Erstellung aus Gewohnheit für einige Zeit am Ende, nachdem sie beitreten Die Mannschaft. Gelegentlich Konventionen sollten möglichst vermieden werden.

es ändern, wenn einfach ist. Aber als gute Praxis würde ich überall eckige Klammern verwenden. Sobald Sie sich daran gewöhnen, nicht mehr Schmerz als Raum zwischen Worten zu fassen.

Wir haben eine Tabelle hier Benutzer genannt. Wenn möglich, würde ich es ändern. Obwohl Josh richtig ist, können Sie eckige Klammern setzen zu bezeichnen, es ist eine Tabelle, die Aufgabe sehr schnell alt wird. reservierte Wörter als Tabellen macht es auch für andere Entwickler schwierig. Wenn jemand nicht weiß, dass ein reserviertes Wort ist, kann es schwierig sein, zu bestimmen, warum eine Abfrage funktioniert nicht.

Wenn Sie eine DB-Adapter / Abstraktions-Bibliothek unter Verwendung von Daten aus der Datenbank zu erhalten, dann mach dir keine Sorgen. Klasse Spaltennamen für Sie entkommen. Wenn Sie SQL-Abfragen selbst zu schreiben, dann kann es einige Probleme machen. Sie müssen die Spaltennamen in Ihren Abfragen entkommen.

P. S. Ich remmember, einige Male ich, wie Sie in Situation war. Aber ich war Spalte als „Ordnung“ genannt: -)

Ich möchte vermeiden, auch reservierte Wörter verwenden, können Sie sehr easly in Schwierigkeiten geraten, wenn Sie nicht aufpassen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top