| 回 | 主題 | コマシラバス項目 | 内容 | 教材・教具 |
|
1
|
データベースとは何か(【データベース基礎】【定義】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の授業では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第1回の授業では、「データベースとは何か」をテーマとして扱う。この授業では、まずデータをどのように観測し、記録し、整理するかを学ぶ。その上で、データを効率的に管理するための仕組みであるデータベースの構造とその役割について理解を深める。また、日常生活で触れる機会の多い具体例を通じて、データベースが果たす重要な役割を実感できる内容とする。この授業の目的は、データベース技術の基盤となる基本概念を理解し、今後の授業で学ぶデータモデルや設計手法にスムーズに進むための基礎を築くことである。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、1-9頁 ・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、3-10頁
|
|
コマ主題細目
|
① 本科目の全体像 ② データの定義 ③ データベースの定義 ④ 身近なデータベース
|
|
細目レベル
|
① 本科目は、データベース技術を体系的に学び、現代社会でのデータ管理と活用の基本原則を理解することを目的とする。学修内容は、3部構成で展開する。第1部の第1回から第7回がデータベース基礎、第2部の第8回から第10回がデータ保全、第3部の第11回から第15回がデータベース操作、の三つで構成する。授業では、最初に科目の全体構成から説明し、各回で扱う内容との対応を把握できるようにする。その後、履修判定指標の内容を説明し、履修判定指標と各回との対応について概観する。これらの説明により、全15回の授業の全体像を把握し、全体における各回の位置付けを意識した学修が可能となる。
|
② データとは、現実の事象や観測結果を数値、文字、画像、音声などの形式で記録したものである。データそのものは、単体では価値を持たない場合が多いが、適切に整理・加工することで有用な「情報」として機能する。ここで「情報」とは、データの受け手の存在を前提としており、データを受け手が意味を解釈することで知識の増加を引き起こすものが「情報」と定義できる。データは大きく分けて「構造化データ」と「非構造化データ」に分類できる。構造化データは表形式など規則的な形で保存し、データベースに格納しやすい特性を持つ。一方、非構造化データは文書や動画、画像のように一貫した構造を持たない形式で保存する。現代社会では、センサーによる観測データやSNSでの投稿データ、Webサイトの利用記録など、膨大なデータが生成されており、それらを活用することで産業や研究における新たな価値創造が可能となる。このコマ主題細目では、データの定義とデータと情報の違いまで理解することが必要である。
|
③ データベースとは、データを効率的に格納、管理、検索、更新できるよう体系的に整理した集合体である。一般的に、データベースは関連性のある情報を統一した形式で保持し、多数のユーザーやアプリケーションが同時に利用可能な状態を提供する。データベースは、テーブル形式で構造化したリレーショナルデータベースや、文書、画像、音声などを扱う非構造化データベースに分類できる。これらは、組織や個人が迅速に意思決定するための基盤となる。さらに、データベース管理システム(DBMS)を用いることで、データの安全性や一貫性を確保しながら、簡単かつ効率的に操作を実行できる。現代の情報社会では、データベースは企業活動、医療、教育、エンターテインメントなど多岐にわたる分野で不可欠な役割を果たしている。このコマ主題細目では、データベースの定義まで理解することが必要であり、データベースとデータベース管理システムの違いを理解するのが目標である。
|
④ 身近なデータベースの例として、学校、日常生活、インターネット上のサービスなどがある。たとえば、学校の出席管理システムでは、各生徒の出欠状況をデータベースに記録し、教師が迅速に確認できるようになっている。また、図書館の貸出管理システムでは、借りた本のタイトルや返却期日をデータベースに保存し、効率的な運用が可能である。さらに、日常生活では、スマートフォンの連絡先リストや写真管理アプリもデータベースの一例である。オンラインサービスでは、アマゾンなどのショッピングサイトが、商品情報や購入履歴、ユーザーの好みに基づくおすすめ情報をデータベースで管理している。このように、データベースは日常の多くの場面で不可欠な基盤となっており、効率的で正確な情報管理を支えている。このコマ主題細目では、学生が身近なデータベースの例を挙げられることが必要であり、身近なリレーショナルデータベースの例を挙げられることを目標とする。
|
|
キーワード
|
① データ ② 情報 ③ データベース ④ データベース管理システム(DBMS) ⑤ 身近なデータベース
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第1回の授業で学んだ「データの定義」、「データベースの定義」、「身近なデータベース」について授業資料を用いて整理し、それぞれのポイントを簡潔に説明できるようにしておくこと。特に、データベースの役割や日常生活における活用例を具体的に挙げられるよう自分なりに考えておく。さらに関心のある者は、授業で触れたデータベースの具体例についてさらに調べ、自身の理解を深めておくこと。 【予習】第2回の授業で扱う「小規模データベース」について、特にExcelがどのようにデータベースとして活用できるかを簡単に調べておくこと。Excelの基本的な機能(セル、行、列、フィルタ、ソートなど)に関する理解を深め、データを効率的に管理するためのツールとしての役割を意識すること。また、Excelと本格的なデータベースの違いや、Excelをデータベースのように操作する際の利点と限界についても考えてみること。
|
|
2
|
小規模データベース(【データベース基礎】【演習】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の授業では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第2回の授業では、「小規模データベース」をテーマとして扱う。特に、Excelを用いたデータ管理の基本操作を学び、小規模データベースとしてのExcelの役割や限界を理解することが重要である。Excelの操作演習を通じて、データのソート、フィルタリングといった基本的な操作を実践し、データ管理の実践的スキルを修得することを目指す。さらに、この操作を通じて、Excelと本格的なデータベースシステムの違いを明確にし、今後学ぶデータベース設計やリレーショナルデータモデルへの理解を深める基礎を築く。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、1-8頁 ・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、3-10頁
|
|
コマ主題細目
|
① Excel ② Excelとデータベース ③ Excelによるデータベース操作
|
|
細目レベル
|
① Excelは、Microsoft社が提供する表計算ソフトウェアであり、データを入力、編集、分析、視覚化するための強力なツールである。セル、行、列といった構造を活用し、データを効率的に管理できることが特徴である。Excelでは、ソートやフィルタリングによるデータの整理、関数や数式を用いた計算処理、条件付き書式による視覚的なデータの強調が可能である。また、ピボットテーブルを用いることで、データの集計や分析を柔軟に行うことができる。さらに、棒グラフや折れ線グラフなどの視覚化機能により、データを直感的に理解するための支援も行える。Excelは特に小規模なデータ管理や分析に適しており、専門的なデータベース管理システムを必要としない場面でも広く活用している。このコマ主題細目では、Excelで出来ることの概要まで理解することが必要である。
|
② Excelとデータベースは、データの管理と操作で使用するツールであるが、その用途と特性には明確な違いがある。Excelは表計算ソフトとして、個人や小規模なチームがデータを整理、分析、可視化するために広く利用している。一方、データベースは大量のデータを体系的に管理し、複数のユーザーが効率的かつ安全にアクセスできるよう設計したシステムである。Excelは直感的な操作性と柔軟性が特徴であり、データベースの初期設計やデータの試行的な管理に有用である。しかし、データ量が多くなると、データの整合性の維持や並行処理が困難になるため、より専門的なデータベース管理システムの利用が必要になる。Excelは小規模データの管理やデータベース学修の入門ツールとして優れており、データベース技術の基本概念を理解する上での架け橋的な役割を果たす。このコマ主題細目では、Excelとデータベースの関係まで理解することが必要である。
|
③ Excelは、小規模なデータセットを管理するために使用する便利なツールであり、簡易的なデータベース操作を体験するのに適している。Excelによるデータベース操作では、ソートやフィルタリング、重複データの削除、基本的な計算や集計などの機能を活用することで、データを整理・分析できる。簡単な演習を通じて、Excelを使ったデータベース操作の基本を学ぶ。具体的には、サンプルデータ(例: 学生名簿や商品の販売記録など)を用いて、特定の条件に基づいたデータの抽出(フィルタリング)や、データを昇順・降順に並び替える(ソート)作業を体験する。この演習を通じて、Excelのデータ管理の柔軟性と限界を理解し、大規模なデータベース管理システムとの違いを体感することができる。このコマ主題細目では、Excelによるデータベースの操作方法まで理解することが必要である。
|
|
キーワード
|
① Excel ② 表計算ソフト ③ 小規模データベース ④ フィルタリング ⑤ ソート
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第2回の授業で学んだ「Excel」、「Excelとデータベース」、「Excelによるデータベース操作」について授業資料を用いて整理し、それぞれのポイントを簡潔に説明できるようにしておくこと。特に、Excelが小規模データベースとしてどのように活用できるか、またその限界について具体例を挙げられるように準備すること。また、ソートやフィルタリング、基本的な関数を使ったデータ操作の演習内容を振り返り、手順を再確認しておくこと。さらに、Excelによる小規模データベースと本格的なデータベース管理システムの違いについて、自分なりに整理しておくことを推奨する。 【予習】第3回の授業では「実世界データのデータベース化」を扱うため、事前に「データモデリング」および「リレーショナルデータモデル」に関する基礎的な知識を調べておくことが望ましい。実世界のデータ(たとえば学生情報、書籍情報、購買履歴など)をどのように整理・抽象化し、データベースとして設計するかを考えることで、モデル化の意義と必要性を理解する助けとなる。あわせて、「論理モデル」とは何か、それが物理的なデータベース構築にどうつながるのかを意識しておくとよい。さらに、「リレーショナルデータモデル」の基本概念(リレーション、属性、主キー、外部キーなど)についても教科書やインターネットを用いて簡単に調べておくこと。これにより、授業中の議論がスムーズに理解できるようになる。
|
|
3
|
実世界データのデータベース化(【データベース基礎】【基礎】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の授業では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第3回の授業では、「Excelによるデータ操作」をテーマとして扱う。第1回ではデータ・情報・データベースの基本概念を学び、第2回ではExcelを小規模データベースとして扱う考え方や基本的な操作を学んだ。本コマではその続きとして、ファイル形式の違いとデータの保存方法を理解したうえで、1つの表に含まれる情報を役割ごとに分けて整理する演習を行う。これにより、次回以降に扱う概念モデルやERモデルの学修に入る前段階として、「実世界の情報を整理して、扱いやすい形に構成する」という発想を身につけることを目的とする。第4回以降は実世界をデータベース化する考え方とER図によるモデリングに進む構成であるため、本コマはその橋渡しにあたる。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、5-15頁 ・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、11-26頁
|
|
コマ主題細目
|
① 拡張子 ② CSVとExcel(.xlsx) ③ Excelによるデータ操作演習
|
|
細目レベル
|
① 拡張子とは、ファイル名の末尾に「.(ドット)」で区切って付けられる、ファイルの種類を識別するための文字列である。コンピュータは拡張子を手がかりにして、どのアプリケーションでファイルを開くべきかを判断する。このコマ主題細目では、拡張子の意味を理解し、代表的な拡張子の例を通してファイル形式の違いを把握する。また、エクスプローラで拡張子を表示する設定を確認し、実際のファイル操作に役立てられるようにする。この細目では、拡張子とは何かを説明でき、拡張子を表示してファイルの種類を確認できることが必要である。
|
② CSVは、表形式のデータをカンマ区切りのシンプルなテキストとして保存する形式であり、データ交換やデータベースとの連携に適している。一方、.xlsxはMicrosoft Excelで標準的に用いられる形式であり、表のデータだけでなく、書式、数式、複数シート、グラフなども保存できる。本コマ主題細目では、CSVと.xlsxの違いを、保存できる内容、用途、開き方の違いから理解する。また、CSVをExcelとメモ帳の両方で開いて比較し、データの「見た目」と「中身」の違いを体験的に理解する。この細目では、CSVと.xlsxの特徴を説明でき、両者の違いを用途に応じて区別できることが必要である。
|
③ 1つの表に学生情報、授業情報、履修情報がすべて含まれていると、同じ内容が何度も繰り返し記録され、管理しにくくなる。そこで本コマでは、環境情報学科のデータを用いて、1つの表を「学生テーブル」「授業テーブル」「履修テーブル」に分けて整理する演習を行う。学生テーブルでは学生に関する情報だけを、授業テーブルでは授業に関する情報だけを、履修テーブルでは学生と授業の関係を表す情報だけを取り出して整理する。この作業を通じて、表を役割ごとに分けることでデータが見やすく、管理しやすくなることを理解する。この細目では、全体データから意味の異なる情報を見分け、役割ごとに別の表へ整理できることが必要である。次回以降に扱う概念モデルやERモデルに入る前に、実世界の情報を分類して整理する力を養うことが目標である。
|
|
キーワード
|
① 拡張子 ② CSV ③ xlsx ④ ファイル形式 ⑤ 表形式データ
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第3回の授業で扱った「拡張子」、「CSVとExcel(.xlsx)」、「Excelによるデータ操作演習」に関する内容について、授業資料を参照しながら整理しておくこと。特に、「拡張子」では、ファイル名の末尾に付く文字列がファイルの種類を識別するために用いられていることを正確に説明できるようにし、拡張子を確認することで、どのアプリケーションで開くべきかを判断できることを理解しておく必要がある。また、「CSVとExcel(.xlsx)」においては、CSVがカンマ区切りのシンプルなテキスト形式であり、主にデータ交換やデータベースとの連携に適していること、.xlsxは表の見た目や数式、複数シートなども含めて保存できる高機能な形式であることを整理しておくこと。あわせて、「Excelによるデータ操作演習」では、1つの大きな表の中に学生・授業・履修といった異なる種類の情報が混在していると、同じ内容が繰り返し現れて管理しにくくなることを再確認し、学生テーブル・授業テーブル・履修テーブルのように役割ごとに表を分けることで、データを見やすく管理しやすくできることを理解しておくこと。 【予習】第4回の授業で扱う「実世界データの抽象的な表現」に備え、「概念モデル」がどのような考え方に基づいて作られるのかを事前に簡単に調べておくことが望ましい。特に、現実世界の中から管理したい対象を取り出し、それらの特徴や関係を整理して表現するという考え方を意識しておくこと。また、「実体-関連モデル(ERモデル)」に関しては、実体とは何か、関連とは何かを区別できるようにし、学生や授業のような対象がどのようにモデル化されるのかを考えておくことが重要である。さらに、「属性と主キー」に関しては、実体の特徴を表す情報が属性であり、その中でも1件のデータを区別するために重要なものが主キーであることを理解しておくとよい。たとえば、学生を表すデータでは、学籍番号、氏名、入学年度などのうち、どれが主キーとして適しているかを考えておくことで、次回の授業内容への理解が深まり、実際のデータベース設計に向けた準備が整う。
|
|
4
|
コンピュータへの物理的なデータ保存と管理(【データベース基礎】【基礎】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第4回の授業では、「コンピュータへの物理的なデータ保存と管理」をテーマに、これまでに扱ってきた論理的なデータ構造が、コンピュータ上でどのように物理的に実現するかを学ぶ。この授業では、記憶装置の種類や特徴、データの保存形式、アクセス効率に関する基本的な考え方を確認するとともに、データ型や制約といったデータ定義に関わる要素も扱う。これにより、データベースの構造設計が単なる理論にとどまらず、物理的な実装や性能に密接に関係していることを理解し、次回以降の授業で扱うデータベース操作や最適化技術に向けた基盤を築くことを目的とする。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、1-23, 203-210頁 ・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、34-52頁
|
|
コマ主題細目
|
① 物理モデル ② データ保存と記憶装置 ③ データ型 ④ 制約
|
|
細目レベル
|
① 物理モデルとは、データベースの設計における最終段階であり、論理モデルで定義したデータ構造を、実際にコンピュータ上に保存・管理するための具体的な形式に落とし込むものである。このモデルでは、データがどのように記憶装置(ハードディスクやSSDなど)に格納するか、アクセス効率を高めるためにどのような制約が必要かといった実装面の検討が必要となる。物理モデルは記憶装置への配置という具体的かつ実務的な視点を含む点に特徴がある。そのため、データベースの運用効率や応答速度、システム全体の性能に直結する重要な設計要素といえる。このコマ主題細目では、物理モデルで行う内容まで理解することが必要である。
|
② データ保存と記憶装置は、データベースシステムの信頼性と性能を左右する根幹部分であり、扱うデータが物理的にどこにどのように格納するかを決定する要素である。データは通常、ハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)といった二次記憶装置に保存する。HDDは大容量で安価だが、回転機構があるためアクセス速度が遅い。一方、SSDは高速な読み書きが可能で、近年では多くのデータベースシステムにおいて主流となりつつある。また、一時的なデータの処理やキャッシュ用途には主記憶(RAM)を使う。データベースでは、こうした記憶装置間のデータの移動や配置を制御することにより、効率的な検索や更新が可能となる。さらに、データの永続性を保証するためには、障害発生に備えたバックアップやリカバリの仕組みも不可欠である。記憶装置の種類や構成の選択は、データベースの性能、可用性、コストに大きく影響するため、システムの規模や用途に応じた適切な判断が求められる。このコマ主題細目では、データベースで用いる主要な記憶装置まで理解することが必要である。
|
③ データ型とは、データベース内で各属性(列)に格納する値の性質や形式を定義するものである。データ型の役割は、格納するデータの正確性を保証し、ストレージや処理の効率を向上させることである。たとえば、数値型や文字列型、日付型など、用途に応じたデータ型を選択することで、適切なメモリ使用や演算が可能になる。データ型の選択は、データベースの設計段階で重要な判断事項であり、不適切な型の選択はシステム性能の低下やデータの一貫性が崩れる可能性がある。また、データ型は異なる値同士の比較や計算を正しく行うための基準にもなるため、設計時にその性質を十分に理解しておく必要がある。このコマ主題細目では、データ型の役割まで理解することが必要であり、データ型の種類を挙げられることが目標である。
|
④ 制約とは、データベースに格納するデータの一貫性や信頼性を保証するためのルールである。特に、整合性制約と参照制約はデータの正確性を保つための重要な仕組みである。整合性制約は、データの値が正しい範囲内にあることを保証するルールを指し、主キー制約や一意性制約、NOT NULL制約、CHECK制約などがある。一方、参照制約は、異なるテーブル間のリレーションを定義し、外部キーを使用して参照元と参照先のデータの一貫性を確保するものである。たとえば、外部キー制約を利用することで、削除や更新時のデータ不整合を防ぐことができる。ただし、現場のデータベース設計においては、参照制約をあえて設けず、検索スピードやパフォーマンスを優先する手法を採ることも多い。この場合、整合性や参照関係のチェックはデータベース側ではなく、アプリケーションプログラム側で実装する。設計時には、制約を適切に設定するか、またはプログラム側で整合性を管理するかをプロジェクトの要件や環境に応じて慎重に判断し、信頼性とパフォーマンスのバランスを図る必要がある。このコマ主題細目では、制約の役割まで理解することが必要で、整合性制約と参照制約を理解することが目標である。
|
|
キーワード
|
① 物理モデル ② 記憶装置 ③ データ型 ④ 整合性制約 ⑤ 参照制約
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第4回の講義で扱った「物理モデル」、「データ保存と記憶装置」、「データ型」、「制約」について、講義資料をもとに整理し、それぞれの内容を正確に説明できるようにしておくこと。特に、論理モデルと物理モデルの違いを明確にし、データがコンピュータの記憶装置にどのように保存・管理するのか、構造や処理の流れについて理解を深めておく必要がある。また、主な記憶装置の種類(HDD、SSD、RAMなど)やそれぞれの特徴を再確認し、データベースにおけるパフォーマンスや信頼性との関連についても把握しておくこと。あわせて、整数型や文字列型、日付型などの「データ型」の違いや使用目的を説明できるようにし、「制約」(NOT NULL、UNIQUE、PRIMARY KEY、CHECKなど)がどのようにデータの整合性を保つ役割を果たすのかも、自分の言葉でまとめておくことが望ましい。 【予習】第5回の講義では「実世界データの抽象的な表現」として、「概念モデル」や「実体-関連モデル(ERモデル)」に関する内容を扱うため、これらの用語について基本的な意味を調べておくことが望ましい。特に、実体(エンティティ)とは何か、属性とは何か、主キーがどのような役割を果たすのかといった点について、簡単な例を用いながら理解しておくこと。また、「ER図(Entity-Relationship図)」が、実世界の情報を可視化して整理する手段であることを意識し、基本的な記号(四角形=実体、楕円=属性、ひし形=関係など)についても事前に確認しておくとよい。授業内ではER図を用いた演習も予定しているため、簡単なER図を自分で描いてみるなど、図解による表現に慣れておくことが重要である。
|
|
5
|
実世界データの抽象的な表現(【データベース基礎】【基礎】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第5回の授業では、「実世界データの抽象的な表現」をテーマとし、概念モデル、実体―関連モデル、属性と主キーについて学ぶ。この授業は、現実世界の複雑な情報をデータベースに適した形式で整理・表現するための基本的な枠組みを学ぶ回であり、データベース設計の初期段階である「概念設計」に該当する。ここでは、抽象的なレベルで情報構造を捉えることにより、技術に依存しない柔軟な設計力を養う。また、実体と属性の違いや、主キーを通じた一意性の確保といった基礎的な要素についても扱い、後続の論理モデル設計への橋渡しを行う。今回の授業の目的は、実世界の情報を構造化し、概念的に把握するための基本技術を身につけることであり、データベース設計の根幹となる思考方法を学ぶことである。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、11-17頁 ・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、29-33、65-83頁
|
|
コマ主題細目
|
① 概念モデル ② 実体-関連モデル ③ 属性と主キー
|
|
細目レベル
|
① 概念モデルとは、実世界の情報を抽象的に表現し、データベース設計の初期段階で用いられるモデルである。利用者にとって理解しやすい形で情報の構造を整理し、データの意味や関係性を把握するための手段であり、実装技術に依存しない設計を目的とする。概念モデルでは、現実の対象を「実体」として捉え、その属性や相互関係を視覚的に整理する。これにより、業務の要件を的確に反映したデータ構造を設計できる点が大きな利点である。たとえば、学生と講義の関係をモデル化する場合、学生や講義を実体として抽出し、履修という関係で結びつける。このように、概念モデルは業務担当者とのコミュニケーションを円滑にし、後続の論理設計・物理設計への橋渡しとして重要な役割を担っている。特に、実装に入る前の要件確認や全体構造の把握において、有用性は非常に高い。
|
② 実体-関連モデル(ERモデル; Entity-Relationship Model)は、データベース設計における概念モデルの一つであり、現実世界の対象(実体)とその間の関係性を視覚的に表現する手法である。実体とは、人、物、事象など管理対象となるデータのまとまりであり、具体例として「学生」や「授業」などがある。一方、関連とは、実体間のつながりを表し、「学生が授業を履修する」といった関係性を指す。ERモデルでは、実体を長方形、関連をひし形で表し、これらを線で結ぶことで構造を示す。また、各実体には属性(データの詳細情報)が付随し、特に一意に識別可能な属性を主キーとして定義することが重要である。このモデルは、データベースの論理設計や物理設計への橋渡しするための基本的かつ強力なツールである。ERモデルの表記法としては、IE記法(Crow’s Foot記法)とIDEF1X記法がある。IE記法は、直感的で視覚的な要素を重視し、関係性を鳥の足の形状で表現するため、初心者にも理解しやすい点が特徴である。一方、IDEF1X記法は、より標準化した厳密な表記法であり、主にエンジニアリング分野での利用が多い。両記法を適切に使い分けることで、設計者間での認識の違いを減らし、設計効率を向上させることが可能である。このモデルを理解することで、複雑なデータの関係性を整理し、効率的なデータベース設計を行うための基盤を築くことができる。このコマ主題細目では、ERモデルの「実体」と「関連」まで理解することが必要であり、IE記法(Crow’s Foot記法)とIDEF1X記法の違いを理解することが目標である。
|
③ 属性とは、データベース設計において実体や関係の特徴や特性を記述する情報要素である。たとえば、「学生」という実体においては、「学籍番号」「氏名」「入学年度」などが属性に該当する。属性はデータの具体的な内容を示すものであり、データベース内で情報を詳細に管理するための基本的な単位である。一方、主キー(Primary Key)は、データの一意性を保証するための特別な属性であり、データベース内で各レコードを一意に識別するために使用する。たとえば、「学籍番号」は学生一人ひとりを識別できるため、主キーとして適している。主キーを正しく設計することで、データの重複を防ぎ、整合性を保つことができる。また、主キーは他のテーブルとのリレーションを形成する際にも重要な役割を果たす。このように、属性と主キーはデータベースの構造を効果的に定義し、効率的かつ正確なデータ管理を可能にするための重要な要素である。このコマ主題細目では、属性と主キーまで理解することが必要である。
|
|
キーワード
|
① 概念モデル ② 実体 ③ 関連 ④ ERモデル ⑤ 属性
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第5回の講義で学んだ「概念モデル」、「実体―関連モデル」、「属性と主キー」について、講義資料や配布した図をもとに整理し、用語の意味やその関係性を正確に理解しておくこと。特に、実体と属性の違い、関係の役割、主キーがなぜ必要なのかといった点を自分の言葉で説明できるようにしておくことが重要である。また、「実体―関連モデル」における基本的な構成要素(実体、属性、関係)と、それらがどのように図式化するのかも再確認し、簡単なER図を自力で描けるよう練習しておくこと。加えて、主キーの条件(重複不可、NULL不可)を再確認し、主キーの選定基準についても考えることが望ましい。これらの内容をしっかりと復習することで、次回のER図作成演習において、より実践的かつ正確な図を構築する準備が整う。 【予習】第6回の講義では「ERモデルによるデータベース演習」を行うため、事前に「論理モデル」と「物理モデル」の違いについて調べ、両者がどのような役割を果たすのかを理解しておくことが望ましい。論理モデルは実体や関係、属性といった情報の構造を表現する設計図であり、物理モデルはそれを実際の記憶装置上に保存・操作するための実装的な視点に基づくものである。また、ERモデルを使って実世界の出来事や構造をどのように抽象化し、図として表現できるかについて、自分なりの例(例:図書館、病院、店舗など)を用いて考えておくとよい。可能であれば、簡単な事例をもとに実体、属性、関係を整理し、ER図として表現する予行演習をしておくことで、授業での演習にスムーズに取り組める。
|
|
6
|
ERモデルによるデータベース演習(【データベース基礎】【演習】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第6回の授業では、「ERモデルによるデータベース演習」の三つのテーマを中心に扱う。この回は、データベース設計の基盤を構築するため、第3回から第5回で学んだ内容を復習し、それらを統合する役割を果たす。具体的には、ERモデルを活用して現実のデータ構造を整理し、それを実際のデータベース設計に落とし込む過程を学ぶ。また、論理モデルと物理モデルの違いを理解し、それぞれが設計のどの段階で役立つかを明確にする。本授業の目的は、これまでの学修内容を実践的な設計作業に結びつけ、データベース設計全体の流れを理解することである。このプロセスを通じて、効率的で信頼性の高いデータベース構築のための基盤を修得することを目指す。特に、ER図作成演習を通じて実践力を磨き、次回以降の授業内容にスムーズに進む準備を整える。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、11-17頁 ・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、29-33、65-83頁
|
|
コマ主題細目
|
① 論理モデルと物理モデルの違い ② ERモデルによる実世界のデータモデリング ③ ER図作成演習
|
|
細目レベル
|
① 論理モデルと物理モデルは、データベース設計の異なる段階を表し、それぞれ異なる目的を持つ。論理モデルは、データの構造や関係を抽象的に定義し、プラットフォームに依存しない形で表現する。主にER図やリレーショナルモデルを用いて、実世界のデータをどのように管理するかを記述する。一方、物理モデルは、論理モデルを実際のハードウェア上に実装するための具体的な設計を指す。ストレージ構造やインデックスの設計、データ型の選択、パーティショニングなどを含む。論理モデルはデータの正確性や一貫性を重視し、物理モデルは効率性や性能を最適化することに焦点を当てる。両者を適切に連携させることで、データベースが正確で効率的に機能する設計が可能となる。このコマ主題細目では、論理モデルと物理モデルの違いまで理解することが必要である。
|
② ERモデル(実体-関連モデル)は、実世界のデータを概念的に整理し、データベースで管理可能な形に抽象化する手法である。ERモデルは、実体(例: 学生や授業)、属性(例: 学籍番号や授業名)、関連(例: 学生が授業を履修する)を要素として構成する。これにより、実世界の複雑なデータを視覚的に整理し、データの関係性を直感的に把握できる。実体は長方形で表し、属性は楕円、関連はひし形で表すなどの記法を用いることで、統一的なデータ表現が可能となる。ERモデルは、データベースの設計初期段階で用い、後の論理モデルや物理モデルへの変換の基盤を提供する。これにより、効率的で整合性のあるデータベース設計が可能になる。このコマ主題細目では、実体・属性・関連まで理解することが必要である。
|
③ ER図作成演習は、実体-関連モデルの理解を深め、実際のデータベース設計に応用する能力を養うための実践的な課題である。この演習では、具体的なシナリオを基に、データの構造を分析し、IE記法(Crow’s Foot記法)を用いてER図として視覚的に表現する。たとえば、「学生が授業を履修する」というシナリオでは、「学生」や「授業」を実体として設定し、それぞれの属性(例: 学籍番号、授業名)を特定する。また、「履修」という関連をひし形で表現し、多対多の関係が存在する場合には、中間テーブルを導入する方法を学ぶ。さらに、主キーや外部キーを選定し、データの一意性や整合性を確保する設計手法を実践的に体験することが重要である。この演習を通じて、実体、属性、関連の定義だけでなく、それらを具体的なデータベース設計に結びつけるスキルを修得する。このコマ主題細目では、ER図の描き方まで理解することが必要である。
|
|
キーワード
|
① 概念モデル ② 論理モデル ③ 物理モデル ④ ER図 ⑤ データモデリング
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第6回の講義で学んだ「論理モデルと物理モデルの違い」、「ERモデルによる実世界のデータモデリング」、「ER図作成演習」について、講義資料と演習内容をもとに整理し、自身で説明できるようにしておくこと。特に、論理モデルがデータの構造を表現するものであり、物理モデルがそれを実際に記憶装置上で実現する具体的な方法であるという違いを明確に理解しておく必要がある。また、ERモデルを用いたデータモデリングでは、実体・属性・関係の定義と、それをどのようにER図として表現するかが重要である。授業内で扱った具体的な事例(例:学生と講義の関係)を振り返り、自分で簡単なER図を描き直すことで理解を定着させておくことが望ましい。演習を通じてどのような点に注意が必要だったかを振り返り、今後の設計作業にも活かせるようにしておくとよい。 【予習】第7回の講義では「データベースの最適化」として、「データの冗長性」、「データの一貫性」、「正規化」を中心に扱うため、用語の意味と相互の関係について事前に調べておくことが望ましい。冗長性とは、同じ情報が複数の場所に重複して存在する状態であり、それが更新ミスや不整合の原因になることがある。一方、一貫性は、データが常に正確で矛盾のない状態で保たれていることを指す。これらの問題を解決するための手法が「正規化」であり、データを構造的に分割し、重複を排除することで、保守性と整合性を高められる。また、正規化によって得られる利点だけでなく、過度な正規化によるパフォーマンス低下の可能性についても意識しておくと、授業の理解が深まる。
|
|
7
|
データベースの最適化(【データベース基礎】【応用】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第7回の授業では、「データベースの最適化」をテーマに、「データの冗長性」、「データの一貫性」、「正規化」の3つの観点から、データベース設計における品質向上のための基本的な考え方を扱う。ここでは、無駄なデータの重複を避け、常に正確で整合性の取れたデータを維持するための方法として「正規化」という設計手法が重要となる。冗長性の低減と一貫性の確保は、データベースの信頼性や保守性に直結し、将来的なデータ更新や拡張にも影響を与える。今回の授業の目的は、論理モデルに基づいた適切なデータ構造を設計する力を育成し、データベースの質的向上を図るための思考法を習得することである。
|
【復習】第7回の講義で学んだ「データの冗長性」、「データの一貫性」、「正規化」について、授業資料を参照しながら重要なポイントを整理しておくこと。特に、冗長性の高いデータ構造がどのような問題を引き起こすか、一貫性が失われた場合にどのような不具合が生じるかを具体的な事例とともに理解しておくことが求められる。また、正規化とは何か、なぜ行うのかを自分の言葉で説明できるようにし、情報の重複をなくし整合性を保つための基本的な考え方として定着させることが重要である。正規化の具体的な手順に立ち入る必要はないが、全体像を理解し、今後のデータベース設計の場面で適用できるように準備しておくことが望ましい。 【予習】第8回の講義では「データのバックアップ」を扱うため、事前にバックアップの必要性とその基本的な考え方を理解しておくことが望ましい。特に、情報システムが障害や誤操作によってデータを失った場合に備え、どのようにデータを保存・復旧する仕組みが用意されているのかに注目すること。バックアップには「フルバックアップ」や「差分バックアップ」など複数の方法があり、それぞれの特徴や使い分けの場面について簡単に調べておくことが有効である。また、「リカバリ」とは何か、バックアップとどのように連携してデータを元に戻す手段となるのかについても、基本的な仕組みを理解しておくと、講義内容がより深く理解できる。身近なクラウドサービスやPCのバックアップ機能などと関連づけて考えてみることも推奨される。
|
|
コマ主題細目
|
① データの冗長性 ② データの一貫性 ③ 正規化
|
|
細目レベル
|
① データの冗長性とは、同じ情報が複数の場所に繰り返し記録されている状態を指す。冗長性が高いデータベースでは、更新や削除の際にすべての該当箇所を一貫して修正しなければならず、管理に手間がかかる。また、冗長なデータは整合性の問題を引き起こしやすく、異なる箇所に矛盾したデータが存在するリスクが高まる。たとえば、ある学生の氏名や住所情報を複数のテーブルで繰り返し保存している場合、一つのデータだけを更新すると、どれが正しい情報かわからなくなる。冗長性の削減は、データベース設計の初期段階で意識的に行うべき重要な作業であり、これによりストレージの無駄を省くだけでなく、システムの保守性と信頼性を大きく向上できる。このコマ主題細目では、データの冗長性の意味まで理解することが必要である。
|
② データの一貫性とは、データベース内の情報が常に矛盾なく整合性を保っている状態を指す。たとえば、ある顧客に関する情報が注文テーブルと顧客テーブルの両方に保存されている場合、一方に変更を加えた際に他方も正しく更新されなければ、一貫性が失われることになる。一貫性の維持は、データベースの信頼性に直結する極めて重要な要素であり、システム全体の正確な運用を支える基盤である。一貫性を保つには、データの更新や削除、挿入といった操作において整合性制約(制約条件)を適用する必要がある。たとえば、外部キー制約によって、関連するテーブル間の関係を強制し、不要なデータや誤ったデータの入力を防ぐことが可能である。一貫性を欠いたデータベースは、利用者に誤解を与えるだけでなく、意思決定の誤りや業務の停滞といった深刻な問題を引き起こす可能性がある。このコマ主題細目では、データの一貫性の意味まで理解することが必要である。
|
③ 正規化とは、データベースの設計で、データの重複や不整合を防ぎ、整理された構造を実現するための手法である。データの記録方法を見直し、同じ情報を複数の場所で繰り返さないように分割・再構成することによって、更新や削除の際のミスを防ぎ、データの整合性を保つことが可能になる。たとえば、ある顧客情報が複数の表に重複して存在すると、1か所を変更しただけでは他の表と不一致が生じる可能性があるが、正規化によって顧客情報を一つの表に集約すればそのような矛盾は発生しにくくなる。また、正規化は無駄なデータの記録を減らすことで、記憶容量の節約や処理の効率化にもつながる。正規化の目的は、データベースを論理的かつ明確な構造に整えることであり、長期的に運用しやすいデータベース設計を実現するための基本的な考え方である。データベースの品質を保つうえで欠かせない設計技法の一つといえる。このコマ主題細目では、正規化の目的まで理解することが必要である。
|
|
キーワード
|
① 冗長性 ② 一貫性 ③ 整合性 ④ 正規化
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、33-35, 266-271, 373頁 ・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、32, 42-48, 84-85, 157-160頁
|
|
8
|
データのバックアップ(【データの保全】【基礎】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第8回の授業では、「データのバックアップ」をテーマとし、「フルバックアップ」「差分バックアップ」「リカバリ」という3つの重要な要素を取り上げる。本授業では、システム障害や人的ミスなどによるデータ損失に備えた保全手段として、どのようにデータを定期的に保存し、必要なときに確実に復元できるようにするかを理解する。バックアップはデータベース運用におけるリスク管理の根幹を成しており、単に保存するだけでなく、適切な方式の選択や実施スケジュールの設計も重要である。また、実際に障害が発生した際にデータを復旧する「リカバリ」についても、具体的な流れと注意点を学ぶ。今回の授業の目的は、データベースの可用性と信頼性を確保するための基本的な技術と考え方を身につけることであり、今後のデータベース運用や管理の理解に直結する知識を獲得することである。
|
・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、53-66頁
|
|
コマ主題細目
|
① フルバックアップ ② 差分バックアップ ③ リカバリ
|
|
細目レベル
|
① フルバックアップとは、対象となるデータベース全体の内容を丸ごと複製して保存するバックアップ方式であり、バックアップ時点のすべてのデータを保持できる。これは最も基本的かつ信頼性の高いバックアップ方法であり、復旧時には一つのバックアップファイルから完全な状態を再現できる点に特徴がある。フルバックアップは、定期的に実施することでシステムの障害や操作ミス、あるいは外的要因によるデータ損失に備えるための有効な手段となる。しかし、毎回全データをコピーするため、バックアップに要する時間や保存容量が大きくなる欠点もある。そのため、大規模なデータベースではフルバックアップの頻度を調整し、他の方式と組み合わせることで効率化が図られることが多い。フルバックアップは、バックアップ戦略の基盤として不可欠であり、後述する差分バックアップやリカバリ処理とも密接に関係している。このコマ主題細目では、バックアップの目的とフルバックアップの内容まで理解することが必要である。
|
② 差分バックアップとは、直近のフルバックアップ以降に変更・追加したデータのみを抽出して保存するバックアップ方式である。これにより、フルバックアップのたびに全体をコピーする必要がなくなり、バックアップにかかる時間やストレージ容量を大幅に削減できる利点がある。差分バックアップの特徴は、累積型であるという点にある。すなわち、複数回差分バックアップを取得した場合でも、それぞれがフルバックアップ以降のすべての変更を記録しているため、復旧時には最新のフルバックアップと、直近の差分バックアップを組み合わせるだけで済む。一方で、差分の量が増えるほど、個々のバックアップサイズも大きくなる傾向があるため、フルバックアップとのバランスを考えた運用が必要となる。実務においては、フルバックアップを週に一度、差分バックアップを毎日実施するようなスケジュールが一般的である。この方式は、保守コストと復旧速度のバランスをとる上で有効である。このコマ主題細目では、差分バックアップとフルバックアップの違いまで理解することが必要である。
|
③ リカバリは、データベースやシステムが障害やデータ損失に直面した際に、正常な状態に復旧するためのプロセスである。リカバリは主にバックアップデータを利用して行われ、システムの中断を最小限に抑えることを目的とする。リカバリの方法には、完全リカバリ、部分リカバリ、ポイントインタイムリカバリなどがあり、それぞれの状況に応じて選択する。たとえば、システム全体が損傷した場合には完全リカバリを適用する一方、特定のデータのみが失われた場合には部分リカバリが有効である。また、リカバリの実施には、バックアップ戦略を整備していることが前提であり、特にログファイルやスナップショットが重要な役割を果たす。リカバリの計画は、企業やシステムの運用継続で不可欠であり、バックアップ戦略と組み合わせた適切な計画が必要である。このコマ主題細目では、リカバリの目的と完全リカバリと部分リカバリの違いまで理解することが必要である。
|
|
キーワード
|
① バックアップ ② フルバックアップ ③ 差分バックアップ ④ 完全リカバリ ⑤ 部分リカバリ
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第8回の講義で扱った「フルバックアップ」、「差分バックアップ」、「リカバリ」について、講義資料を参照しながら、それぞれの用語の意味と特徴を整理しておくこと。特に、フルバックアップがデータ全体を保存する方法であること、差分バックアップが直近のフルバックアップ以降に変更された部分のみを対象とすること、またそれぞれの利点と欠点を比較できるようにしておくことが望ましい。さらに、リカバリとは何か、バックアップとどのように連携し、障害発生時にどのようにデータを復旧するかの基本的な仕組みを理解しておくこと。実際の業務においてどのような場面でこれらの手法を活用するのか、イメージを持っておくと次回以降の授業への理解も深まる。 【予習】第9回の講義では「データの制御」に関する内容を扱うため、事前に「データ制御の必要性」や「排他制御」、「トランザクション制御」といった基本用語について簡単に調べておくことが望ましい。データベースでは、複数のユーザーや処理が同時にデータへアクセスする場面が多く、それに伴いデータの整合性や一貫性が損なわれるリスクが発生する。このような問題を防ぐために、どのような制御技術が用いられているのかを知っておくことが重要である。特に「排他制御」は、同時更新による矛盾を防ぐための仕組みであり、「トランザクション制御」は、データ処理の一連の流れを安全かつ正確に行うために不可欠なものである。実生活における例(ATMの操作やネットショッピングなど)を通じて、これらの制御の重要性を考えておくことも有効である。
|
|
9
|
データの制御(【データの保全】【応用】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第9回の授業では、「データの制御」をテーマとし、「データ制御の必要性」、「排他制御」、「トランザクション制御」について学ぶ。本授業は、データベースを複数のユーザーが同時に利用する環境において、データの整合性や信頼性をいかに保つかという観点から、制御技術の必要性を実感的に理解することを目的とする。特に、複数の処理が同時進行する場面で生じうる競合や矛盾を防ぐための「排他制御」や、処理の一貫性と完全性を保証する「トランザクション制御」は、実用的なデータベース運用に不可欠な技術である。これらの概念は、これまで学んできた設計や最適化の知識と密接に関係しており、現実的なシステム設計や運用を行う上で重要な基盤となる。今回の授業では、データベースの信頼性と安全性を高めるための基本的な制御手法を理解し、今後のより高度な運用技術や障害対応技術への橋渡しを行う。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、171-173, 261-266, 310-313頁
|
|
コマ主題細目
|
① データ制御の必要性 ② 排他制御 ③ トランザクション制御
|
|
細目レベル
|
① データ制御とは、複数のユーザーやアプリケーションが同時に同じデータベースへアクセス・操作する環境において、データの整合性や一貫性を保つために不可欠な考え方である。現代の情報システムでは、同時に多くのユーザーがデータベースにアクセスし、読み取りや書き込みを行うことが一般的である。そのような状況下では、処理の順序やタイミングのずれによって、更新の衝突や参照の不整合といった問題が発生しやすくなる。たとえば、複数のレジ端末が在庫数を更新する場面では、適切な制御がなければ不正確な在庫数を記録する可能性がある。このような問題を防ぎ、常に正しいデータ状態を維持するために、データ制御の仕組みが必要となる。制御の方法には、アクセスの制限、同時実行制御、処理の順序調整などがあり、データベースの信頼性と安全性を確保する基盤となる。このコマ主題細目では、データ制御の必要性まで理解することが必要である。
|
② 排他制御は、データベースにおける複数のユーザーやプロセスが同時にデータにアクセスする際に、データの一貫性や整合性を保つための重要な仕組みである。排他制御は主にロックを使用して実現する。ロックには共有ロックと排他ロックの2種類があり、共有ロックは読み取り専用の操作を許可し、排他ロックはデータの書き込み操作を行う際に使用する。これにより、同時実行性を維持しつつ、データの競合や不整合を防ぐことができる。ただし、ロックの使用はデッドロックの発生などの問題を伴う場合があるため、適切な管理が求められる。排他制御は、特にトランザクションの一部が他のトランザクションに影響を与えないようにするため、データベース管理において不可欠な役割を果たしている。このコマ主題細目では、排他制御・共有ロック・排他ロックの役割まで理解することが必要であり、デッドロックの起こる原理と対策を理解することが目標である。
|
③ トランザクション制御は、データベース内で実行する一連の操作を一つの不可分な単位として扱い、その全体が成功するか、または全体が失敗するように管理する仕組みである。この制御により、データベースの一貫性と整合性を維持することが可能となる。トランザクションの重要な操作には、コミットとロールバックが含まれる。コミットは、すべての操作が正常に完了した際に変更を確定させる処理であり、ロールバックは、エラーや障害が発生した場合にすべての変更を元に戻す処理である。また、トランザクション制御は、同時に複数のユーザーがデータベースを操作する際の競合を防ぎ、データの整合性を保つ役割を担う。これにより、例えば銀行システムでの資金移動など、重要なデータ操作の信頼性を確保する。適切なトランザクション管理は、データベースの運用において欠かせない要素である。このコマ主題細目では、トランザクション制御の役割まで理解することが必要であり、コミットとロールバックの役割を理解することが目標である。
|
|
キーワード
|
① データ制御の必要性 ② 排他制御 ③ デッドロック ④ トランザクション制御 ⑤ ロールバック
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第9回の講義で学んだ「データ制御の必要性」、「排他制御」、「トランザクション制御」について、講義資料やノートを用いて復習し、各概念を正確に説明できるように整理しておくこと。特に、複数の利用者が同時にデータベースへアクセスする状況において、データの整合性をいかに維持するかという観点から、排他制御がどのように機能するかを理解しておくことが重要である。また、トランザクション制御では、処理の一連の流れを「全体成功」か「全体失敗」のいずれかにまとめることで、データの一貫性と信頼性を保つ仕組みであることを明確に理解すること。併せて、ロック機構の種類やトランザクションの基本的な性質(原子性、一貫性、独立性、永続性)についても、簡単に整理しておくことが望ましい。 【予習】第10回の講義では、「データベースの潮流とNoSQL」を扱うため、まず現在主流となっているRDBMS(リレーショナルデータベース管理システム)の概要と、代表的な製品(PostgreSQL、Oracle Database、MySQLなど)について調べておくことが望ましい。また、従来のRDBMSでは対応が難しいとされる「ビッグデータ」のような大量かつ多様なデータの処理ニーズが高まる中で、登場した「NoSQL」とは何か、その基本的な概念と特徴を簡単に把握しておくこと。NoSQLがどのような目的で開発されたのか、RDBMSとどのような違いがあるのか、キー・バリュー型、ドキュメント指向型、カラム指向型、およびグラフデータベースといったデータモデルの違いなどについても簡潔に調べておくとよい。
|
|
10
|
データベースの潮流とNoSQL(【データの保全】【応用】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第10回の授業では、「データベースの潮流とNoSQL」をテーマとして取り上げる。ここでは、これまでに学んできたリレーショナルデータベースの基本的な考え方をふまえ、現代におけるデータベース技術の進展や多様化の背景を概観する。特に、ビッグデータの普及やWebサービスの高度化により、従来のRDBMSでは対応が難しい場面が増えたことを踏まえ、新たなアプローチとして登場した「NoSQL」の特徴と意義について理解を深める。また、主要なRDBMS製品についても取り上げ、それぞれの特性や利用例を比較することで、用途に応じたデータベース技術の選択が重要であることを認識させる。本授業の目的は、現代的なデータ管理ニーズに対応するために、リレーショナル型以外の多様なデータベース技術の存在を知り、それらの基本的な概念と違いを理解することで、柔軟な情報システム設計の基盤を築くことである。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、20-22, 392-400頁 ・ミック『達人に学ぶDB設計徹底指南書 ~初級者で終わりたくないあなたへ』、翔泳社、2023年、9-10, 263-294頁
|
|
コマ主題細目
|
① データベースの潮流 ② 主要なRDBMS製品 ③ ビッグデータ ④ NoSQL
|
|
細目レベル
|
① データベース技術は、初期の階層型データベース(ハイアラキカルDB)やネットワーク型データベースから始まり、現在のリレーショナルデータベース(RDB)、さらにXMLデータベースやオブジェクト指向データベース、NoSQLデータベースへと進化してきた。階層型データベースはデータを木構造で表現し、組織的なデータ管理が可能であったが、柔軟性に欠ける点が課題であった。一方、ネットワーク型データベースは、データ間の多対多の関係を管理できるようになり、階層型の制限を克服したが、複雑な操作を要した。その後、1970年代に登場したリレーショナルデータベースは、テーブル形式でデータを管理し、柔軟性と操作の簡潔さを実現した。このモデルはSQLを利用した操作が可能であり、現在もデータベース管理の標準となっている。さらに、XMLデータベースやオブジェクト指向データベースは、構造化されていないデータや複雑なデータ構造を管理する必要に対応するために開発された。これらの技術は、特定の用途で有用性を発揮したものの、主流には至らなかった。近年では、NoSQLデータベースが台頭し、リレーショナルデータベースでは扱いにくい非構造化データやビッグデータに対応している。NoSQLにはキー・バリュー型、ドキュメント指向型、カラム指向型、およびグラフデータベースなどの異なるタイプがあり、それぞれ特化した用途に適している。このように、データベース技術は、データの性質や利用シナリオに応じて多様化を続けており、進化の過程で柔軟性と効率性を追求してきたと言える。このコマ主題細目では、リレーショナルデータベースの特徴まで理解することが必要であり、階層型データベース(ハイアラキカルDB)・ネットワーク型データベース・XMLデータベース・オブジェクト指向データベースの特徴を理解することが目標である。
|
② 主要なRDBMS製品には、PostgreSQL、Oracle Database、MySQL、MariaDB、SQLite、Microsoft Access、Microsoft SQL Serverが含まれる。PostgreSQLはオープンソースで高い拡張性を持ち、GIS機能など特定用途にも強い。Oracle Databaseは商用製品としての信頼性とスケーラビリティが特徴で、大規模なエンタープライズシステムで広く使われる。MySQLはオープンソースで軽量かつ高速であり、ウェブ開発において広く普及している。MariaDBはMySQLのフォークであり、互換性を保ちながらも独自の機能を追加している。SQLiteは軽量でデバイス内部にデータを保存する用途に適し、モバイルアプリや組み込みシステムで使用する。Microsoft Accessは中小規模のデータベースに適しており、デスクトップアプリケーションとして利用する。Microsoft SQL ServerはWindows環境でのエンタープライズ利用に強く、クラウド対応も進んでいる。これらの製品は、それぞれ異なる特徴と用途に応じて選択する。このコマ主題細目では、PostgreSQL とOracle Databaseの特徴まで理解することが必要であり、主要なRDBMS製品を複数挙げることができることが目標である。
|
③ ビッグデータとは、従来のデータ管理手法では処理が困難な、大量・高速・多様なデータを指す。これらの特性は、一般的に「3V」として知られるVolume(量)、Velocity(速度)、Variety(多様性)に加え、Veracity(正確性)が重要となる。ビッグデータは、インターネットやIoTデバイス、ソーシャルメディアなどから生成する膨大なデータを含む。このデータは、リアルタイムで収集・処理することが多く、企業の意思決定支援や市場予測、パーソナライズされたサービス提供など、多岐にわたる応用が可能である。例えば、物流業界では配送効率の最適化、医療分野では患者ケアの改善、金融業界では不正検知に利用する。これにより、ビッグデータは現代社会のさまざまな領域で革新的な変化をもたらしている。このコマ主題細目では、ビッグデータの3Vとビッグデータが社会に与えた影響まで理解することが必要であり、ビッグデータのVeracity(正確性)を理解することが目標である。
|
④ NoSQL(Not Only SQL)は、従来のリレーショナルデータベースの限界を超え、大規模かつ柔軟なデータ管理を可能にするデータベース技術である。NoSQLは主に、キー・バリュー型、ドキュメント指向型、カラム指向型、およびグラフデータベースに分類できる。これらは、リレーショナルモデルの厳密なスキーマ設計を必要とせず、スケーラビリティと高可用性を重視している。特に、ビッグデータやリアルタイム処理が求められる分野でNoSQLは効果を発揮する。CAP定理に基づき、NoSQLは一貫性(Consistency)、可用性(Availability)、パーティション耐性(Partition Tolerance)のいずれかを優先する設計が多い。NoSQLは非構造化データや半構造化データの管理に優れており、現代のデータニーズに柔軟に対応できる。このコマ主題細目では、NoSQLの特徴まで理解することが必要であり、CAP定理を理解することが目標である。
|
|
キーワード
|
① PostgreSQL ② Oracle ③ MySQL ④ ビッグデータ ⑤ NoSQL
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第10回の講義で扱った「データベースの潮流」、「主要なRDBMS製品」、「ビッグデータ」、「NoSQL」について講義資料を用いて整理し、それぞれの概念や背景を正しく説明できるようにしておくこと。特に、リレーショナルデータベースとNoSQLの違いや、どのようなニーズや社会的背景からNoSQLが登場したのかを明確にしておくことが重要である。主要なRDBMS(MySQL、PostgreSQL、Oracle Databaseなど)に関しては、その特徴や使用例を把握し、どのような用途に適しているかを考えておくこと。また、ビッグデータが従来のRDBMSでは処理しきれない理由や、それに対応する新しいデータベース技術の必要性についても整理しておくことが望ましい。NoSQLについては、文書型やキー・バリュー型などの種類があることを押さえ、自身の理解を深めておくと次回の演習がスムーズに進む。 【予習】第11回の講義では「データベース接続演習」を行うため、事前にデータベース操作言語であるSQLに関する基礎的な知識について確認しておくことが望ましい。あわせて、これまでの授業で学習したデータベースの基本概念、特にテーブル、行(レコード)、列(フィールド)、主キー、外部キーなどの用語と意味を復習し、実際にどのようにテーブルが設計・構築されているのかをイメージできるようにしておくことが重要である。データベースを操作するという視点から、論理構造と操作言語(SQL)がどのように結びついているかを意識しておくことが、演習内容の理解を深める助けとなる。
|
|
11
|
データベース接続演習(【データベース操作】【基礎】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第11回の授業では、「データベース接続演習」をテーマとし、これまでの理論的理解を基に、実際にクライアントソフト(A5:SQL Mk-2)を使用してOracle Database Express Editionに接続するという実践的な作業に取り組む。ここでは、データベースに接続するための基本情報(ホスト名、ポート番号、ユーザー名、サービス名など)を正しく設定し、ツール上でスキーマやテーブルの構成を閲覧できるようになることを目指す。SQLによる操作は次回以降に扱うため、本授業ではあくまでも「接続」が主眼となる。また、接続時に発生しうるエラーへの対処や、ツールの基本操作にも触れることで、実務に近い環境での操作感覚を養う。本授業の目的は、これまでに学んだデータベースの構造的理解を実際の接続体験と結びつけ、以降のSQL演習に円滑につなげるための基礎的な技術力を身につけることである。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、51-76頁
|
|
コマ主題細目
|
① データベースの接続方法 ② 接続ソフトのインストール ③ データベースの接続演習
|
|
細目レベル
|
① データベースの接続方法とは、ユーザーが外部のアプリケーションやクライアントソフトを通じて、データベース管理システム(DBMS)へアクセスし、SQLによる操作を行うための手順や設定を指す。接続には、ネットワークやローカル環境を通じた通信が発生し、通常はホスト名(またはIPアドレス)、ポート番号、データベース名、ユーザー名、パスワードといった情報が必要となる。これらは接続時にクライアントソフト上で指定する必要がある。たとえば、Oracle Databaseの場合は「サービス名」や「SID」など、RDBMSごとの固有項目が存在するため、事前にそれらの仕様を理解しておくことが重要である。接続方法を理解することは、SQLによる操作以前の前提となる重要なステップであり、実際のシステム開発や運用でも必須の知識である。このコマ主題細目では、DBMSへの接続方法の概要を理解することが必要である。
|
② 接続ソフトのインストールでは、データベースへアクセスするためのクライアントツールを利用できる状態に整えるという、実際の接続演習や操作に先立って必要となる準備作業を行う。本授業ではA5:SQL Mk-2というWindows向けの無償SQLクライアントソフトを使用する。インストールの手順には、ソフトの公式サイトからのダウンロード、ZIPファイルの解凍、適切なフォルダへの配置、そして初回起動後の簡単な環境設定が含まれる。これらの準備を正しく行うことで、接続後にSQLをスムーズに実行することが可能となり、演習の効率や理解度にも大きく影響する。したがって、インストール作業は単なる準備ではなく、データベース運用における基本操作の一つとして位置付けられる。このコマ主題細目では、SQLクライアントソフトのインストール方法を理解することが必要であり、SQLクライアントソフトの設定方法を理解することが目標である。
|
③ データベースの接続演習では、実際にクライアントソフトを用いてデータベースに接続し、接続が正常に行われているかを確認しながら、データベース内の構造を閲覧する体験を通じて、接続操作の理解を深める。本演習では、A5:SQL Mk-2を使用し、Oracle Database Express Editionに接続する。演習の主な手順としては、ホスト名、ポート番号、ユーザー名、パスワード、サービス名などの接続情報を正しく入力し、実際にデータベースへアクセスすることである。接続に成功した後は、データベースに存在するテーブルを表示させ、接続状態の確認および基本的な構造の把握を行う。SQLの実行は次回以降に扱うため、本演習ではSQL文の記述やデータ操作は行わず、接続そのものとツールの基本操作に集中する。また、接続時に発生しうるエラー(接続情報の誤り、ドライバ設定の不足など)への対処も重要な学習内容であり、今後の実践的なデータベース操作に向けた土台作りとなる演習である。このコマ主題細目では、SQLクライアントソフトを用いてデータベースに接続する方法を理解することが必要である。
|
|
キーワード
|
① DBMS ② SQL ③ Oracle Database ④ テーブル
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第11回の講義で実施した「データベース接続演習」において、自分がどのようにOracle Database Express Editionに接続したか、その手順や使用した接続情報(ホスト名、ポート番号、ユーザー名、サービス名など)を振り返り、接続方法を再確認しておくこと。あわせて、A5:SQL Mk-2を用いた接続操作の流れや、接続後にどのようにデータベース内のテーブルを確認できたかを整理し、基本的なツールの操作に慣れておくことが重要である。また、接続時に発生したエラーやトラブルがあった場合は、その原因と対処法を復習し、今後同様の場面で対応できるようにしておくこと。今回の接続演習が、今後のSQL演習の前提となるため、接続に関する基礎操作を確実に身につけておくことが求められる。 【予習】第12回の講義では、リレーショナルデータベースを操作するための基本言語であるSQLのうち、特に「SELECT文」の使い方を中心に学ぶ予定である。予習としては、SELECT文がどのような目的で使用するか、どのような基本構文で記述するかを事前に確認しておくことが望ましい。具体的には、SELECT ~ FROM ~ の基本形から始まり、ORDER BY句による並び替え、ASによる列名の別名設定など、初歩的な文法を理解しておくとよい。また、SELECT文の中で使用する算術演算子(+、-、*、/)がどのように機能するかも簡単に調べておくこと。予備知識があることで、授業内での演習がよりスムーズに進むとともに、データ抽出の実践的なスキルの習得に役立つ。さらに、データベースにおける「検索」という操作の意味や重要性についても、自分なりに考えておくことが望ましい。
|
|
12
|
リレーショナルデータの操作言語(【データベース操作】【基礎】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第12回の授業では、「リレーショナルデータの操作言語」をテーマに、SQLの中でも特にデータの取得を行う基本構文であるSELECT文を中心に扱う。これまでに学習してきたリレーショナルデータモデルやテーブル構造に基づいて、どのようにデータを抽出し、必要な情報を取り出すかという操作の基本を学ぶことになる。あわせて、リレーショナルデータ操作言語が果たす役割や、SELECT文の基本文法、記述におけるガイドラインについても整理し、正確で読みやすいSQLを書くための基礎力を養う。また、算術演算子を用いた数値の計算処理についても理解を深めることで、単純なデータの表示にとどまらない応用的な使い方への足掛かりを得る。本授業の目的は、データベースに格納された情報を的確に取得・処理するためのSQLの基本構文と操作ルールを理解し、以降の演習や応用的な活用につなげる基礎を築くことである。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、51-76頁
|
|
コマ主題細目
|
① リレーショナルデータ操作言語の役割 ② SELECT文のガイドライン ③ SELECT文の機能と文法 ④ 算術演算子 ⑤ 並び替え
|
|
細目レベル
|
① リレーショナルデータ操作言語(DML:Data Manipulation Language)は、リレーショナルデータベースにおいて、データの検索・追加・更新・削除などの操作を行うための言語である。中でもSQL(Structured Query Language)は最も広く使用されており、リレーショナルモデルにおけるデータの操作を標準的な文法で記述できる点が特徴である。SQLは、ユーザーが複雑な手続的処理を書くことなく、「何をしたいか」を宣言的に記述できる構文体系を持っている。これにより、データベース管理システムが自動的に最適な処理手順を判断し、効率よく実行することが可能となる。また、SQLの基本構文を理解することは、データの有効活用、業務の効率化、意思決定支援の観点からも不可欠であり、データベースを用いた情報システムの利用における中核的なスキルとなる。このコマ主題細目では、リレーショナルデータ操作言語の意義と位置づけを理解することが必要である。
|
② SELECT文は、SQLにおける最も基本的かつ重要な文であり、データベースから必要な情報を抽出するために使用する。基本構文は SELECT 列名 FROM テーブル名 で構成され、必要に応じて WHERE、ORDER BY、GROUP BY などの句を追加して柔軟な検索を行うことができる。SELECT文を記述する際には、読みやすさと保守性を意識したスタイルが求められる。たとえば、SQLキーワードは大文字で書き、テーブル名や列名は適切な命名規則に基づいて記述することが望ましい。また、特定の列だけを指定することで、不要なデータの読み取りを避け、パフォーマンスの向上にもつながる。さらに、実務においてはセキュリティの観点から、SELECT文の使用範囲やアクセス権の管理にも注意を払う必要がある。このガイドラインでは、初学者が混乱しやすいポイントを整理し、正確かつ効率的なSQL文の記述を目指すための基礎的な知識を身につける。このコマ主題細目では、SELECT文ガイドラインを通して、SQL文の記述の基礎的な知識を身につけることが必要である。
|
③ SELECT文は、データベースに格納されたデータを任意の条件で抽出・整形するためのSQL文であり、その機能は単なる検索にとどまらず、条件付き抽出、並び替え、集約、重複排除、別名指定など多岐にわたる。文法の基本形は SELECT [列名] FROM [テーブル名] であるが、DISTINCT句による重複排除、AS句による列名の別名設定、複数列の指定、定数や文字列の出力など、初歩的な工夫によって出力形式を柔軟に制御できる。また、複数のテーブルを結合するためのJOINや、集約関数(例:COUNT, SUM, AVG)を用いた分析的な利用にも対応している。SELECT文は構文がシンプルである一方で、奥深い機能を備えており、目的に応じて構文を適切に使い分けることが求められる。このコマ主題細目では、SELECT文の持つ基本的な機能を理解することが必要で、DISTINCT句やAS句の使い方を理解することが目標である。
|
④ SQLにおける算術演算子は、数値データに対して四則演算を行うために使用する演算記号であり、+(加算)、-(減算)、*(乗算)、/(除算)が代表的である。SELECT文内で算術演算子を用いることで、列の値に対する計算処理を直接行い、その結果を表示することができる。たとえば、SELECT 商品名, 価格 * 数量 AS 合計金額 FROM 注文; のように、計算結果に別名をつけて表示させることが可能である。これにより、データベース内の生データをもとに、単価と数量の掛け算や差分の算出といった簡易的な集計処理を実現できる。ただし、演算対象となるデータ型の確認や、ゼロ除算などのエラーに対する注意も必要である。算術演算子の活用は、より柔軟で実践的な検索結果の生成を可能にするため、SQLの初歩段階において習得しておくべき重要な要素の一つである。このコマ主題細目では、算術演算子の基本的な使い方を理解することが必要である。
|
⑤ 並び替え(ソート)は、SQLにおいて取得したデータを特定の列の値に基づいて昇順(ASC)または降順(DESC)に整列するために使用する機能であり、ORDER BY句を用いて指定する。たとえば、SELECT 氏名, 成績 FROM 学生 ORDER BY 成績 DESC; のように記述することで、成績の高い順に学生の一覧を表示させることができる。ORDER BY句はSELECT文の最後に記述され、複数の列に対して順序を指定することも可能である(例:ORDER BY 学年 ASC, 氏名 DESC)。このように、並び替えはデータの閲覧性や分析の効率性を向上させる上で重要な役割を果たす。また、データ型によって並び順の解釈が異なるため、文字列・数値・日付の型ごとの挙動を理解しておくことが望ましい。さらに、NULL値の並び順についても環境や設定によって扱いが異なるため、実際の出力結果を通じて確認する必要がある。ORDER BY句は、データの意味を視覚的に伝える手段として非常に有効であり、実務においても不可欠なSQL機能の一つである。
|
|
キーワード
|
① リレーショナルデータ操作言語 ② SQL ③ SELECT ④ 算術演算子 ⑤ ORDER BY
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第12回の講義で学んだ「リレーショナルデータ操作言語の役割」、「SELECT文のガイドライン」、「SELECT文の機能と文法」、「算術演算子」について、講義資料や演習内容を参考にしながら、自分の言葉で整理しておくこと。特に、SELECT文の基本構文(SELECT〜FROM〜)を正確に書けるようにし、どのような目的で使うのか、どのような構文要素があるのかを把握しておくことが重要である。加えて、列の指定方法、別名の付け方、数値の加減乗除などの算術演算子を用いた表現について、実際の例を交えて説明できるようにしておくと、次回の演習にスムーズに移行できる。SQLは構文ミスが実行エラーに直結するため、細かい書式やルールにも注意を向けておくことが求められる。 【予習】第13回の講義では、SELECT文の基礎的な記述方法に関する演習を中心に行うため、簡単なSQL文を実行するための準備をしておくことが望ましい。特に、列の抽出、算術演算の適用、結果の並び替えといった基本操作が、どのような構文で実現できるるのかを事前に確認しておくとよい。また、実行対象となるテーブルの構造(列名やデータ型など)をあらかじめ理解しておくことで、演習中の混乱を避けることができる。SELECT 列名 FROM テーブル名; のような基本形を確実に身につけ、必要に応じて AS で別名を付ける方法や、ORDER BY による並び替えの指定方法なども簡単に調べておくことが有効である。あわせて、演習中に使用するA5:SQL Mk-2などのツール操作にも慣れておくと、より実践的な理解が深まる。
|
|
13
|
SQLによるデータ検索演習(【データベース操作】【演習】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第13回の授業では、「SQLによるデータ検索演習」をテーマに、前回の講義で学習したSELECT文の基本文法を実際に操作しながら身につけることを目的とする。これまで学んできたリレーショナルモデルやテーブル構造の理解を基に、実際のデータベース環境でSQLを使ってデータを検索し、その結果を確認する実践的な演習を行う。本授業では、SELECT文の基本的な実行方法から始まり、特定の列を選んで表示する「列の指定」、列同士または列と定数の演算を行う「算術演算子」の利用、さらに結果を指定した列で昇順・降順に並び替える「ORDER BY」句の使用方法について演習を通じて理解を深める。これらの操作は、今後より高度なSQL機能(条件付き検索、集計、結合など)を習得するための前提となるものであり、本授業は理論と実践を結びつける最初の重要なステップである。今回の授業の目的は、SQLの基本操作に自信を持って取り組めるようになることであり、以降の応用的な演習へとつなげる実践力の基礎を築くことである。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、131-142頁
|
|
コマ主題細目
|
① SELECT文の実行演習 ② 列の指定演習 ③ 算術演算子演習 ④ 並び替え演習
|
|
細目レベル
|
① SELECT文の実行演習では、SQLにおける最も基本的な命令文であるSELECT文を実際に記述・実行し、データベースからの情報取得を体験的に学習する。SELECT文は、テーブルに格納されたデータの中から必要な情報を検索・抽出するために使用され、基本構文は SELECT 列名 FROM テーブル名; である。演習では、まず特定の列を指定してデータを取得する基本的な書き方に慣れ、その後、複数の列を同時に抽出する方法や、ワイルドカード(*)を用いた全列の取得方法などを試す。加えて、SQLの記述においては大文字・小文字の使い方やセミコロンの付け忘れなど、構文ミスによる実行エラーも起こりやすいため、注意深く文法を確認しながら操作する姿勢が求められる。演習を通じて、SQLの基本的な文法とその動作結果を関連付けて理解することが、今後のより高度なデータ操作につながる基礎となる。このコマ主題細目では、SELECT文の基本的な使い方を理解することが必要である。
|
② 列の指定演習では、SELECT文を用いてデータベース内のテーブルから特定の列を指定してデータを抽出する方法を習得する。実際のテーブルには多数の列が存在することが多く、必要な情報だけを効率よく取得するには、明確に列名を指定することが重要である。たとえば、SELECT 氏名, 年齢 FROM 学生; のように、カンマ区切りで複数列を指定することで、必要な情報だけを抜き出すことが可能となる。演習では、特定の列を選んで取得する基本操作に加え、列に別名(エイリアス)を付けるAS句の使用方法も扱う。これにより、出力結果の列名をわかりやすく表示でき、実務的な可読性の向上につながる。また、列の順序が結果にどう影響するか、指定しなかった列が出力に含まれないことなど、列指定の基本的なルールや実行結果との関係性を正確に理解することが、この演習の目的である。このコマ主題細目では、列の指定方法を理解することが必要であり、AS句の使用方法を理解することが目標である。
|
③ 算術演算子演習では、SELECT文内で加算(+)、減算(-)、乗算(*)、除算(/)といった算術演算子を用いて、テーブル内の数値データに対する基本的な計算処理を行う方法を学ぶ。たとえば、商品価格と数量から合計金額を算出するような場面では、SELECT 商品名, 単価 * 数量 AS 合計金額 FROM 注文; のようなSQL文が使われる。演習では、単一列同士の演算だけでなく、定数との演算や複数の演算子を組み合わせた計算、結果への別名指定なども取り扱う。また、演算結果に小数が含まれる場合の挙動や、データ型による結果の違いにも注意を向ける必要がある。ゼロ除算やNULL値が含まれる演算結果への理解も深めることで、算術演算を安全かつ正確に行うための基礎的な知識が身につく。この演習を通じて、SQLを使った簡易的な集計や演算処理の基礎を習得することができる。このコマ主題細目では、算術演算子の使用方法を理解することが必要である。
|
④ 並び替え演習では、SELECT文にORDER BY句を追加して、取得したデータを指定した列の値に基づいて昇順(ASC)または降順(DESC)に並べ替える方法を学習する。たとえば、SELECT 氏名, 成績 FROM 学生 ORDER BY 成績 DESC; のように記述することで、成績の高い順にデータを表示させることができる。演習では、文字列、数値、日付といった異なるデータ型による並び替えの違いや、複数列でのソート指定(例:成績の降順+氏名の昇順)にも取り組む。また、明示的にASCを省略した場合のデフォルト動作、NULLを含む値の並び順の取り扱いについても確認する。並び替えは、データ分析や帳票出力において頻繁に使用する機能であり、目的に応じて見やすく整理された出力を得るために欠かせない操作である。本演習では、基本構文を正確に理解し、実際のデータに対して柔軟に並び替えを適用できる力を養う。このコマ主題細目では、ORDER BYの使用方法を理解することが目標である。
|
|
キーワード
|
① SQL ② SELECT ③ AS ④ 算術演算子 ⑤ ORDER BY
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第13回の講義では、SELECT文の基本的な使い方を中心に、実際のデータベースを操作しながら「列の指定」、「算術演算子の利用」、「並び替え」の各演習を行った。これらの内容について、講義資料や演習結果を振り返りながら、基本構文を正確に記述できるように整理しておくこと。特に、SELECT文の基本構文(SELECT 列名 FROM テーブル名;)に加え、列の別名指定(AS)、数値の計算(価格 * 数量 など)、ORDER BYによる並び替え(昇順・降順)の文法を復習しておくとよい。さらに、実行結果とSQL文との関係を意識しながら、「なぜその出力が得られるのか」を自分なりに説明できるようにしておくと、次回のより複雑な条件付き検索の理解が深まりやすくなる。 【予習】第14回の講義では、SELECT文における「WHERE句」を用いた行の選択について学ぶため、事前にWHERE句の役割と基本的な書き方を調べておくことが望ましい。WHERE句は、指定した条件に合致する行だけを抽出するために使用され、SQLの中でも非常に使用頻度が高い構文である。あわせて、比較演算子(=, <>, >, <, >=, <=)や論理演算子(AND, OR, NOT)などの基本的な意味と使用例を確認しておくとよい。さらに、文字列に対する検索に用いられるLIKE演算子やワイルドカード(%や_)の動きについても軽く目を通しておくと、講義中の理解が深まる。SQL文の意味と結果を結び付けることができるよう、演習を見据えて簡単な例文を実際に書いてみることも有効である。
|
|
14
|
SQLによるデータ選択(【データベース操作】【基礎】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第14回の授業では、「SQLによるデータ選択」をテーマに、前回までに学んだSELECT文の基本操作をさらに発展させ、WHERE句を用いた条件付き検索を中心に取り扱う。WHERE句は、データベースに格納されたデータの中から、特定の条件に一致する行のみを抽出するための基本的な構文であり、データ操作において不可欠なものである。本授業では、WHERE句の構文を正確に理解し、比較演算子や論理演算子を用いた複雑な条件式の記述、さらにLIKE句による文字列の部分一致検索といった応用的な検索方法までを扱う予定である。これらの内容は、日常的な業務におけるデータ抽出や分析に直結するものであり、SQLによる柔軟な検索スキルを身につけるうえで重要な位置を占める。本授業の目的は、条件を用いたデータ選択を正しく実行する力を養い、今後の集約処理や結合操作といった高度なSQL操作への橋渡しとなる基礎を確実に固めることである。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、51-68, 138頁
|
|
コマ主題細目
|
① WHERE句による行の抽出 ② 比較演算子と論理演算子 ③ 文字列の検索
|
|
細目レベル
|
① WHERE句による行の抽出は、リレーショナルデータベースにおいて、SELECT文と組み合わせて特定の条件に一致する行だけを取り出すために用いる。これにより、必要なデータのみを絞り込んで取得することが可能となり、データ分析や業務処理において非常に重要な役割を果たす。構文は基本的に SELECT 列名 FROM テーブル名 WHERE 条件; の形で記述し、条件には数値や文字列、日付などの値を指定することができる。たとえば、「価格が1000円以上の商品を抽出する」場合は WHERE 価格 >= 1000 と記述する。WHERE句を使うことで、全データからの抽出ではなく、意味のある部分集合に注目して処理できるため、実務におけるデータ利用の基盤となる。正確に抽出するには、データ型や演算の仕様に関する理解も欠かせない。WHERE句はSQLにおける条件指定の中核であり、以降の高度な検索機能(結合、サブクエリ、集約関数との組み合わせなど)を学ぶ際の基礎となる操作である。このコマ主題細目では、WHERE句の使用方法を理解することが必要である。
|
② 比較演算子と論理演算子は、WHERE句において条件を指定する際に使用する重要な要素である。比較演算子は、ある列の値が特定の条件に一致するかどうかを判定するために使い、=(等しい)、<>(等しくない)、<(より小さい)、>(より大きい)、<=(以下)、>=(以上)などがある。これらを用いることで、単純な条件に基づくデータ抽出が可能となる。一方、論理演算子は複数の条件を組み合わせてより複雑な条件式を構築するために用い、代表的なものに AND(かつ)、OR(または)、NOT(否定)がある。たとえば、「価格が1000円以上かつ在庫が10個以上」のような条件は、WHERE 価格 >= 1000 AND 在庫 >= 10 と記述する。論理演算子を使用することで、柔軟かつ実践的なデータの抽出が可能となるが、演算の優先順位や括弧を用いたグルーピングにも注意を払う必要がある。これらの演算子は、SQLの条件指定において不可欠な存在であり、データの絞り込み精度を高めるために欠かせない知識である。このコマ主題細目では、比較演算子の基本的な使用方法を理解することが必要であり、論理演算子の基本的な使用方法を理解するのが目標である。
|
③ 文字列の検索は、テーブル内の文字型データに対して部分一致やパターンマッチを行うために用いる技術であり、WHERE句とLIKE演算子を併用して記述するのが一般的である。たとえば、「名前に‘山’という文字が含まれるデータを抽出したい」という場合、WHERE 氏名 LIKE '%山%' のように記述する。ここで % は任意の文字列を表すワイルドカードであり、前方一致('山%')、後方一致('%山')、完全一致('山')など、検索の柔軟性を高められる。また、_ を用いることで、任意の1文字を表現することも可能である(例:'山_郎')。文字列検索は、あいまいな条件によるデータ抽出や、ユーザーによる入力値との比較、部分的なキーワード検索など、多様な場面で活用する機能である。ただし、文字列の大文字・小文字の扱いや、全角・半角の違い、さらには言語や照合順序(collation)の影響にも注意を払う必要がある。文字列の検索機能は、ユーザーの直感的な条件指定をデータベースが処理するうえで欠かせない要素であり、実践的なデータ活用能力を高めるうえで重要な位置を占める。このコマ主題細目では、文字列の基本的な検索方法を理解することが必要であり、文字列の詳細な検索方法を理解するのが目標である。
|
|
キーワード
|
① WHERE ② 比較演算子 ③ 論理演算子 ④ 文字列検索 ⑤ LIKE演算子
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第14回の講義では、SELECT文にWHERE句を組み合わせることで、特定の条件を満たす行のみを抽出する方法を学んだ。復習課題としては、WHERE句の基本的な構文とその役割を整理し、比較演算子(=、<、>、<=、>=、<>)や論理演算子(AND、OR、NOT)の使い方を正確に説明できるようにしておく。加えて、文字列検索に用いるLIKE演算子の使い方や、ワイルドカード(%や_)の意味についても確認しておくこと。特に、複数の条件を組み合わせた場合の優先順位や、括弧によるグルーピングの必要性についても理解を深めておくと、実践的な演習にスムーズに臨むことができる。演習中に使用したSQL文の実行結果を見直しながら、条件がどのようにデータの抽出に影響を与えるか、自分なりに説明できるようにしておくとよい。 【予習】第15回の講義では、これまで学んだWHERE句による行の抽出や、比較演算子・論理演算子・文字列検索の理解を実際にSQL文として記述・実行する演習を行う。予習としては、前回の講義内容をもとに、自分で簡単なSQL文をいくつか作成し、異なる条件設定による結果の違いを予測する練習をしておくことが望ましい。また、条件式を組み合わせた複雑なWHERE句や、LIKE句を用いた検索の例を数パターン用意してみると、演習中の応用力が高まる。あわせて、使用予定のテーブル構造(列名やデータ型など)を事前に確認しておくことで、講義中に効率よくSQLを記述できる。SQLの文法を覚えるだけでなく、「どのような情報を引き出したいのか」を意識した検索の設計力を意識することが重要である。
|
|
15
|
SQLによるデータ選択演習(【データベース操作】【演習】)
|
科目の中での位置付け
|
この科目では、データベース技術を体系的に学び、基本概念から実践的な応用までを深く理解することを目的とする。全15回の講義では、データの基本概念から始まり、データモデリング、リレーショナルデータモデル、データベース設計、データの保全、データベース操作言語、さらには最新のビッグデータやNoSQL技術に至るまで幅広く学ぶ構成である。 第15回の授業では、「SQLによるデータ選択演習」をテーマに、前回までに学習したWHERE句、比較演算子、論理演算子、LIKE演算子を用いたデータの抽出技術について、演習形式で総復習を行う。具体的には、特定の条件を満たす行のみを抽出するSELECT文の記述、複数条件をAND/ORで組み合わせる構文の理解、そして文字列パターンに基づいた柔軟な検索の実践を通じて、SQLによるデータ抽出スキルを強化する。この授業の目的は、SQL文の文法を理解するだけでなく、与えられた課題に対して自ら適切な検索条件を設計し、正しい結果を導ける応用力を身につけることである。全体の学習の締めくくりとして、実用的なSQL活用能力を自信をもって行使できる段階に到達することを目指す。
|
・増永 良文『リレーショナルデータベース入門[第3版]』、サイエンス社、2023年、51-68, 138頁
|
|
コマ主題細目
|
① 行の抽出演習 ② 比較演算子と論理演算子演習 ③ 文字列の検索演習
|
|
細目レベル
|
① 行の抽出演習では、SELECT文にWHERE句を組み合わせることで、指定した条件に一致する行のみをデータベースから抽出する方法を実際に体験しながら習得する。この演習では、まず単純な条件式(例:WHERE 年齢 > 20)を用いて検索し、出力結果をどのように絞り込めるかを確認する。次に、条件式を複数組み合わせた抽出(例:WHERE 学年 = 3 AND 成績 >= 80)に取り組み、実際の業務や分析に近い形でのデータ選択を行う練習を行う。WHERE句はSQLにおける行の制御を行う中核的な構文であり、演習では条件の設定方法だけでなく、実行結果との対応関係を意識しながら操作を進める必要がある。また、誤った条件によって意図しない結果が返る例も確認し、条件式の意味を論理的に検証する力を養うことが求められる。演習を通して、単なる構文理解にとどまらず、実用的なデータフィルタリング技術の基盤を築くことを目指す。このコマ主題細目では、WHERE句の使用方法を理解することが必要である。
|
② 比較演算子と論理演算子演習では、WHERE句において使用する基本的な演算子の実践的な活用方法を学ぶ。比較演算子には=, <>, <, >, <=, >=があり、数値や文字列などの値に対する条件判定に用いる。論理演算子にはAND, OR, NOTがあり、複数の条件を組み合わせる際に不可欠な構文である。演習では、たとえば「価格が1000円以上かつ在庫が10個未満」のような複合条件を記述し、その結果がどのように変化するかを確認する。また、論理演算子の優先順位に注意しながら、括弧を用いた条件のグルーピング(例:WHERE (価格 >= 1000 OR 割引率 > 20) AND 在庫 > 0)についても演習に取り入れる。これらの演習を通じて、条件式の構造とその意味を正しく把握し、実用的な検索クエリを設計する力を養う。比較・論理演算子は、単純な抽出から一歩進んだデータ活用のための要であり、これを正確に扱えるかどうかが、SQL活用の実力を左右する。このコマ主題細目では、比較演算子の基本的な使用方法を理解することが必要であり、論理演算子の基本的な使用方法を理解するのが目標である。
|
③ 文字列の検索演習では、LIKE句とワイルドカード(%および_)を活用し、文字列データに対する柔軟な検索手法を習得する。演習では、「氏名に『田』を含む」「商品名が『カメラ』で終わる」「2文字目が『山』の単語」など、実務に即した検索条件を設定し、SQL文を構築・実行する練習を行う。たとえば、WHERE 氏名 LIKE '%田%'は任意の位置に「田」を含む行を抽出し、LIKE 'カメラ%'は「カメラ」で始まる行を、LIKE '_山%'は2文字目が「山」である行を抽出する。これにより、完全一致ではなく、部分一致やパターンマッチによる検索の便利さとその有効性を体感できる。また、文字列検索においては大文字・小文字の区別や全角・半角の違い、照合順序(collation)による影響にも注意を払う必要がある。演習を通して、ユーザーのあいまいな要求や部分的なキーワードに基づいて情報を取得する技術を身につけ、実際のデータベース操作における応用力を高める。このコマ主題細目では、文字列の基本的な検索方法を理解することが必要であり、文字列の詳細な検索方法を理解するのが目標である。
|
|
キーワード
|
① WHERE ② 比較演算子 ③ 論理演算子 ④ 文字列検索 ⑤ LIKE演算子
|
|
コマの展開方法
|
社会人講師
AL
ICT
PowerPoint・Keynote
教科書
コマ用オリジナル配布資料
コマ用プリント配布資料
その他
該当なし
|
|
小テスト
|
「小テスト」については、毎回の授業時間内に、LMS上において当該コマの小テスト(難易度表示付き)を実施します。
|
|
復習・予習課題
|
【復習】第15回の講義では、これまでに学習してきたSQLの基本構文を用いた「行の抽出演習」、「比較演算子と論理演算子演習」、「文字列の検索演習」を実施した。復習課題としては、WHERE句を用いた条件指定の構文とその適用例を正確に理解し、条件による抽出結果を予測できるようにしておくことが重要である。また、比較演算子(=、<、>など)や論理演算子(AND、OR、NOT)の使い分け、さらにLIKE演算子による文字列検索(前方一致、後方一致、部分一致)のパターンも演習内容を通して整理し、文法を誤りなく記述できることを確認しておくこと。これらの内容は、SQLの基本スキルとして今後どのような応用においても必要となるものであるため、講義資料や演習結果をもとに再確認し、実行結果とSQL文の対応関係を正しく理解しておくことが求められる。 【予習】次回は期末テストであるため、これまでの全15回の講義内容を総合的に整理し、自身の理解度を確認することが必要である。特に、初回から第15回までに扱ったトピック(データの定義、データベースの構造、リレーショナルモデル、ER図、正規化、SQL文の基本構文と応用)を振り返り、各回のポイントを簡潔に説明できるように準備しておくこと。加えて、SELECT文を中心としたSQL操作に関する出題が予想されるため、基本構文や演算子の使い方、抽出条件の設定方法、並び替え、計算処理、文字列検索などの文法を実際に自分で書いて試し、正確に理解できているかを確認しておくとよい。必要に応じてChatGPTで演習課題を作成して解くことで、理解の甘い箇所を補強しておくことが望ましい。
|