データベース

データベースという言葉は聞いたことがあると思いますが、 システム設計に必要になることがありますので知っておいてください。この記事ではデータベースとはどういうものか、概要を理解することを目的としています。詳細については別途学習してください。

データベースとは

解説記事で一般的な知識を勉強してください。データベースの大御所である オラクルの解説記事 なんか良いかもしれません。もっと気楽な記事もたくさんあります。ここではキーワードを挙げておきます。

データベース そもそもデータベースとは「データの塊」ですが、狭義にはDBMSのことを指す場合もあります。
DBMS Database Management System はコンピュータ上でデータベースを管理・処理するためのシステムです。
SQL データベースを操作するための言語。

DBMSの製品例としては商用では Oracle Database、SQL Server、Microsoft Access、オープンソースでは MySQL、PostgreSQL、SQLite などが有名です。

SQL

SQLの基本的な命令は理解しておきましょう。

  • データの選択・表示

オプションを追加すると条件に一致するデータだけを抽出したり、並べ替えたりできます。他の命令でも同様です。命令の最後は「;」で終わります。

  • データの追加
  • データの更新・変更
  • データの削除
他にも命令がありますが、DBMSに依存することもありますので、実際に使用するときにはそれぞれのDBMSでの使い方を確認してください。

SQLite 演習

Windows WSL や Mac のターミナルなど Linux 環境があれば簡単に試すことができます。ターミナルで sqlite3 とコマンドを実行して動作しなければインストールしてください。

実際に SQLite を使った例を追いかけてみます。

sqlite3 コマンドを実行すると sqlite のプロンプトが表示されます。ここで実行するコマンドは、「.」で始まるのは sqlite3 に対するコマンド、その他の「;」で終わるのは SQL の命令文です。

データベースをオープンしました。無ければ新たに作成されます。別のターミナルで実行しているディレクトリを観察すると sample.db というファイルが見えるはずです。SQLite の場合はデータベースの実体がこのようにひとつのファイルなので簡単に扱うことができます。

SQL の CREATE 命令でデータベースの中に addressbook というテーブルを作成しました。データの項目は name と address の2つです。テーブルの構造がわからなくなった場合は .schema コマンドで確認できます。

SQL の INSERT 命令でデータを3件作成しました。

addressbook テーブルを対象に、SQL の SELECT 命令でデータを抽出しました。指定した項目だけが表示されます。「*」を指定すると全ての項目が表示されます。

SQL の DELETE 命令でテーブルから1件のデータを削除しました。

SQL の DROP 命令でテーブルを削除できます。

.quit で終了しました。

Python

上の例では sqlite3 コマンドを使って SQLite を直接操作しましたが、このような処理をプログラムで記述すればシステム内でデータベースを使うことができます。Flask/Python で住所録を作る演習の中に Python のプログラムがあるので参考に見てください。

住所録を作る(データベース編)

コメント