質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

10回答

2763閲覧

Excelとデータベース

退会済みユーザー

退会済みユーザー

総合スコア0

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

2クリップ

投稿2016/06/05 11:53

mysqlやsqlserver、oracleはDBとして使用するのに、excelをデータベースとして使用しないのはなぜですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答10

0

sqlserverとかoracleを例に出しているので、いわゆるビッグデータのデータベースという前提で回答します。
まずsqlserver等は、データ処理を主目的とするRDBMSです。
https://ja.wikipedia.org/wiki/Microsoft_SQL_Server
大量のデータをより速く読み書きできるように設計されています。
それに対してExcelの主目的は表計算です。
データの管理ではありません。
Excelをデータベースに見立ててデータを扱うことはできなくはないですが、RDBMSと比べると制約がありすぎて本格的な業務では使えないでしょう。

投稿2016/06/06 00:15

ttyp03

総合スコア16996

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

データベース」の定義から話が始まりそうですが。

名刺管理やら住所録やらでExcelを使っている範囲では「データベース」として使っているともいえます。

この質問の文脈ではWebシステム等のシステム構築になぜ使わないのか、ということだと思います。
簡単に言えば、システムとして問題が発生しないように利用するのが困難だから、ということになります。
例えばこの辺りをご参照ください→ 【DB概論】データベースシステムに求められる要件

もちろん、Excelをデータベースとして利用することは「可能」ですが、それをシステム稼働上の問題なく使うために必要になる実装が膨大になることから、通常は使いません。

投稿2016/06/05 12:08

kaz.Suenaga

総合スコア2037

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/06/05 12:10

サイトのご提示までしていただいて、ご回答ありがとうございます。
guest

0

EXCEL でデータ管理をするのは、
ロケットの軌道計算をコンピュータをつかわずにソロバンで行うようなものです。

  • 処理速度が桁違いである。
  • 扱えるデータ量が桁違いである、(データベースなら 100万件、数億件の行を扱うことができます)
  • 複数の処理を並列して処理できる。(Excel は複数人が同じファイルを開いて書き込みをすることはできません。)

Excel は、表の処理をコンピュータでおこなうようにしたものです。
データベースは, Codd博士が集合理論に基づいたデータ管理手法をコンピュータでおこなうようにしたものです。
根本が異なっているのです。

家計簿のようなものなら、Excel でも データベースでも扱えます。
銀行の業務のようなものは Excel では扱えません。

投稿2016/06/06 14:37

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

どういった考えで「データベースとして使用しないのか」と考えているのかがわからないので、何とも言えませんが、そもそもExcelは**「表計算ソフト」**です。表を作成し、その表の上で集計等をするのが本来の使い方なので、データベースとして使わないのは至極当然のことです。
まあ、ODBC経由でデータベースサーバに接続してデータを取り出すことができるので(CSVは直接読み出せますが)、クライアントソフトとして、データベースサーバからデータを取得→データの加工が1つでできてしまうという点は便利ですけど。

投稿2016/06/05 14:14

archiver

総合スコア1557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

データストアとしてなら利用できますが、データベースとしては機能が足りません。

データベース(DBMS)に要求される特性にはACID特性というものが有ります。細かく1つずつ説明すると長くなるのでしませんが、Excelでは十分なACID特性を備えているとは、言えません。

とはいえ、私も条件が揃えば、Excelでシステムを組むことが有ります。その条件は下記の様な条件です。

  • ユーザーが一人。または、同時使用ユーザーが一人(日に一回のデータエントリーなど)
  • 日時バックアップで十分(壊れた際は、入力しなおしで勘弁してもらえる)
  • 費用対効果の関係で、サーバが用意できない
  • メンテはユーザーがする

逆にこれらを満たさない場合は、データベースを用意します。条件によってどのソフトを使うかは変わってきますが・・・

また、私はデータストアはデータベース以外でも有りだと思います。Excelも有りですが、XmlやJson、またはCSVなども選択肢でしょう。

どうして、Excelにこだわるのでしょうか?

投稿2016/06/12 15:18

iwamoto_takaaki

総合スコア2883

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

excelはファイルを占有してしまうので、一人しか使えなくなります。(ファイル共有している場合はどうなるかは不明ですが)
その点、データベースは1レコード単位(1行ごとといったほうがわかりやすいでしょうか)を占有します。
つまり、データベースは複数の人間が同時に書き込んだり読み込んだりするため、1ファイルを占有してしまう使い方はうまく回らないのです。
そのexcelファイルを占有しているなら問題は少ないと思いますが、今度は件数の問題が発生します。毎日少しずつ件数が増えるとしても長期間になるとだんだんと処理が遅くなり、最後はexcelファイルhが壊れてしまう危険性があります。
餅は餅屋と言います。複数の人がそれなりのデータを読み書きするならデータベースを利用されるほうが良いと思います。

投稿2016/06/08 06:50

YosiyukiUsijima

総合スコア42

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

1・Excelはファイル欠損が発生する可能性が割と多い。
2・Excelだとセル単位で型が設定できてしまう。
3・ExcelはマイクロソフトOffice製品なので、
PHP/JAVAなど 相性の良いものが少ないので
oracle だったり sqlserver だったり mysql といった
リレーショナルDBが使用されるのではないでしょうか?

1 2 が大きな理由ですかね。

投稿2016/06/13 07:40

YK1037

総合スコア236

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Excelをデータベース利用する際のネックは私の場合は件数でしたね。
Excel2003までは65,536行が限界でした。
最近は100万行ぐらいいけるみたいですね。

とはいえ、その件数になると重くて使えませんでしたが、、、

投稿2016/06/05 14:58

kurosawa

総合スコア780

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

archiver

2016/06/06 14:09

私はExcelではありませんが、学生時代にLotus1-2-3を簡易データベースとして使ったことがあります。後にdBASE IVが導入されたこともあり移行したのですが、そう考えたきっかけはやはり件数とデータ入力(MS-DOSの時代だったので)データ更新処理の実装でした。 これを機に、「餅は餅屋」でやるべきだなと痛感しましたね。 Lotus1-2-3の簡易データベース機能は、後に功罪両方を残したかなと思います。
kurosawa

2016/06/06 16:26

ふ、古っつ! 拡張子が .dbf でしたっけ。 思わず懐かしんでしまいましたw もうあれから30年ですね。
guest

0

「データベース」の意味するところが不明瞭なのでアレですが…
Excelは元々データベース管理システムとしての用途を
想定していないので、いろいろと機能的に足りないです。

ひょっとしたら用途によっては使えるのかもしれませんが、
自分がどうするかと問われれば、使いません。
使うなら Access でしょう。

投稿2016/06/05 12:00

takasima20

総合スコア7458

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/06/05 12:01

excelよりもaccessの方がデータベースとして秀でている点は何でしょうか?
takasima20

2016/06/05 12:19

端的に言うと SQLが「使える」点ではないかと。
kaz.Suenaga

2016/06/05 12:23

おじゃまします。 ところが特にプログラムからの操作という意味では、Excelに対してもSQLは使えてしまうので、このご質問の回答としてはちょっと弱くなってしまったりします^^;
takasima20

2016/06/05 12:27

To: kaz.Suenaga さん おっと、フォローありがとうございます。 Excelもあなどれませんね~ :-)
guest

0

簡潔に言うなら、excelをデータベースにするなんて「不便だから」です。

投稿2016/06/05 11:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/06/05 11:59

どうして不便なんですか?
退会済みユーザー

退会済みユーザー

2016/06/05 12:01

Excelはデータベースじゃないし、SQL使えないし。
退会済みユーザー

退会済みユーザー

2016/06/05 12:07

分かりました。回答ありがとうございます。
Zuishin

2016/06/14 22:24

SQL使えますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問