本サイトでは、データベースを利用した簡単なWEBアプリケーションを開発します。

  • 最初にデータベースを作ります。WEBでは、数多くの種類のデータベース管理システムがありますが、本サイトでは、小規模なシステムに向いているSQLite(エスキューライト)を利用します。SQLiteは、XAMPPに含まれていますので、インストール作業は不要です。
  • 開発するWEBアプリケーションは、ある団体の会員管理システムです。会員管理システムでは、会員名簿と会員が持っている資格を管理しています。
  • DB Browser for SQLiteを利用して、データベースの定義及び初期データの設定を行います。

データベース管理システム
WEBアプリケーションで利用されるデータベースは、「同時に多くのクライアントから変更要求がある」「変更中にハードやソフトの障害がある」など、厳しい条件でも間違いのない処理が不可欠です。このような要求に対応するためのシステムがデータベース管理システムです。
詳しくは、データベース管理システム をご覧ください。

データベースの構造

SQLiteで取り扱うデータベースは。、テーブル構造になっています。

今回の会員データベースの構造は以下の通りです。

各テーブルは、列(カラム)にデータ項目を設定し、行ごとに1件のデータ(レコード)を表現しています。各セルにデータがあります。

EXCEL で作る名簿と同じです。EXCELでは、1行目に表題を設定しますが、データベースでは不要です。

このテーブルで分かること・・・名簿番号1001の鈴木 一さんの連絡先電話番号は6631-1234 持っている資格は、気象予報士・衛生管理士・管理栄養士です。

カラムの制約

各カラムのデータに制約を与えることができます。

  • 空白・・・認めない(認める)
  • 初期値のセット・・・新規作成時に初期値をセットしません。
  • 重複・・・許可する(許可しない)

プライマリーキー

名簿番号は会員個人に割り当てられた、固有の唯一の番号(重複は不可)で、これをもとに会員個人に関するすべての情報が管理されています。テーブルに一つだけ設定できます。このようなカラムは、プライマリーキーを呼ばれます。

データの形

各カラムにデータの形(整数や文字列・浮動小数点など)が指定できます。SQLiteは格納されるデータで形を自動設定しますので、あまり気にしない(ただし、同じカラムには同一型のデータを入れる)ほうがいいようです。

レコードの追加・読み出し・削除・修正

SQLと呼ばれる言語を使用します。

例 名簿テーブル(meibo)からフリガナ(furigana)に”ア”があるレコードを抜き出す。

SELECT * FROM meibo WHERE furigana="ア";

* 条件に合ったレコードをすべて抜き出すことを指示 このような命令をSQLクエリと呼ばれます。

meibo・・・名簿テーブル名(英数字)  furigana・・・フリガナのカラム名(英数字)

SQLは、WEBアプリケーションで利用される多くのデータベース管理システムで利用されています。

本サイトでは、SQLの詳しい解説はしません。具体的なサンプルの中で必要な説明を行います。

SQLの詳しい解説は、SQLの基本文法 をご覧ください。

SQLiteのデータベースを作る。

SQLiteのデータベースは、テーブルとその中にあるカラム(制約も含めて)を設定する必要があります。多くのSQLiteの解説書では、コマンドラインを使用した例が紹介されています。初心者の方には取りつきにくい方法ですので、本サイトでは、SQLiteManagerを利用して、初心者の方でも簡単に作成できる方法を紹介します。

参考 コマンドラインの利用

xamppをインストールした環境でも、コマンドラインは使用できます。

コマンドラインで実行するためには、SQLiteをインストールする必要があります。

コマンドラインを利用した詳しいテーブル操作は、SQLite入門 をご覧ください。

非表示にする

DB Browser for SQLiteでデータベースを作成する

インストール

ダウンロードして解凍すれば利用できます。(インストールの作業は不要です)

ダウンロードサイトを開く

窓の杜 のサイトを開く DB Browser for SQLiteQLite

お使いのパソコンが64bit版に場合には64bit版をダウンロードします。

対応環境 Windows10がありませんが使用できます。

「窓の社からダウンロード」をクリックするとダウンロードが始まります。

ダウンロードが完了すると、ダウンロードホルダーに次のアイコンがあります。

アイコンをダブルクリックしてください。

ユーザーアカウント制御の画面で[はい」をクリックします。

[次へ]をクリック

[同意する]をクリック

インストール先 標準でOKですから、[次へ]をクリック

標準でOKですから、[インストール]をくりっく

インストールが始まり、しばらくすると完了画面が表示されます。


DB Browser for SQLiteでデータベースを作成する

フォルダHomepageに、フォルダsqlite3を新規作成してください。データベースはこの中に作成します。

作成するデータベース

データベース名・・・会員データ

データベースファイル名・・・kaiin.db (英数字で 拡張子はデータベースをわかるように.dbとしました。

新規データーベースの作成

DB Browser for SQLiteを実行します。(日本語化されていませんが、わかりやすい英語です。)


[New Database]をクリック


ホルダーsqlite3にファイル名kaiin.dbで保存 →

Edit table definition画面で、次の通り設定します。

テーブル名・・・meibo(英数字で)

フィールドの設定

Add fieldをクリックして、4つのフィールド(no,name,kana,tel)を設定します。

  • Name・・・フィールド名
  • Type・・・フィールドのデータ型を指定します。no(名簿番号)は、データベースのプライマリキーです。プライマリキーは、integer(整数)で指定します。その他のカラムはtextr(文字列)に指定します。
  • Not・・・カラムに空白を認めない制約。チェックします。
  • Pk・・・プライマリーキー no(名簿番号)のみ指定します。
  • Al・・・自動更新 指定しません。
  • U・・・ユニーク制約 指定しません。
  • Default・・・指定しません
  • Check・・・指定しません

これでフィールドの設定ができました。「OK」をクリックしてください。

これでテーブルの設定が終わりました。

型の指定
フィールドに設定されるデータ型を前もって決めておく方式が広く使われていますが、SQLiteでは、フィールドのデータ型は、設定されるデータにより型を決める方式のなっています。ですから、データベース内では同一のカラムに、文字と数値が混在させることができます。しかし、混在させるとその処理が面倒になりますので、統一するようにしてください。(型の違うデータを入れてもエラーになりませんのでご注意ください)

初期データベースの作成

作成する初期データベース

データベースを開く

DB Browser for SQLiteを実行 → 「Open Database」 → 「Browse Data」

データベースにあるレコードが表示されます。もちろん最初は何もありません。

「New Record」をクリックします。

1件目のレコードを作成

1番目に、no、name、kana、telを入力します。

各フィールドのデータを入力後、「New Record」をクリックして、次のレコードを入力します。これを繰り返して、藤田 邦子さんまで入力します。

入力後、「Write Changes」をクリックして、上書き保存します。

入力済みレコードの確認

DB Browser for SQLiteを閉じて、再度、開きます。

「Open Database」で、kaiin.dbを開く → 「Browse Data」をクリック

正しく保存されない場合があります。ので、ご注意ください。