Accessでデータベースの設計

このQ&Aのポイント
  • 大学内の成績管理をアクセスでデータベース管理する方法について説明します。
  • (1)学生名簿、(2)学生成績、(3)教員、(4)講義のテーブルを作成し、詳細なデータを管理します。
  • 成績通知表と科目の担当教員への成績表を印刷する方法についても説明します。
回答を見る
  • ベストアンサー

Accessでデータベースの設計

大学内での成績管理をアクセスでデータベース管理するという想定です。 (アクセスの使い方を身に付けるための演習課題ですので、本格的なものでないです) 私の考えていること次の4つのテーブルを作る。(1)学生名簿(2)学生成績(3)教員(4)講義 (1)には、学籍番号、学生氏名、フリガナ、学部、学科、入学年度、学年、備考を  (2)には、学籍番号、講義ナンバー、教員ナンバー、試験得点、試験評価 (3)には、教員ナンバー、教員氏名、フリガナ、学部、学科 (4)には、講義ナンバー、講義名、担当教員、学部、学科、開講学期、単位数、必修・選択 と作ります。 *ただし、大学を想定しているので、成績テーブルを、単に学籍番号、文学、科学、歴史・・・・と作りたくないのです。(高校までなら教科数は限られてますが、大学となると科目数が多すぎるのでフォームがとんでもないことになる) で、ここからが質問です。 最終的に、作りたいものは、(1)各学生への成績通知表(学籍番号・氏名・講義科目・評価・合計の取得単位数)が印刷されたもの(2)各科目の担当教員への成績表(学籍番号・学生氏名・評価)が学籍番号順に印刷されたもの の2つです。 Q1:(1)から(4)のテーブル設計で、最終的にやりたいことができますか? Q2:Q1が可能ならリレーションシップを結ぶために、各テーブルの主キーは何になりますか? Q3:クエリーは、どんなのが必要と考えられますか? Q4:Q1では不可能なら、どんなテーブルが必要となりますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ryuu001
  • ベストアンサー率61% (46/75)
回答No.1

A1:出来ると思います。 A2:(1)主キーは同一テーブル内で、同じ値が発生しないフィールドにしか設定できません。   (2)リレーションシップで結ぶなら、結合するフィールドにインデックスを付けると、実行速度が速くなります。主キーにこだわる必要はありません。 A3:集計クエリーです。

chokodoko
質問者

お礼

ありがとうございました。テーブルの設計はできました。主キーの設定もきちんとできて(とりあえず、できたようで)ただ今、それぞれのデータを入力してもうすぐ終わります。リレーションシップを結ぶのは、もう少ししたらできそうです。後は、アクセスのマニュアル本に、くびっぴきになって頑張ります。ryuu001さんの回答がなければ、多分途方にくれていました。

関連するQ&A

  • リレーショナル型データベースについて

     このような問題についてです。  以下に示す学生の成績表をリレーショナル型データベースで管理することとした。第3正規化の結果できあがるリレーションのスキーマを表の下に示した「スキーマの表現例」に倣って記述しなさい(1つとは限らない)。正規化されたリレーションスキーマの名称は適切なものを指定すること。また、主キーには○を施すこと。なお、学籍番号、科目番号は、それぞれ学生と科目を一意に識別する値である。学生は1つの学部に所属している。学部名は一意であり、所在地も学部によって一意に決まっているものとする。担当科目教員も課目によって一意に決まっているものとする。 成績表 (学籍番号、学生氏名、所属学部名、学部所在地、科目番号、科目名、担当教員名、成績) ※スキーマ表現例  商品を表すリレーションが3つの属性、商品コード、商品名、価格から構成されているとき、「商品(商品コード、商品名、価格)」と表す。ここで、商品コードが主キーである。 自分なりに考えた答えがこれです。 学生(○学籍番号、学生指名、所属学部名) 学部(○所属学部名、学部所在地) 科目(○科目番号、科目名、担当教員名) 成績(○学籍番号、○科目番号、成績) になりました。これでよいでしょうか。よろしくお願いします。

  • たぶんSQL?

    友達から質問なのですが、下記のテーブルを 学生テーブル 学籍番号  氏名 1101    バカボンパパ 1102    バカボンママ 1103    バカボン 1104    はじめちゃん  成績テーブル 学籍番号  科目番号  得点 1101    1111    68 1102    1111    75 1103    1111    80 1105    1111    88 どのような条件で結合させれば 学籍番号  氏名      科目番号  得点 1101    バカボンパパ  1111    68 1102    バカボンママ  1111    75 1103    バカボン    1111    80 になるのでしょうか?教えてほしいです。 お願いします。

  • データベース(アクセス)の問題

    【テーブル名】       【フィールド(項目)名】  履修表      学籍番号,授業コード,履修年度,成績  科目表      授業コード,科目名,教員コード,単位  教員表      教員コード,教員名 *授業コードは数字4桁で、「曜日・時限・コード」からなる。曜日は月~金に1~5の数字を割り当 て、コードは時間割に記載してある2桁の数字とする。 例) データベース論: 2363 *教員コードは4文字とし、データ入力時に各自定義しなさい。 【質問】 ●アクセスで上記のテーブルを作成する場合、追加する3つのテーブルの基本キー、連結キー、外部キー、また、リレーションシップで結ばれるテーブルを示す場合、下記のような解答で合っていますでしょうか? 間違いの指摘をお願いします! 【自分の解答】  【テーブル名】  【基本キー】   【連結キー】        【外部キー】    【リレーションシップで結ばれ                                                     るテーブル】        ・履修表       学籍番号     授業コード                      科目表  ・科目表       授業コード    授業コード・教員コード   授業コード      履修表・教員表 ・教員表       教員コード    教員コード          教員コード      科目表

  • リレーショナルデータベースについて(情報処理試験用)

    現在情報処理の勉強をしているのですが、 データベースが苦手でどうしても理解できないことがあります。 いくつかの項目を表にする際,区分の仕方がわからず,SQLがつくれません。 1. ・学籍番号 ・氏名 ・住所 ・専攻 ・科目番号 ・科目名 ・単位数 ・成績 これは,全ての項目を学生表,科目表,履修表の3つに分ける例です。 この場合, 学生表(★学籍番号,氏名,専攻) 科目表(★科目番号,科目名,単位数) 履修表(★学籍番号,★科目番号,成績) 以上のように分けられるというのは,学生なので理解できます。 そして次の問題なのですが, 2. ・品目番号 ・品目名 ・在庫量 ・受注番号 ・顧客名 ・受注日 ・受注残 ・納期 これらの項目を「品目表」,「受注表」,「受注明細表」の3つに分ける問題です。この場合どのように区分したらよいでしょうか。 また,区分する際のポイントも教えていただければ嬉しいです。

  • access2003で学籍番号から生徒の名前を表示させたい。

    access初心者です。 先生が生徒の成績を入力するツールを作っています。 フォーム上で、生徒の学籍番号を入力すると、 自動的に学科と生徒の名前が表示されるようにしたいです。 (入力時、生徒の名前が表示されれば、解答の名前との チェックが出来る) 構成としては ☆T学生名簿(学籍番号・学科・氏名) ☆T成績入力(学籍番号・1-1解答・1-2解答・・・) です。 フォーム上で入力したデータは、[T成績入力]に 表示されます。 とても困っています。 教えて下さい(>_<)

  • セレクト文

    学籍番号が1の学生について、科目番号が3の成績よりも良い成績の科目の科目番号と成績を得たい。ただし、通常の統合質問で回答せよ。 と言う問題です。 exercise=# select * from 履修; 科目番号 | 学籍番号 | 成績 ----------+----------+------ 1 | 2 | 80 2 | 1 | 90 2 | 3 | 70 1 | 3 | 100 1 | 4 | 50 1 | 7 | 80 1 | 10 | 75 ・・・・・ select 履修.科目番号,履修.成績 from 履修 where 履修.学籍番号=1; で学籍番号1の学生を選択できるのですが、科目番号3の成績よりも良い・・・と言うところが分かりません。 また、同じ条件で「入れ子型質問で回答せよ」と言うのもあります。よろしくお願いします。

  • 正規化

    問題 次の履修テーブルを第三正規化しろ。 ひだりから、学生番号、学生名、科目番号、科目名、科目区分、単位、教員番号、教員名、成績。そして僕の見解は 第1が、「履修テーブル」・・・成績コード、学生コード、科目コード、教員コード、単位「科目マスタ」・・・科目番号、科目名、科目区分、単位「教員マスタ」・・・教員番号、教員名 あっているのか分からないですし、ここから分からないのですが教えていただけないでしょうか? よろしくお願いします。

  • accessのSQL文で

    SELECT 科目Aテーブル.学生番号, 名簿テーブル.氏名, 科目Aテーブル.成績 INTO 科目Aテーブル2 FROM 名簿テーブル INNER JOIN 科目Aテーブル ON 名簿テーブル.学生番号 = 科目Aテーブル.学生番号; (これはテーブル作成クエリによるもの) と表示されたのですが SELECT ~ INTO ~ FROM ~ ON ~ ; のような構文はSQLにあるのでしょうか? ACCESS独自の拡張でしょうか? SELECT ~ INTO とSELECTにINTOがつく構文をインターネットで探したのですが見つかりません

  • Accessのテーブルから成績一覧表を作成したい。

    こんにちは。 ExcelはVBAまで使えるレベルですが、Accessはまったくの初心者です。 基本的なことだと思うのですが、Access2003の使い方で質問です。何をどう調べていいのかわからないので、お願いします。 Accessのテーブルで「名簿」、「成績」、「科目名」の3つのテーブルがあります。 それぞれのテーブルのレコードの内容は以下の通りです。 「名簿」--- 番号(5桁で1年1組1番は10101となっています)、氏名 「成績」--- 番号、氏名、成績(5段階です)、科目番号(1~100まで) 「科目名」 --- 科目番号、科目名 以上のテーブルを使って、エクセルの表で成績一覧表を作るようなことは可能なのでしょうか?エクセルだとA列に番号、B列に氏名、C列以下が科目名が入り、それぞれの生徒の成績が横並びになりますが、そのように表示させることは可能かどうかということです。 Accessのことはよくわからないので、補足が必要であれば指摘して下さい。 よろしくお願いします。

  • 郵便局留めの身分証明書

    郵便局留めの郵便物を受け取る時の身分証明書は、私立大学の学生証でもいいのでしょうか?学生証には学籍番号・学部学科・氏名・生年月日・発行日が記載されていますが、住所は裏面に自分で書くようになっています。