2009-06-19 6 views
8

私はデータベースを設計していて、最近DayOfWeekというテーブルがSQL Serverの組み込み関数であることを完全に忘れて、テーブルDayOfWeekに列名を付けました。今私はそれをそのままにして、大括弧[DayOfWeek]で列を参照するか、将来の競合を避けるために列名を変更するかどうかを決定しています。私はプロジェクトにそれほど遠くはないので、それを変えることはあまり難しくありません。私の頭の中で論議するのは、DayOfWeekの列名は目的のために非常に意味をなさないので、私は本当にそれを使いたいですが...予約語です...列を参照する際には常に角括弧を使用する必要があります)。SQL Serverキーワードを列名として使用する必要がありますか?

皆さんはどう思いますか?

答えて

12

私はそれを変更します - 私はユーザーと呼ばれる従来のテーブルを持っています - それは大括弧で常に痛みです。おそらく簡単です。それならばDayOfWeekNameまたはDayOFWeekId

ジョシュ

+1

DayOfWeekIdに変更しています。実際には、曜日を表す列にintを格納しているので、実際にはうまく機能します。 また、データベースにUserという名前のテーブルがあったので、もう一度やり直すことはありません。予約語として名付けられたテーブルは間違いなく悪いものです。私の頭の中では、予約語としての列名は大丈夫だったのですが...誰もが言っているように、それだけの価値はない(とにかく、より良い名前を指摘しています)。 ありがとう! –

0

変更と呼んでいます。しかし、良い練習として私は四角い括弧をどこでも使用したいと思います。一度慣れると、言葉の間にスペースを入れるよりも痛みはありません。

0

ここではUserという表があります。可能であれば、私はそれを変更するだろう。ジョシュは正しいが、それが表であることを示すために角括弧を置くことができる。そのタスクは非常に早く古くなる。予約語を表として使用すると、他の開発者にとっては困難になります。誰かがそれが予約語であることを知らない場合、なぜクエリが機能しないのかを判断することは難しいかもしれません。

0

DBアダプタ/抽象ライブラリを使用してデータベースからデータを取得する場合は、心配しないでください。クラスが列名をエスケープします。 SQL問合せを自分で作成すると、問題が発生する可能性があります。クエリの列名をエスケープする必要があります。

P.S.私はremmember、私はあなたのような状況にあった回数。しかし、私は列として "注文"と呼ばれていました:-)

0

私は予約語を使用することも避けたいと思います。

4

ジェフ、

あなたはあまりにも遠く列の名前を変更するためにトラックダウンしていない場合は(比較的)痛みを伴わずに、私はあなたがそれを変更お勧めします。あなたは、メンテナンスクルーのための将来の頭痛の可能性を1つ特定しました。そして、実際にはそれを掃除するのは時間が経つにつれてコストがかかりませんでした。特に、名前を変更することは、本当に効果的な検索とテキストエディタとIDEの機能の置き換えの出現。

名前を変更するのが本当に難しい部分は、安全に仕事をするために必要な理解を得ることです。あなたは、その理解を持つことで独特(著者である)です。あなたが仕事をするために(ちょうど例えば)私に頼んだら、それはおそらく費用対効果の高いビジネス命題ではないでしょう。

そう...再び;-)

乾杯し、それをやっていないために吸盤自分...と2を固定する1。キース。

+0

これは優れた点です...今では名前を変更するのが比較的簡単で、将来的にはもっと難しくなります。誰かが角括弧を2つ入力する必要があるたびに(または入力しなければならないことを覚えて)、すぐに多くの時間とお金に変わります。ジョシュが提案したように私はDayOfWeekIdと一緒に行きました。 –

1

私はいつもあなたの目標言語が好きかどうかわからないので、単に変数/オブジェクト/関数の開始点としてキーワードを使用しないようにします。それはしばしば追跡するためにしばらく時間がかかるばかげたエラーを生成することがあります。構文チェックがそれを受け取っても、それはあなたがFurryKittenのような別の名前だった場合よりも多くの時間を無駄にしたことを意味します。

私はDayOfWeekを避け、まったく違うものを選びます。多分WeekdayまたはDayNameです。手間が省けます。

プラス - 角括弧は頭痛を引き起こすだけで、大括弧を使用しないSQLデベロッパーが数多くいます。新しい開発者は、括弧で囲まれていないコードを作成してしまいますチームに参加する。可能であれば、珍しい慣習を避けるべきです。

関連する問題