DB Browser for SQLiteを使ってみて感じたこと
どうも、じぇいかわさきです。
この前インストールしたDB Browser for SQLite、チョッと放置ぎみだったけど、せっかくなのでMariaDBのテーブルをインポートしてみた。
初めて使うDB Browser for SQLiteだったので、少々手間取った所がありましたが、まずは無事にインポート完了。
今まで使っているMariaDBとDB Browser for SQLiteとの差などを今回は報告します。
はっきり言って、SQL文について勉強したり、Pythonとかの連携を勉強するには非常に便利かな。
しかし、データベースについては、やはりSQLiteは簡易版の感じが否めないかな。
自分が感じたことを紹介していこう。
まず、アプリベースのDB Browser for SQLiteを立ち上げると、前回紹介したように以下の画面が出てきます。
GUIに慣れ浸しんだ人からみると、取っ付き易い画面ですよね。
ここで、MariaDBからのデータを取り込むには、MariaDB側でデータをCSVでエクスポートします。
エクスポートされたファイルを、DB Browser for SQLiteで取り込むのですが、従来のCUIと比較すると非常に分かりやすく簡単。
まず最初にインポートするためのテーブルを格納するデータベースを作成します。
まず、初期画面で新しいデータベースのボタンをクリックすると、データベースを格納するダイアログが出ますので、データベース名を決めて保存します。
次に、データベースができましたから、今度はテーブルを作成します。
こちらも簡単で、メニューからテーブルを作成を選べはテーブル定義をするウインドウが出ますので、そこで各要素を追加していきます。
フィールド名と追加していけば、下段にSQL文が記述されていきますので、最後にOKを押せばテーブルが完成です。
しかし、ここでMariaDBやMySQLと比較した時に相違点が有ります。
SQLiteは他のデータベースと比較すると、データ型定義の選択肢が少ないことに驚きます。
データ型は、INTEGER、TEXT、BLOD、REAL、NUMERICの5つしか無いんです。
しかも、桁数を指定できない。
とりあえずは、今回の場合にはほとんどがINTEGERになります。
データ型の横にあるチェックボックスは、NNがNON NULL、PKが主キー、AIがオートインクリメント、Uがユニークだったかな。
必要な箇所にチェックを入れます。
実際に作ったテーブルの構造はこのようになります。
テーブルができたら、後はCSVファイルをインポートするだけです。
インポートも非常に簡単。ファイルのプルダウンメニューからインポートを選ぶだけで済むのですからね。
インポートするためのダイアログが開きますので、指定のCSVを選択し読み込ませます。
それでは、実際に正しく読み込まれたか見ていきましょう。
正しくデータは読み込まれたようです。
どうですか、非常に簡単ですね。
このように、DB Browser for SQLiteを使用すると、SQL文が良く理解できていなくても、ある程度はGUI構成になっているので、選択していくだけで簡単にDBが作れるのです。
ターミナルウインドウで、コマンドを1からタイプして打ち込んでいくことに比較すると、100倍も簡単で効率的だと思います。
これがDB Browser for SQLiteの最大の特徴ではないでしょうか。
一方、不便な所というか、本格的にDBをやっていこうとした場合には、不都合な箇所が幾つか見受けられます。
初心者の自分でさえ、チョッと不便だって思った部分がありますから、バリバリ使っている人から見ると、変だっていう部分もあるでしょうね。
例えば、DB Browser for SQLiteでは文字列はTEXTしかありません。従って、1文字入れようが、100文字入れようが、255文字分が自動的に確保されてしまうのです。
MariaDBなどは、固定長の場合はCHARを使い、可変長の場合はVARCHARを使います。そして、各々の型式の後に()で数字を入れれば、それが長さを表すのです。
例えば、CHAR(5)とすれば、1文字入れても5文字分が確保されます。VARCHAR(5)の場合は、最大が5文字分で1文字を入れれば1文字分の容量しか使わないのです。
INTEGERにしても同じで、カッコを付けて桁数を指定し、無駄な容量を取らないようにします。
また、日付などはDATA型やDATETIME型など、日時を司る型が有るのですが、DB Browser for SQLiteではNUMERICの1つで片付けられています。
このように、1ライン分の容量までをキチッと計算して、データベースを構築するのが普通だと思いますが、DB Browser for SQLiteの場合はそうではないんですね。
MS-ACCESSでももう少し細かく管理されていると思います。
DB Browser for SQLiteは、まず初心者がSQL文を覚えたり、データベースの構造を学んだりするには非常に優れていると思います。
データベース固有の部分を抜きにして、SQLの基本構文を学ぶことができます。
また、プロトタイプを作成して簡単な評価をするにも適しているのかもしれません。
しかし、実際に使えるデータベースを作るには、やはりMariaDBやMySQLを使うほうが良さそうですね。
キノコードさんの動画も、SQL文を学ぶということからDB Browser for SQLiteを使って説明しているのだと思います。
このDB Browser for SQLiteを使って、SQL文やデータベース構造が理解できれば、後はSQL文をターミナルウインドウから打ち込んで行くだけですからね。
ある程度、割り切って勉強のためにDB Browser for SQLiteを使う、そう思えばかなり使えるものだと思いますね。