• ベストアンサー

accessとphpとsql

現在、WEBからphpでSQLを使い、access(2002)にデータ入力とデータ参照するシステムを作成しています。 とりあえず両方できていますが、データ入力は複数人数で同時に更新(異なるレコード。テーブルは同一)することが想定されます。 排他制御はやりかたがわからずに組み込んでおりません。 ですが、入力者には個別のページに飛んでそこからデータを更新するようなWEBになっており、注意して作業してもらえば排他制御しなくてもいいかなと思っています。 ネットでaccessではデータの破損が起きやすいとありましたが、このような使用状況では起こりえるでしょうか? また、accessからmysqlなどに変更するメリットなどはありますでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

>>ネットでaccessではデータの破損が起きやすいとありましたが、このような使用状況では起こりえるでしょうか? ネットでなくても、1人で使っていてaccessってデータ破損が起きやすいわけですから、複数ユーザで使えば、壊れやすさはアップすると想像できますね。 >>また、accessからmysqlなどに変更するメリットなどはありますでしょうか?  accessは、元々がシングルユーザで使って本領発揮するDBですけど、mysqlは、正統的なマルチユーザのDBなので、変更すれば、信頼性と処理スピードが良くなると思います。ただ、お手軽さはaccessのほうが上かもしれないので、使いやすさではデメリットになるかもしれませんね。

hike106
質問者

補足

早速の回答ありがあとうございます。 >accessってデータ破損が起きやすいわけですから いままで、access使ってきましたがデータ破損はまだ経験が無いです。 2002を使っているのですが、信頼性はmysqlなどに比べて低いものなのでしょうか? 補足でこのシステムはレコード数が60程度でその内容を随時更新していくようなシステムを作成しています。 これぐらいのものだとaccessで十分だとおもいますが、マルチユーザーで 行う更新処理(異なるレコード。テーブルは同一)にaccessで耐えられるものなのかどうなのでしょうか?

その他の回答 (2)

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.3

>>いままで、access使ってきましたがデータ破損はまだ経験が無いです。 2002を使っているのですが、信頼性はmysqlなどに比べて低いものなのでしょうか? 2000のころですが、シングルユーザでの利用環境でも、Accessのスペックの限界に近いデータベースや帳票、大量データの更新をやっていたせいか、設計途中の、帳票が破損したり、運用中のDBが壊れたことが多かったです。これは私だけじゃあなくAccessで開発をやっていた人たち共通の認識で、「開発中は頻繁なバックアップ」「アプリ画面終了時に最適化とバックアップ自動実行」はお作法って感じでした。 昔、パソコン業界の裏を書いた本にも、Accessの原因不明なバグに苦しんだ末に「プログラマー空を飛ぶ(つまりは、飛び降り自殺ね)」って見出しの文章がありました。 たぶん、Accessだけでなく、Windows自体の信頼性の低さも原因になっていたような気がしますけどね。 mysqlなど、unix系のdbmsは最初からマルチユーザを考慮しているので、信頼性の差は歴然としています。でも、accessもWindowsも「いい加減さ」ゆえの使いやすさがあるのも確かですので、適材適所だと思ってます。まあ、「ルールガチガチのunix系と、臨機応変で、ルール破りもありのWindows系」て思ってます。でも、この「いい加減さ」がVistaのセキュリティ強化を失敗させた原因ですが。 >>これぐらいのものだとaccessで十分だとおもいますが、マルチユーザーで 行う更新処理(異なるレコード。テーブルは同一)にaccessで耐えられるものなのかどうなのでしょうか? 感覚的には、大丈夫そうな規模ですね。ただ、データが少ないとはいえ、データ同時更新の可能性とか、長時間ロックとか、停電等のトラブルによる更新中の障害発生などを思うと「壊れたら1・2日ほど回復まで待ってね。」っていえるシステムでないと私は使わないと思います。 あと、SQL Server 2005 Express Editionなんていう無償版がリリースされています。こっちはマルチユーザを意識しているので、できればこちらの利用をお勧めします。 (SQLServerは「ロックエスカレーション!」って「ムーン・ヒーリング・エスカレーション!」って単語を連想する現象をたまに起こして痛い目を見させてくれます・・・昔、それが原因でシステムが停止し「損害賠償だ!」なんてことになりかけたプロジェクトがありました。泊まりの日々だったようです。やっぱ、Oracleかな?)

回答No.2

> 2002を使っているのですが、信頼性はmysqlなどに比べて低いものなのでしょうか? 低いですね。 Access のデータ ファイルは単純に「単一なファイル」です。 対して MySQL などは DataBase Management System と呼ばれていて、実際のデータと、それを管理するシステムからできています。 例えば同時アクセスの場合・・・ System-A とSystem-B が(または同一システム上の User-A と User-B が)同時にデータへアクセスしようとした場合、Access のデータ ファイルの場合はそれぞれのシステムが勝手にファイルを操作しようとします。データ ファイルを管理する代表者がどこにもいません。 DBMS では外部からのデータ アクセス要求を管理システムが窓口になり、要求を交通整理しながらデータにアクセスします。 つまり最初から「不特定多数の外部からアクセスされること」を前提に作られているので、障害も起きにくいのです。

hike106
質問者

お礼

お礼が遅くなりすみません。 >最初から「不特定多数の外部からアクセスされること」を前提に作られている そうだとは知りませんでした。 mygqlを試してみようと思います。 ありがとうございました。

関連するQ&A