これらは、Microsoftから提供されている2つの製品 – MS AccessとMS SQL Serverです
Accessはどのようなユーザー・利用者を対象としていますか?利用度(利用者数)以外に、この2つの製品は同じですか?
10 Moeb 2010-08-16
MS Accessは実際には、迅速な開発UIツールとファイルシステムベースのリレーショナルデータベース(JET)を組み合わせたものです
長所。 – 簡単な展開は、ちょうどネットワークにファイルをコピーして、人々にそれへのパスを教えてください。- 迅速なプロトタイピングとデータベースタイプのアプリケーションのための非常に良いUI開発ツール – 一般的には、特に小規模なインストールのために、展開するためにはるかに安いです
短所 – メンテナンス – DBの圧縮、修復、その他のメンテナンスを行う場合は、すべてのユーザーをロックアウトする必要があります。- ファイルベースのDBを使用した結果、多数のユーザーやネットワーク接続が不備な場合、データが破損しやすくなります。- その数は議論の余地がありますが、SQLよりもはるかに早く、1つのAccess DBでサポートできるユーザ数を最大にすることになります
MS SQL Serverはクライアントサーバ型リレーショナルデータベースシステムで、UI開発ツールは内蔵されていません
長所。 – メンテナンス – メンテナンスのためのツールがたくさんあり、DB内のユーザーと一緒にそれのほとんどを行うことができます。したがって、より高い稼働時間を得る。 – エンタープライズスケール – それはより多くのユーザーをサポートするように設計されており、それらを処理するために良いスケールします
短所: – 高価 – 数十万点のアイテムを追跡するための5人のユーザーアプリでは、それは過剰になることがあります。 – より複雑 – すべての余分な機能は学習曲線を導入します。- 組み込みのUI開発ツールがない – フロントエンドと(おそらく)レポートを構築するには、別の開発プラットフォームが必要になります。実際、AccessはSQLのフロントエンドとして機能しますが、いくつかの理由からDBAはAccessユーザーがデータベースに接続するのを嫌う傾向があります
Miscellany – そうではないと言われるかもしれませんが、DBの大きさで判断するのではなく、機能やユーザベースの大きさで判断しましょう。 – 実際、AccessはSQL ServerでホストされているデータベースのUIツールとしてはかなり優れています。そのため、ニーズによっては「両方」というのが正解かもしれません
5 JohnFx 2010-08-16
質問は愚かなものです。SQL ServerとAccessは同じ種類の製品ですらありません。それは、ホテルとマックトラックの違いは何かと尋ねるようなもので、その質問には意味がありません
その理由は、SQL Serverはデータベースエンジンのみであるのに対し、Accessはデータベースアプリケーション開発ツールだからです。SQL Serverはデータを保存するためのものであるのに対し、Accessはデータを操作するためのアプリケーションを構築するためのものです
さて、AccessにはJet/ACEというデフォルトのデータベースエンジンが同梱されていますが、そのため、誰もが何気なく “Access “をデータベースエンジンの意味で使っています。AccessとJet/ACEを交互に使うのは間違っていて不正確で、どちらを意味するのかを明記しないと混乱を招くことになります。AccessとSQL Serverを厳密に比較することはできませんが、SQL ServerとJet/ACEを比較することは確かにできます
詳細には触れませんが、どのデータベースエンジンが最も適切かを決めるのは、それに依頼するタスクに依存すると言っておきましょう。それは、移動のために車を買うのに似ています。もしあなたが独身で、スーパーやモールに行くのに車が必要ならば、ミニクーパーで十分でしょう。一方、あなたはビジネスであり、あなたの倉庫と店舗の間を前後に在庫の箱の100sを輸送する必要がある場合は、マックトラックが必要になるだろう
モールやスーパーに行くためだけにマックのトラックを使おうとするのは個人としては愚かなことだし、ミニクーパーを使ってビジネスの在庫を運ぼうとするのも同様に愚かなことだ。どちらもできますが、非常に不便です
そのため、データベースエンジンをどのような目的で使用するのかを決め、その目的に最も適したデータベースエンジンを選択しなければなりません。Jet/ACEは十分な機能を備えており、あなたにとって非常に楽なシナリオを提供してくれます
また、Jet/ACEから始めるのが賢明ではないシナリオもたくさんあり、SQL Serverのようなサーバーデータベースエンジンを使うべきです。Jet/ACE はいくつかのシナリオでは不十分であり、SQL Server は他のシナリオでは膨大なオーバーキルになりますが、特定のシナリオの具体的な要件を調べてみないとどちらが良いのかわかりません
最後になりますが、Accessはフロントエンドアプリケーションを構築する際に、背後にJet/ACEデータベースがあっても、SQL Serverデータベースがあっても、どちらでも使える優れたツールです。つまり、AccessのフロントエンドとJet/ACEのバックエンドから始めて、必要に応じてサーバーのバックエンドにアップサイズし、既存のAccessアプリケーションはそのままにしておくというシナリオです
4 David W. Fenton 2010-08-17
Accessはエンドユーザー向けのパッケージなので、より多くのエンドユーザーを対象としています。それは主に一度に1つの使用のためのものですが、それは不器用な遠回りな方法ではありますが、複数のユーザーをサポートしています。MS Officeのツールであることを忘れないでください
MS SQL Serverは実際のSQLデータベースです。これは、サーバー上に設置され、その上に置きたいフロントエンドのためのデータベースとして機能するように設計されています。これは主に複数のユーザーのためのもので、中央集権化を目的としています
3 Force Flow 2010-08-16
Force Flowによる回答の他にも、別のツールを提供していたり、UIが違っていたりします
Accessには、テーブルを作成する方法、ウィザードを使ってクエリを生成する方法、ウィザードを使ってレポートを作成する方法、マクロを作成する方法などがあります。コンパクト化などのメンテナンスツールが内蔵されています。オールインワンの小さなデータベースです
SQL Serverの方がパワーがあり、手がかからない。データベースやSQLの知識がないと使いこなすことができず、適切なメンテナンスが必要です
2 thursdaysgeek 2010-08-16