-
課題1
表1 のテーブルを正規化(第三正規化まで)してください.ただし,第一正規化から第二正規化,第三正規化に至る途中経過についても報告してください.なお,1つの科目を担当する教員は必ず1名とします.また,担当者が成績を入力する日付は必ず同じ日とします.つまり,ある教員は複数の科目を持っていたとしても,成績を入力する日は必ず1日に限定されるとします.表1 : 学生成績表 学籍番号 学生名 年齢 性別 学部 学部所在地 科目名 科目コード 成績 判定 担当 担当者別成績入力日付 0001 山川一郎 21 true(男) 教育学部 長野市 日本国憲法 A001 65 可 長松 2006-06-10 スポーツ科学 B020 42 不可 林 2006-06-11 政治学 A322 79 良 高田 2006-06-14 0002 谷泉太郎 19 true(男) 工学部 長野市 スポーツ科学 B020 76 良 林 2006-06-11 電気工学 D302 66 可 三浦 2006-06-12 信号処理 D418 90 優 三浦 2006-06-12 0003 海土花子 22 false(女) 医学部 松本市 日本国憲法 A001 87 優 長松 2006-06-10 生体構造学 E604 78 良 上条 2006-06-11 臨床心理学 F553 100 優 西岡 2006-06-12 -
課題2
課題1で正規化(第三正規化)し たテーブルを表2に示すスキーマを用いて実現してください.なお,外部キーとして割り振った ID のデータ型は任意とします.また,SELECT文を実行し,各テーブルに登録した内容を表示した結果を示してください.表2 : スキーマ フィールド名 型 必須/非必須 内 容 id CHAR(4) 必須 学籍番号 name VARCHAR(40) 必 須 学生名 age INT 非必須 年齢 gen INT(1) 非必須 性別 faculty VARCHAR(40) 必 須 学部 f_address VARCHAR(40) 必須 学部所 在地 subject VARCHAR(40) 必須 科目名 s_code CHAR(4) 必須 科目コード t_name VARCHAR(40) 必須 担当 score INT 必須 成績 result VARCHAR(6) 必須 判定 date DATE 必須 担当者別成績入力日付 -
課題3
課題2で登録したデータに対し,以下の問いに答えてください.- 日本国憲法を履修している学生の学籍番号 (id) およびその成績を問い合わせるためのSQL 文を実行し,実行結果を示してください.
- スポーツ科学を履修している学生で判定が不可となっている者の学籍番号 (id) ,担当,成績を問い合わせるための SQL 文を実行し,実行結果を示してください.
- 日本国憲法またはスポーツ科学を履修している学生の学籍番号 (id),氏名,学部,担当,成績,判定を問い合わせるための SQL 文を実行し,実行結果を示してください.
- いずれ かの科目で判定が優である学生の学籍番号 (id),氏名,学部を問い合わせるための SQL 文を実行し,実行結果を示してください.
- すべての判定が良または優である学生が履修している科目の名前(科目名),科目コード,担当,入力日付を問い合わせるための SQL 文を実行し,実行結果を示してください.
解答例を下に示します.上から順番に1,2,3,4,5の解答例です.このようになるselect文を考えてください.
-
課題4
自分でテー マを決めて,そのテーマについて以下を行ってください.- デー タベースの論理設計・物理設計・テスト
自分で決めたテーマについて課題1~3(課題2についてはスキーマを各自設定してください.課題3につ いては,各自でデータ検索テストケースを5つ設定すること)までを行ってください. - 設計についての説明
なぜ,このテーマに決めたのか,また,どのような考えに基づきこのようなテーブル構成にしたのかなどをデータベースの論理設計を元に書いてください. - 作成したデータベースの有用性についての説明
今回作製したデータベースをどのような場所で利用できるかなどの有用性について書いてください.さらに,今後どのような応用ができるかなどを書いてください.
- デー タベースの論理設計・物理設計・テスト
第 2,3項目については, しっかり書いてください.特に,第3項目については,自分たちが作ったデータベースを実用化するとすればどのような場所で使えるのかなどを考えて欲しい.そして,その応用として考え られることを明確にしてください.
最後に,課題1~4までを全て行い,レポートとして提出してください.
提出期限:xx 月 xx 日 17:00
提出先:XX教員室
提出方法:従来の紙媒体によるレポートの提出に加えて,下記の項目をメールにて提出してください.
- 下記で説明するファイルはすべて「学籍番号」フォルダに入れてください.そして,そのファイルをCドライブの直下に置いて動作するか確認してください.
- 課題2で作成した各テーブルを再現できるようにするためのスクリプトを作成してください.スクリプトについてはこちらを参照してください.なお,作成したスクリプトを必ず自分でも実行し,正しく動作することを確認してください.また,データベース名を「N+学籍番号」にしてください.例えば学籍番号が98403だとしたら「N98403」というデータベース名にしてください.
課題1と課題2を行うスクリプトを「kadai12.sql」としてください. - 課題3のselect文がかかれたスクリプトを作成してください.
課題3を行うスクリプトを「kadai3.sql」としてください. - 課題4についても,データベースの構築を行うスクリプトと,データ検索テストケースを行うスクリプトに分けてください.また,「N+学籍番号」のデータベースに入れられるようにしてください.
課題4のうち,データベースを構築するスクリプトを「kadai41.sql」,テストを行うスクリプトを「kadai42.sql」としてください. - 「学籍番号」フォルダを圧縮してメールに添付してください.
以上の4ファイルをフォルダに入れてください.それ以外のデータファイルなどを含めてもよいです.
レポートを書くとき,Excelの表をTeXに掲載することがあるかと思います.その場合にはこちらにExcelからTeXへの変換方法を記しましたので読んでください.
メールのあて先