logo

データベーススキーマ

今日、データはビジネスの世界で最も重要なものの 1 つです。どの企業も顧客の行動を理解するために顧客のデータを取得します。インターネットの世界では、データが猛烈な勢いで増加しているため、企業はより高度なデータベース ソリューションを必要としています。データベース システムを保守でき、ビジネス上の問題を解決するためにデータが必要なときはいつでも、問題なく必要なデータを簡単に取得できます。この条件を満たすには、図にあるデータベース スキーマの要件があります。

スキーマとは何ですか?

  • データベースのスケルトンは属性によって作成され、このスケルトンはスキーマと呼ばれます。
  • スキーマでは、テーブル、主キーなどの論理制約について言及します。
  • スキーマは属性のデータ型を表しません。

顧客の詳細



顧客の詳細

顧客のスキーマ

顧客のスキーマ

データベーススキーマ

  • データベーススキーマとは、 データの論理表現 これは、データベース内のデータを論理的にどのように保存するかを示しています。データがどのように編成されているか、およびテーブル間の関係が示されています。
  • データベース スキーマには、テーブル、フィールド、ビュー、およびさまざまなキー間の関係が含まれます。 主キー 外部キー
  • データはファイル形式で保存されるため、本質的に構造化されていないため、データへのアクセスが困難になります。したがって、問題を解決するために、データベース スキーマを利用してデータが構造化された方法で編成されます。
  • データベース スキーマは、データの構成と、保存されたデータ間の関係を提供します。
  • データベース スキーマは、データベースを制御する一連のガイドラインを定義するとともに、データへのアクセスと変更の方法に関する情報を提供します。

データベーススキーマの種類

データベース スキーマには 3 つのタイプがあります。



物理データベーススキーマ

  • 物理スキーマは、データまたは情報がファイルとインデックスの形式でストレージ システムに物理的にどのように保存されるかを定義します。これは、データベースの構造を作成するために必要な実際のコードまたは構文であり、物理レベルでデータベースを設計する場合、それは物理スキーマと呼ばれます。
  • データベース管理者は、ストレージのさまざまなブロック内のデータを保存する場所と方法を選択します。

論理データベーススキーマ

  • 論理データベース スキーマは、格納されたデータに適用する必要があるすべての論理制約を定義し、テーブル、ビュー、エンティティの関係、および整合性制約も記述します。
  • 論理スキーマは、データがテーブルの形式でどのように格納されるか、およびテーブルの属性がどのように接続されるかを記述します。
  • 使用する ISモデリング データのコンポーネント間の関係は維持されます。
  • 論理スキーマでは、挿入の品質を維持し、データを更新するために、さまざまな整合性制約が定義されます。

データベーススキーマの表示

  • これは、エンドユーザーとデータベース間の対話を定義できるビュー レベルの設計です。
  • ユーザーは、データベースにデータが保存されるメカニズムについてあまり知らなくても、インターフェイスを利用してデータベースと対話できます。
データベーススキーマの表示

3 層スキーマ設計

アトイC

データベーススキーマの作成

スキーマを作成するには、すべてのデータベースで CREATE SCHEMA ステートメントが使用されます。ただし、データベースが異なれば、これの意味も異なります。以下では、さまざまなデータベース システムでデータベース スキーマを作成するためのステートメントをいくつか見ていきます。

1.MySQL: MySQL では、データベースの作成に CREATE SCHEMA ステートメントを使用します。これは、MySQL の CREATE SCHEMA と CREATE DATABASE の両方のステートメントが似ているためです。



2.SQLサーバー: SQL Server では、新しいスキーマを作成するために CREATE SCHEMA ステートメントを使用します。

3. Oracle データベース: Oracle データベースでは、各データベース ユーザーごとにスキーマがすでに作成されているため、新しいスキーマの作成には CREATE USER を使用します。ステートメント CREATE SCHEMA はスキーマを作成しません。代わりに、スキーマにテーブルとビューを設定し、複数のトランザクションに対して複数の SQL ステートメントを必要とせずにそれらのオブジェクトにアクセスできるようにします。

データベーススキーマの設計

データベースを構造化するにはさまざまな方法がありますが、効率の悪いスキーマ設計は管理が難しく、余分なメモリとリソースを消費するため、データベースの作成には最適なスキーマ設計を使用する必要があります。

通信販売トラバーサル バイナリ ツリー

スキーマ設計は主にアプリケーションの要件に依存します。ここにはアプリケーションを作成するための効果的なスキーマ設計がいくつかあります。スキーマ設計を見てみましょう。

  1. フラットモデル
  2. 階層モデル
  3. ネットワークモデル
  4. リレーショナルモデル
  5. スタースキーマ
  6. スノーフレークスキーマ

フラットモデル

フラット モデル スキーマは、すべての列に同じタイプのデータ/情報が含まれ、行を持つ要素が互いに関連している 2 次元配列です。テーブルやスプレッドシートと同じです。このスキーマは、複雑なデータを含まない小規模なアプリケーションに適しています。

フラットモデル

フラットモデルの設計

階層モデル

データは、階層データベース モデルの親子関係とツリー状の構造を使用して配置されます。各レコードは複数の子と 1 つの親で構成されているため、組織図などの図で 1 対多の関係を示すために使用できます。明らかではありますが、複雑なパートナーシップでは適応できない可能性があります。

階層モデル

階層モデルの設計

ネットワークモデル

ネットワーク モデルと階層モデルは非常に似ていますが、データの関係に関連する重要な違いがあります。ネットワーク モデルでは多対多の関係が可能ですが、階層モデルでは 1 対多の関係が可能です。

ジャワの尻尾
ネットワークモデル

ネットワークモデルの設計

リレーショナルモデル

リレーショナル モデルは主にリレーショナル データベースに使用され、データはテーブルの関係として保存されます。これ リレーショナル モデル スキーマ オブジェクト指向プログラミングに適しています。

リレーショナルモデル

リレーショナルモデルの設計

スタースキーマ

スター スキーマは、大量のデータの保存と分析に適しています。中心にファクト テーブルがあり、星のように複数のディメンション テーブルがそれに接続されています。ファクト テーブルにはビジネス プロセスを実行する数値データが含まれ、ディメンション テーブルには製品、時間、人などのディメンションに関連するデータが含まれています。または、このテーブルにはファクト テーブルの説明が含まれているとも言えます。スター スキーマを使用すると、次のデータを構造化できます。 RDBMS

スタースキーマ

スタースキーマの設計

スノーフレークスキーマ

スター スキーマと同様に、スノーフレーク スキーマにも中心にファクト テーブルがあり、それに接続された複数のディメンション テーブルがあります。ただし、両方のモデルの主な違いは、スノーフレーク スキーマではディメンション テーブルがさらに正規化されて複数の関連テーブルになることです。スノーフレーク スキーマは、大量のデータの分析に使用されます。

スノーフレークスキーマ

スノーフレーク スキーマの設計

論理データベーススキーマと物理データベーススキーマの違い

物理スキーマ

Java プログラミング言語のチュートリアル

論理スキーマ

物理スキーマは、ディスク内でのデータの保存方法を記述します。

論理スキーマは、データ エンティティ間の関係を定義する概念図を提供します。

抽象度が低い。 高い抽象度を持っていること。

データベースの設計は、どのデータベース管理システムにも依存しません。

データベースの設計は、特定のデータベース管理システムまたはハードウェア プラットフォームで動作する必要があります。

物理スキーマの変更は論理スキーマに影響を与えます 論理スキーマに加えられた変更は、物理スキーマへの影響を最小限に抑えます。
物理スキーマには属性は含まれません。 論理スキーマには属性が含まれます。
物理スキーマには属性とそのデータ型が含まれます。 論理スキーマには属性やデータ型が含まれません。
例: データ定義言語 (DDL)、ストレージ構造、インデックス。 例: エンティティ関係図 、統一モデリング言語、クラス図。

データベーススキーマの利点

  • データの一貫性の提供: データベーススキーマ データの一貫性を確保し、重複を防ぎます。
  • スケーラビリティの維持: 適切に設計されたデータベース スキーマは、データベースへの新しいテーブルの追加を維持するのに役立ち、また、増大するテーブルでの大量のデータの処理にも役立ちます。
  • パフォーマンスの向上: データベース スキーマは、データの取得を高速化するのに役立ち、データベース テーブルの操作時間を短縮できます。
  • 簡単なメンテナンス: データベース スキーマは、データベースの残りの部分に影響を与えることなくデータベース全体を維持するのに役立ちます。
  • データのセキュリティ: データベース スキーマは機密データの保存に役立ち、データベースへの許可されたアクセスのみを許可します。

データベースインスタンス

データベース スキーマは、実際のデータベースが作成される前に定義されます。データベースが動作した後は、スキーマがデータベースの基本構造を表すため、スキーマを変更するのは非常に困難です。データベース インスタンスは、データベースに保存されたデータに関連する情報を保持しません。したがって、データベース インスタンスは、特定の時点でデータベースに現在保存されているデータと情報を表します。

データベースインスタンス

特定の時点での Customer テーブルのデータベース インスタンス

結論

  • データベースの構造はスキーマと呼ばれ、特にテーブルやキーなどの論理制限を表します。
  • 3 つのスキーマ アーキテクチャ ユーザーがデータベースに直接アクセスできないようにするために開発されました。
  • データベースに保存される情報は頻繁に変更される可能性があるため、インスタンスは特定の時点のデータを表します。