Your SlideShare is downloading. ×
DB設計でこだわりたい三つの要素
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

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

596
views

Published on

http://connpass.com/event/10849/ …

http://connpass.com/event/10849/
しょぼちむにデータモデル設計について教えてくださいの会 #syoboben で話した資料です。

Published in: Data & Analytics

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
596
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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