データベーススキーマとは何ですか?
NS データベーススキーマ データベース内のオブジェクトと情報の間の関係を説明するメタデータのコレクションです。 スキーマを想像する簡単な方法は、テーブル、ストアドプロシージャ、ビュー、および関連するデータアセットを保持するボックスと考えることです。 スキーマは、このボックスのインフラストラクチャを定義します。
データ資産コンテナ
基本的なレベルでは、スキーマはデータ資産のコンテナーとして機能します。 ただし、データベースベンダーが異なれば、スキーマの構造も異なります。 たとえば、Oracleはすべてのスキーマをユーザーアカウントとして扱います。 新しいスキーマを作成するために、データベース管理者は目的のスキーマ名で新しいデータベースユーザーを作成します。
スキーマが重要な理由
スキーマはデータベースの基本的な構造機能を構成するため、ほとんどのデータベース環境では、スキーマレベルでオブジェクトにアクセス許可が適用されます。
たとえば、会社のデータベースに一連のユーザーが含まれている場合があります。 各ユーザーにはスキーマが発生しますが、異なるスキーマへのアクセスは、ホームスキーマ外のユーザーに個別に、きめ細かい権限で付与されます。
ほとんどのデータベース管理ツールはスキーマをリストしません。 代わりに、データベースとユーザーを一覧表示します。
たとえば、ある会社がボブとジェーンのユーザーアカウント(スキーマ)を作成します。 また、HRやマーケティングなどの部門のアカウントも作成します。 次に、各部門のアナリストが部門のスキーマアカウントにアクセスできるようにします。
HRアナリストは、HRスキーマ内にテーブルとビューを作成し、従業員名と従業員ID番号をリストするHRテーブルを読み取る(書き込みはしない)ためのアクセスをボブに許可します。 また、HRアナリストは、従業員の電話番号を一覧表示するHRテーブルの読み取りと書き込みを行うためのJaneへのアクセスを許可する場合があります。
この方法でアクセスを許可することにより、適切な役割とユーザーのみが、より大きなデータベース内の自己完結型のデータ資産内のデータを読み取り、書き込み、または変更できます。
すべてのデータベースエンジンは、マルチユーザー環境でデータを分離するための基本的な方法としてスキーマを検討しています。
データベースエンジンが異なれば、ユーザーとスキーマの扱いも異なります。 データベースエンジンのドキュメントを参照して、 構文 ユーザー、スキーマ、およびアクセス許可の付与を取り巻くロジックモデル。
スキーマの作成
スキーマは、構造化照会言語(SQL)を使用して正式に定義されます。 たとえば、Oracleでは、スキーマを所有するユーザーアカウントを作成して、スキーマを作成します。
CREATE USER bob
temporary_passwordで識別
DEFAULTTABLESPACEの例
QUOTA 10MONの例
TEMPORARY TABLESPACE temp
QUOTA 5MONシステム
プロファイルapp_user
パスワードの有効期限;
他のユーザーは、ユーザー名によって、またはユーザーアカウントが追加された1つ以上のロールによって、新しいスキーマへのアクセスを許可されます。
スキーマと。 データモデル
データモデルのように、スキーマは本質的に何もするように構造化されていません。 代わりに、データベースでセグメンテーション権限をサポートするインフラストラクチャです。
データモデルは、特定のキーで結合されたテーブルとビューのコレクションです。 これらのデータ資産は、一緒になってビジネス目的に役立ちます。 データモデルをスキーマに適用することは許容されます。大規模で複雑なデータモデルの場合、それらをスキーマに関連付けると、スマートなデータベース管理が可能になります。 ただし、データモデルにスキーマを使用したり、データモデルをスキーマとして扱ったりする必要は論理的にはありません。
たとえば、人事部門は、スキーマに従業員の業績評価のデータモデルを含めることができます。 これらのレビューのスキーマを作成する代わりに、データモデルを(他のデータとともに)HRスキーマに配置できます。 モデル)であり、データ内のオブジェクトのテーブル名とビュー名のプレフィックスによって論理的に区別されます。 モデル。
データモデルは、次のような非公式の名前を付ける可能性があります パフォーマンス・レビュー、その後、すべてのテーブルとビューの前に pr_. 従業員リストテーブルは、次のように参照される場合があります。 hr.pr_employeeパフォーマンスレビューのための新しいスキーマを必要とせずに。
よくある質問
-
データベーススキーマとデータベース状態の違いは何ですか?
データベーススキームはデータベースを記述します。 データベースの状態とは、ある時点でのデータベースのコンテンツを指し、データベーススキーマの拡張と見なすことができます。
-
データベースのリレーショナルスキーマとは何ですか?
リレーショナルスキーマは、相互に関連付けられているテーブルとアイテム間の関係の概要を示します。 スキーマは、グラフィックのイラストやチャートにすることも、SQLコードで記述することもできます。