3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Excelに限界を感じた人に向けたDB入門の第一歩

Last updated at Posted at 2020-06-14

今回の趣旨

前回はAccess(LibreOffice Base)推しに終止しました。

今回はLibreOffice Baseを教材に、Excelと比較しながらデータベースの雰囲気を掴んでいただければと思います。
と言いつつExcelと同等の無料ソフト、LibreOffice Calc1を使いますが、そっくりなので問題ないと思います。

Excelの場合

Excelの場合、表に入力できる状態から始まります。
実はこれ、すごいメリットでもあり、デメリットでもあります。
Excelでお小遣い帳を作る例

曖昧なイメージで作り始めても、考えながら改善していくことができます。
その反面、曖昧なデータを後から修正することが困難な場合も少なくありません。2

LibreOffice Baseの場合

Baseでお小遣い帳データを入力する例

おや、意外と似てますね。
これならイケるかも。。?

残念、この画面にたどり着くためには準備が必要です。

Baseでお小遣い帳テーブルを作成する例

DBのテーブルは、1行1データとして、各列(フィールドといいます)に入力できる値を決めておく必要があります。
最初に決めたデータ形式以外は入力できないので、データが増えても変なゴミ?が混ざらず、ちゃんと集計できます。3

「最初にデータ形式を決めなくてはいけない」って面倒ですが、本稿は「Excelに限界を感じた人」を対象としています。
既にExcelで扱うのが苦しい、どうにかしたいデータをお持ちのことでしょう。

LibreOffice Baseの構成

LibreOffice Baseで新しいデータベースを作ると、こんな画面が表示されます。
Baseを開いた状態

なんだこりゃ。
Excelとだいぶ違いますね。

LibreOffice Baseの画面でできることと一般的なDBの違いを整理します。

データ操作 DBの用語 Baseの場合
追加する 挿入(Insert) フォーム(またはデータビュー)
変更する 更新(Update) フォーム(またはデータビュー)
削除する 削除(Delete) フォーム(またはデータビュー)
見る 抽出(Select) クエリ(またはデータビュー)
印刷する なし レポート

フォームの活躍が際立っています。
レポートはDB界には存在しませんが、現実世界ではデータを(PDF化含め)印刷したいことが多いので、同梱してくれる親切設計。

ちなみにExcelでは上記の操作はすべてシートの中で行ないます。
繰り返しになりますが、この手軽さがExcelの弱点でもあります。

テーブル

Excelでいうところのワークシートです。
データを管理する表(行×列)のことです。

テーブルを作成する場合、LibreOffice Baseではテーブルデザイン画面で列のデータ形式を入力でします。
一般的なDBではDDL4と呼ばれるコマンドで作成します。
Baseでお小遣い帳テーブルを作成する例

テーブルが作れたらデータを入れたいですね。
LibreOffice BaseではデータビューでExcelっぽく値をイジれます。(実はExcelから取り込むこともできます)
一般的なDBではSQL5と呼ばれるコマンドで閲覧・編集・削除します。
Baseでお小遣い帳データを入力する例

クエリー

初めて聞く言葉ですね。
DB界ではSQL5とも呼ばれるもので、本来、すべてのデータ操作はクエリーを使って行ないます。

Excelで関数やオートフィルタ、ピボットテーブルなど、既にあるデータをコネコネした経験があると思いますが、全部クエリでできます。

で、結局クエリってなんだ?に答えていませんが、奥が深すぎるので今回は説明しません。
LibreOffice Baseでは、以下のような画面でSQL5を使わずに作成します。
クエリを編集する画面

フォーム

Excelでもフォーム機能はありますが、あまり知られていないかも。

テーブルにデータを入力するための画面のことです。
一般的なDBだと、入力画面は別途プログラミングが必要になります。

レポート

Excelはシートをそのまま印刷するため、印刷用に整えたシートを準備しますよね。
(入力と印刷を兼ねて使いにくくなったり。。

LibreOffice Baseでは、以下のような流れでデータと印刷を分離します。

  1. フォームなどを使ってテーブルにデータを入力する
  2. クエリを使って印刷したいデータを選んで集める
  3. レポートで罫線などの見栄えや、データの配置を指定する

一般的なDBだと、印刷機能は別途プログラミングが必要になります。

最後に

  • 一般的なDBにはDDL4とSQL5しかないので、初学者には分かりにくすぎます。
    • ちょっと何かしたい場合、たいてい別途プログラミングが必要です。
  • LibreOffice Baseは分かりにくさ、使いにくさを軽減するべく画面を提供します。
    • プログラミング無しでアプリケーションのようなものが作れます。
  • 続きを書くかどうかは未定です。
  1. https://ja.libreoffice.org/discover/calc/

  2. 例えば、必ず「日付」が入っていて欲しい列に、「日付〜日付」と入力されているためにうまくフィルタできない、と言ったケースです。

  3. もちろん、後から修正することもできます。

  4. https://ja.wikipedia.org/wiki/データ定義言語 2

  5. https://ja.wikipedia.org/wiki/SQL 2 3 4

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?