シラバス参照

講義概要/Course Information
2025/04/25 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
データベース論
英文授業科目名
/Course title (English)
Database Systems
科目番号
/Code
COM506e
開講年度
/Academic year
2022年度 開講年次
/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 (クラスコードgz3bvzo  )UECクラウドアカウント限定
更新日
/Last update
2022/07/26 16:23:06 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標(2,000文字以内)
/Themes and goals(up to 2,000 letters)
関係データベースシステムの原理を,関係データモデルや関係代数,SQL,データベースシステムの実装の要点から学び,後半で共有データベースへの無矛盾な同時並行読み書き処理や障害発生時の自動的なデータベース復元の制御原理を解説する.最後に,関係データベースの基本原理に基づいて今日の巨大データ処理の話題に簡単にふれる.(2022年度は大森が担当します).

// 2022年度の講義は基本は対面で実施するが一部をzoom講義と併用する可能性がある.zoomの情報はGoogle Classroomに掲載するので,履修学生は注意してほしい.
前もって履修
しておくべき科目(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)
資料は独自に作成し毎回配布する.資料内容は,古典的な関係データベースの原理を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回>
(4/14(木)2限開始)
第1回.ガイダンス.データベース・データベースシステムの概要
----
第2回.関係データモデルと関係代数 (1)関係データモデル
第3回  同(2)  関係代数演算の導入 
----
第4回.関係代数の演算体系,関係論理との対応
第5回.関係代数式による問い合わせ記述
第6回.関係代数式の最適化
----
第7回.SQL問い合わせ言語・基本構文
第8回.SQLの複雑な問い合わせ - 集約処理,入れ子SQL
第9回.SQLの例題と実システム上の事例
----
第10回.関係データベースシステムの実装法 (1) インデックスとリレーション
第11回.同(2) 関係代数演算の実行アルゴリズム -入れ子ループ結合, ハッシュ結合,マージソート結合,並列データベース処理
第12回.関数従属性とスキーマの正規化
----
第13回.共有データベース上のトランザクション処理(1) トランザクションの概念と直列可能性
第14回.同(2)2相ロック規約,障害回復,クライアント・サーバ方式の実装
第15回.先進的話題(データマイニング,大規模データ処理機構),まとめ
実務経験を活かした
授業内容
(実務経験内容も含む)
/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やトランザクション処理を動かす程度のものである.ubuntuで使う,win10に直接行う,こともできる.
成績評価方法
および評価基準
(最低達成基準を含む)
(1,000文字以内)
/Evaluation and grading
(up to 1,000 letters)
理解度を確認する宿題を2~3回程度とし,期末に筆記試験を行って,その合計で総合成績をつける.宿題の大半は必須.Postgresのプログラミング例やその他の最近のデータ管理システム・データ処理エンジンを使う例題などは必須課題にはしない.総合的な成績採点方式は初回に連絡する.
オフィスアワー:
授業相談(1,000文字以内)
/Office hours(up to 1,000 letters)
授業終了後やその他平日午後の空き時間ならメールで相談してください.随時対応します.
学生へのメッセージ(1,000文字以内)
/Message for students(up to 1,000 letters)
巨大データ管理と応用の基本を学ぶ入門的な科目.RDBの基本を解説して,現代的なデータベース応用の話題の理解につながるように,データベース分野の諸原理や基本概念を理解してもらいたいです.今季はあまり欲張らずに,基本に忠実にデータベースシステムの理論や演算系,並行処理系の原理を解説して,現代の巨大データ管理・記憶・応用につながる基本原理をわかってもらえるようにします.
その他
/Others
本講義の担当は新谷・大森で隔年交替で行います.情報学分野で必須なデータ管理・データベース応用の基本を学ぶ講義という位置づけで,学生の理解度や各年度の要請に応じて内容を調整していきます.
キーワード
/Keywords
データベースシステム,関係データベース,関係代数,SQL, トランザクション処理,データマイニング,巨大データエンジン・巨大データ応用