Excelとデータベース
受付中
回答 10
投稿
- 評価
- クリップ 2
- VIEW 1,640

退会済みユーザー
mysqlやsqlserver、oracleはDBとして使用するのに、excelをデータベースとして使用しないのはなぜですか?
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+4
「データベース」の定義から話が始まりそうですが。
名刺管理やら住所録やらでExcelを使っている範囲では「データベース」として使っているともいえます。
この質問の文脈ではWebシステム等のシステム構築になぜ使わないのか、ということだと思います。
簡単に言えば、システムとして問題が発生しないように利用するのが困難だから、ということになります。
例えばこの辺りをご参照ください→ 【DB概論】データベースシステムに求められる要件
もちろん、Excelをデータベースとして利用することは「可能」ですが、それをシステム稼働上の問題なく使うために必要になる実装が膨大になることから、通常は使いません。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+4
sqlserverとかoracleを例に出しているので、いわゆるビッグデータのデータベースという前提で回答します。
まずsqlserver等は、データ処理を主目的とするRDBMSです。
https://ja.wikipedia.org/wiki/Microsoft_SQL_Server
大量のデータをより速く読み書きできるように設計されています。
それに対してExcelの主目的は表計算です。
データの管理ではありません。
Excelをデータベースに見立ててデータを扱うことはできなくはないですが、RDBMSと比べると制約がありすぎて本格的な業務では使えないでしょう。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+3
どういった考えで「データベースとして使用しないのか」と考えているのかがわからないので、何とも言えませんが、そもそもExcelは「表計算ソフト」です。表を作成し、その表の上で集計等をするのが本来の使い方なので、データベースとして使わないのは至極当然のことです。
まあ、ODBC経由でデータベースサーバに接続してデータを取り出すことができるので(CSVは直接読み出せますが)、クライアントソフトとして、データベースサーバからデータを取得→データの加工が1つでできてしまうという点は便利ですけど。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+3
EXCEL でデータ管理をするのは、
ロケットの軌道計算をコンピュータをつかわずにソロバンで行うようなものです。
- 処理速度が桁違いである。
- 扱えるデータ量が桁違いである、(データベースなら 100万件、数億件の行を扱うことができます)
- 複数の処理を並列して処理できる。(Excel は複数人が同じファイルを開いて書き込みをすることはできません。)
Excel は、表の処理をコンピュータでおこなうようにしたものです。
データベースは, Codd博士が集合理論に基づいたデータ管理手法をコンピュータでおこなうようにしたものです。
根本が異なっているのです。
家計簿のようなものなら、Excel でも データベースでも扱えます。
銀行の業務のようなものは Excel では扱えません。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
excelはファイルを占有してしまうので、一人しか使えなくなります。(ファイル共有している場合はどうなるかは不明ですが)
その点、データベースは1レコード単位(1行ごとといったほうがわかりやすいでしょうか)を占有します。
つまり、データベースは複数の人間が同時に書き込んだり読み込んだりするため、1ファイルを占有してしまう使い方はうまく回らないのです。
そのexcelファイルを占有しているなら問題は少ないと思いますが、今度は件数の問題が発生します。毎日少しずつ件数が増えるとしても長期間になるとだんだんと処理が遅くなり、最後はexcelファイルhが壊れてしまう危険性があります。
餅は餅屋と言います。複数の人がそれなりのデータを読み書きするならデータベースを利用されるほうが良いと思います。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
+1
データストアとしてなら利用できますが、データベースとしては機能が足りません。
データベース(DBMS)に要求される特性にはACID特性というものが有ります。細かく1つずつ説明すると長くなるのでしませんが、Excelでは十分なACID特性を備えているとは、言えません。
とはいえ、私も条件が揃えば、Excelでシステムを組むことが有ります。その条件は下記の様な条件です。
- ユーザーが一人。または、同時使用ユーザーが一人(日に一回のデータエントリーなど)
- 日時バックアップで十分(壊れた際は、入力しなおしで勘弁してもらえる)
- 費用対効果の関係で、サーバが用意できない
- メンテはユーザーがする
逆にこれらを満たさない場合は、データベースを用意します。条件によってどのソフトを使うかは変わってきますが・・・
また、私はデータストアはデータベース以外でも有りだと思います。Excelも有りですが、XmlやJson、またはCSVなども選択肢でしょう。
どうして、Excelにこだわるのでしょうか?
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
簡潔に言うなら、excelをデータベースにするなんて「不便だから」です。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
「データベース」の意味するところが不明瞭なのでアレですが…
Excelは元々データベース管理システムとしての用途を
想定していないので、いろいろと機能的に足りないです。
ひょっとしたら用途によっては使えるのかもしれませんが、
自分がどうするかと問われれば、使いません。
使うなら Access でしょう。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
Excelをデータベース利用する際のネックは私の場合は件数でしたね。
Excel2003までは65,536行が限界でした。
最近は100万行ぐらいいけるみたいですね。
とはいえ、その件数になると重くて使えませんでしたが、、、
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
0
1・Excelはファイル欠損が発生する可能性が割と多い。
2・Excelだとセル単位で型が設定できてしまう。
3・ExcelはマイクロソフトOffice製品なので、
PHP/JAVAなど 相性の良いものが少ないので
oracle だったり sqlserver だったり mysql といった
リレーショナルDBが使用されるのではないでしょうか?
1 2 が大きな理由ですかね。
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.34%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2016/06/05 21:10