データベースのスキーマとは、データベース内のデータの構造、制約、および関係を定義する枠組みやテンプレートのことを指します。
「データベースの構造を表現する設計図」であり、三層スキーマアーキテクチャと呼ばれる構造で定義されます。
三層スキーマアーキテクチャとは
三層スキーマアーキテクチャとは、「外部スキーマ」「概念スキーマ」「内部スキーマ」を指します。
外部スキーマ
・実際にユーザーに見える部分のデータで、ビューに相当する層
概念スキーマ
・データベース設計の中心的な部分であり、論理的なデータを定義する層。データベース内のすべてのデータとその関係を包括的かつ抽象的に表現する
内部スキーマ
・データベースのハードウェア部分に相当する、物理的配置を定義する層。内部スキーマを理解することで、効率的なデータアクセスやデータベースのパフォーマンスの最適化を行うことができ、適切に設計されていれば、データベースのパフォーマンスやセキュリティを向上させることができる
具体的な役割
テーブルの定義
データベース内の複数のテーブルがどのような列(カラム)を持ち、それらの列のデータ型や制約(例:主キー、外部キー制約)がどうなっているかを定義します
インデックスの定義
データベースのパフォーマンスを向上させるために使用されるインデックスの定義が含まれます。インデックスは特定の列(または複数の列)に対して高速なデータの検索を可能にします
制約の定義
データの整合性を保つために設定される制約(例:主キー制約、外部キー制約、一意制約、チェック制約など)が含まれます。これにより、データの不正確さや不整合を防ぐことができます。
ストアドプロシージャやトリガーの定義
データベース内で実行される特定の処理や操作を定義するストアドプロシージャやトリガーの定義が含まれることもあります。