シラバス参照

講義概要/Course Information
2024/06/20 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
データベース論
英文授業科目名
/Course title (English)
Database Systems
科目番号
/Code
COM506f
開講年度
/Academic year
2024年度 開講年次
/Year offered
3
開講学期
/Semester(s) offered
前学期 開講コース・課程
/Faculty offering the course
情報理工学域
授業の方法
/Teaching method
講義 単位数
/Credits
2
科目区分
/Category
専門科目
開講類・専攻
/Cluster/Department
Ⅱ類
担当教員名
/Lecturer(s)
大森・新谷
居室
/Office
西10-528
公開E-mail
/e-mail
omori[at]is.uec.ac.jp, shintani[at]is.uec.ac.jp
授業関連Webページ
/Course website
Google Classroom(クラスコード uo3uqnv )UECクラウドアカウント限定
更新日
/Last update
2024/05/19 20:25:56 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標(2,000文字以内)
/Themes and goals(up to 2,000 letters)
関係データベースシステムの原理を関係データモデルや関係代数,SQL,データベースシステムの実装の要点から学び,後半で共有データベースへの無矛盾な同時並行読み書き処理や障害発生時の自動的なデータベース復元の制御原理を学ぶ.これによって現代のデータベース的なデータ記憶システムやデータ応用システムが基づいているデータベースシステムの諸原理を理解することを目標とする.(2024年度は大森が担当します).(II類・J専攻セキュリティ情報コース3年での開講ですがII類学部3年を対象としてビッグデータ時代の基礎であるデータベースシステムやデータマイニングの基本を紹介する学部講義です)
前もって履修
しておくべき科目(1,000文字以内)
/Prerequisites(up to 1,000 letters)
アルゴリズムの入門編に相当する講義の履修経験は必須.木とグラフ,ハッシュ,探索法などとCプログラミングの知見があると理解がしやすい.
前もって履修しておくこ
とが望ましい科目(1,000文字以内)
/Recommended prerequisites and preparation(up to 1,000 letters)
オペレーティングシステム,特にプロセス管理や並行処理と,tcp/ipネットワーク通信に関する履修経験があると,わかりやすい.クライアント・サーバシステムのOS上の作り方がわかっていると良い.
教科書等(1,000文字以内)
/Course textbooks and materials(up to 1,000 letters)
資料は独自に作成し毎回配布する.クラスルームのコードは uo3uqnv

資料内容は,古典的な関係データベースの原理を12回程度で概観できるように(海外の有名本から)大森が整理したもの.標準的な日本の学部参考書としては,以下を見てほしい:

1.北川博之,「データベースシステム」,オーム社,3200円.(もとは昭晃堂から発刊.多くの大学で1980年代半ばから標準テキストとして使われてきた.やや旧いが原理は不変).本書は,最近30年ぶりに改訂された第2版が出ており,そちらが入手しやすい.旧版でも差し支えない.

2.川越恭二,「楽しく学べるデータベース」,共立出版.(元は昭晃堂).上記の本の入門編に位置し,基本概念を学ぶという視点での内容は充実.PostgreSQLの例題つき.比較的新しく,学部で初心者が概念そのものを知るためにはお勧めできる.分厚くなく,バランスがとれた内容.この講義の骨組みをわかるには適す.本書で大枠をつかみ,詳しく調べるときに上の1.などを見るのが良い.

3.白鳥則郎 監修,「データベース - ビッグデータ時代の基礎 --」(未来へつなぐデジタルシリーズ 26),共立出版(2014)あちこちから話題を寄せ集めしたタイプの教科書.先進的な話題で項目を拾い読みしたいときに参考となる.

4.他に,情報処理資格者上級試験の「データベース(スペシャリスト)」の午前の部の試験対策本も基本概念を理解するには適切.講義前半のRDBの概念,個々の関係代数演算の計算結果の例,後半のトランザクション処理と直列可能性の説明や並行動作,トランザクションの取り消し処理の時の動作結果の例,など,例題中心に授業資料で不足しているところを調べるには良いと思う.自習向き.
授業内容と
その進め方(2,000文字以内)
/Course outline and weekly schedule(up to 2,000 letters)
H30年度(2018)から始まった講義で,H30大森, H31新谷, R2(2020)大森,R3新谷,R4大森と隔年交替で担当.(授業内容は最初に大森が作った学部用資料が基になっているので,最後の1~2回の先進的話題の他は毎年ほぼ同じです.)

講義は,関係データベースシステムの原理を中心に行い,最後に先進的話題として現代の巨大データ処理機構やデータマイニングの入門的な内容にもふれる.

<授業予定全15回>
第1回.ガイダンス.データベース・データベースシステムの概要
----
第2回.関係データモデルと関係代数 (1)関係データモデル,キー制約など.
第3回  同(2)  関係代数演算の導入 
----
第4回.関係代数の演算体系,関係論理式との対応
第5回.関係代数式による問い合わせ記述
第6回.関係代数式の演算列の最適化
----
第7回.SQL問い合わせ言語・基本構文,参照性制約
第8回.SQLの複雑な問い合わせ - 集約処理,入れ子SQL
第9回.SQLプログラミング例,Viewの定義と利用
----
第10回.関係データベースシステムの実装法 (1) インデックスとリレーションの実装
第11回.同(2) 関係代数演算の実行アルゴリズム -入れ子ループ結合, ハッシュ結合,マージソート結合,並列データベース処理
第12回.関数従属性とスキーマの正規化
----
第13回.共有データベース上のトランザクション処理(1) トランザクションの概念と直列可能性
第14回.同(2)2相ロック規約,障害回復,クライアント・サーバ方式による実装
第15回.先進的話題(2020年代のデータエンジン技術,データマイニング・データ応用など),まとめ
実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
授業時間外の学習
(予習・復習等)(1,000文字以内)
/Preparation and review outside class(up to 1,000 letters)
関係データベース(RDB)システムとして代表的なPostgreSQLを使ってRDB上の問い合わせ・データ分析処理のSQL記述例を紹介する場合がある. このような紹介は,インストール含め,参考として紹介する程度で必須課題とはしない.linux.総合成績点への組み込み方法は講義中に連絡する.

この紹介例の内容は,linuxの一つであるcentos7.xの環境上でpostgreSQLを載せてSQLやトランザクション処理のコード例,ビュー定義の利用例,を動かす程度のものである.今なら,windows11上のWSL2 (windows system for linux 2) のubuntuを用いるのが一番簡単.
成績評価方法
および評価基準
(最低達成基準を含む)
(1,000文字以内)
/Evaluation and grading
(up to 1,000 letters)
理解度確認の宿題を数回程度(100点満点の内数として必須の点数扱い)とし,期末に筆記試験(仮に宿題必須が合計10点なら試験は90点満点)を行って,その合計で100点満点での総合成績をつける.宿題は必須.他に,演習例としてPostgresのプログラミング例やその他の最近のデータ管理システム・データ処理エンジンを使う例題を出すが,これは必須ではない自由課題とし,100点満点の外枠での加点扱いとする(高々5~7点程度までの加算).データベースシステムの古典的な理論・原理を理解することが合格の達成基準であり,PostgreSQLや紹介する他のデータ管理システム上の例題プログラミングは主としない.
オフィスアワー:
授業相談(1,000文字以内)
/Office hours(up to 1,000 letters)
授業終了後やその他平日午後の空き時間ならメールで相談してください.
学生へのメッセージ(1,000文字以内)
/Message for students(up to 1,000 letters)
巨大データ管理と応用の基本を学ぶ入門的な科目でII類学生向けの情報系科目の基礎の一つ.関係データベースシステムの基本原理を解説して,現代の巨大データベースシステムやデータ応用の原理の理解につながるように,データベース分野の諸原理や基本概念を理解してもらいたいです.巨大分散データベース記憶システムや並列データ処理機構によるデータ応用の記述など,この分野の先端的なデータ処理基盤システムは現在のIT環境そのものであり,そこに接近するだけの魅力を学部授業で発信することは我々分野の研究者にとっても極めて重要です.そのため,自由課題演習は,単なるSQLプログラミングに限らず,データマイニング,トランザクション処理,データ応用,などの話題をとりあげられるように時間の合間を縫って設定したいです.
その他
/Others
本講義の担当は新谷・大森で隔年交替で行います.情報学分野で必須なデータ管理・データベース応用の基本を学ぶ講義という位置づけで,学生の理解度や各年度の要請に応じて内容を調整します.
キーワード
/Keywords
データベースシステム,関係データベース,関係代数,SQL, トランザクション処理,データマイニング,巨大データエンジン・巨大データ応用