私の会社で既製のアプリケーションで作業していますが、ベンダーが実装している興味深いデータベース機能があります。私はそれが前に生産で使われているのを見たことがなく、私はそれについてさらにいくつかの情報を得ることを望んでいます。エンティティを識別するためにレコードIDに「エンティティタイプ番号」を使用する
各データベーステーブルは、特定のエンティティタイプを指します。例えば、TBL_Person
,TBL_Organisation
,TBL_Address
。ただし、各表のIDは常に同じ桁の数字で始まります。すべてTBL_Address
のレコードは1401
で始まり、すべてTBL_Person
のレコードは1500
で始まります。その後、ユニークな部分が追加されます。次のように私は、ビューの開発の観点から、あるsheerly見ることができるものから
利点は、以下のとおりです。
- それは巨大データベース(約600テーブル、150を超える列を持つ多くの)です。したがって、テーブルをスキャンしているときに、
WId
、RId
、LId
、またはUnhelpfullyNamed_Id
などの列が見つかった場合、最初の4桁の数字を入力する小さなプログラムのおかげで、すぐにわかります。エンティティは、彼らが同じテーブル内のエンティティのさまざまなバリエーションを保存 - )とは何か、テーブルにそれを見つけるために - 例えばそれが本当に必要でない限り、このだった場合は、
デメリット(一般的な意味での継承などを使用する必要はありませんので、TBL_Vehicle
レコードは、車(1234年)、トラック(2345)、バイク(3456)であるかもしれません他の場所で使用)のようになります。
- は、テーブルデザインと怠惰を奨励 -
- 同じテーブルで多くのエンティティタイプを格納した場合に冗長列この
このデザインパターン/機能の用語はありますか?これを実装する他のよく知られているデータベースはありますか?他の不都合/利点はありますか?このような例では