導入
という言葉に出会ったことがあるかもしれません。 データベース ' かなり頻繁に。この用語は武器に重点を置いています。多くの場合、これは開発者の視点に関連するだけでなく、技術系以外のグループやコミュニティでもよく使用されます。技術的には、データベースは、1 か所に集約されたさまざまな形式のデータとの関係を示すために使用されるストレージ用語です。したがって、データベースは組織化されたデータの集合として定義でき、通常はコンピューター システムを通じて電子的に保存およびアクセスされます。この記事はデータベース設計に非常に重点を置いており、引用可能な用語や方法論との関連性が一般的に考慮されています。細部を理解するために、データベース設計に関するこれらの用語について説明します。すぐにそれについて話しましょう。
文字列Java配列
データベース設計とは何ですか?
データベース設計は一般に、企業データ管理システムの設計、開発、実装、保守を強化するタスクまたはプロセスの集合として定義できます。適切なデータベースを設計すると、メンテナンスコストが削減され、データの一貫性が向上します。また、コスト効率の高い対策は、ディスクストレージスペースの点で大きく影響します。したがって、データベースの設計には優れたコンセプトが必要です。設計者は制約に従い、要素がどのように相関するか、またどのような種類のデータを保存する必要があるかを決定する必要があります。
データベース設計の背後にある主な目的は、提案されたデータベース システムの物理的および論理的設計モデルを作成することです。これを詳しく説明すると、論理モデルは主にデータの要件に集中しており、モノリシックな考慮事項の観点から考慮する必要があるため、保存される物理データは物理的条件とは独立して保存する必要があります。一方、物理データベース設計モデルには、ハードウェア リソースとデータベース管理システム (DBMS) などのソフトウェア システムを使用して物理メディアを制御し続けることによる、データベースの論理設計モデルの変換が含まれます。
データベース設計が重要なのはなぜですか?
データベース設計の重要性を強調する際に考慮すべき重要な考慮事項は、以下の点に関して説明できます。
- データベース設計は、データがシステムにどのように保存されるかの青写真を提供します。データベースの適切な設計は、アプリケーションの全体的なパフォーマンスに大きな影響を与えます。
- データベースに対して定義された設計原則は、アプリケーションの動作とリクエストがどのように処理されるかを明確に示します。
- データベース設計を強調するもう 1 つの例は、適切なデータベース設計がユーザーのすべての要件を満たすことです。
- 最後に、高効率データベース設計の制約が適切に実装されていれば、アプリケーションの処理時間は大幅に短縮されます。
ライフサイクル
ただし、データベースの設計に焦点を当てているため、データベースのライフ サイクルについては、この記事で取り上げる必要がある重要な議論ではありません。ただし、データベース設計を構成する設計モデルに直接取り組む前に、データベースの全体的なワークフローとライフサイクルを理解することが重要です。
要件分析
まず最初に、データベースの設計を進めるプロジェクトの基本的な要件について計画を立てる必要があります。したがって、それらは次のように定義できます。
企画 - この段階は、DDLC (データベース開発ライフサイクル) 全体の計画に関係します。続行する前に、戦略的考慮事項が考慮されます。
乱数Cコード
システム定義 - この段階では、計画後の適切なデータベースの境界と範囲をカバーします。
データベース設計
次のステップでは、ユーザーベースの要件を考慮してデータベースを設計し、単一の側面に負荷や強い依存関係が課されないように、それらをさまざまなモデルに分割します。したがって、モデル中心のアプローチがいくつかあり、そこでは論理モデルと物理モデルが重要な役割を果たします。
物理モデル - 物理モデルは、論理モデルの実践と実装に関係します。
論理モデル - この段階は主に、提案された要件に基づいたモデルの開発に関係します。モデル全体は、実装や DBMS の導入を考慮せずに紙の上で設計されています。
実装
最後のステップでは、実装方法と、要件に一致する動作の確認について説明します。これは、さまざまなデータセットを使用したデータベースの継続的な統合テストと、データを機械が理解できる言語に変換することで保証されます。データの操作は主に、クエリを実行してアプリケーションが適切に設計されているかどうかを確認するこれらのステップに焦点を当てています。
データ変換と読み込み - このセクションは、古いシステムから新しいシステムにデータをインポートおよび変換するために使用されます。
テスト - この段階は、新しく実装されたシステムのエラーの特定に関係します。テストはデータベースを直接チェックし、要件仕様を比較するため、重要なステップです。
データベース設計プロセス
データベースを設計するプロセスには、留意する必要があるさまざまな概念的アプローチが含まれます。理想的で適切に構造化されたデータベース設計では、次のことができる必要があります。
抽象クラスはコンストラクターを持つことができますか
- 冗長なデータを排除してディスク領域を節約します。
- データの整合性と正確性を維持します。
- 便利な方法でデータ アクセスを提供します。
- 論理データモデルと物理データモデルの比較。
論理的
論理データ モデルは通常、データベース内の物理的な実装を気にすることなく、データをできるだけ詳細に記述します。論理データ モデルの機能には次のようなものがあります。
- すべての実体とそれらの間の関係。
- 各エンティティには明確に指定された属性があります。
- 各エンティティの主キーが指定されます。
- 異なるエンティティ間の関係を識別するために使用される外部キーが指定されます。
- 正規化はこのレベルで発生します。
論理モデルは、次のアプローチを使用して設計できます。
- すべてのエンティティを主キーで指定します。
- 異なるエンティティ間の同時関係を指定します。
- 各エンティティの属性を把握する
- 多対多の関係を解決します。
- 正規化のプロセスを実行します。
また、上記のアプローチに従った後の重要な要素の 1 つは、要件の収集に基づいて設計を批判的に検討することです。上記の手順に厳密に従えば、ネイティブ アプローチに従った非常に効率的なデータベース設計を作成できる可能性があります。
これらの点を理解するには、以下の画像を見て明確に理解してください。
上の図に示されている論理データ モデルを図のサンプル データと比較すると、概念的なデータ モデルには主キーが存在しないのに対し、論理データ モデルには主キーが存在するという事実がわかります。そのすべての属性。また、論理データは、異なるエンティティ間のカバー関係をモデル化し、エンティティ間の関係を確立するための外部キーの余地を持ちます。
物理的な
物理データ モードは通常、データベース設計のアプローチまたは概念を表します。物理データ モデルの主な目的は、すべてのデータを表示することです。 構造物 を含むテーブルの 列名、列のデータ型、制約、キー(プライマリおよび外部) 、およびテーブル間の関係。物理データ モデルの特徴は次のとおりです。
- すべての列とテーブルを指定します。
- 通常、テーブル間の関係を定義する外部キーを指定します。
- ユーザーの要件に基づいて、非正規化が発生する可能性があります。
- 物理的な考慮事項が考慮されているため、論理モデルよりも違いが生じる単純な理由があります。
- 物理モデルは RDBMS ごとに異なる場合があります。たとえば、データ型列は MySQL と SQL Server で異なる場合があります。
物理データ モデルを設計する際には、次の点を考慮する必要があります。
- エンティティをテーブルに変換します。
- 定義された関係を外部キーに変換します。
- データ属性を列に変換します。
- 物理要件に基づいてデータ モデルの制約を変更します。
この物理データ モデルを以前の論理モデルと比較すると、物理データベースではエンティティ名がテーブル名とみなされ、属性が列名とみなされ、その違いが結論付けられるかもしれません。また、各列のデータ型は、実際に使用されるデータベースに応じて物理モデルで定義されます。
用語集
実在物 - データベース内のエンティティは、データベースに保存する抽象データとして定義できます。たとえば、顧客、商品などです。
4か月ぶり
属性 - 属性は、長さ、名前、価格などのエンティティで構成されるデータの詳細な形式です。
関係 - 関係は、2 つのエンティティまたは図形の間の接続として定義できます。たとえば、ある人は家族内の複数の人と関係を持つことができます。
外部キー - 別のテーブルの主キーへの参照として機能します。外部キーには、参照する主キー列にのみ存在する値を持つ列が含まれます。
主キー - 主キーは、NULL ではなく一意のレコードのポインタであり、テーブルの属性を一意に識別するために使用されます。
シェルスクリプトを実行可能にする
正規化 - 柔軟なデータ モデルは、特定のルールに従う必要があります。これらのルールを適用することを正規化と呼びます。
まとめ
データベース設計は、適切な利用方法を設計する上でのギャップと機会を特定する方法です。これは、システム内のデータとその動作の青写真を提供するシステムの主要コンポーネントです。ユーザーの要件が過度に高く保たれているため、適切なデータベース設計が常に優先されており、データベース設計の制約慣行に従うことは、要求された効率を得るチャンスとしてしか機能しない可能性があります。さらに、理想的なデータベース設計を描くさまざまな設計モデルについても個別に学び、その特性とその活用方法について際限なく議論しました。さらに、データベースのライフサイクルがデータベースの設計をどのように決定するのか、また、ユーザーの要求に基づいて効率的で高度なデータベースを設計できるように、ライフサイクル手法に設計の概念をどのように組み込むかを学びました。