sql >> データベース >  >> RDS >> Access

Microsoft Accessテーブルのヒント–秘訣とガイドラインパート5

    一連のヒント– Microsoft Accessの秘訣とガイドラインの続きとして、いくつかの追加項目を共有します。進行中の記事は、Accessデータベース内のテーブルに引き続き焦点を当てます。

    データベーステーブルとテーブルの関係

    データベーステーブルの関係とは正確には何であり、なぜそれらを使用したいのですか?複数のテーブルを使用してデータベースを設計することは、特に難しい場合があります。すべてのデータベーステーブルを決定する必要があるだけでなく、複数のテーブルに関するデータベースの概念を理解することは困難な作業です。

    一部の人々はこれをやろうとするのをあきらめて、すぐにMSExcelに引き寄せられます。やがて、彼らは、共有ネットワークの大きな溝を越えて複数のスプレッドシートがリンクされるというスプレッドシートの悪夢に陥ります。 Accessデータベースを構築する時間や知識がないため、個人はExcelに移動します。

    したがって、Accessでデータベースを構築する場合は、Accessのテーブルリレーションシップウィンドウが非常に役立ちます。私の専門家の意見は、この機能を使用してすべての関係をマップできるようになるまで、データベースに何も作成しないことです。次の図では、顧客と注文の間の標準的な関係を示しています。

    この記事では、「1対多」の関係に焦点を当てます。この関係はどういう意味で、どのように使用されますか?上記の例では、顧客情報は「 one」として保存されます。 」の関係と注文は「多数」として保存されます " 関係。顧客情報を複数回保存したいのはなぜですか?顧客は複数回注文できるため、注文または多くの側はCustomerIDを複数回保存するだけです。

    たとえば、私道のシールコート会社が私道をブラックトップにした場合です。この場合、顧客は顧客テーブルに保存され、すべてのシールコート/注文の詳細は注文テーブルに保存されます。

    最初のシールコートから2年後、私道を再度封印する必要があります。顧客はすでにデータベースに登録されているため、同じ顧客に対して新しい注文が作成されます。以下の注文のフォームビューには、テーブルが作成された後の最終的な開発が示されています。

    上記の例では、顧客の仕事情報が1対多の関係の主要なコンポーネントです。同じ顧客に新しいジョブが必要な場合、ユーザーが行うのは、下の図の新しいジョブボタンを選択することだけです。

    新しいジョブが追加されると、顧客の概要画面が変わり、同じ顧客の2番目のジョブが反映されます。下の図を参照してください。

    したがって、これによりテーブルの関係に戻るだけでなく、最初に関係を設定する理由とのギャップを埋めることもできます。

    上の図は、テーブルとフォームを作成した結果です。次の図は、最初にテーブルの関係を設定するときに開始された場所です。 CustomersテーブルのCustomerIDは、Ordersテーブルの注文と一致します。

    ヒント– 最初にすべてのテーブル構造をマップするまで、Accessデータベースにデータベースエントリフォームの作成を開始しないでください。

    下の図の2番目の項目には、次のものがあります。

    • 参照整合性を適用する –その顧客が最初に作成されるまで、注文を注文テーブルに入力することはできません。これにより、顧客なしで「失われた」注文が作成されるのを防ぎます。
    • カスケード更新された関連フィールド –顧客IDフィールドの値が顧客テーブルで変更されると、関連するすべての顧客ID値も注文テーブルで変更されます。これは、製品番号または従業員ID値が変更されているデータベースでより一般的です。
    • 関連レコードのカスケード削除 –顧客を削除すると、関連するすべての注文も削除されます。繰り返しになりますが、これにより、「失われた」または「孤立した」レコードがダウンストリームテーブルにそのまま残されるのを防ぎます。

    要約すると、複数のテーブルを使用してデータベースを設計することは簡単な作業ではありません。しかし、それは多くの研究と努力で可能であり、それは可能です。それは本当にあなたが解くパズルであり、あなたの日々のプロセス内のデータを追跡することになると、すべてのピースがあなたの目の前にあります。

    Microsoft Accessの使用を開始する方法がわからない場合は、データベースのニーズについて、今日Arkwareに連絡してください。


    1. コマンドラインからのsqlplusステートメント

    2. Oracleで主キーを持つ重複行を削除する6つの方法

    3. ソートを使用した再帰的サブクエリ

    4. SELECT句で複数のセットを返す関数に期待される動作は何ですか?