これはSQLの命名規則に関する質問です。SQLでのテーブル名とフィールドの重複を避ける方法
テーブルとフィールドが両方とも同じ語句で記述されている場合、どのように名前をつけるべきですか?両方に同じ名前をつけても構いませんか?
私の例:
私が質問を作成していますし、私はこれを行うための最善の方法は、このような構造を有することであることを考え出して、各質問には、多くの答えに1を持つことができます。
CREATE TABLE question
(
id INT NOT NULL IDENTITY(1,1),
question VARCHAR(250) NOT NULL
)
CREATE TABLE answer
(
id INT NOT NULL IDENTITY(1,1),
question_id INT NOT NULL,
answer VARCHAR(50) NOT NULL
)
を(2つのテーブルはそれほど小さくはありませんが、簡単にするためにいくつかの列を削除しました)
問題は、テーブルと同じ名前のフィールドが適切な命名規則に従っていないと思います。
私は質疑応答の列をテキストのように変更することを考えましたが、残念なことにそれは予約語であり、標準の命名規則に反しています。それに加えて、参照する際には[]
タグを使用する必要があります。
列や表に名前を付ける方法についての推奨事項はありますか?
「名前」と「説明」は一般的な選択肢です。 SQL Serverで記述している場合は、角括弧を使わずにキーワードをテーブル名として理解することができるほどスマートですが、その単語はまだハイライト表示されます – Ben
おそらくquestion.content&answer.content?大括弧を必要とするフィールド名は避けるのが最善です。 ( - >空白なしまたは標準SQLキーワード) – LukStorms