(テーブル名) (フィールド名)
学生表 番号,氏名,電話番号,アドレス,コースコード,出身県コード
コース表 コースコード,コース名
出身県表 出身県コード,出身県名
*コースコードは2文字で、経営コース(BM)、会計コース(AC)、情報コース(IS)、国際コース(IB)
*出身県コードは2文字とし、データ入力時に各自定義するものとします。
●上記のようなテーブルからなるデータベースを作成したいのですが、
(1)各テーブルの基本キーを教えてください。また、外部キーがあれば、その項目名と、その外部キーによって関係付けられているテーブル名を教えてください。
(2)各項目に適するデータ型を決めて、このデータベースのデータ定義をどのようなSQL-DDLで記述すればよろしいのでしょうか?
●このデータベースを用いて、つぎの検索を行うためのSELECT文をSQL-DMLでの記述の仕方を教えてください。
(3) 学籍番号、氏名、電話番号からなる表Aを作る。
(4) コース名、学籍番号、氏名からなる表Bを作る。
(5) 学籍番号、氏名、メールアドレス、出身県名からなる表Cを作る。
(6) 自分と同じコースの人の氏名とメールアドレスからなる表Dを作る。
(7) 学籍番号、氏名、コース名、出身県名からなる表Eを作る。
ちなみに、自分の解答は下記のようになったのですが、間違っている部分があるかと思うのでご指摘おねがいします。
(1) (テーブル名) (主キー) (外部キー) (外部キーによって関連付けられるテーブル)
学生表 番号 コースコード コース表(コースコード)
出身県コード 出身県表(出身県コード)
コース表 コースコード なし
出身県表 出身県コード なし
(2)<データ定義(SQL-DDL)>
CREATE SCHEMA
AUTHORIZATION HAMADA
CREATE TABLE 学生表
(番号 CHAR(10) NOT NULL PRIMARY KEY,
氏名 CHAR(20),
電話番号 CHAR(30),
アドレス CHAR(30),
コースコード CHAR(2) NOT NULL REFERENCES コース表)
出身県コード CHAR(2) NOT NULL REFERENCES 出身県表)
CREATE TABLE コース表
(コースコード CHAR(2) NOT NULL PRIMARY KEY,
コース名 CHAR(20) NOT NULL )
CREATE TABLE 出身県表
(出身県コード CHAR(2) NOT NULL PRIMARY KEY,
出身県名 CHAR(20) NOT NULL )
(3)SELECT 番号, 氏名, 電話番号
FROM 学生表
INTO 表A
(4)SELECT コース名, 番号, 氏名
FROM 学生表, コース表
INTO 表B
WHERE 学生表, コースコード = コース表, コースコード
(5)SELECT 番号, 氏名, アドレス, 出身県名
FROM 学生表, 出身県名
INTO 表C
WHERE 学生表, 出身県コード = 出身県表, 出身県コード
(6)SELECT 氏名, アドレス
FROM 学生表, コース表
INTO 表D
WHERE 学生表, コースコード = コース表, コースコード AND コース名 = "情報コース"
(7)SELECT 番号, 氏名, コース名, 出身県名
FROM 学生表, 出身県名
INTO 表E
WHERE 学生表, 出身県コード = 出身県表, 出身県コード AND 学生表, コースコード = コース表, コースコード
No.3ベストアンサー
- 回答日時:
テーブル設計に問題があります
学生とコースとは多対多の関係にあるはずですから
学生表 学生番号*,氏名,電話番号,アドレス,出身県コード
コース表 コースコード*,コース名
出身県表 出身県コード*,出身県名
受講状況 学生番号*、コースコード*
のようにしなければなりません
主キーは*を付加したものです
これで疑問点はほとんど解消するはずですよ
No.2
- 回答日時:
連投すいません。
(4),(5),(7)ですが、外部結合にしたほうがよろしいかと思います。
コース表,出身県表に存在しないものは行が表示されなくなってしまいますので。
※表A等は用意されているものとして考えていいのでしょうか?
表がなければエラーになってしまうし、INTO句って必要なのかな?と思ってしまったもので^^;
No.1
- 回答日時:
(3)以降ですが、INTOの位置が違う気がします。
FROM句の前じゃないでしょうか?
SELECT 番号, 氏名, 電話番号
INTO 表A
FROM 学生表
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アニメ ウサギの女の子「メイベルちゃん」とグラビティフォールズのメイベルちゃん、どっちがかわいいと思う? 1 2023/05/20 09:46
- 美術・アート ウサギの女の子「メイベルちゃん」とグラビティフォールズのメイベルちゃん、どっちがかわいいと思う? 1 2023/05/28 11:29
- 美術・アート イラストの評価をお願いいたします!ウサギの女の子「メイベルちゃん」を描いてみました! 3 2023/05/02 13:17
- 婚活 私は男として婚活ではどのくらいのランク付けですか? 身長187cm、名古屋大学工学部環境土木建築学コ 8 2022/12/22 14:11
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 神奈川県の市区町村の一覧。ただ 3 2023/05/01 18:01
- 大学受験 志望する大学で、広島市立大学の国際学部と県立広島大学の地域創生学部、地域文化コースの2つで迷っていま 1 2023/06/07 00:05
- その他(IT・Webサービス) CICでの情報開示について CICのインターネット開示を利用しているのですが、必要事項を入力後に確定 1 2023/04/04 16:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
商品コード番号を入力すると商...
-
SQL文について(片方のテーブル...
-
accessで移動平均する方法
-
VIEWでテーブルの集計結果...
-
sqlのupdate文で質問です。 テ...
-
続.ORACLEのSELECTのソートに...
-
場合によって条件を変えるSQL
-
Accessでフィールドを比較した...
-
エクセル
-
ACCESS2007 フォーム 「バリア...
-
ビューで引数を使いたい
-
PhpMyAdminで作成して実行せよ...
-
ACCESS 一番最新の日付の金額...
-
アクセスのテーブルからエクス...
-
Accessのリンクテーブルについて
-
accessテーブル作成クエリを実...
-
Accessにインポートしたら並び...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
ACCESS 一つのフィールドに複...
-
PLSQLの識別子エラー
-
主キーの変更
-
Accessでフィールドを比較した...
-
SQL 2つのテーブルとSUBSTRING...
-
続.ORACLEのSELECTのソートに...
-
行方向のデータを横に並べる
-
下記のsqlで取得されるレコード...
-
VIEWでテーブルの集計結果...
-
update文で質問です。 下記の条...
-
[Oracle] UPDATE分の副問い合わ...
-
片方だけ抽出する方法(SQL)
-
自分自身への矢印
-
連番のMin, Maxを取得したい
-
Accessユニオンクエリーで2つ...
-
日付の最大値を検索条件にする方法
-
Inner join と Left joinの明...
おすすめ情報