データベースシステム演習 -Database Systems Practical-

担当教員・研究室 単位数 種別 授業形態 ナンバリングコード
山北 隆典 139研究室
2 単位 選択 講義 GSD510
アクティブラーニング
いいえ
授業概要
(1) 内容
・リレーショナルデータベースの操作方法を学びます。
・Java言語によるデータベースプログラミングの基礎を学びます。
・NoSQL系のデータストアの基本操作を体験します。
(2) 方法
・事前調査をもとに,DBMS等を利用したコンピュータによる演習に取り組み,レポートにまとめます。
(3) 授業形態
・コンピュータを使った演習
授業における学修の到達目標
・リレーショナルデータベースの基本的な操作を行えるようになることを目指します。
・リレーショナルデータベースを利用したアプリケーションを作成できるようになることを目指します。
・NoSQL系データストアの特色を体験的に理解することを目指します。
授業計画
回数 授業、事前・事後学習 時間
1 事前学習 OSSのRDBMSを調査します。 2
授業 ガイダンス,DBMS(データベース管理システム)のインストールと実習環境の構築
事後学習 実習環境の構築を完了します。 2
2 事前学習 データベース定義言語やDBMSのメタコマンドを調査します。 2
授業 SQLによる実習用データベースの構築
事後学習 実習用データベースの構築を完了します。 2
3 事前学習 データ操作言語を調査します。 2
授業 問合せ処理(単純質問,グループ化,結合質問,副問合せ)
事後学習 課題(問合せ処理)に取り組みます。 2
4 事前学習 トランザクションの役割,仕組みを確認します。 2
授業 同時実行制御とトランザクション(データの挿入・更新・削除処理)
事後学習 課題(トランザクション処理とデータの変更)に取り組みます。 2
5 事前学習 ストアドファンクション,ビューについて確認します。 2
授業 ユーザ定義関数と機密保護機能(ビューテーブル,アクセス制御,ロギング)
事後学習 課題(ストアドファンクション,ストアドプロシージャ,ビュー)に取り組みます。 2
6 事前学習 SQLによるデータ分析処理を調査します。 2
授業 SQLによるデータ分析(グループ化の拡張,ウインドウ関数,CASE式)
事後学習 課題(データ分析)に取り組みます。 2
7 事前学習 DBMSの提供している障害回復機能を調査します。 2
授業 障害回復機能(ダンプ機能,WALの活用)とコンフィギュレーションファイル
事後学習 機能内容,利用方法を確認します。 2
8 事前学習 インデックスの役割,種類と仕組みについて調査します。 1
授業 インデックスの活用とその評価
事後学習 性能評価実験の結果をまとめます。 3
9 事前学習 DBMSの管理ツール,ベンチマークツールを調査します。 1
授業 各種ツールの紹介
事後学習 課題(データベースアプリケーション開発用のデータベースを準備します。 3
10 事前学習 ライブラリ(API)を調査します。 1
授業 データベースプログラミング(ライブラリの動作確認)
事後学習 テストプログラムによりライブラリの動作を確認します。 3
11 事前学習 アプリケーションプログラム(CRUD)を設計します。 2
授業 データベースプログラミング(アプリケーション制作)
事後学習 アプリケーションの実装を完了します。 4
12 事前学習 DBMSが管理するメタデータを調査します。 1
授業 メタデータを活用したデータベースプログラミングの制作体験
事後学習 課題(メタデータを活用したアプリケーション制作)に取り組みます。 2
13 事前学習 NoSQLデータストアを調査します。 1
授業 NoSQLデータストア操作体験
事後学習 課題(NoSQLデータストア操作)に取り組みます。 1
14 事前学習 NoSQLデータストアAPIを調査します。 1
授業 NoSQLデータストアプログラミング体験
事後学習 課題(NoSQLデータストアプログラミング)に取り組みます。 2
15 事前学習 アプリケーションの仕様を検討します。 2
授業 NoSQLデータストアによるアプリケーション制作体験
事後学習 課題(NoSQLデータストアによるアプリケーション制作)に取り組みます。 4
成績評価の方法およびその基準
演習の知見をまとめたレポートを5段階で評価しますが,演習に対する意欲や態度等(事前準備や演習における工夫,提出物の期限厳守)も加味します。
□試験:0% □小テスト:0% ■レポート:90% □演習課題:0% ■その他 [授業への参加意欲:10% ]
課題(試験やレポート等)に対するフィードバック方法
・フィードバックとして,レポートにコメントを返します。
・最終授業で受講者の自己評価,課題等をもとに,全体に対するフィードバックを行います。
教科書
なし
参考書・Webサイト
[1] 朝井淳;〔改訂第4版〕SQLポケットリファレンス,技術評論社(2017)
[2] 石井達夫監修;PostgreSQL徹底入門,翔泳社(2019)
[3] 勝俣智成、佐伯昌樹、原田登志;内部構造から学ぶPostgreSQL設計・運用計画の鉄則,技術評論社(2018)
[4] 高塚遥,桑村潤;これからはじめるPostgreSQL入門,技術評論社(2018)
[5] 都司達夫、宝珍輝尚;データベース技術教科書、CQ出版社(2003)
[6] 西潤史郎,山田祥寛;SQLデータ分析・活用入門,ソシム(2019)
[7] 三石大、吉廣卓哉;データベース:ビッグデータ時代の基礎、共立出版(2014)
その他,近年のトピックに関する参考文献は,別途紹介します。
単位習得が望ましい科目
「データベースシステム」
備考
なし
担当教員の実務経験
通算で約10年間,民間企業で通信制御系システム開発,及び民間企業の研究所でデータベースシステムに特化した研究・開発に携わった。データ分析の手法,データベースの仕組みが機能・性能に及ぼす影響など,実際にデータベースシステムを開発・運用する際に求められる基本的な知見を随所に取り入れた,授業を展開する。