Androidアプリを作ろう09 データベース①

データベースを利用するアプリ

目次

  1. データベースを利用したプログラムを設計する
  2. SQLite
  3. 表を作成する
  4. 表にデータを追加する
  5. さいごに

データベースを利用したプログラムを設計する

少し前まではファイルを使ってデータを扱ってきました。
データベースを利用すると、データの記録・保存だけではなくデータの操作や検索などが簡単に行えるようになります。
今回は、データベースを扱うアプリを作成していきましょう。

SQLite

AndroidにはSQLiteというデータベースが標準で搭載されています。
今回のプログラムではSQLiteを利用してデータベースを操作します。
SQLiteはリレーショナルデータベース(relational database)と呼ばれるデータベースを使用しています。
リレーショナルデータベースとは、データを表の形で扱うことができるデータベースのことです。

  • 表1
  • メニュー 説明 価格
    カルボナーラ ベーコンとクリームソースの炭焼き風パスタ 1100円
    ペスカトーレ エビとあさりの漁師風パスタ 1300円
    ボロネーゼ 牛肉と野菜の煮込みパスタ 1000円
    ナポリタン ケチャップを絡めたパスタ 900円

    リレーショナルデータベースはSQL(構造化間問い合わせ言語)と呼ばれる言語によって、簡単にデータの操作や問合せができるようになっています。
    例えば・表1から「価格」列の値が1300円である商品をデータベースに問い合わせて条件に合ったデータを取り出すことができるようになります。

    メニュー 説明 価格
    ペスカトーレ エビとあさりの漁師風パスタ 1300円

    表を作成する

    リレーショナルデータベースを利用するためには、まずデータベース内にデータを格納するための(table)を作成することが必要になります。
    表の作成に関するSQL文は以下のようになっています。

  • 表2 表の作成・更新・削除
  • データ操作 SQL文
    表の作成 CREATE TABLE 表名(列名 型,……)
    表の更新 ALTER TABLE 表名 ADD 列名 型
    表の削除 DROP TABLE 表名

    例えば、表を作成するときは以下のようにCREAT TABLE文を使います。

    これにより「product」という名の表が作成できます。
    ここではproduct表内に文字列(STRING)を格納するname列・description列、そして整数(INTEGER)を格納するprice列を作成しています。

    表にデータを追加する

    表の作成ができても中身がなければ意味がありません。
    次はデータの格納の方法を学習しましょう。
    表の追加・更新・削除は以下のSQL文を使用して行います。

  • 表3 表の作成・更新・削除
  • データ操作 SQL文
    データの追加 INSERT INTO 表名 VALUES(値, 値,……)
    データの更新 UPDATE 表名 SET 列名 = 値 WHERE 条件
    データの削除 DELETE FROM 表名 WHERE 条件

    例えば表1のproduct表に「カルボナーラ,ベーコンとクリームソースの炭焼き風パスタ,1100」というデータを追加するにはINSERT文を指定します。

    これによりname列に「カルボナーラ」がdescription列に「ベーコンとクリームソースの炭焼き風パスタ」、price列に「1100」が格納されます。
    この方法で必要なデータを表に格納することができます。
    ここで注意が必要なのは、データの追加の時に文字列はシングルクォーテーション「’」ということです。
    これは、SQLiteを利用するとき全般に言えることで、「’」を使わないとSTRING文は機能してくれないので注意しましょう。

    さいごに

    さて、次回はこのデータベースを利用してプログラムを作っていきましょう。

    このサイトをフォローする!