【Ruby入門】データベース
  • facebookページ
  • twitterページ
  • 2018.01.09

    【Ruby入門】データベース

    本記事では、データベースをあつかいます。

    ある程度データの数が多くなると、そのあつかいに注意しないと、メンテナンス性も悪いし速度の向上も期待できません。

    テキストファイルで管理すると、誰かが不用意に手作業で書き換えてしまうことも考えられます。

    データの変更も容易ではありません。

    そこでデータベースが必要になるのです。

    本記事では数あるデータベースの中で、SQLiteを取り上げて解説を進めます。

    データベースとは何か

    冒頭で述べたように、データベースとはデータを管理してくれる便利なソフトウェアです。

    もう少し詳細に解説しましょう。

    値の読み書きをSQLで簡単にする

    住所録をテキストファイルでCSV形式で保存するとしましょう。

    欲しい住所を検索して、ヒットした行を取り出して、カンマごとに分割して・・・と毎回やっていては手間がかかって仕方ありません。

    そこでデータベースの出番となります。

    データベースは内部でデータ管理し、操作するときはSQLという言語でできるようにしています。

    つまり本来は複雑な処理を経て初めて得られるデータを、SQlという簡易な開発言語で操作できるのです。

    たとえばテーブルからすべてのデータを取るSQLは以下のとおりです。

    SQLはまるで文章のようで、直感的でわかりやすいですね。

    速度向上

    単純にテーブルにデータを格納するだけでなく、効率的に目的のデータにたどり着けるように「キー」というものを付加します。

    これにより、テキスト検索よりも高速に欲しいデータに飛ぶことができます。

    セキュリティ

    アクセスできるユーザーごとに、何をどこまで許すのかを設定できます。

    つまりデータの更新や削除だけは高権限者のみ許す、といった設定が可能です。

    データベースの種類

    データベースは、有償無償や製造元を含めて、さまざまな種類が存在します。

    有名なものは以下です。

    かっこの中は製造元です。

     

    • Oracle(Oracle)
    • SQLServer(Microsoft)
    • MySQL(Oracle)
    • DB2(IBM)

     

    今回は、OSSでかつ軽量であつかいの容易な「SQLite」を使用します。

    SQLiteのセットアップ

    前置きはこれくらいにして、SQLiteのセットアップにいきましょう。

    以下を実行してください。

    エラーメッセージが何も表示されなければOKです。

    データベースとテーブルを作る

    データを格納するためには、データベースとテーブルが必要になります。

    1つのデータ種ごとに「テーブル」と呼ばれる、いわゆる器にデータを格納します。

    テーブルの中身は二次元のデータ、つまりExcelのシートのような形式と思ってください。

    データベースとテーブルの関係は、図にすると以下のようになります。

    データベースという器の中に、多数のテーブルを格納できます。

    今回はこれを一度に両方作ります。

    ※SQLite以外は、最初にデータベースを作っておく必要があります。

    テーブルができたかどうか、件数を取得してみましょう。

    テーブルを作っただけでデータがないので、0件となるはずです。

    [実行結果]

    テーブルができていない場合は、以下のエラーが返ってきます。

    エラーメッセージをまるごとググって対処してください。

    データ操作とSQLiteの専用GUIツール

    データの操作を、順を追って解説します。

    データがないと操作も何もできないので、まずはデータを入れましょう。

    データの確認は、SQLiteの専用GUIツール「DB Browser for SQLite」を使ってビジュアル的に確認できます。

    このツールはデータを分かりやすく見せるのと同時に、編集や削除といった操作が可能です。

    データの挿入 INSERT

    データをテーブルに挿入するには、SQLのINSERT文を使います。

    これでもよいのですが、もう少しスマートにいきましょう。

    配列に入れたい値が入っているとして、それをeachで回します。

    この結果を確認しましょう。

    データが挿入されたのがお分かりでしょうか。

    また二次元の表のように見えることも注目しましょう。

    データの抽出 SELECT

    データを抽出するのはSELECTを使います。

    [実行結果]

    配列として取得できました。

    先ほどのDB Browserで出てきた内容と同じ内容が取得できたのがわかりますね。

    まとめ

    本記事ではデータベース、特にSQLiteのあつかいを解説しました。

    削除と更新は割愛しましたが、本記事の内容を理解できればインターネットで情報を検索して対応できます。

    またSQLite以外のDBにもぜひチャレンジしてみてくださいね!


    Ruby on Railsのフリーランスは高収入でおすすめ!

    Rubyができる方は多くはいないのが現状です。 プロジェクトは右肩上がりで増えているので、エンジニアが全く足りておりません。 Rubyの実務経験が1年以上ある方はフリーランスになることもできるので、ぜひご興味があればポテパンの無料カウンセリングをご利用下さいませ! Ruby案件に関する情報は下記にまとまっていますのでぜひご覧下さい。

    Ruby on Rails案件のイマがわかる!知って見つかる最適案件


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料10万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE