0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DBに論理名をつける

Posted at

はじめに

DB設計書にはテーブルやカラムの論理名や備考が書かれていると思います。
DBを構築する際に論理名や備考を設定しておくことができます。
使い道があるかどうかは不明ですが、DBから設計書を作成するときには少し役立ちます。

どこの設定するかというと「拡張プロパティ」に設定します。

SSMSではプロパティ画面で設定/確認ができますが、いちいち開くのが面倒なのでクエリで行う方法を紹介します。

クエリ

登録/更新/削除

-- 登録:sp_addextendedproperty
-- 更新:sp_updateextendedproperty
-- 削除:sp_dropextendedproperty
EXEC sys.sp_addextendedproperty
-- 設定値の名前
     @name = 'MS_Description'
-- スキーマ/テーブル/カラムの設定の時に必須
   , @level0type = 'SCHEMA'
   , @level0name = '{スキーマの物理名}'
-- テーブル/カラムの設定の時に必須
   , @level1type = 'TABLE'
   , @level1name = '{テーブルの物理名}'
-- カラムの設定の時に必須
   , @level2type = 'COLUMN'
   , @level2name = '{カラムの物理名}'
-- 設定値(削除の時は不要)
   , @value = '設定値'

同じカラム(スキーマ/テーブル)に複数のプロパティを設定する場合は「name」の値を変えます。
SSMSで登録する場合は以下のようにします。

読出

SELECT * FROM sys.extended_properties
class class_desc major_id minor_id name value
1 OBJECT_OR_COLUMN 658101385 0 description 各科目のテスト結果を登録
1 OBJECT_OR_COLUMN 658101385 0 logical_name 点数マスタ
1 OBJECT_OR_COLUMN 658101385 1 MS_Description 学籍番号
1 OBJECT_OR_COLUMN 658101385 2 MS_Description 科目
1 OBJECT_OR_COLUMN 658101385 3 MS_Description 点数
3 SCHEMA 1 0 MS_Description デフォルトのスキーマ

システムテーブルと結合する場合は
major_id:「sys.tables」の「object_id」(スキーマの場合は「1」)
minor_id:「sys.columns」の「column_id」(テーブルの場合は「0」)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?