トピック
図書館管理システムには次の情報が含まれています。
本: ISBN、タイトル、冊数、場所
借用者:図書館カード番号、氏名、単位
発行者: 発行者名、郵便番号、住所、電話番号、電子メール
合意:
(1) 誰でもさまざまな本を借りることができ、どの本も複数人で借りることができます。 図書館カード番号はユニークです。
(2) 図書の貸出・返却の際には、貸出日・返却日を登録する必要があります。
(3) 出版社はさまざまな本を出版できますが、同じ本を出版できるのは 1 つの出版社だけであり、出版社はユニークです。
上記の状況に基づいて、次の設計が完成します。
(1) ニーズに合わせた E-R 図を構築します。
(2) ER図を等価関係パターンに変換する。
(3) 変換されたリレーショナル スキーマごとに候補キーを示します。
ニーズを満たす E-R 図を作成します
通常、長方形はエンティティを表すために使用され、円は属性を表し、ひし形は関係を表します。以下の図を参照してください。
- エンティティとしての書籍には、書籍番号、書籍タイトル、数量、場所の 4 つの属性が含まれます。
- エンティティとしての借り手には、図書館カード番号、名前、単位の 3 つの属性が含まれます。
- エンティティとしての出版社には、出版社名、郵便番号、住所、電話番号、電子メールの 5 つの属性が含まれます。
- 本 - 借りる - 借りる人、誰でも多くの種類の本を借りることができるため、借りる人と本の関係は N です。どのような種類の本でも複数人で借りることができ、図書館カード番号は一意であるため、本と借り手と借り手の関係はMです。
- 本を借りるときと返却するときは、対応する貸出日と返却日を登録する必要があります。貸出関係の 2 つの属性を作成するだけです。
- 出版社 - 出版 - 本 出版社はさまざまな種類の本を出版できるため、出版社と本の関係は N です。同じ本は 1 つの出版社からのみ出版されるため、その関係は固有です。本と出版社の間の関係は N です。関係は 1 です。
ER 図を等価な関係パターンに変換します。
- 書籍 (書籍番号、書籍タイトル、数量、場所、出版社名 (外部キー))
- 出版社 (出版社名、郵便番号、住所、電話番号、電子メール)
- 借入者(図書館カード番号、氏名、所属)
- 貸出状況(図書番号(外部キー)、図書館カード番号(外部キー)、貸出日、返却日)
変換後の各リレーショナル スキーマの候補キーを示します
アイデア
候補キーは、リレーショナル データベース内のタプル (行) を一意に識別できる 1 つ以上の属性セットを指します。リレーショナル スキーマでは、複数の候補キーが存在する可能性があり、候補キーの 1 つが主キーとして選択されます。候補キーを見つけるには、次の手順に従います。
1.機能の依存関係を理解する
まず、リレーショナル スキーマ内の属性間の機能の依存関係を分析します。関数の依存関係とは、一部の属性値が他の属性の値を一意に決定することを意味します。たとえば、学生テーブルでは、学生番号によって学生の名前、性別、その他の属性を一意に決定できます。
例えば:
リレーショナル スキーマがあり、と
R(A, B, C, D)
がわかっている場合、属性は他のすべての属性を一意に識別するため、候補キーになります。A -> B
A -> C, D
A
2.スーパーキーを見つける
スーパーキーは、関係内のすべてのタプルを一意に識別する属性のセットです。通常は 1 つ以上の属性の組み合わせです。最も単純なスーパーキーは、すべての属性のセットです。
例: Books テーブルでは
Book(书号, 书名, 数量, 出版社名)
、书号
書籍を一意に識別できるため、それはスーパーキーです。3.候補キーを見つける
候補キーは最小のスーパーキー、つまり属性を削除できないスーパーキーです。候補キーには冗長な属性を含めることはできません。
ステップ:
考えられるすべてのスーパーキーを見つけます。
冗長な属性を含むスーパーキーを削除すると、候補キーが残ります。
4.例:
例 1: 書籍テーブル
Book(书号, 书名, 数量, 出版社名)
スーパーキー: {ISBN}、{ISBN、書籍タイトル}、{ISBN、出版社名}、{ISBN、数量、出版社名} など。
候補キー: {書籍番号} (すべての属性を最小限かつ一意に識別します)。
例 2: 図書貸出フォーム
Borrow(书号, 借书证号, 借书日期, 还书日期)
スーパーキー:{図書番号、図書カード番号}、{図書番号、図書カード番号、貸出日}など。
候補キー:{図書番号、図書館カード番号}(同じ本を複数回借りる場合があるため、複合キーで一意に識別できる)。
要約:
プロパティ間の機能の依存関係を分析します。
- すべてのスーパーキーを検索します。
- 冗長な属性を削除し、最小のスーパーキーを候補キーとして取得します。
各関係には複数の候補キーがある場合があり、候補キーの 1 つが主キーとして選択されます。
解決
1.書籍(書籍番号、タイトル、数量、場所)
候補キー:
书号
分析:
书号
本は一意に識別できるため、books テーブルの候補キーとなります。2.出版社(出版社名、郵便番号、住所、電話番号、メールアドレス)
候補キー:
出版社名
分析:
出版社名
各パブリッシャーは一意に識別できるため、パブリッシャー テーブルの候補キーとなります。3.借用者(図書館カード番号、氏名、所属)
候補キー:
借书证号
分析:
借书证号
は一意であり、各借り手は一意の図書館カード番号を持っているため、借り手テーブルの候補キーになります。4.貸出(図書番号、図書カード番号、貸出日、返却日)
候補キー:
(书号, 借书证号)
分析:
书号
と が借书证号
一緒になって複合候補キーを形成します。同じ本を複数の人が借りることができ、同じ人が複数の本を借りることができるため、各貸し出しレコードは书号
と借书证号
の組み合わせで一意に識別される必要があります。借书日期
と は还书日期
借用したレコードのプロパティですが、候補キーの一意性に影響を与えません。要約:
書籍テーブルの候補キー:
书号
パブリッシャーテーブルの候補キー:
出版社名
借主テーブルの候補キー:
借书证号
借用テーブルの候補キー:
(书号、借书证号)
エンディング
私の書いたことに何か間違っているところがあれば、コメント欄で遠慮なく批判して修正してください、ありがとう! ! !