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は学生を指します。