SQLiteにデータを保存しよう

サルでき.jp > 97.サルでき本 原稿以前 > SQLiteにデータを保存しよう

2011/12/13 22:25 投稿先 97.サルでき本 原稿以前 投稿者 カワサキ タカシ

屋の湿度がようやく安定。加湿器二台稼働中。

「いや〜、昨日ウチの顧客データベースが飛んじゃってさ〜」「マジで?アレってこの間移行したばっかりじゃない?」「そうなのよ、とりあえずバックアップがあったから助かったんだけどね」「おお〜、良かったねぇ〜」。さて、今回はデータベースのお話である。データベース。とりあえずこの単語が出てくると、「システムに詳しそう」という雰囲気がプンプンしてくる。メガネスーツの彼、パソコンのキーボードを叩きながら、「え?オレ?データベース一級」。なんのことだかよくわからないけれども、合コンでモテそうである。デキるオトコの、データベース。

データベースって何だろう。ワタシは、この質問に対してこう答えることにしている。データベースとは「姿が見えないExcelのお化け」である、と。まず、そもそもデータベースとは、データを管理するための仕組み、なのである。うーむ。このままでは少々ムズカシイですな。「データ」つまり、数値や文字列を、「管理」つまり、保存しておいて、必要に応じて取り出す。ための仕組み、と言ったらどうだろう。なんとなくわかるだろうか。この手の用途で使われる最も一般的なツールが、毎度おなじみ、Excelというツールである。

Excelは、画面からユーザーがデータをイジることを前提としたツールなので、縦横のマス目がビッシリ並んだ、あんな感じの見た目になっている。あれでも一応わかりやすい見た目、という設定なのである。コンピューターの世界って怖ぇ。そのユーザーフレンドリー(?)なExcelに対して、プログラムからイジるから見た目はどうでもいいや、ということで、バッサリ見た目部分を削って、その代わりに、Excelよりもずっと多くのデータを管理できるようにしたものが、データベースである。「姿が見えないExcelのお化け」、いかがだろう。

iPhoneの中には、SQLite(エスキューライト)というデータベースが予め組み込まれている。これをプログラム上から呼び出すことで、データの保存と取り出しが可能になる。SQLiteは、アプリ自体からは独立しているので、アプリを終了しても、データは残り続ける。おや?どこかで似たような話を聞いたような。そう、ユーザーデフォルトだ。あれも同じように、保存する場所がアプリから独立しているので、アプリを終了しても、データを残しておくことができた。一見似たような機能なのだが、SQLiteはデータベースの名前のとおり、大量のデータを保存しておくのに向いている。用途に合わせて使いわけよう。

ここから一気にSQLiteの説明を…と行きたいところなのだが。残念なことに、SQLiteを使うのは結構ムズカシイ。使えるように設定するためにもやらなければならないことはあるし、使えるようになったとしても、データの出し入れは「SQL(エスキューエル)」という特別な書き方を覚えなければならない。SQL自体は、Webの世界でも広く使われているものなので、一旦使えるようになってしまえば非常に応用が利くのだが、ゼロからやろうとすると、それなりに腹をくくる必要が出てくるのだ。なので、ここでは、概要の説明と、FMDBというライブラリ(お助けプログラム)を使った接続方法にとどめることにする。今は、そんなものもあるんだ、程度で気楽に読んで欲しい。

ワタシは、システム屋になった一番最初に、オラクル社のデータベースをしこたま使うプロジェクトに配属されたため、なにがなんだかわからないうちにSQLを叩き込まれた。ひとつのデータを取り出すのに、なんでこんなに面倒なやり方をするのだろうと、ブツクサ言いながら勉強したものである。今になって思うと、その機会は実に有意義だった。SQL、ホントに結構使えるんです、あっちこっちで。この機会に、気合入れてデータベースを覚えよう、と思ったら、専門書を一冊お買い上げいただくことをオススメする。iPhoneアプリ開発から、さらに深い世界に出発だ。じっくり覚えて、目指せモテモテ!


※この記事は今度出す本の下書きの下書きです。
※全ボツになることもありますので、番外編としてお楽しみください。

【業務連絡】
SQLite概要とFMDBの説明が続きます。

関連する記事:


Advertisement