アクセス 「実際の」データベース ソフトウェアよりも多くの特殊性があると言えます。Access は、SQL データベースのフロント エンドとして簡単に使用できます。これはプログラムの一部です。
クラスが Access に組み込まれたデータベースを使用しているとします。次に、データベースの部分に分解しましょう。
テーブル
Access では、変数に簡略化されたモデルが使用されます。基本的に、典型的な数値、テキスト フィールドなどを使用できます。たとえば、SQL でできるように、小数点以下の桁数を修正できます。ただし、varchar(x) のような変数は表示されません。テキスト フィールドを選択し、フィールド サイズを「8」に設定するだけです。ただし、実際のデータベースと同様に、入力した制限が適用されます。Access は OLE オブジェクトをサポートしますが、すぐに混乱します。Access データベースはファイルのように保存されるだけで、信じられないほど大きくなり、すぐに肥大化する可能性があります。したがって、アドレス帳やテキスト データベースを保存したり、コードを介して外部ソースにリンクしたりするだけでなく、ファイルが大きくなりすぎて使用できないという理由だけで、保存する情報の量に注意する必要があります。
クエリ
Access は、SQL に沿って多くのことを実装しています。SQLに準拠していることは知りません。Access データベースを SQL が使用できるものにエクスポートできると思います。コードでは、DAO、ADO、ADODB、および Jet または Ace エンジンを使用して SQL データベースを操作します。(古いものもありますが、古いデータベースで動作します) ただし、クエリを作成するだけになると、多くのことが似ています。典型的なコマンド -- select、from、where、order、group、having などは正常であり、他の場所で機能するのと同じように機能します。計算された式や複雑な結合を使用すると、奇妙なことが起こります (アクセスはいくつかの種類の結合を実装していませんが、間違いなく最も重要なものである内部結合/結合が表示されます)。たとえば、Access では、distinct の動作が他のデータベース アーキテクチャとは異なります。また、集計関数 (sum/max/min/avg) の使用方法も制限されています。本質的に、Access は多くのタスクで機能しますが、非常にうるさいので、これらの問題を回避するためだけにクエリを作成する必要があり、実際のデータベースでは作成する必要はありません。
帳票・報告書
Access の重要な機能は、コンピューターの専門家ではないユーザーにとって非常に親しみやすいことだと思います。テーブルを簡単にナビゲートし、ドラッグ アンド ドロップしてフォームやレポートを作成できます。したがって、私の本の正式なデータベースではありませんが、非常に便利です...特に、データベースを使用する人が少なく、より「エンタープライズレベル」のソリューションよりも使いやすさ/簡単なセットアップを非常に好む場合. Crystal Reports や、Access データベースが結果を出し、ユーザーが必要に応じてデータを追加できるようにするために多くのコードを作成する必要はありません。
Access がデータベースではない理由
多くの同時接続を処理するためのものではありません。1 人がロックを保持でき、それについて交渉する必要はありません。1 人がデータベースの特定の部分を編集している場合、他のすべてのユーザーがロックアウトされるか、少なくとも読み取り専用に制限されます。また、多くのユーザーで Access を使用しようとしたり、コードを介して多数の要求を送信したりすると、約 10 ~ 20 の同時接続後に切断されます。これは、Oracle と mySQL が構築されている種類のことを意図したものではありません。必要に応じて「すべての」コンピューター ユーザーを対象としていますが、ユーザー エクスペリエンスを大幅に向上させるためにプログラマーが利用できる便利な機能がたくさんあります。
それで、これはあなたがもっと学ぶのに役立ちますか?
それがどのように悪いことになるかわかりません。関係代数をより簡単に見て、データを適切に整理する方法を理解できる環境です。これは、Java、C++、または Python を教えている大学と、それぞれにメリットがある理由についての同様の議論です。Access から SQL データベースにアクセスするためのフロントエンド (テーブルへのリンクをロードする) である Access にすぐに移行できるので、それを使用して非常に優れたクラスを教えることができると確信しています。