いよいよ基礎①が終了になります!
Perl入学式のこちらの資料に基づいて勉強しています。
今回は前回に引き続き、Amon2をつかってSchedulerアプリを作ります。
いままでは、Perl入学式の資料から抜粋して記載していましたが、
今回はSchedulerアプリを作る際にDBとして使用したSQLiteを中心に記載します!
エンジニア基礎① 1. Perl環境基礎 2. Hello,world! 3. Perl基礎 4. 配列・for文 5. ハッシュ 6. リファレンス 7. サブルーチン 8. 正規表現 9. Amon2 入門 第一部 10.⭐️ Amon2 入門 第二部 ⭐️
ゴール🏁
- Amon2でSchedulerアプリをつくる
- アプリケーションを開発する際の順番の確認
- SQLiteについて
順番
今回はこのような感じで進めていきましたね!
- DBスキーマ(
sql/sqlite.sql
)の設置 - Tengスキーマ(
lib/Scheduler/DB/schema.pm
)の編集 - テンプレートの編集(
tmpl/index.tx
,tmpl/include/layout.tx
) lib/Scheduler/Web/Dispatcher
の編集
アプリケーションを作る際は、まずはDB関連の設定を済ませてから、テンプレートやDispatcherの編集をします。
Amon2では、デフォルトでDBの設定がSQLiteになっているので、もしMySQLを使用する場合はconfig
でDBの設定を変更します。
DB(Database)
DBとは管理されたデータのことをさします。そのなかでも、コンピュータ上で作成、保管され、専用のソフトウェアによって管理されるもののことを「データベース管理システム」(DBMS:Database Management System)といいます。
RDBMS(Relational Database Management System)
DBは、データをどのような構造で格納、管理するかによって様々な種類があり、よく利用されるのは「リレーショナルデータベース」(RDB:Relational Database)です。これは、データを複数の表(テーブル)で管理することによって、集合論で定義されてる関連性を扱えるようにしたデータベースの管理方式になります。テーブルは、属性を列、組を行で表しています。
ここでの集合論で定義されているとは、3つの見出しで構成されるテーブルがあったとすると、このテーブルの各列のデータは、各々のカラムの集合から1つずつ任意の要素をとり、その要素持った行が出来上がります。そして、言い換えると、この行は、各カラムの集合(型)の部分集合であると言え、3つの見出しの関係が成立しており、これが集合論で定義されているということです。
RDBMSとは、RDBを管理するための専用ソフトです。これは、ある管理領域で、テーブルの作成や消去、修正、更新、追加、検索、抽出、削除を行います。
そのなかでも今回使われているSQLiteの説明します!
SQLite
SQLiteはSchedulerのDBとして使用しましたね!
SQLiteはサーバーを立ち上げるわけではなく、そのままアプリケーションの中に組み込んで使用出来る軽量のRDBMSです。大規模なDBには向いていませんが、今回のような中小規模ならば、速度にも問題なく使用出来ます。
メリット
- ファイルベースでの管理
- バックアップが楽
- レンタルサーバで利用可能なことが多い
今回はローカル環境でしたが、レンタルサーバでRDBMSを使いたい時, ときどきMySQLが使えないことがありますが, SQLiteなら利用できる場合があります。
デメリット
以上より、SQLiteは取り扱いが比較的簡単なRDBMSです。
Amon2でSchedulerを作成する際に大切になってくるDBに関して、少し取り上げてみました。
他のRDBMSでは、世界中でよく使用され、大規模なDBにも対応できるMySQLなどもあります。
どれくらいのデータ、どのようにデータを扱うかによって使い分けていきましょう。
私はデータベース関連の構造がわからなくて、最初の段階で「これはどうなっているのだろう?」とつまずきました。
ここではRDBMSでもSQLiteのみでしか取り上げられませんでしたが、
またMySQLなど他も取り上げられたらと思います。