Successfully reported this slideshow.
Your SlideShare is downloading. ×

DB設計でこだわりたい三つの要素

Ad

DB設計でこだわりたい
三つの要素
Takahiro YAMADA
@yamadamn
2015/02/21

Ad

自己紹介
● 本日のレガシー枠
o 昔、DB屋さん (∼5年前)
o 今、ミドルウェア製品の構築・サポート
▪ Oracle ACE (Middleware & SOA)
● DB資格
o データベーススペシャリスト
o ベンダー系 Oracl...

Ad

アジェンダ
一. ネーミング
二. データ型の使い分け
三. 制約の使いどころ

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Upcoming SlideShare
DSLの使い所
DSLの使い所
Loading in …3
×

Check these out next

1 of 18 Ad
1 of 18 Ad

More Related Content

Viewers also liked (13)

DB設計でこだわりたい三つの要素

  1. 1. DB設計でこだわりたい 三つの要素 Takahiro YAMADA @yamadamn 2015/02/21
  2. 2. 自己紹介 ● 本日のレガシー枠 o 昔、DB屋さん (∼5年前) o 今、ミドルウェア製品の構築・サポート ▪ Oracle ACE (Middleware & SOA) ● DB資格 o データベーススペシャリスト o ベンダー系 Oracle, DB2, SQL Server ▪ ただしバージョンは相当レガシー
  3. 3. アジェンダ 一. ネーミング 二. データ型の使い分け 三. 制約の使いどころ
  4. 4. ネーミング
  5. 5. ネーミング ● ネーミングの流派 ● ネーミングの対象 種類 さらに細かい流派 英語 大文字、小文字 ローマ字 ヘボン式、日本式 日本語 全角、半角 対象 考慮する要素 テーブル(エンティティ) テーブルID 接頭辞、接尾辞 カラム 主要語、修飾語、区分語 その他オブジェクト 制約、インデックス etc.
  6. 6. ネーミング ● ネーミングの重要性 o 様々な機会に参照 o 意味や概念を推測・認識する手がかり ● 整合性・一貫性の維持 o 一貫したネーミング種類 o 正式名称と略称の対応 o 他システム連携時は、ビューなどで化粧直し
  7. 7. ネーミング ● 一意性の確保 o 類義語・同義語の回避 o 同音語にも注意 ● 避けたほうがよいネーミング例 o ∼情報 o ∼管理
  8. 8. データ型の使い分け
  9. 9. データ型の使い分け ● データ型の種類 種類 具体的なDB型 数値 INT, FLOAT, DECIMAL 文字 CHAR, VARCHAR NCHAR, NVARCHAR CLOB, NCLOB 日付 DATE, TIME, TIMESTAMP バイナリ BLOB その他 真理値型、配列型、XML型、
 ユーザー定義型 etc.
  10. 10. データ型の使い分け ● 利用するデータ型の絞り込み o シンプルさの維持 ● ネーミングとデータ型の対応付けポリシー o フラグ、区分 o ID、コード、番号 o 日付、年月、開始・終了  
  11. 11. データ型の使い分け ● 桁数の考慮 o きりのよい数字 o 容量見積もりとの関係 o バイト数と文字数
  12. 12. 制約の使いどころ
  13. 13. 制約の使いどころ ● 制約の種類 種類 DBでの設定 説明 主キー制約 PRIMARY KEY テーブルに一つのみ 一意であり、NULLを許可しない NOT NULL制約 NOT NULL NULLを許可しない 一意制約 UNIQUE 一意で重複を許可しない チェック制約 CHECK 条件に一致するデータのみ許可 参照整合性制約
 (外部キー) FOREIGN KEY / REFERENCES テーブル間の整合性を維持 デフォルト制約
 (デフォルト値) DEFAULT 値を指定しない場合の初期値
  14. 14. 制約の使いどころ ● 主キー制約 o 自然キーと人工キー(代替キー) o 単一キーと複合キー ● NOT NULL制約 o 空文字の扱い o 3値論理やNULLの混乱防止
  15. 15. 制約の使いどころ ● 一意制約 o DBMSによる違いに注意 ● チェック制約 o ビジネスルールは実装しない o データ型の補助程度に利用はあり
  16. 16. 制約の使いどころ ● 参照整合性制約(外部キー) o OLTPでは付加することを考慮 o 単体(自動化)テストとの兼ね合い o カスケード更新・削除には頼らない ● デフォルト制約(デフォルト値) o 基本的には頼らない o 手動データ入力や、カラム追加時の互換性維持
  17. 17. まとめ ● ネーミング o 名は体を表す o 一貫性を保つ ● 制約、データ型 o ルールやポリシーを定める o 理由も含め明文化しておく
  18. 18. DB設計でこだわりたい 三つの要素 Takahiro YAMADA @yamadamn 2015/02/21 ご清聴いただき、ありがとうございました

×