SQLiteとDB Browser for SQLiteを使ってデータベースを構築する

この記事では、無料で使えるデータベースであるSQLiteを、これも無料で使える『DB Browser for SQLite』を使って操作をする方法をごく簡単に説明します。
主な内容は、テーブルの追加だけとなります。

この記事はVisual StudioとFlaskで書籍管理アプリを作ってみたという一連の記事の中の1つです。
詳しくは以下の記事も参照してください
Visual Studioで作ってみたFlaskアプリ
Visual StudioとFlaskで作る書籍管理アプリ:概要

この記事ではWebアプリの開発を何も知らない人を対象とします。といっても、この記事の著者もWebアプリ開発に明るくありません。自分の勉強の意味も込めて書きました。
誤りが含まれるかもしれませんが、ご容赦ください。何かあれば、ご指摘いただけますと幸いです。



スポンサードリンク

目次

  1. SQLiteとDB Browser for SQLiteを使う準備
  2. DB Browser for SQLiteの簡単な使い方
  3. 書籍管理アプリで使うテーブルの作成

 

1.SQLiteとDB Browser for SQLiteを使う準備

外部サイトですが、SQLiteのインストールについては以下のサイトを参照してください。
SQLiteインストール|DBOnline

DB Browser for SQLiteのインストールについても同じくDBOnlineさんを参照してインストールをしてください。
DB Browser for SQLiteのダウンロードとインストール|DBOnline

 

2.DB Browser for SQLiteの簡単な使い方

DB Browser for SQLiteの使い方についても、インストールの時に参照させていただいたDBOnlineさんの記事を読まれるのが良いかと思います。
とりあえず、SQLの発行の方法とコミットの仕方だけ、ここでは説明をします。

といっても、とても簡単で、DB Browser for SQLiteを開いた後に、『Execute SQL』というタブをクリックするだけです。ここにSQLを書けば、それが発行されます。
SQLの発行は「F5」キーで行います。
終わったら、メニューの『Write Change』をクリックすると、変更が反映されます。「Ctrl + S」を押してもOKです。



スポンサードリンク

 

3.書籍管理アプリで使うテーブルの作成

Flaskプロジェクトはすでに作成済みの状態を仮定して説明をしていきます。まだ終わっていない方は『Visual StudioとFlaskで作る書籍管理アプリ:概要 』を参照してください。

ソリューションエクスプローラーの上から2つ目『flask_book_management_1』というプロジェクトファイルを右クリックします。
そして『追加』→『新しいフォルダー』として「instance」というフォルダを作ります。ここにデータベースを構築することにします。

まずはschema.sqlという名前で、以下のSQLファイルを作成して、instanceフォルダに入れておきます。
ソリューションエクスプローラーで「instance」フォルダを右クリックして『追加』→『新しい項目』として『テキストファイル』を選択し、ファイルの名前を「schema.sql」とすれば良いです。
SQLファイルをわざわざ保存しておく必要はないのですが、アプリを作り直す際などにSQLファイルが残っていると便利です。テーブルの再作成はしばしば行われるので、あらかじめ「DROP TABLE」として既存のテーブルを削除してから再作成するようにしておきました。実際のところ、この書籍管理アプリを作る際に、何度かテーブルを再作成しました。

DROP TABLE IF EXISTS book;
DROP TABLE IF EXISTS user;

CREATE TABLE book (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  user_id INTEGER NOT NULL,
  title TEXT NOT NULL,
  auther TEXT,
  publisher TEXT
);

CREATE TABLE user (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  username TEXT UNIQUE NOT NULL,
  password TEXT NOT NULL
);

このSQLについて簡単に説明します。SQLの詳細は記事の末尾に載せた参考文献などを参照して下さい。

DROP TABLEとして、既存のテーブルを削除しています。
CREATE TABLE テーブル名……として、テーブルを作成します。今回は書籍テーブル「book」とユーザーテーブル「user」を作りました。

レコードを一意に特定する主キー(PRIMARY KEY)は共にidという列名にしてあります。『AUTOINCREMENT』とすることで、レコードの追加時に勝手に数値が1ずつ増えていくことになります。

bookテーブルは、ユーザーのIDを持つようにしています。こうすることで、ユーザーごとに書籍を管理することができるようになります。

userテーブルでユーザー名(username)の重複を許さないようにするために『UNIQUE』と指定しました。

 
データベースの構築手順に戻ります。

ソリューションエクスプローラーでinstanceフォルダを右クリックして『エクスプローラーでフォルダを開く』とすると、文字通りエクスプローラーでフォルダが開かれます。
フォルダのパスをコピーしておきます。

DB Browser for SQLiteを起動して、メニューから『New DataBase』をクリックします。フォルダを選択するダイアログが表示されるので、先ほど作成したinstanceフォルダを指定します。
データベースファイルの名前は「flask_book_management_1.db」としておきます。これで「保存」を押したらいいです。

「edit table definition」というウィンドウが開かれるのですが、これは使いません。
GUIでテーブルを作るのは便利なように見えて、作り直す際に毎回ゼロからボタンをポチポチ押していかないといけないので、実はこっちの方が面倒です。「edit table definition」は×ボタンを押して閉じます。

そして『Execute SQL』というタブをクリックして、先ほどのSQLを発行して、コミットします。
『DataBase Structure』タブをクリックすると、テーブルができていることがわかるはずです。
instanceフォルダに「flask_book_management_1.db」というファイルが追加されています。

ただ、Visual Studioを使わないでファイルを追加した場合は、ソリューションエクスプローラーからそれを確認することができません。
その時は、ソリューションエクスプローラーからinstanceフォルダを右クリックして『追加』→『既存の項目』として「flask_book_management_1.db」ファイルを選択すれば、ソリューションエクスプローラーからも見ることができます。
(Visual StudioからDBファイルを直接いじることは今回ないので、やらなくてもいいんですが)

とりあえずこれで、アプリに必要なデータベースが構築できました。

今回はDB Browser for SQLiteを使ったのですが、これを使わないでデータベースを構築することもできます。
Flask公式のチュートリアルではその方法が使われていました。こちらも参照してみてください。

 

次は『Visual StudioとFlaskで作る書籍管理アプリ:外枠を作る』に進みます。

 

関連する記事

 

参考文献


マンガでわかるデータベース

 
名前の通り、漫画で学ぶデータベースの本です。データベースのことをまったく知らないという方は、この本から入ると良いのかなと思います。
私は大学でサンマの研究をしていたのですが、突然データベーススペシャリストという資格試験を受けることになった時にこの本を読んで勉強した記憶があります(おかげで一応DBスペシャリストの資格は持っています)
 

SQL実践入門

 
SQLを本格的に学びたい方はこの本を読むのがおすすめです。ただしsqliteのことはあまり載ってなかったように思います。
 



スポンサードリンク

 
更新履歴
2018年5月26日:新規作成

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください