独り言

プログラミングの講師をしています。新人研修で扱う技術の解説と個人の技術メモ、技術書の紹介など

SQL

【SQL】SQLで再帰処理を実現する

SQL

with句とunion allを使用することで、SQLで再帰処理を実現することが可能になります。 再帰を用いることで、大量のダミーデータを簡単に作成したり、階層構造になっているデータの取得が簡単に実現できるようになります。 ただしこのこの構文はDBMSによって…

【SQL】ビットマップインデックスの仕組み

SQL

ビットマップインデックスの仕組みについてのメモ。 Qiitaでも同じ記事書いてます。 そもそもインデックスとは ビットマップインデックスの前にそもそもインデックスとは何かについて簡単に説明。 インデックスはざっくりいえばテーブルに対してのSQL(SELEC…

【SQL】家計簿のデータの集計から学ぶSQLの基礎

SQL

家計簿のデータを1年分、月別に集計するSQLを考えたところ、これができたらSQLの基本はほぼマスターしたと言えるのでではないかと思ったので、そんな話。 DBはPostgreSQLを想定。 また、分かりやすさを優先してテーブル名とカラム名は日本語にしています。 …

【書籍】楽々ERDレッスン

この本はDB設計に関する本です。 新人の時に読んだ本ですが、個人的にはこの本を読んで受けた影響はかなり大きいです。 DB設計に関する考え方は非常に参考になりましたし、SQL文の内部の動きや書き方に関する内容は、SQLを使用して開発をする全ての人に知っ…

【SQL】SQL入門(パフォーマンスチューニング編)

SQL

ここではSQLのパフォーマンスチューニングについて解説していきます。 SQLはSELECT文の書き方をある程度覚えてしまえば、やりたいことは大抵実現できます。 しかし、インデックスなどのパフォーマンスに関する知識がないと、データ件数が増えた時に速度が遅…

【SQL】SQL入門(DBの様々な機能編)

SQL

ここでは、テーブル以外のDBで使用されるオブジェクトについて解説します。 RDBでは、テーブルと最低限のインデックスがあればシステムとして成り立ちますが、DBの機能を最大限活用することで、よりプログラミングを効率化したり、メンテナンス性を高めたり…

【SQL】SQL入門(DML編)

SQL

ここではSQLの中でも最も使用頻度の高いDMLについて解説します。 ここからは先のSQL(導入・DBMS概要・DDL)の記事で作成した、ユーザー「testuser」、データベース「testdb」に接続している状態と仮定して学習を進めます。 DDLの個所で作成した「items」テ…

【SQL】SQL入門(導入・DBMS概要・DDL編)

SQL

データベースを操作するための言語であるSQLについて解説していきます。 ここではデータベースの導入からデータベースの概要、SQLの中のDDLについて解説します。 目次 導入 データベース概要 SQLとは DDL 導入 SQLを学習するにはデータベースの環境が必要で…