More Related Content
Similar to RDBにおけるバリデーションをリレーショナルモデルから考える (18)
More from Mikiya Okuno (12)
RDBにおけるバリデーションをリレーショナルモデルから考える
- 3. 自己紹介
●
MySQL サポートエンジニア
– 日々のしごと
● トラブルシューティング全般
●
Q&A 回答
● パフォーマンスチューニング
など
●
ライフワーク
– 自由なソフトウェアの普及
● オープンソースではない
●
ブログ
– 漢のコンピュータ道
– http://nippondanji.blogspot.com/
今日は個人として
参加しています。
- 8. 制約( Constraint )
● 制約とは、評価した結果真となるべき条件式。
●
Type Constraint
– データ型が満たすべき条件
– ≒ ドメインの定義
●
Database Constraint
– データベース内のデータが満たすべき条件
– 外部キーは Database Constraint の一種
- 21. RDB における
制約とバリデーション
● 制約:リレーショナルモデルの世界
– ドメインを近似する( Type Constraint )
– データの整合性を保つ( Database Constraint )
● バリデーション:リレーショナルモデルの外側の世界
– アプリケーションと同じようにバリデーションが必要
●
プロシージャ内で使用する値を検証する
● リレーショナルでないデータ
●
リレーショナルでない各種操作の実行後
– 部分文字列
– 文字列の結合
– ただし、実際には SELECT で取得した文字列を使って動
的にクエリを組み立てない限り、 RDB 内部で問題になる
ことはない。
●
プロシージャ内で PREPARE するべからず
- 22. まとめ
●
RDB にあるのは制約
– バリデーションではない
●
RDB まわりでバリデーションが必要になるところ
– RDB からの出力=アプリケーションへの入力
● バリデーションはアプリケーション側の課題
– リレーショナルモデルに沿わないデータやロジック
●
プロシージャ内で PREPARE するべからず
バリデーションについて考えるときも、
リレーショナルモデルについての理解は
大切だと思います。
- 23. 宣伝:新書籍の紹介
●
リレーショナルデータベース実践入門
– リレーショナルモデル、 SQL 、そして DB 設計が主なテーマの書籍です。
– どうやってリレーショナルデータベースを使いこなすか!
●
リレーショナルモデル基礎編
– SQL とリレーショナルモデル
– 述語論理とリレーショナルモデル
– 正規化 1: 関数従属性
– 正規化 2: 結合従属性
– 直交性
– ドメインの設計
etc
●
アプリケーション開発実践編
– 履歴
– グラフ
– インデックスの設計
– ウェブアプリケーションのためのデータ構造
etc
基礎の基礎から
よくある間違いを
指摘しつつ
応用まで