logo
/
DBのColumnにTable名のPrefixは必要か
2023-01-13

つける派

SQLを書くときに書きやすい

  • using句を書くときにtableAのdateとtableBのdateが同じキー名だと都合が良い
  • カラム名が重複しないと、テーブル名省略してカラム名だけ書いてもSQLが通りやすい

少なくとも主キー名はスキーマ内で一意になるべき

Loading...
記事テーブルであれば記事ID、タグテーブルであればタグIDが主キーとなります。  
単純にIDとしてはいけません。

テーブル内で一意であれば、識別は可能なように思えます。  
しかし、テーブルはスキーマ間で参照される可能性があります。  
そうした場合に、スキーマ間で重複した名前があると、それのキーがどのテーブルを参照しているのかが名前だけで判別ができません。

テーブルがスキーマ間の参照関係を前提としている以上、キー名はスキーマ間で一意となるべきなのです。

つけない派

アプリケーションとして考えたときには、つけないのが自然。

これはおかしい
type Person = {
	personName: string
}
普通に考えたらこう
type Person = {
	name: string
}

結論

  • フレームワークを使用する場合はその流儀に従う
  • 流儀がない場合
    • 主キー:Prefixをつける(アプリ内で一意)
    • その他のキー:Prefixをつけない

参考