データベースシステムの構造詳細説明 3レベルのスキーマ構造
3レベルスキーマの話をする前に、データベースシステムのスキーマの概念を理解しましょう。
スキーマとは、データベースの論理構造を記述したもので、具体的な値ではなく、型を記述したものです。(例えば、sno, snameなどの属性からなる構造を持つstudentテーブルの場合)以下のようなものである。
例 学生選択データベース"のスキーマです。
例をご紹介します。
はある瞬間のデータベースの状態、つまりスキーマの具体的な値です。(スキーマは、ある瞬間に異なるインスタンスを持つことができます)
同じスキーマに複数のインスタンスが存在することがあります。(生徒選択データベースは2つのインスタンスを持っています。13年と14年で別々のインスタンス)
データベース内のデータが更新されると、インスタンスも変化する(時間の変化に応じて、新学年用の新しい学生選抜インスタンスができる)
I. データベース管理システムから見た場合
データベースシステムでは、ユーザーが見るデータとコンピュータが記憶するデータは別物である。しかし、両者の間にはつながりがあり、実は2つの変容を経ている。1つは、システムがユーザーの全データを合成し、冗長性を減らしデータ共有を可能にするためにデータを統一ビュー(概念モデル)に抽象化する場合、もう1つは、アクセス効率を上げ性能を向上させるために、グローバルビューからデータを物理構成に従って最適な形に格納する場合(物理モデル)である。
アメリカ国家規格委員会(ANSI)に属する標準化委員会(SPARC)は、1975年にデータベース標準に関する報告書を発表し、SPARC階層と呼ばれるデータベースの3階層構造(インナースキーマ、スキーマ、アウタースキーマ)を提案した。
データベースの3レベルスキーマは、データベースシステム内のシステム構造である。
1. スキーマ
スキーマとは、論理スキーマ、概念スキーマとも呼ばれ、データベース内の全データの論理構造と特性、特定の値を持たない型の記述、比較的安定したスキーマ、データベースシステムのスキーマ構造における中間層で、データベースストレージの詳細にもハードウェア環境にも、特定のアプリケーション、アプリケーション開発ツール、高レベルのプログラミング言語にも関与しないものを指す。
データベースのスキーマは1つしかない。データベースのスキーマは、すべてのユーザーのニーズを統一的かつ統合的に考慮し、それらのニーズを有機的に結合して論理的な全体像にする何らかのデータモデルに基づいている。
スキーマとは、データ項目の値の枠組みである。データベースシステムのスキーマは通常、アクセス制御、機密性の定義、整合性チェックなどの側面も含んでいる。
2. 外部スキーマ
外部スキーマは、サブスキーマまたはユーザースキーマとも呼ばれ、ユーザーが見て使用できるローカルデータの論理構造と特性の記述、データのユーザー表示、アプリケーションに関連するデータの論理表現である。
外部スキーマは一般にスキーマのサブセットであり、スキーマは複数の外部スキーマから構成されることがある。個々のユーザーにとってのデータの見方であるため、ユーザーによってアプリケーションの要件、データの見方、データの機密性の要件など様々な面で異なれば、アウタースキーマの記述も異なる。スキーマ上では同じデータでも、アウタースキーマでは、構造、型、長さ、機密性レベルなどが異なることがある。また、あるユーザーに対して、複数のアプリケーションで同じアウタースキーマを使用することは可能だが、1つのアプリケーションで使用できるアウタースキーマは1つだけである。
エクストラノーマスキーマは、データベースセキュリティの強力な手段である。ユーザーは対応するエクストラノーマスキーマのデータのみを見てアクセスすることができ、データベースの他のデータは見ることができない。
3. 内部スキーマ
内部スキーマはストレージスキーマとも呼ばれ、物理メモリ上のデータベースの具体的な実装、データベース内部のデータの表現、データが物理的にどのように構造化され保存されるかを記述したものである。データベースの内部スキーマは1つだけです。
4. スキーマ間のマッピング
データベースシステムの3レベルスキーマは、データの具体的な構成はデータベース管理システムに任せ、ユーザーはデータの具体的な表現とコンピュータへの格納を気にすることなく、論理的にデータを処理できるように、3段階の抽象度でデータベースを構成するものである。この3つの抽象レベルの間の接続や変換を内部的に実装できるようにするために、データベース管理システムはこの3つのレベルのスキーマの間に2つのレベルのマッピングを提供している。
(1) 外部スキーマ/スキーマ間のマッピング
(2) スキーマ/スキーマ間のマッピング
第二に、ビルディングブロックの観点から、データベースシステムは、ハードウェア、ソフトウェア、その他のコンポーネントで構成されています。
第三に、最もトータルなユーザーから見た場合
データベースシステムの構造が持っている
シングルユーザーアーキテクチャ
マスター・スレーブ方式
分散型アーキテクチャ
クライアントサーバー
ブラウザ - データベースサーバ
上記は、3レベルのスキーマ構造のデータベースシステムの構造の詳細な説明は、データベースシステムのスキーマ構造の詳細については、スクリプトの家の他の関連記事に注意を払うしてください!また、このデータベースシステムを使用する前に、このデータベースシステムを使用する必要があります。
関連
-
DataGrip データエクスポート/インポート実装例
-
JetBrains DataGripのインストールと使用に関する詳細なチュートリアル
-
Hbaseカラムナーストレージ入門チュートリアル
-
QtによるOpenGaussデータベースへの接続の詳細チュートリアル
-
SQL実行エンジンを自作する方法
-
Navicat sqlファイルのインポートとエクスポートを素早く行う方法
-
データベース管理ツール「Navicat」と「DBeaver」を一挙に読む
-
SQLインジェクションの例とその解決方法
-
Navicat Premium 12でOracleに接続する際にoracle library is not loadedと表示される問題の解決
-
SQLにおけるwhereとhavingの違いについて解説します
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Navicat 15アクティベーションチュートリアル
-
ツリー構造データベースのテーブルのスキーマ設計のための2つのオプション
-
Linuxシステム用Navicatアクティベーションチュートリアル
-
MySQLとRedisがデータの一貫性を確保する方法について説明します。
-
ナビカット15のインストールチュートリアルを超詳しく解説(一番信頼できるのはこれ)
-
JMeterデータベースクエリ操作手順詳細説明
-
Navicat for Mac システムチュートリアルのインストールと使用方法
-
NavicatでMySqlデータベースへの接続が遅い問題
-
navicat トランザクションの自動コミット問題について
-
高額で無料のSQL開発ツール「Beekeeper Studio」解説