第 6 章 データベース設計原則

次のコースは MOOC 学習から派生したものです。元のコースを参照してください:データベースの原則とアプリケーション
の大学院レビュー

データベース設計

データベース設計は、アプリケーションシステム要件分析のデータ要件に基づいて、データの抽象化、データ表現、データストレージの問題を解決し、アプリケーション要件を満たすシンプルで効率的、標準化された合理的なデータベースを設計することを目的としています。最終的に、DBMS に格納できるデータベースの論理構造と物理構造が得られます。

データベースの設計手法は、初期の経験に基づく直観的な設計から、ソフトウェア工学の考え方による標準化された設計に発展し、コンピュータ支援設計や設計ツールソフトによる自動設計を活用するように開発されてきました。

ERモデルに基づく標準的な設計手法に基づき、データベース設計は通常、要件分析、概念構造設計、論理構造設計、物理構造設計、データベース実装、データベース運用、保守の6段階に分かれます

要件分析はデータベース全体の設計の基礎であり、主にユーザーとアプリケーションシステムのデータ要件を正確に理解して分析し、データベースに保存および管理する必要があるデータを明確にし、データセキュリティに対するユーザーのニーズを明確にします。および整合性、アクセス権の設定など。

概念構造の設計は、データベース全体の設計の鍵となります。要件分析に基づいて、データを抽象化した結果をERモデルなどの概念モデルを用いて表現し、特定のDBMSに依存しない概念モデルを得る必要があります。

論理構造設計では、概念構造設計で得られた概念モデルを、選択したDBMSがサポートするデータモデルに対応するデータベースモード、例えばリレーショナルデータベースモードに変換し、最適化する。

物理構造設計は、論理構造設計から得られたデータベースモデルであり、選択したDBMSがサポートするデータ定義言語を使用してデータベースの3レベルのスキーマ構造を記述し、アプリケーション環境に適したストレージ構造とアクセス方法を決定します。 。

データベース実装の段階では、特定の DBMS 上で物理構造設計の結果が実現され、データベースが構築され、データベースのプログラミングが実行され、データがストレージに編成され、テスト操作が実行されます。

正式に運用されるデータベースは、システム運用中に継続的に評価・改善を行う必要があります。

データベース設計は、上記の 6 つの段階を継続的に反復し、段階的に改良していくプロセスです。データベースの設計にはデータベース システム アプリケーション ソフトウェアの設計が伴いますが、設計プロセスではこの 2 つを組み合わせて相互に補完する必要があります。

データ フロー図は、データベース構造化設計アプローチの (要件分析) フェーズを記述するために使用されるツールです。

情報要件は、組織が管理する必要があるデータとその構造を表します。

処理要件は、組織がデータに対して頻繁に実行する必要がある処理操作を表します。

質問: リレーショナル データベース設計の理論的サポート: リレーショナル データベース設計プロセスの初期に学んだデータベース理論をどのように使用しますか?

回答: 概念設計段階では、ER モデルを使用してデータベースの概念モデルを設計し、論理設計段階では、リレーショナル正規化理論を使用してデータベース スキーマを設計します。

概念的な構造設計

データベース概念構造設計フェーズで得られた結果は**: ER図で表される概念構造**です。

情報の構造を説明するための E-R 図ですが、コンピューター内の情報の表現には関与しません。

ステップ:

1. エンティティとエンティティの属性を抽出し、ER図を描画する

画像-20210122222949942

2. エンティティ間の関係と、接続が発生した後に生成される属性特性を決定し、描画します

画像-20210122223025881

3. エンティティと関係の ER 図を結合して、完全な ER 図を構築する

画像-20210122223138337

サブ ER 図をマージする場合、各サブ図の不一致、つまり競合を除去する必要があります。ER 図間の競合には主に 3 つのタイプがあります。

つまり、属性の競合、名前の競合、構造の競合です。

  • 名前の競合: 同義語または同義語
  • 属性の競合: 属性タイプの競合
  • 構造の競合: プロパティ値の単位の競合

論理構造設計

論理構造の設計フェーズで得られる結果は次のとおりです。特定の DBMS がサポートするデータの論理構造

リレーショナル データベースの正規化理論は、主にデータベースの論理構造をガイドするために使用されます。

リレーショナル スキーマの設計は、(論理構造設計) フェーズのタスクです。

  • 1:1 関係は、独立した関係スキーマに変換したり、関係の両端のエンティティに対応する関係スキーマと結合したりできます。

例: 2 つの関係: クラス (クラス番号、学科、専攻、人数) モニター (学生番号、名前)

1つ目の方法:担当者(学生番号、クラス番号)を追加するか、

2種類目:クラス(クラス番号、学科、専攻、人数、モニター学生ID) モニター(学生ID、名前)

  • 1: n 接続は独立したリレーショナル スキーマに変換でき、リレーションの n 末端エンティティに対応するリレーショナル スキーマとマージすることもできます。

たとえば、クラス (クラス番号、学科、専攻、人数) 学生 (学生番号、名前)という 2 つの関係が考えられます。

最初のタイプ: テーブルの追加 (所属): (学生番号、クラス番号)

2種類目:class(クラス番号、学科、専攻、人数)student(学生番号、名前、クラス番号

  • m:n 関係は、独立したリレーショナル スキーマにのみ変換できます。

たとえば、次の 2 つの関係: コース (コース番号、コース名、単位) 学生 (学生番号、名前)

コース選択結果(学生番号、コース番号、成績)

  • 3 つ以上のエンティティ間の多変量関係は、個別に関係モデルに変換する必要があります。
  • 子エンティティと ISA エンティティの関連付けの変換

ERモデルからリレーショナルモデルに変換する場合、M:N関係をリレーショナルモデルに変換する場合、リレーショナルモデルの候補キーは(M末端実体キーワードとN末端実体キーワードの組み合わせ)となります。

ER モデルに 3 つの異なるエンティティ タイプと 3 つの m:n 関係がある場合、ER モデルをリレーショナル モデルに変換する規則に従って、変換後の関係の数は ( 7 ) になります。

リレーショナル データベースの論理構造設計フェーズで完了する主なタスクは次のとおりです ( )。

ERモデルをリレーショナル スキーマに変換 -> リレーショナル スキーマの正規化 -> リレーショナル スキーマの最適化 -> ユーザー スキーマの設計

物理構造設計

設計で解決すべき課題:データベースの格納構造の設計+データベースの格納方法の設計、ディスクへの最小限のI/O回数の確保

設計の目標は、ストレージ容量が少なく、データアクセス効率が高く、メンテナンスコストが低いデータベース物理モデルを取得することです。

この段階で得られる結果は、ストレージ構造とアクセス方法を含むデータベースの物理構造です。

データベースの格納構造を決定する、つまり、リレーションシップ、インデックス、クラスタ、ログ、バックアップなどのデータの格納配置や格納構造を決定するのが、データベース設計(物理構造設計)の作業です。

(物理構造設計) SQL言語で定義されたデータベーススキーマを取得できます。

の:

  • ユーザーのアウトドアモードを定義する
    • 主にビューを定義するため
  • 定義内パターン
    • インデックスは DBMS で採用されている主な保存方法であり、DBMS はインデックスに基づいてクエリ プランをカスタマイズおよび最適化できます。
    • インデックスの作成により、データ ファイルのストレージ構造が決定されます。
  • データベースを定義する

画像-20210122225324101
画像-20210122230421114

Q: インデックスの作成が内部スキーマの定義の一部になるのはなぜですか?

回答: 内部モードは物理モードとも呼ばれ、データ ストレージのファイル構造、インデックス、クラスター、ハッシュ、その他のアクセス方法とアクセス パスなど、データベースの物理ストレージ構造と物理アクセス方法を示します。したがって、インデックスの作成は内部スキーマの定義の一部です。

おすすめ

転載: blog.csdn.net/qq_38758371/article/details/130094107