No.1ベストアンサー
- 回答日時:
>どうしてDBファイルの中身を、直接見ることはできないのでしょうか?
DBファイルは、バイナリファイルだからです。
(データベースに限った話ではないですが)
では、何故、ご質問で書かれているように、テキストエディタで見れるプレーンテキストではダメなのか?
私見ですが、天文学的に高性能なCPUとメモリとディスクがあれば、バイナリにする必要はないと思います。
テキストファイルに対して、検索・挿入・削除・変更・マージ・ソートするようなスクリプトがあったとして、要件が満たせるなら、それで十分です。
しかし現在のPCでは(サーバークラスであっても)、上記のような方法では企業のデータを取り回す事はまず無理でしょう。
数100万、数1000万件以上はもちろん無理です。
それどころか、数100~数千件のマスタが何個か、と数千~数万件のトランザクションが何個か程度の(SQLiteでも扱えるレベルの)データですら扱えないと思います。仕事にならない。
データベースのファイルは(RDBMSベンダによって、その組成はまったく違いますが)、DBエンジンが最も扱い易いように最適化されたバイナリです。
「人間がテキストファイルを開いて目で検索、もしくは文字を入力して検索」
するところを、遥かに高速に処理するためにはプレーンなテキストファイルではダメなんです。
いずれにせよ、もし、エディタで開けるとなると、企業のセキュリティ要件は満たせないので、その時点で商品としてはアウトですけどね。
回答ありがとうございました。
>私見ですが、天文学的に高性能なCPUとメモリとディスクがあれば、バイナリにする必要はないと思います。
説明、大変分かりやすかったです。
No.3
- 回答日時:
若干誤解があると思うので
http://dev.mysql.com/doc/refman/5.1/ja/csv-stora …
別にみるのを前提とするならデータベースエンジンにそれ用のものを使えば見られます。
見えることより、検索性、高速性、堅牢性などを重視するため最適化されたデータの
持ち方をすると人が読めないものになるということです。
>見えることより、検索性、高速性、堅牢性などを重視するため最適化されたデータの
持ち方をすると人が読めないものになるということです。
ありがとうございました。
確かにそうですね。
そもそもDBが、何の目的で存在しているか、全然考えてませんでした。
No.2
- 回答日時:
この辺がNo1で回答されていないようで。
>DBを作成するってことは、コンパイルか何かをしているのでしょうか?
その通りです。ただし、バイナリーで書き込みしているだけなので、あなたが思っているコンパイルとはちょっと違います。今のプログラム言語には、バイナリーとして書き込む仕組みがあり、単に文字列を書き込んでいるだけです。
よく、「コンパイル」はバイナリー変換することだと思っている方が多いようですが、実は違います。コンパイラーがないと、コンパイルできないと思っているのも間違いです。翻訳という日本語の単語がありますが、その単語に近いことをコンパイルで行います。その結果として、バイナリー(マシン語)として変換されます。
映画での英語の日本語訳と同じです。翻訳とは、文書として活字になっている物を指していることが含まれます。同じ作業ですが、「通訳」と言うのも翻訳しているわけです。どこが違うかと言うと、活字になっているかどうかと、誰に対してと言うことになります。どちらも同じ作業ですが、言葉として口から人に直接伝えることを特に「通訳」と言う単語を使いますね。これを、ノートに書くと「翻訳した」と言うことになります。
通常のコンパイル操作には、最適化やリンカーが同時に働きますが、その様なことはありません。なので、最適化するための仕組みが後から、プログラマーにより追加が必要です。
高級なDBエンジンでは、自動で最適化されています。例えば、アクロバット(PDF)や、画像ファイルなんかも、後から最適化するオプションがソフトに付いていますね。
>GUIツールを経由すれば、なんで見れるのでしょうか?
これは、ちょっと誤解している部分があります。
コンピューターは文字列を、文字として扱っているわけではありません。文字コードとして扱っています。もともと、今あなたが見ている、この文字もコンピューターからすると、ただの数字の羅列です。
映画の「マトリックス」で、画面が上から下へ数字の羅列が緑色で流れていくシーンが数多くあったと思います。その数字の羅列をみて、「これで何が起きているのかわかるのか?」と言う主人公の会話があります。
まさに、あのシーンが表してくれています。その数字を文字として表示するための仕組みがOSと、日本語エンドプロセッサーと言うソフトで、文字として表示しているだけです。
コンピューター側からすると、単に数字の羅列を並べているだけなんだけど、表示するまでに、いくつものソフトを通ると、それが人間が分かる文字として、アウトプットされる事になっているだけです。
大変、詳しい説明ありがとうござました。
単純に、「コンパイル」= 「バイナリー変換」だと思ってたのですが、
「コンパイル」> 「バイナリー変換」 みたいな感じでしょうか?
この辺り、もう少し自分で調べてみたいと思います。
>コンピューターは文字列を、文字として扱っているわけではありません。文字コードとして扱っています。もともと、今あなたが見ている、この文字もコンピューターからすると、ただの数字の羅列です。
>コンピューター側からすると、単に数字の羅列を並べているだけなんだけど、表示するまでに、いくつものソフトを通ると、それが人間が分かる文字として、アウトプットされる事になっているだけです。
この辺りの話も、大変興味深かったです。
言われてみれば、確かにその通りだと思うのですが、
実際に回答いただくまでは、そんなこと全然気が付きませんでした。
色々、勉強になりました。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
歩いた自慢大会
「めちゃくちゃ歩いたエピソード」を教えてください。 長時間でも長距離でも結構です。
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
データベースファイル(.db)を開きたいです。
その他(データベース)
-
データベースの開き方がわかりません!!拡張子db
その他(パソコン・スマホ・電化製品)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースファイル(.db)を開...
-
DBファイルの中身を直接見れな...
-
同じSQL文で極端に検索が遅くな...
-
htmlフォームから受け取ったフ...
-
FileMaker Server 7 Advanced ...
-
phpmyadminでのファイル選択の省略
-
accdbファイルの最適化
-
PL/SQLで@ファイル名が反応しま...
-
mysqlにおけるホストのパーセン...
-
mySQLのデータベースにhtmlのコ...
-
SQLServerのselect文でデータ数...
-
あるDBから別のDBのテーブルをs...
-
sql*loader 数値のロード
-
create databaseがうまくいきま...
-
数字で「そ」と「り」
-
PL/SQLをWindowsのBATファイル...
-
どの程度のデータベースなら、c...
-
firebird,SQLトレーナーの使い方
-
作成したレコードセットのCSV出...
-
htmlタグを含んだ文字のデータ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースファイル(.db)を開...
-
DBファイルの中身を直接見れな...
-
同じSQL文で極端に検索が遅くな...
-
Access2010でアクセス制限をしたい
-
ODBCを使用する場合のファイルD...
-
badファイルの内容を知る方法
-
SQLデータベースへのリンクがあ...
-
システムをサーバーにアップロ...
-
sqlファイルを分割するソフトは...
-
ダンプファイルから特定のテー...
-
パラメータファイルが壊れたと...
-
DB2の文字化け
-
SQLServer2005 セカンダリファ...
-
accdbファイルの最適化
-
こんにちは。Access上でExcelデ...
-
pdf ファイルを mysql に記録す...
-
SQLserver2005⇒2012へ移行
-
CGI(掲示板やカウンターなど)...
-
phpMyAdmin2.6.1 エクスポート...
-
mysql.sockを消してしまった
おすすめ情報