1 課題2 と EX課題
課題2を未提出の人は、早急に提出ください。採点後は、修正版の再提出や追提出があっても原則として再評価はしませんが、Teams で点数がフィードバックされるまでは、(URLに変更がない範囲で) 加筆・修正等が可能です。実際の採点は、早ければ 2月24日 (火) から開始予定です。
- 課題2 (+EX課題) の共有リンク(学内のみ)
1.1 最終チェック
- ✅ 90分以上のハンズオン形式の学習体験が可能なコンテンツ (ボリューム・難易度・レベル感) である。
- ✅ 本科目で使用した環境 (PostgreSQL 17
のDockerコンテナ) で実行した実験や検証が含まれている。
- ⚠️実験や検証、実証を含まない単なる調査や解説の記事は不可です
- ✅ 理解度を確認する問題と演習、また、それらの解答例が含まれている。
- ✅ 解説記事の末尾に
本コンテンツの作成時間:約XX時間が記載されている。 - ✅ 適切な体裁・デザインで構成されている。
- タイトル、構成 (セクション分け)、シンタックスハイライト、配色
2 成績評価
総合成績(年度末の最終成績)は、シラバス記載のように「試験45%、小テスト35%、課題20%の割合で総合して評価」します。
- 後期中間試験 (100点満点) と学年末試験 (100点満点) の合計200点を 45点換算 (小数以下四捨五入)
- 全10回の小テスト (各10点満点) の合計100点を 35点換算 (小数以下四捨五入)
- 課題1 (10点満点) を 0.75倍、課題2 (10点満点) を 1.25倍 した合計20点 (小数以下四捨五入)
- 課題1は紙ベースで点数をフィードバックしていますが、このあと Teams でもフィードバックします。
3 「問題1」の解説・補足
3.1 (04) と (05)
ER図の文脈において「多重度」は、英語で何と表現されるか。英語もしくはカタカタで答えよ。
ER図の文脈において「任意性」は、英語で何と表現されるか。英語もしくはカタカタで答えよ。
問題4の (44) の問題文のなかに答え (=カーディナリティ、オプショナリティ) が書かれています。
3.2 (07)
PostgreSQLにおいて、タイムゾーン情報を含めた日時を保持するために最も適したデータ型を答えよ。
TIMESTAMPZ という誤答が (中間試験に引き続き)
目立ちました。TIMESTAMPTZ が正しいです。
TZは with Time Zone の略です。TIMESTAMP WITH TIME ZONEでも OK です。
4 「問題3」の解説・補足
4.1 (21)
UNIQUE 制約を指定しているカラムで、
NULLが複数行に存在しても一意性違反にはならない。
👉 ⭕ 正しい。
4.2 (22)
NOT NULL 制約を指定していないカラムのデフォルト値は、自動的に
NULLとなる。
👉 ⭕ 正しい。
4.3 (23)
ageカラムが、
age INTEGER CHECK (age >= 0)のように定義されるとき、このカラムに NULL を挿入することはできない。
👉 ❌ 誤り。値が null のとき、age >= 0 は
UNKNOWN と評価されます。そして、評価結果が UNKNOWN
のとき、「CHECK制約には違反していない」と判断されます。
4.4 (24)
内部結合では、結合条件を評価して
FALSEとならなかった行のみが結果セットに残る。
👉 ❌ 誤り。評価結果が FALSE または
UNKNOWN (NULL) ではない行のみが結果セットに含まれます。言い換えれば、評価結果が
TRUE となる行のみが結果セットに含まれます。
4.5 (25)
CHECK制約においては、条件の評価結果が
FALSEもしくはUNKNOWNとなるときに制約違反となる。
👉 ❌ 誤り。(23)
とも関連。チェック制約が満たされないと判断されるのは、評価結果が FALSE
の場合のみです。
4.6 (26)
標準SQLにおいて
table_1 OUTER JOIN table_2と記述した場合、構文エラーとなる。
👉 ⭕ 正しい。LEFT JOIN や LEFT OUTER JOIN
はよいが、OUTER JOIN は構文エラーとなります。
4.7 (27)
2つのテーブルのクロス結合においては、結合順を入れ替えても、結果セットの正味の内容 (集合としての行) は変化しない。
👉 ⭕ 正しい。
4.8 (28)
外部結合と等価な処理は、内部結合とWHERE句の組み合わせで記述することもできる。
👉 ❌ 誤り。内部結合では、WHERE句と組み合わせても、片方のテーブルにしか存在しない行を結果に含めることはできない。
4.9 (29)
PostgreSQLにおいてNUMERIC(n, m) とDECIMAL(n, m) は同義語で内部実装も同じとなっている。
👉 ⭕ 正しい。
4.10 (30)
CHECK(age < 20)とCHECK(age > 80)という2つのチェック制約の列挙とCHECK(age < 20 OR age > 80)は、論理的に等価である。
👉 誤り。複数のCHECK制約を列挙した場合、それらはAND条件で結合されます。
5 「問題4」の解説・補足
- 教材の更新の取得@ 第04回講義
/from-teacher/15/examに実行可能なコード (解答例) を配置しています。
5.1 (32)
5.2 (33)
6 授業評価アンケート
本科目の達成目標は、以下のようになります。
- データベース管理システムの基本概念と利点を説明できる。
- 主要なデータベースモデル(リレーショナル/ドキュメント指向など)の特性を理解し、適切な選択ができる。
- 現実世界の要件を分析し、概念データモデル(ER図など)に変換できる。
- リレーショナルデータベースの論理設計(正規化など)ができる。
- SQLを用いてリレーショナルデータベースに対する基本的な操作とクエリを実行できる。