データベースの注意事項-(第7章)データベースの設計とERモデル

1.設計プロセスの概要

データ要件の分析:データベースの設計者は、ユーザー要件の仕様を生成するために、アプリケーション分野の専門家やユーザーと詳細に通信する必要があります。

概念設計:データベースで表されるエンティティ、エンティティの属性、エンティティ間の接続、エンティティとコンタクトセットの制約を定義します。概念設計フェーズでは、パターンをグラフィカルに表現するER図(エンティティ接続図)を作成します。

機能要件の仕様:完璧な概念モデルは、企業の機能要件を示す必要もあります。機能要件の仕様では、ユーザーはデータに対してさまざまな操作(または物)が実行されることを説明します。操作の例には、データの変更または更新、特定のデータの検索と取得、およびデータの削除が含まれます。設計者は設計されたパターンをチェックして、機能要件を満たしていることを確認できます。

ロジック設計段階:エンティティ接続モデルによって定義された概念モデルは、リレーショナルモデルにマッピングされます。

物理設計段階:ファイル編成形式やインデックス構造の選択など、データベースの物理特性を指定します。

 

データベーススキーマを設計するときは、冗長性と不完全性という2つの主要な欠陥を回避する必要があります。

2.エンティティ接続モデル(ERモデル)

2.1エンティティセット

同じタイプ(または属性)のエンティティのコレクション。

2.2接点セット

同じタイプの連絡先のコレクション。

2.3プロパティ

単純属性と複合属性:複合属性は、より小さな部分(その他の属性)に分割できます。たとえば、名前は、first_name、middle_initial、last_nameなどの複合属性として設計できます。住所、通り、名前の複合属性

単一値属性と複数値属性:属性には、特定のエンティティーの値が1つしかありません。つまり、単一値属性です。次のような多値属性:各教師は0、1、または2の電話番号を持つことができ、異なる教師は異なる数の電話番号を持つことができます。 {phone_number}複数の値を持つ属性

派生属性:他の属性から派生させることができます。例:インストラクターエンティティセットには属性ageとdate_of_birthがあり、date_of_birthから年齢を計算できます。したがって、年齢は派生属性です。 年齢

 

 

3.制約

3.1カーディナリティのマッピング

1対1:Aのエンティティは、最大でBの1つのエンティティに関連付けることができます。

1対多:A のエンティティはBの任意の数(0以上)のエンティティに関連付けることができますが、Bのエンティティは最大でAの1つのエンティティ関連付けられます

多くの多くは:BとエンティティAは、であってもよい(ゼロ以上)の任意の数のエンティティに関連する、およびエンティティB、およびAは、であってもよく、任意の数(ゼロ以上)のエンティティが関連付けられます。

 

 

 

 

3.2参加の制約   

 上の図(a)では、Aのコンタクトセットへの参加合計参加であり、Bのコンタクトセットへの参加部分参加です。上の図(b)では、AとBがすべて接触セットに含まれています。

3.3ヤード

スーパーコード、候補コード、マスターコードの概念は、リレーショナルモードで定義されているものと同じです。

 

4.エンティティ接触図

**二重線はエンティティの連絡先セットへの参加を示し二重線はすべての参加を示します

**二重ひし形は、弱いエンティティセットに接続されたアイコン接続セットを表します

 

4.1カーディナリティのマッピング

一対一:

 

 1対多:1人の教師が複数の生徒を指導できます

 

多対多:セクションとtime_slot多対多マッピング、すべてのセクションが参加

 

 

 

カーディナリティの制約:各学生には少なくとも1人のインストラクターと最大1人のインストラクターがいます。各インストラクターは、少なくとも0人の無数の(複数の)学生までガイドできます。

 

4.2弱いエンティティセットと強いエンティティセット

 

 

弱いエンティティセット:マスターコードを形成するのに十分な属性がないエンティティセット。図のセクションは、弱いエンティティセットです。どちらが区別文字が破線の下線で表されます。

対照的に、メインコードを含むエンティティセットは強力なエンティティセットです。例:コース。

弱いエンティティセットを強いエンティティセット関連付けることは意味がありますこの強力なエンティティセットは、識別エンティティセットまたは所有者エンティティセットと呼ばます。弱いエンティティセットの存在は、エンティティセットの識別に依存します。弱いエンティティセットとその識別エンティティセットの間の接続は、識別関係(識別関係)と呼ばれます。

 

5. ER図をリレーショナルモードに変換する

例として次の写真を見てください

 

 

5.1強力なエンティティセットの表現

 学生(ID、名前、tot_cred)   

5.2複雑な属性を持つ強力なエンティティセットの表現

複合属性自体に個別の属性を作成するのではなく、サブ属性ごとに個別の属性を作成して、複合属性を処理します。たとえば、複合属性の住所の場合、州や市などのサブ属性が含まれます。リレーショナルモデルに変換するとき、これらのすべてのサブ属性は分離されます。

5.3弱いエンティティセットの表現

あるモードから弱いエンティティセットからの変換のためのマスターキーから、それは強く依存エンティティセットされているマスターキー弱いエンティティセットの文字の解決の組み合わせを。セクション(course_id、sec_id、semester、year

5.4接触セットの表現

Rは、リンクの集合とする、Rの属性があり、マスターキーの集合Rに関与するすべてのエンティティRの性質の記述とセット。 

多対1の制約:アドバイザーを例にとると、それは学生からインストラクターまでの多対1であり、そのメインコードは学生のメインコードs_IDです。連絡先セットアドバイザーにも外部コード制約が設定されており、属性i_IDはインストラクターを指し、属性s_IDは学生を指します。

 

おすすめ

転載: www.cnblogs.com/nandingahbbq/p/12738693.html