MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

ER図の最小化


問題の説明

ERダイアグラムは、さまざまなテーブルとそれらの間の関係を図で表したものです。データベースの数を減らすことができるER図。

1対1のカーディナリティ

以下の図を1対1のカーディナリティで考えてみましょう-

ER図の最小化

上記のER図は3つのエンティティを表しています-

  • 従業員エンティティには、emp_nameという2つの属性があります。 emp_idが主キーです
  • 会社エンティティには、cmp_nameという2つの属性があります。 cmp_idが主キーです
  • 作業エンティティの主キーはemp_idまたはcmp_idにすることができます
  • 3つのテーブルを1つに結合することはできず、WorkをEmployeeまたはCompanyにマージすることもできます。 1対1のカーディナリティシナリオでは、最低2つのテーブルが必要です。

1対多のカーディナリティ

1対多のカーディナリティを持つ以下の図を考えてみましょう-

ER図の最小化

このERダイアグラムでは、従業員は1つの会社で働くことができますが、会社にはそのような従業員が多数いる可能性があります。上記のER図は3つのエンティティを表しています-

  • 従業員エンティティには、-emp_idとemp_nameの2つの属性があります。 emp_idが主キーです
  • 会社エンティティには、-emp_idとcmp_nameの2つの属性があります。 cmp_idが主キーです
  • 複数の従業員が同じcmp_idで作業できるため、cmp_idを主キーにすることはできません。ただし、EmployeeテーブルとWorkテーブルを組み合わせることができます。したがって、1対多のカーディナリティシナリオでは、最低2つのテーブルが必要です。

多対多のカーディナリティ

1対多のカーディナリティを持つ以下の図を考えてみましょう-

ER図の最小化

このERダイアグラムでは、従業員は複数の会社で働くことができ、会社にはそのような従業員が多数いる可能性があります。上記のER図は3つのエンティティを表しています-

  • 従業員エンティティには、-emp_idとemp_nameの2つの属性があります。 emp_idが主キーです
  • 会社エンティティには、-emp_idとcmp_nameの2つの属性があります。 cmp_idが主キーです
  • 前の例とは異なり、WorkテーブルをEmployeeまたはCompanyとマージすることはできません。マージしようとすると、冗長データが作成されます。したがって、多対多のカーディナリティシナリオでは、最低2つのテーブルが必要です。

  1. MySQLでデータベース図を自動生成する方法は?

    MySQLでデータベース図を自動生成するには、MySQLワークベンチを使用します。このために、以下に示すようにデータベースからオプションを選択します- Database->Reverse Engineer これが[データベース]タブを示すスナップショットです- 上記の「データベース」をクリックした後、「リバースエンジニア」オプションを選択します。この状態は「リバースエンジニア」モードです。 上をクリックすると、次の表が自動的に表示されます。データベース「business」に1つのテーブルがありました。同じテーブル「tblstudent」がここに表示されます-

  2. 修正:Err_Connection_Closed

    Google Chromeは、最新の最も人気のあるインターネットブラウザの1つであり、ハイエンドPCに優れたパフォーマンスを提供します。弱いPCでもうまく機能しますが、RAMの消費量は、RAMが3 GB未満のコンピューター、特にインスタンスに開いているタブがたくさんある場合に大きな問題になります。 ブラウザはGoogleによって絶えず更新されており、Googleアカウントを使用するときに同期されたエクスペリエンスを提供するように機能するため、すべてのデバイスが同じ履歴を共有します。この特定のエラーを見てみましょう。 ChromeのERR_CONNECTION_CLOSED このエラーは、