岡山県立大学：シラバス

授業科目名（和文）
［Course］ データ工学
授業科目名（英文）
［Course］ Data Engineering
学部（研究科）
［Faculty］ 情報工学部
学科（専攻）
［Department］ 情報システム工学科
担当教員（○：代表教員）
[Principle Instructor(○)
and Instructors] ○國島　丈生　　自室番号（2610）、電子メール（kunishi**c.oka-pu.ac.jp）
※利用の際は,** を @に置き換えてください
単位数
［Point(Credit)］ 前期　2単位
対象学生
［Eligible students］ 3年次生
授業概略と目標
［Course description and Objects］ 現代の情報システムに不可欠な基盤技術である関係データベースの概念や操作について，背景となる数学モデルも含めて理解することを目標とします．
到達目標
［Learning Goal］ 1. 関係、スキーマ、キーなど、関係データベースの基本概念を理解する
2. 関係代数による基本的なデータベース問合せが記述できる
3. SQLによる基本的なデータベース問合せが記述できる
4. 正規形を考慮した関係スキーマの変換が行える
履修上の注意
［Notes］ 履修の要件: 計算機工学およびソフトウェア工学全般に関する基本知識を習得していることが望ましい。特に「離散数学」「プログラミング言語」「データ構造とアルゴリズム」を履修していることが望まれる。
授業計画とスケジュール
［Course schedule］ 1. 導入、データの蓄積とデータベース
・データベース管理システム、関係データベース管理システムなど、本講義の対象及び取り上げる範囲について説明する。
2. 集合
・本講義を理解する上で必要となる集合などの数学的知識について再確認する。
3. 関係
・関係データベースの基礎となる数学的モデルである関係（表）について説明する。
4. キー
・関係データベースにおいてデータ（組）を識別する方法を考察し、そのための重要な概念であるキー（主キー）について説明する。
5. 関係代数(1): 集合演算、選択、射影
・関係操作の数学的モデルである関係代数のうち、関係1つに対する演算について説明する。
6. 関係代数(2): 結合、自然結合など
・関係操作の数学的モデルである関係代数のうち、関係2つに対する演算について説明する。
7. 関係代数に関する演習
・関係代数に関する演習問題に取り組んでもらう。その解説も合わせて行う。
8. 関係データベース管理システム
・関係データベース管理システムの概要、およびその標準データ操作言語であるSQLの概要について説明する。
9. SQL(1): SELECT文
・SQLの問合せ構文であるSELECT文の基本について説明する。
10. SQL(2): 並べ替え、集計、表の更新
・SQLの問合せ構文であるSELECT文の発展的な機能、およびSQLによる関係の更新について説明する。
11. SQLに関する演習
・SQL（特にSELECT文）に関する演習問題に取り組んでもらう。その解説も合わせて行う。
12. SQL(3): プログラム内での利用
・SQLをプログラム内から利用する方法、その中で用いられるカーソル、フェッチなどの概念などについて説明する。
13. 関係の設計(1): 実体と関連、更新時異常
・関係を設計する上で重要となる概念のうち、実体、関連、更新時異常などについて説明する。
14. 関係の設計(2): 関数従属性、正規形
・関数従属性、正規形などの概念について説明し、更新時異常の回避を目的として関係を正規形へ変換する手法を示す。
15. トランザクション、索引
・トランザクション、索引など、これまでの講義内で取り上げていない概念について説明する。
成績評価方法と基準
［Grading policy (Evaluation)］ 定期試験（論述式）80%、学習態度20%として総合的に評価を行います。
教科書
［Textbook］ 教科書: 使用しない
参考書: なし
自主学習ガイド及び
キーワード
［Self learning］ ・資料を適宜以下のURLで公開する: http://tk.kunilab.org/ja/opudataengineering
・SQLite（http://www.sqlite.org）など、無償で入手可能なデータベースがいくつかある。また、Web上で実際に関係代数を実行したり（http://saccess.eplang.jp）SQLを動かしてみることのできる学習サイト（例えば http://studybyyourself.com/seminar/sql/course/?lang=ja など）もある。より意欲的に取り組んでみたい者は、これらを活用するとよい。
キーワード：関係データベース、関係代数、SQL、正規形、実体関連モデル
開講年度
［Year of the course］ 28