
関係データベースを用い、学生の所属するサークル管理を行うことになった
そこで、以下のような項目を選択した。以下の関係をリレーショナルモデルのスキーマで表現しなさい
ただし、スキーマの項目は、学生、所属、サークルとする。主キーには下線がついている。
[クラブ](学生ID(下線),学生名、入学年度、サークルID(下線),サークル名)
以上の問題なのですが答えがいまいちわかりません。
自分でやってみた所
・学生
学生ID(主キー)、学生名、入学年度
・所属
学生ID(主キー)、サークル(ID)、学生名、サークル
・サークル
サークルID(主キー)、サークル名
こんな感じになったのですがどうでしょうか?
わかる方おねがいします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
多対多のリレーションについて、中間の所属テーブルで多対1対多の構成に分解して構築する意図の問題ですね。
ukiuku0904さんの考えた3つのエンティティで概ね合っていますが、
所属表は、学生名、サークルのアトリビュートは不要です。また、所属表のインデックスのための所属主キーがあった方がよいでしょう。
・学生表
学生ID(主キー)、学生名、入学年度
・所属表
所属主キー、 学生ID、 サークルID
学生テーブル サークルテーブル
から矢印 から矢印
・サークル表
サークルID(主キー)、サークル名
と構築し、
SELECT *
FROM 所属表 INNER JOIN 学生表 ON 所属表.学生ID=学生表.学生ID
などと操作して、リレーショナル型データベースの特性を生かした
活用を目論むことになります。
No.2
- 回答日時:
多対多のリレーションを中間の所属テーブルで多対1対多の構成を構築する意図の問題ですね。
ukiuku0904さんの考えた3つのエンティティで概ね合っていますが、
所属表は、学生名、サークルのアトリビュートは不要です。
・学生表
学生ID(主キー)、学生名、入学年度
・所属表
学生ID(主キー)、 サークル(ID)
学生テーブル サークルテーブル
から矢印 から矢印
・サークル表
サークルID(主キー)、サークル名
と構築し、
SELECT *
FROM 所属表 INNER JOIN 学生表 ON 所属表.学生ID=学生表.学生ID
などと操作して、リレーショナル型データベースの特性を生かした
活用を目論むことになります。
No.1
- 回答日時:
この質問は、
・関係クラブを正規化しなさい。ただし、1人の学生は複数のサークルに所属できるものとする。
というのと同じことです。
もともと第一正規形にはなっているので、部分関数従属をなくして第二正規化します。
そうすると、質問者さんがされたように「学生」、「サークル」という関係が分離されます。
もともとあった「クラブ」から「学生」「サークル」を除いたものが「所属」です。
・所属
学生ID(主キー)、サークルID(主キー)
今回の場合、第二正規化が完了すると、第三正規形の条件も満たしています。だから、これでできあがりです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
accessでの請求管理について
-
accessでのフォームの連携について
-
テーブル2つで作ったクエリが...
-
エクセルVBAで5行目からオート...
-
Excel 2019 のピボットテーブル...
-
ワードで4段組みで文章を書い...
-
access2000:フォームで入力し...
-
データベースのフィールドその...
-
正しく入力されていない項目も...
-
アクセスでの時間の並びかえに...
-
Accessのクエリでデータの入力...
-
AccessでNullをカウントする方法
-
Accessレコードの追加や変更が...
-
PhoenixBIOSの設定について
-
【マクロ】列を折りたたみ非表...
-
ファイルメーカーでCountifの様...
-
ACCESSでテーブルのフィールド...
-
3つの表を1つに縦に連結する
-
アクセスのクエリで、前回に入...
-
Access IF文でテーブルに存在し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスのテーブルを分ける理...
-
Accessフォーム全レコードをPDF...
-
Accessの帳票フォームで重複デ...
-
Access2021 「ISNULL関数には引...
-
あるフィールドの最大値を条件...
-
MS ACCESS 商品価格変更時の該...
-
ACCESS VBA クエリを開く
-
マイクロソフト アクセス リレ...
-
ボイスコッド正規形
-
フィールド名が取得したい
-
SQL文について
-
SQL文でのDISTINCT
-
こんな関数か式?SQLってありま...
-
データベースの正規化について...
-
accessのレポートで困ってます。
-
SQLで合計表示
-
usingの意味がわからないのですが
-
SQL文でexistsの使い方がわかり...
-
曜日を表す項目
-
正規化すると遅くなるというの...
おすすめ情報