データベース
【概要】
本ページは、データベース技術を体系的に学ぶための学習資料集である。初学者から実務者まで幅広く対応している。情報工学を学ぶ学生およびデータベース技術を習得したい技術者を対象とし、大学講義や自習に活用できる構成となっている。
主要コンテンツ
- リレーショナルデータベースの基礎理論(リレーショナルモデル、SQL、正規化、トランザクション管理)
- 主要DBMS(SQLite 3、PostgreSQL、MySQL、Microsoft Access)の実践的操作方法
- NoSQLデータベース(Redis、Google Firebase)とマルチメディアデータベース
- データ分析・オープンデータ活用の応用技術
資料形式
- スライド資料(PDF、パワーポイント)
- YouTube動画による解説
- 演習問題と実装例
公開資料は クリエイティブコモンズ 表示-非営利-継承 4.0 国際ライセンス(CC BY-NC-SA 4.0) で提供しており、事前の許可なく自由に利用できる。条件は著作者表示(BY)、非営利目的のみ(NC)、同一ライセンスでの再配布(SA)である。
1. リレーショナルデータベースの読み物・用語集
詳細リスト: リレーショナルデータベースの読み物・用語集
[詳細リストを展開するには、ここをクリック]
1.(1) リレーショナルデータベースの読み物
- SQL 問い合わせ(Python, pandas, DuckDB を使用
- データベースとWebアプリケーション開発の基礎
- リレーショナルデータベースの基本まとめ [PDF], [パワーポイント], YouTube 動画, [音声], [説明文テキストファイル]
- 関係代数,関係論理,SQL [PDF],[パワーポイント], [HTML]
1.(2) データベース用語集
- データベース用語集
【概要】データベースの基礎から応用までを体系的に整理した約200項目の技術用語集である.
1.(3) リレーショナルデータベースとPython体験
- リレーショナルデータベースの応用とその価値
【概要】 リレーショナルデータベースとPythonを連携し、為替・時系列・地理空間データを分析する手法を解説する。
2. データベース授業
詳細リスト: データベース授業
[詳細リストを展開するには、ここをクリック]
2.(1) データベース入門(授業資料)
【概要】 本授業は、データベースの基礎概念から実践的なアプリケーション開発、さらにNoSQL技術までを体系的に学習する全15回の演習科目である。SQLFiddleやMicrosoft Accessを演習環境として使用し、各回で理論説明と実践演習を組み合わせた構成となっている。
- ds-1. データベースの基本: データベースの定義と用途,データベースシステムの特徴、情報とデータの違い [PDF], [パワーポイント]
- ds-2. SQL の基本: SQL の役割、テーブルと属性、テーブル定義、問い合わせ(クエリ) [PDF], [パワーポイント]
- ds-3. データベース設計と正規化: データベース設計の留意点とメリット、異状、正規化の基本概念、正規化の手法 [PDF], [パワーポイント]
- ds-4. SQL入門:SQLFiddleを活用したデータベース操作の基礎と応用 [PDF], [パワーポイント]
- ds-5. SQL基礎:SELECT文による効率的なデータ検索と操作の基本 [PDF], [パワーポイント]
- ds-6. テーブル結合とSQLによるデータ統合 [PDF], [パワーポイント]
- ds-7. SQLによるデータ分析:GROUP BYを用いたグループ化と集約 [PDF], [パワーポイント]
- ds-8. 並べ替え(ソート)[PDF], [パワーポイント]
- ds-9. SQLにおける副問い合わせと論理演算子(AND, OR)の基礎 [PDF], [パワーポイント]
- ds-10. データベース設計の基礎:主キー・外部キーを用いたテーブル間の関連付けとSQL実践 [PDF], [パワーポイント]
- ds-11. データベース操作とトランザクション管理:データ整合性と永続性 [PDF], [パワーポイント]
- ds-12. 中間まとめ:効率的なデータ管理と分析の実践 [PDF], [パワーポイント]
- ds-13. データ管理の基礎:オンライントランザクションとデータウェアハウスの特徴と活用 [PDF], [パワーポイント]
- ds-14. データベース設計演習,正規化 [PDF], [パワーポイント]
- ds-15. 関数従属性 [PDF], [パワーポイント]
- ds-16. インデックス,セキュリティ,データベースの歴史と展望,データベースのバリエーション [PDF], [パワーポイント]
2.(2) リレーショナルデータベースとMicrosoft Accessの基礎:SQLによるデータ管理と分析の実践(授業資料)
目次:リレーショナルデータベースとMicrosoft Accessの基礎:SQLによるデータ管理と分析の実践(授業資料)
【概要】 リレーショナルデータベースシステムはテーブル形式でデータを保存し,SQL言語を用いて検索・加工を行う.Microsoft Accessは,SQLの機能と,データベースを視覚的に操作できるツールを提供している.SQLは,CREATE TABLEによるテーブル定義,SELECT・FROM・WHEREによる問い合わせ(クエリ)などの機能がある.実際のデータ操作では,INNER JOINを用いたテーブル結合,GROUP BY句と集約関数を組み合わせた分析が重要である.また,正規化により,データの冗長性を減らし,整合性を向上させることができる.以上とその他リレーショナルデータベースの全般を16回のスライド資料と演習で学ぶ.
- de-1. Microsoft Access の起動と終了,画面の説明,基本操作 [PDF], [パワーポイント], [HTML]
- de-2. Microsoft Accessを用いたデータベース操作入門:SQLとビジュアルインターフェースの活用 [PDF], [パワーポイント], [HTML]
- de-3. Microsoft Accessを用いたデータベース操作入門(2):SQLの基礎から実践まで [PDF], [パワーポイント], [HTML]
- de-4. リレーショナルデータベースとMicrosoft Accessの基礎 - データの効率的な管理と検索 [PDF], [パワーポイント], [HTML]
- de-5. SQL基礎:テーブル定義と問い合わせ(クエリ)(AccessによるSELECT文の実践的理解) [PDF], [パワーポイント], [HTML]
- de-6. テーブル結合とSQLによるデータ統合 [PDF], [パワーポイント], [HTML]
- de-7. SQLによるデータ分析:GROUP BYを用いたグループ化と集約 [PDF], [パワーポイント], [HTML]
- de-8. SQLにおける副問い合わせと論理演算子(AND, OR)の基礎 [PDF], [パワーポイント], [HTML]
- de-9. 並べ替え(ソート) [PDF], [パワーポイント], [HTML]
- de-10. データベース設計の基礎:主キー・外部キーを用いたテーブル間の関連付けとSQL実践 [PDF], [パワーポイント], [HTML]
- de-11. データベース操作:INSERT、UPDATE、DELETE [PDF], [パワーポイント], [HTML]
- de-12. 中間まとめ [PDF], [パワーポイント], [HTML]
- de-13. データ管理の基礎:オンライントランザクションとデータウェアハウスの特徴と活用 [PDF], [パワーポイント], [HTML]
- de-14. データベース設計演習,正規化 [PDF], [パワーポイント], [HTML]
- de-15. Microsoft Access のビジュアルなツール [PDF], [パワーポイント], [HTML]
- de-16. リレーショナルデータベース活用演習 [PDF], [パワーポイント], [HTML]
2.(3) SQLite 3 入門(スライド資料と動画とプログラム例)(全3回)
目次:SQLite 3 入門(スライド資料と動画とプログラム例)(全3回)
- si-1. SQLite 3 のインストールと基本操作 [PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=9lIiTxGLOWw
- si-2. テーブル定義,データ型,主キー,SQL 問い合わせ [PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=ceu-KO9GG4k
- si-3. SQL による結合 [PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=1dOwQpszOtk
動画再生リスト: https://www.youtube.com/playlist?list=PLwoDcGBEg9WEzEjlsg8Dn148xXpwi3WLJ
2.(4) Access 入門(スライド資料6回)
【概要】
下のすべてのファイルをまとめたもの:[PDF ファイル],[パワーポイントファイル]
動画再生リスト: https://www.youtube.com/playlist?list=PLwoDcGBEg9WGrNJj3iBrbPQFqjKxXX8RM
- qd-1. 全体説明[PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=C9W3hv0ideI
- qd-2. テーブル定義[PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=ZN6hyeF71dc
- qd-3. フォーム,レポート[PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=H3Jh56e0bGY
- qd-4. SQL 問い合わせ[PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=963tyIEDnsc
- qd-5. テーブルのリレーションシップ[PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=zYWNDez7kBQ
- qd-6. クエリのデザインビュー[PDF], [パワーポイント], [HTML]
YouTube 動画: https://www.youtube.com/watch?v=Fb_SW6iImBw
- Microsoft Access の SQL 問い合わせ(クエリ)と Excel との連携 [PDF], [ワード], [HTML]
2.(5) マルチメディアデータベース序論(全6回)
- マルチメディアデータベース序論 [PDF], [パワーポイント], [HTML]
- 画像データベース [PDF], [パワーポイント], [HTML]
- マルチメディアデータベースのインデックス [PDF], [パワーポイント], [HTML]
- 画像の内容検索 [PDF], [パワーポイント], [HTML]
- ビデオデータベース [PDF], [パワーポイント], [HTML]
- テキストデータベース [PDF], [パワーポイント], [HTML]
2.(6) リレーショナルデータベースの種々の概念と実装技術の探究(資料全11回)
目次: リレーショナルデータベースの種々の概念と実装技術の探究(資料全11回)
【概要】 リレーショナルデータベースは複数のテーブルで構成され,SQLで操作する.SELECT文にFROM, WHERE, LIKE, GROUP BY, ORDER BY, NATURAL JOIN, ON などを組み合わせることで柔軟な検索や集計が可能である.トランザクションはBEGIN, COMMIT, ROLLBACKのコマンドを使い,複数のデータベース操作を単一のものとして扱う機能であり,データ整合性を保証する.EXPLAINコマンドで実行計画を確認でき,SQLite3 ではOpenRead, Rewindなどのオペコード(操作コード)がどのように処理されるか分析できる.これらの知識で効率的なデータベース設計と最適化が実現できる.これらの話題とその他を11のページ(それぞれ演習を含む)で学ぶ.
- リレーショナルデータベースの基本概念と応用 [HTML], [PDF], [パワーポイント]
- テーブル定義と一貫性制約
- SQL問い合わせとリレーショナル代数の基礎
- テーブルの結合と分割
- SQL における LIKE, GROUP BY, ORDER BY, HAVING, COUNT
- テーブルの更新とトランザクション
- データベースの物理構造
- SQL の実行計画
- SQLite 3 の SQL 問い合わせ計画
- 二次索引の基礎
- 二次索引の応用
- 埋め込み SQL
2.(7) データベース処理・データ分析・機械学習の演習(資料11回)
3. データベースツール
目次: データベースツール
[詳細リストを展開するには、ここをクリック]
4. SQLite 3 活用ガイド
目次: SQLite 3 活用ガイド
[詳細リストを展開するには、ここをクリック]
4.(1) SQLite 3 の主要機能まとめ
4.(2) インストール(Windows 上)
- SQLite 3 のインストール,データベース作成,テーブル定義(Windows 上)
- SQLite3ツール 操作ガイド・仕様書
- SQLite 3 Analyzer のインストール,データベース情報の表示(Windows 上)
- SQLite biter のインストール(Windows 上)
- LiteCLI のインストール,データベース作成,テーブル定義,レコード挿入,SQL問い合わせ,主なコマンド(Windows 上)
- SQLiteman のインストールと利用(Windows 上)
4.(3) SQLite 3 の活用ガイド
- SQLite でテーブル定義
- CSV ファイルの SQLite 3 へのインポートと SQL 問い合わせ
- SQLite 3 でミリ秒付きの日時を扱う例
- リレーショナルデータベースのテーブルでリストを扱う例(SQLite 3, R を使用)
- SQL の autoincrement(SQLite 3 を使用)
- SQL によるテーブルの関数従属性の確認,分割と結合(SQLite 3 を使用)
- SQLite 3 への CSV ファイルインポートと性能確認手順
4.(4) 日本郵政の「郵便番号データ」を SQLite 3 で使う
5. PostgreSQL 活用ガイド
[詳細リストを展開するには、ここをクリック]
5.(1) PosttgreSQL インストール
5.(2) psql の機能
5.(3) PostgreSQL の活用
- PostgreSQL で,ランダムデータのテーブルを作る
- CSV ファイルの PostgreSQL へのインポートと SQL 問い合わせ(書きかけ)
- PostgreSQL への CSV ファイルインポートと性能確認手順
5.(4) PostgreSQL のツール
- pgAdmin 4 の主要機能 pgAdmin 4 は,PostgreSQL に関する各種操作を,簡単に行えるツール. グラフィカル・ユーザ・インタフェースや,SQL 編集用のエディタがある.
- SSHとポートフォワーディングを利用して、リモートサーバのデータベースをローカルPCのpgAdmin4で操作する
- phpPgAdmin phpPgAdmin は,PostgreSQL に関する各種操作を,Web ブラウザから簡単に行えるツール. グラフィカル・ユーザ・インタフェースや,SQL 編集用のエディタがあるので便利.
5.(5) 応用
6. MySQL 利用ガイド
目次: MySQL 利用ガイド
[詳細リストを展開するには、ここをクリック]
6.(1) MySQL のインストール(Windows 上)
6.(2) MySQL の利用
6.(3) MySQL への ODBC, JDBC 接続
7. Firebird 利用ガイド
目次: Firebird 利用ガイド
[詳細リストを展開するには、ここをクリック]
8. Java DB (Apache Derby) 利用ガイド
- Java DB (Derby) のインストール(Windows 上)
Java DB は,pure JAVA なリレーショナルデータベース管理システム.
9. Apache Spark 利用ガイド
10. Virtuoso 利用ガイド
11. Redis 利用ガイド
目次: Redis 利用ガイド
[詳細リストを展開するには、ここをクリック]
11.(1) Redis のインストール,基本操作
- Redis のインストールと活用ガイド(Windows上)
- Redis のインストールと活用ガイド(Ubuntu上)
- キーバリューデータベースシステム Redis のインストールと基本操作,Python からの使用(ソースコードを使用)(Ubuntu 上)
- Redis 入門と演習(データ構造・キー設計・Python からの操作)
11.(2) Redis の各種ツール
- redis と pickle を使い Python オブジェクトの保存
- Redis のツール Rdbtools を使ってみる(Ubuntu 上)
- Ubuntu で phpRedisAdmin を使ってみる
- redis-rdb のダウンロード
Rdbtools とは、 Redis のデータベースファイル (.rdb) を解析するソフトウェア
phpRedisAdmin は、Redis データベースの管理ソフトウェア。PHP 言語で実装されており、Web サーバと連携して動く
redis-rdb とは、 Redis のデータベースファイル (.rdb) を Ruby で扱えるようにするためのソフトウェア
Key-Value ストアのシステム Redis(動画解説)
- Key-Value ストアのシステム Redis, YouTube 動画: https://www.youtube.com/watch?v=LBvcbMKxDDk
12. Google Firebase 利用ガイド
[詳細リストを展開するには、ここをクリック]
12.(1) Web管理画面の基本操作
- Google Firebase の Cloud Firestore における,プロジェクト作成からコレクションとドキュメントの追加までの詳細手順
- Google Firebase の Cloud Firestore 基本操作ガイド
- Google Firebase のCloud Firestore(クラウド・ファイアストア)でWebアプリのホスティングとデプロイを実施する方法(書きかけ)
- Google Firebase の Realtime Database (リアルタイムデータベース)で Web アプリが動くまで
- firecloud パッケージのインストールと設定
12.(2) Python との連携
- Pythonを使用したGoogle Firebase Cloud Firestoreの実践的な活用方法
- Python で Google Firebase の Realtime Database (リアルタイムデータベース), Google Firebase Storage を使ってみる(pyrebase を使用)
- Pythonで Google Firebase の Realtime Database(リアルタイムデータベース)を効率的に活用する方法(ozgur/python-firebase 使用)
- Pythonとクラウド型データベースでリアルタイムデータ同期を実現:Firebase Cloud Firestoreを活用した差分更新の実装
- Pythonとクラウド型データベースでリアルタイムデータ同期を実現:Firebase Cloud Firestoreを活用した差分更新の実装