• ベストアンサー

xmlかMySQLか

現在、PHPを用いて、簡単なデータを扱うWebページを作成しようと考えております。 簡単な例を挙げますと、 例えば、Webページ上で営業40人の営業成績を表示するプログラムとします。 (この例は、あくまでも例えです。) データベースのフィールドは2つのみで、 営業名、成績です。 行数は40(営業人数)です。 PHPでそれらの値をデータベースから取得し、ページに表示させます。 Aさん‥60点 Bさん‥80点 Cさん‥90点  ・  ・  ・ この場合、データベースとしては、MySQLかXMLかどちらを用いた方が良いでしょうか? 素人の考えですが、xmlだとサーバーを選ばないので良いのかと想像します。 MySQLだとインストール必要かもしれませんので。 それぞれのメリット、デメリットがあればお教え頂ければ幸いです。 よろしくお願い致します。

  • PHP
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

データ量と追加・更新の頻度で判断すればよろしいかと思います。  XMLのサイズが1Mぐらいなら、XMLで充分だと思います。  XMLはテキストファイルです。データが増えると、どんどん大ききなりま す。プログラムで扱うとき、DOMとして扱えばメモリーを消費します。SAXでシーケンシャルに1要素づつ処理していくにしても、時間がかかります。  DBは、データが膨大でもアクセスは高速です。といっても全件セレクト してフェッチ処理だと、消費メモリーも時間も増大しますが、単件の検 索・追加・更新が主用途なら高速です。しかし、データ量が少ないと かえってDB処理のオーバーヘッドが無駄になります。

yamaps
質問者

お礼

お早い回答ありがとうございました。 データの容量はおそらく1Mにも満たないと思います。 XMLだと勉強しなければならないのですが、やはり自分ではなく導入先の方のことを考え最適な選択をしたいと思います。 XMLを勉強してみます。 ありがとうございました。

その他の回答 (1)

  • tomtom963
  • ベストアンサー率19% (19/96)
回答No.2

#1さんの意見にほぼ同意ですが追加として データメンテナンスや他の形式へのエクスポートのしやすさはDBでしょう。 後今回出てきてないですがデータ構造によってはxmlやDBでなくて CSV形式で十分だと言えることがありますね。

yamaps
質問者

お礼

>tomtom963様 ありがとうございます。 メンテナンス、エクスポート‥これについては考えていませんでした。 確かにその通りです。 あと、CSV。 今回の場合、CSVの方が良いかもしれません。 MySQLしか詳しくないもので‥。 検討してみます。 ありがとうございました。

関連するQ&A

  • PHP+MySQLでこのようなシステム

    PHPとMySQLで、このようなシステムを作れないかと考えているのですが、可能か不可能か、もしくはヒントだけでもいただだけないかと思い、質問させていただきました。 まず、PHP+MySQLというのは、javascriptとかも初心者用の本を買ったりしたのですが、こういうところに使うとかいまいち理解できず、 現在PHP+MySQLと必要な時だけjavascriptのサンプルをコピペとかで使って事足りているということです。 PHP+MySQLの知識は、浅い方ですが、データベースを使っての表示や条件抽出くらいはできるくらいです。 主に使うデータベース・ページは、下記の通りです。 データベース内にテーブルが複数あります。 ・table_01 ・table_02 ・table_03 全テーブルデータの一覧を表示させるPHP(1ページ20件毎に表示させています) ・itiran.php 各会員ページのPHP ・mypage.php 「このようなシステム」というのは、 ・一覧ページ【itiran.php】に[追加]ボタンを作り、[追加]を押すと会員ページ【mypage.php】に追加した商品が一覧として表示される ・【itiran.php】および【mypage.php】で追加した商品を一覧から[削除]できる ・【itiran.php】の各商品には、追加している人数[登録数]が表示される([削除]した場合は、人数は-1となる) 【itiran.php】テーブル例 ┼───┼───┼───────┼───┼ │NAME│ZAIKO│お気に入り    │登録数│ ┼───┼───┼───────┼───┼ │ポニョ │2,000 │ 追加       │500 │ ┼───┼───┼───────┼───┼ │ゲド  │1,000 │ 追加       │300 │ ┼───┼───┼───────┼───┼ │トトロ │9,000  │登録済み・・削除│100 │ ┼───┼───┼───────┼───┼ ・データベースは、各テーブル更新があった場合、一度の更新数が多くいので、1テーブルまるごとCSVで更新しています。 ・登録数を、このテーブル内に入れておいた方が良いのでしょうか。 参考になるようなサイトもなく、PHP+MySQL可能か不可能か、もしくはヒントだけでもお願い致します。

    • ベストアンサー
    • PHP
  • xmlを抽出した結果表示

    SimpleXMLを使用してxmlのデータを読み込んでいます。 該当するもの全てを表示させているのですが、よく検索ページなどにある、 「次の10件」のように、10件ずつ表示し、 次以降は別のページを自動的に生成していくということをしたいのですが、 どのようにすればよいかわかりません。 MySQLなどデータベースからというのならやり方を調べていると出てきたのですが、xmlのデータで作りたいと思っています。 何分、PHP初心者で、サンプルコードをみながらしかできないので、お願いします。

    • ベストアンサー
    • PHP
  • php xml?mysql? アクセスログ

    phpでアクセスログをxmlデーターベースとして保存したいと思っているのですが アクセスログなんてデータベースとして作るものじゃないのでしょうか? <サイトの名前> <visiter> <IP></IP> <ブラウザ></ブラウザ> その他色々 </visiter> <IP></IP> <ブラウザ></ブラウザ> その他色々 </visiter> </サイトの名前> DomDocumentオブジェクトのappendChildなどを使って要素の追加などをして、javascript使ってグラフなどを表示したいと思っています。 こういうのはデータベースというのですか・・? 使っているサーバーがロリホップの105円プランなのでmysqlが使えないので、xmlで作ってみたいと考えました。 なんというか根本的に間違っているというか、効率が悪いというか、現実的ではないというかそんな感じがするのですがどうなのでしょうか・・ 回答よろしくおねがいします。

  • php xml mysql  アクセスログ

    phpでアクセスログをxmlデーターベースとして保存したいと思っているのですが アクセスログなんてデータベースとして作るものじゃないのでしょうか? <サイトの名前> <visiter> <IP></IP> <ブラウザ></ブラウザ> その他色々 </visiter> <IP></IP> <ブラウザ></ブラウザ> その他色々 </visiter> </サイトの名前> DomDocumentオブジェクトのappendChildなどを使って要素の追加などをして、javascript使ってグラフなどを表示したいと思っています。 こういうのはデータベースというのですか・・? 使っているサーバーがロリホップの105円プランなのでmysqlが使えないので、xmlで作ってみたいと考えました。 なんというか根本的に間違っているというか、効率が悪いというか、現実的ではないというかそんな感じがするのですがどうなのでしょうか・・ 回答よろしくおねがいします。

  • XML/SerializerでMySQLデータをXML出力出来ない

    XML/SerializerでMySQLデータをXML出力出来ない 以下のPHPでXML/Serializerを利用してXML出力したいのですが エラーにて正常に表示出来ず困っております。 (サーバはhetemlのレンタルサーバでphp5を利用しています) 【エラー内容(Firefoxで表示)】 XML パースエラー: 構文エラーです。 URL: http://対象url 行番号: 1, 列番号: 1:Connected successfully<br /> ^ 【サーバからブラウザへの出力】 Connected successfully<br /> <b>Warning</b>: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in <b>対象PHP </b> on line <b>22</b><br /> <?xml version="1.0" encoding="UTF-8"?> <result /> 【対象PHP】 <?php require_once 'XML/Serializer.php'; $con = mysql_connect("ホスト名","ユーザ名","パスワード") or die("Could not connect"); print "Connected successfully"; $options = array( "indent" => " ", "linebreak" => "\n", "typeHints" => false, "addDecl" => true, "encoding" => "UTF-8", "rootName" => "result", "defaultTagName" => "item", ); $serializer = new XML_Serializer($options); $sql = "SELECT * FROM テーブル名 ORDER BY id ;"; $result = mysql_query( $sql ); $valArr = array(); while( $val = mysql_fetch_assoc( $result ) ){   ←22行目 $valArr[] = $val; } $status = $serializer->serialize($valArr); if( $status === true ) { $xml = $serializer->getSerializedData(); header ("Content-Type: text/xml; charset=UTF-8"); echo $xml; exit; } exit; mysql_close($con); ?> 以下のサイトを参考にしております。 http://d.hatena.ne.jp/haru-komugi/20080617/1213629719 宜しくお願い致します。

    • 締切済み
    • PHP
  • MySQL又はSQLiteについて

    お世話になります。 Androidアプリ開発でPHPファイルを読み込み、更にMySQLへ接続してデータベースの中身を反映させるとこまでは成功しました。 しかし、Androidアプリとデータベースの連携で調べると、SQLiteを推奨しているサイトや書籍が多いのですが、軽量のファイルベースで手軽に構築・運用できるという点は、何となくイメージできるのですが、MySQLに比べてSQLiteが明らかに優れている点はあるのでしょうか? 私は、8割方PHPでwebコンテンツの開発を行ってきました。そしてデータベースは100%MySQLを利用してきました。Androidアプリ開発を開始したのは、つい最近の事でSQLiteも今まで殆ど触れていませんでしたので、特にMySQLとSQLiteでメリット・デメリットの大差が無いのであれば、触りなれているMySQLを選択しようと考えています。 因みに、iOSアプリについては別の者が開発しています。 最終的には、AndroidとiOS両方の端末が1つのデータベースへ読みに行く構想ですので、もしiOSの開発側で、SQLiteの方が圧倒的に優れているとなれば話は変わってきますが・・・。 MySQLとSQLiteを比較して、SQLiteが優れている点のアドバイスをいただければ幸いです。 何卒、どうぞよろしくお願い申し上げます。

  • mysqlにうまく接続できません

    PHP、Mysql初心者です。 何かWEBページの作品を作ろうと、データベースを使ってます。 ごくごく定番のPHPからデータベースの内容を書き出すことをしているのですが、 Fatal error: Call to undefined function mysql_connect() in C:\Program Files\Apache Group\Apache2\htdocs\renshu\ken.php on line 10 というエラーコードが出ました。私のテキストエディタでの9~11行目はこちらです。ちなみにApache2とMysql5です。 <?php mysql_connect('localhost','root','パスワード'); mysql_select_db('データベース名'); 参考書通りにやっていまして、タイプミスはないはずなんですが…。ホスト名やユーザ名もあっているはずです。 どなたか教えてください。よろしくお願いいたします。

  • XMLについて

    HTMLで書かれたソースデータの中にはWebページ上で表示されている文字が記述されているじゃないですか?XMLで書かれたソース内にもそのような文字がすべて記述されているのですか? XMLを用いてWebページを作るということができるのでしょうか? XMLを使用しているページを知っていたら教えてください。お願いします。

    • ベストアンサー
    • XML
  • 【php MySQL】データが取り出せない

    こんにちは。 MySQLのデータをphpで管理するページを作っていますが、壁にぶつかってしまいました。 データベースのあるフィールドに、「あああ」「いいい」「ううう」というようにいろんな言葉が登録されています。 これらを削除・追加するために、phpで取り出して、チェックボックスでリストアップします。 リストにない言葉は新たに登録できるように、テキストフィールドも用意しています。 □あああ □いいい □ううう 新規:[   ](テキストフィールド) というふうにです。 このフォームはちゃんと機能していまして、追加した言葉はデータベースに記録されているのですが、なぜかフォームにリストアップされないのです。 例えば、    □あああ □いいい □ううう 新規:[   ] で、新規のところに「かかか」と入れて送信すると、    □あああ □いいい □ううう □かかか 新規:[   ] となってほしいわけですけど、    □あああ □いいい □ううう □ 新規:[   ] となってしまうのです。 フォームを使って送信した言葉が、データベースに記録されていながら、取り出せないというのは、何が原因だと考えられるでしょうか? 何かすごく単純なことのような気がするので、ソースは載せないでおきます。 ご教示をよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PostgreSQLとMySQL

    OSはRedhatLinux7.1 Apache_1.3.26 php-4.2.3 PostgreSQL-7.2.1 mysql-3.23.52 を使っています。 データベースの勉強をするために Apache+php+PostgreSQL Apache+php+MySQL で同じWebアプリケーションを作っていこうと思っています。 しかし、どのように比較し、どのように勉強していけばいいのか悩んでいます。 PostgreSQLとMySQLではphpの関数が違う事はわかったのですが。。。 よろしければアドバイスお願いします。