今回の趣旨
前回はAccess(LibreOffice Base)推しに終止しました。
今回はLibreOffice Baseを教材に、Excelと比較しながらデータベースの雰囲気を掴んでいただければと思います。
と言いつつExcelと同等の無料ソフト、LibreOffice Calc1を使いますが、そっくりなので問題ないと思います。
Excelの場合
Excelの場合、表に入力できる状態から始まります。
実はこれ、すごいメリットでもあり、デメリットでもあります。
曖昧なイメージで作り始めても、考えながら改善していくことができます。
その反面、曖昧なデータを後から修正することが困難な場合も少なくありません。2
LibreOffice Baseの場合
おや、意外と似てますね。
これならイケるかも。。?
残念、この画面にたどり着くためには準備が必要です。
DBのテーブルは、1行1データとして、各列(フィールドといいます)に入力できる値を決めておく必要があります。
最初に決めたデータ形式以外は入力できないので、データが増えても変なゴミ?が混ざらず、ちゃんと集計できます。3
「最初にデータ形式を決めなくてはいけない」って面倒ですが、本稿は「Excelに限界を感じた人」を対象としています。
既にExcelで扱うのが苦しい、どうにかしたいデータをお持ちのことでしょう。
LibreOffice Baseの構成
LibreOffice Baseで新しいデータベースを作ると、こんな画面が表示されます。
なんだこりゃ。
Excelとだいぶ違いますね。
LibreOffice Baseの画面でできることと一般的なDBの違いを整理します。
データ操作 | DBの用語 | Baseの場合 |
---|---|---|
追加する | 挿入(Insert) | フォーム(またはデータビュー) |
変更する | 更新(Update) | フォーム(またはデータビュー) |
削除する | 削除(Delete) | フォーム(またはデータビュー) |
見る | 抽出(Select) | クエリ(またはデータビュー) |
印刷する | なし | レポート |
フォームの活躍が際立っています。
レポートはDB界には存在しませんが、現実世界ではデータを(PDF化含め)印刷したいことが多いので、同梱してくれる親切設計。
ちなみにExcelでは上記の操作はすべてシートの中で行ないます。
繰り返しになりますが、この手軽さがExcelの弱点でもあります。
テーブル
Excelでいうところのワークシートです。
データを管理する表(行×列)のことです。
テーブルを作成する場合、LibreOffice Baseではテーブルデザイン画面で列のデータ形式を入力でします。
一般的なDBではDDL4と呼ばれるコマンドで作成します。
テーブルが作れたらデータを入れたいですね。
LibreOffice BaseではデータビューでExcelっぽく値をイジれます。(実はExcelから取り込むこともできます)
一般的なDBではSQL5と呼ばれるコマンドで閲覧・編集・削除します。
クエリー
初めて聞く言葉ですね。
DB界ではSQL5とも呼ばれるもので、本来、すべてのデータ操作はクエリーを使って行ないます。
Excelで関数やオートフィルタ、ピボットテーブルなど、既にあるデータをコネコネした経験があると思いますが、全部クエリでできます。
で、結局クエリってなんだ?に答えていませんが、奥が深すぎるので今回は説明しません。
LibreOffice Baseでは、以下のような画面でSQL5を使わずに作成します。
フォーム
Excelでもフォーム機能はありますが、あまり知られていないかも。
テーブルにデータを入力するための画面のことです。
一般的なDBだと、入力画面は別途プログラミングが必要になります。
レポート
Excelはシートをそのまま印刷するため、印刷用に整えたシートを準備しますよね。
(入力と印刷を兼ねて使いにくくなったり。。
LibreOffice Baseでは、以下のような流れでデータと印刷を分離します。
- フォームなどを使ってテーブルにデータを入力する
- クエリを使って印刷したいデータを選んで集める
- レポートで罫線などの見栄えや、データの配置を指定する
一般的なDBだと、印刷機能は別途プログラミングが必要になります。
最後に
- 一般的なDBにはDDL4とSQL5しかないので、初学者には分かりにくすぎます。
- ちょっと何かしたい場合、たいてい別途プログラミングが必要です。
- LibreOffice Baseは分かりにくさ、使いにくさを軽減するべく画面を提供します。
- プログラミング無しでアプリケーションのようなものが作れます。
- 続きを書くかどうかは未定です。