データベース スキーマは、データベース内のデータの論理ストレージを表す構造です。 。これはデータの構成を表し、特定のデータベース内のテーブル間の関係に関する情報を提供します。このトピックでは、データベース スキーマとその型について詳しく理解します。データベース スキーマを理解する前に、まずデータベースとは何かを理解しましょう。
データベースとは何ですか?
あ データベース 情報を保管する場所です。最も複雑なデータだけでなく、人物のリストなどの最も単純なデータも保存できます。データベースには、情報が適切に構造化された形式で保存されます。
データベーススキーマとは何ですか?
- データベース スキーマはデータベースの論理表現であり、データがデータベース全体で論理的にどのように格納されるかを示します。これには、属性のリストと、データがどのように編成されているか、および要素が相互にどのように関連しているかをデータベース エンジンに通知する命令が含まれています。
- データベース スキーマには、次のようなスキーマ オブジェクトが含まれています。 テーブル、フィールド、パッケージ、ビュー、リレーションシップ、主キー、外部キー、
- 実際には、データは非構造化形式のファイルに物理的に保存されますが、それを取得して使用するには、構造化形式にする必要があります。これを行うには、データベース スキーマが使用されます。データがデータベース内でどのように編成され、他のデータとどのように関連付けられるかについての知識を提供します。
- データベース スキーマ オブジェクトには次のものが含まれます。
- すべてのデータエントリの一貫した形式。
- データベース オブジェクトとすべてのデータ エントリの一意のキー。
- 複数の列を含むテーブル。各列にはその名前とデータ型が含まれます。
- スキーマの複雑さとサイズはプロジェクトの規模によって異なります。これにより、開発者はコーディングする前にデータベースを簡単に管理および構造化できます。
- 指定された図はデータベース スキーマの例です。これには 3 つのテーブルとそのデータ型が含まれています。これは、テーブルと主キーおよび外部キー間の関係も表します。
データベーススキーマの種類
データベース スキーマは、次の 3 つのタイプに分類されます。
1. 物理データベーススキーマ
物理データベース スキーマは、データがファイルとインデックスの形式でストレージ システムまたはディスク ストレージに物理的に保存される方法を指定します。データベースを物理レベルで設計することを「 物理スキーマ 。
2. 論理データベーススキーマ
論理データベース スキーマは、保存されたデータに適用する必要があるすべての論理制約を指定します。ビュー、整合性制約、およびテーブルを定義します。ここで用語 整合性制約 で使用される一連のルールを定義する DBMS (データベース管理システム) データの挿入と更新の品質を維持するため。論理スキーマは、データがテーブルの形式でどのように格納されるか、およびテーブルの属性がどのようにリンクされるかを表します。
このレベルではプログラマーと管理者が作業し、データ構造の実装はこのレベルでは隠蔽されます。
論理データベース スキーマの作成にはさまざまなツールが使用され、これらのツールはデータのコンポーネント間の関係を示します。このプロセスはと呼ばれます ISモデリング 。
ER モデリングはエンティティ関係モデリングの略で、異なるエンティティ間の関係を指定します。
基本的なコマース アプリケーションの例でそれを理解できます。以下は、コマース アプリケーションのトランザクションの論理フローを表す単純な ER モデルであるスキーマ図です。
指定された例では、各円に ID が指定されており、これらの ID は主キーと外部キーです。
の 主キーは 文書またはレコード内のエントリを一意に識別するために使用されます。上の 3 つの円の ID が主キーです。
の 外部キー 他のテーブルの主キーとして使用されます。 FK は、図内の外部キーを表します。あるテーブルを別のテーブルに関連付けます。
3. スキーマの表示
データベースのビュー レベルの設計は次のように知られています。 スキーマを表示する 。このスキーマは一般に、データベース システムとエンドユーザーの対話を記述します。
物理データベーススキーマと論理データベーススキーマの違い
物理データベーススキーマ | 論理データベーススキーマ |
---|---|
属性は含まれません。 | 属性も含まれます。 |
これには主キーと副キーの両方が含まれます。 | 主キーと副キーの両方も含まれます。 |
テーブル名が含まれます。 | テーブルの名前が含まれます。 |
これには列名とそのデータ型が含まれます。 | 列名やデータ型は含まれません。 |
データベース インスタンスまたはデータベース スキーマは同じですか?
データベース スキーマとデータベース インスタンスという用語は相互に関連しており、同じものとして使用すると混乱を招く場合があります。しかし、両者は互いに異なります。
データベーススキーマ は計画されたデータベースを表すものであり、実際にはデータは含まれません。
一方、 データベースインスタンス ある時点で存在していた実際のデータベースのスナップショットの一種です。したがって、時代に応じて変化したり、変更される可能性があります。対照的に、データベース スキーマは静的であり、データベースの構造を変更するには非常に複雑です。
10ミリリットルは何オンスですか
インスタンスとスキーマは両方とも DBMS を通じて相互に関連し、影響を及ぼします。 DBMS は、すべてのデータベース インスタンスがデータベース設計者によってデータベース スキーマに課された制約に準拠していることを保証します。
スキーマの作成
スキーマを作成するには、各タイプのデータベースで「CREATE SCHEMA」ステートメントが使用されます。ただし、DBMS ごとにこれの意味が異なります。以下では、さまざまなデータベース システムでのスキーマの作成について説明します。
1.MySQL
で MySQL 、「」 スキーマの作成 ' ステートメントによりデータベースが作成されます。これは、MySQL では CREATE SCHEMA ステートメントが CREATE DATABASE ステートメントに似ており、スキーマがデータベースの同義語であるためです。
2. オラクルデータベース
Oracle Databaseでは、各スキーマが各データベース・ユーザーにすでに存在しています。したがって、CREATE SCHEMA は実際にはスキーマを作成しません。むしろ、テーブルとビューを含むスキーマを表示するのに役立ち、複数のトランザクションに対して複数の SQL ステートメントを必要とせずにそれらのオブジェクトにアクセスできるようになります。 「CREATE USER」ステートメントは、Oracle でスキーマを作成するために使用されます。
3.SQLサーバー
の中に SQL サーバーでは、「CREATE SCHEMA」ステートメントにより、ユーザーが指定した名前で新しいスキーマが作成されます。
データベーススキーマの設計
スキーマ設計は、データ管理の基盤を構築するための最初のステップです。非効率的なスキーマ設計は管理が難しく、より多くのメモリやその他のリソースを消費します。論理的には、ビジネス要件に依存します。プロジェクトのライフサイクルを容易にするために、正しいデータベース スキーマ設計を選択する必要があります。一般的なデータベース スキーマ設計のリストを以下に示します。
フラットモデル
フラット モデル スキーマは、各列に同じ種類のデータが含まれ、行内の要素が相互に関連付けられている 2 次元配列の一種です。これは、関係のない単一のスプレッドシートまたはデータベース テーブルとして理解できます。このスキーマ設計は、複雑なデータを含まない小規模なアプリケーションに最適です。
階層モデル
階層モデル設計にはツリー状の構造が含まれています。ツリー構造には、データのルート ノードとその子ノードが含まれます。各子ノードと親ノードの間には 1 対多の関係があります。このようなタイプのデータベース スキーマは、XML または JSON ファイルによって表現されます。これらのファイルには、エンティティとそのサブエンティティを含めることができます。
クラスカルアルゴリズム
階層スキーマ モデルは、ネストされたデータを格納するのに最適です。 ヒト科の分類。
ネットワークモデル
ネットワーク モデルの設計は、一連のノードと頂点を表すため、階層設計に似ています。ネットワーク モデルと階層モデルの主な違いは、ネットワーク モデルでは多対多の関係が許可されることです。対照的に、階層モデルでは 1 対多の関係のみが許可されます。
ネットワーク モデルの設計は、空間計算を必要とするアプリケーションに最適です。また、ワークフローを表現する場合や、主に同じ結果への複数のパスがある場合に最適です。
リレーショナルモデル
リレーショナル モデルは、データをテーブルの関係として格納するリレーショナル データベースに使用されます。データを操作してデータからさまざまな値を計算するために使用される関係演算子があります。
スタースキーマ
スター スキーマは、データを編成するための別のスキーマ設計方法です。膨大な量のデータの保存と分析に最適で、「事実」と「次元」に基づいて動作します。ここ 事実 ビジネス プロセスを実行する数値データ ポイントです。 寸法 事実の説明です。スタースキーマを使用すると、次のデータを構造化できます。 RDBMS 。
スノーフレークスキーマ
スノーフレーク スキーマはスター スキーマを応用したものです。スター スキーマには、メインのデータ ポイントとそのディメンション テーブルへの参照を含むメインの「ファクト」テーブルがあります。ただし、Snowflake では、ディメンション テーブルが独自のディメンション テーブルを持つことができます。