【詳細解説】データベースER図 - 図書館管理システム

トピック

図書館管理システムには次の情報が含まれています。

本: ISBN、タイトル、冊数、場所

借用者:図書館カード番号、氏名、単位

発行者: 発行者名、郵便番号、住所、電話番号、電子メール

合意:

(1) 誰でもさまざまな本を借りることができ、どの本も複数人で借りることができます。 図書館カード番号はユニークです。

(2) 図書の貸出・返却の際には、貸出日・返却日を登録する必要があります。

(3) 出版社はさまざまな本を出版できますが、同じ本を出版できるのは 1 つの出版社だけであり、出版社はユニークです。

上記の状況に基づいて、次の設計が完成します。

(1) ニーズに合わせた E-R 図を構築します。

(2) ER図を等価関係パターンに変換する。

(3) 変換されたリレーショナル スキーマごとに候補キーを示します。

ニーズを満たす E-R 図を作成します

通常、長方形はエンティティを表すために使用され、円は属性を表し、ひし形は関係を表します。以下の図を参照してください。

  1. エンティティとしての書籍には、書籍番号、書籍タイトル、数量、場所の 4 つの属性が含まれます。
  2. エンティティとしての借り手には、図書館カード番号、名前、単位の 3 つの属性が含まれます。
  3. エンティティとしての出版社には、出版社名、郵便番号、住所、電話番号、電子メールの 5 つの属性が含まれます。
  4. 本 - 借りる - 借りる人、誰でも多くの種類の本を借りることができるため、借りる人と本の関係は N です。どのような種類の本でも複数人で借りることができ、図書館カード番号は一意であるため、本と借り手と借り手の関係はMです。
  5. 本を借りるときと返却するときは、対応する貸出日と返却日を登録する必要があります。貸出関係の 2 つの属性を作成するだけです。
  6. 出版社 - 出版 - 本 出版社はさまざまな種類の本を出版できるため、出版社と本の関係は N です。同じ本は 1 つの出版社からのみ出版されるため、その関係は固有です。本と出版社の間の関係は N です。関係は 1 です。

ER 図を等価な関係パターンに変換します。

  • 書籍 (書籍番号、書籍タイトル、数量、場所、出版社名 (外部キー))
  • 出版社 (出版社名、郵便番号、住所、電話番号、電子メール)
  • 借入者(図書館カード番号、氏名、所属)
  • 貸出状況(図書番号(外部キー)、図書館カード番号(外部キー)、貸出日、返却日)

変換後の各リレーショナル スキーマの候補キーを示します

アイデア

候補キーは、リレーショナル データベース内のタプル (行) を一意に識別できる 1 つ以上の属性セットを指します。リレーショナル スキーマでは、複数の候補キーが存在する可能性があり、候補キーの 1 つが主キーとして選択されます。候補キーを見つけるには、次の手順に従います。

1.機能の依存関係を理解する

まず、リレーショナル スキーマ内の属性間の機能の依存関係を分析します。関数の依存関係とは、一部の属性値が他の属性の値を一意に決定することを意味します。たとえば、学生テーブルでは、学生番号によって学生の名前、性別、その他の属性を一意に決定できます。

例えば:

  • リレーショナル スキーマがあり、R(A, B, C, D)がわかっている場合、属性は他のすべての属性を一意に識別するため、候補キーになります。A -> BA -> C, DA

2.スーパーキーを見つける

スーパーキーは、関係内のすべてのタプルを一意に識別する属性のセットです。通常は 1 つ以上の属性の組み合わせです。最も単純なスーパーキーは、すべての属性のセットです。

例: Books テーブルではBook(书号, 书名, 数量, 出版社名)书号書籍を一意に識別できるため、それはスーパーキーです。

3.候補キーを見つける

候補キーは最小のスーパーキー、つまり属性を削除できないスーパーキーです。候補キーには冗長な属性を含めることはできません。

ステップ:

  • 考えられるすべてのスーパーキーを見つけます。

  • 冗長な属性を含むスーパーキーを削除すると、候補キーが残ります。

4.例:

例 1: 書籍テーブルBook(书号, 书名, 数量, 出版社名)

  • スーパーキー: {ISBN}、{ISBN、書籍タイトル}、{ISBN、出版社名}、{ISBN、数量、出版社名} など。

  • 候補キー: {書籍番号} (すべての属性を最小限かつ一意に識別します)。

例 2: 図書貸出フォームBorrow(书号, 借书证号, 借书日期, 还书日期)

  • スーパーキー:{図書番号、図書カード番号}、{図書番号、図書カード番号、貸出日}など。

  • 候補キー:{図書番号、図書館カード番号}(同じ本を複数回借りる場合があるため、複合キーで一意に識別できる)。

要約:

  1. プロパティ間の機能の依存関係を分析します。

  2. すべてのスーパーキーを検索します。
  3. 冗長な属性を削除し、最小のスーパーキーを候補キーとして取得します。

各関係には複数の候補キーがある場合があり、候補キーの 1 つが主キーとして選択されます。

解決

1.書籍(書籍番号、タイトル、数量、場所)

  • 候補キー:书号

  • 分析:书号本は一意に識別できるため、books テーブルの候補キーとなります。

2.出版社(出版社名、郵便番号、住所、電話番号、メールアドレス)

  • 候補キー:出版社名

  • 分析:出版社名各パブリッシャーは一意に識別できるため、パブリッシャー テーブルの候補キーとなります。

3.借用者(図書館カード番号、氏名、所属)

  • 候補キー:借书证号

  • 分析:借书证号は一意であり、各借り手は一意の図書館カード番号を持っているため、借り手テーブルの候補キーになります。

4.貸出(図書番号、図書カード番号、貸出日、返却日)

  • 候補キー:(书号, 借书证号)

  • 分析:书号と が借书证号一緒になって複合候補キーを形成します。同じ本を複数の人が借りることができ、同じ人が複数の本を借りることができるため、各貸し出しレコードは书号借书证号の組み合わせで一意に識別される必要があります。借书日期と は还书日期借用したレコードのプロパティですが、候補キーの一意性に影響を与えません。

要約:

  • 書籍テーブルの候補キー:书号

  • パブリッシャーテーブルの候補キー:出版社名

  • 借主テーブルの候補キー:借书证号

  • 借用テーブルの候補キー:(书号、借书证号)

エンディング

私の書いたことに何か間違っているところがあれば、コメント欄で遠慮なく批判して修正してください、ありがとう! ! !

おすすめ

転載: blog.csdn.net/MOS_JBET/article/details/142180312