テーブルを作成する技術。 Microsoft Accessを利用したデータベース開発技術。 リクエストデータスキーマ

テーブル作成技術

MS ACCESS DBMS には、テーブルを作成するためのツールがいくつか用意されています。手動 (デザイン モードまたはデータ入力によるテーブルの作成) と自動 (ウィザードを使用した開発) です。 ウィザードの作業は多数のテーブル テンプレートの使用に基づいており、ユーザーはテンプレートから必要なフィールドを選択できます。 テーブル作成技術を適切に習得するには、手動ツールを使用することをお勧めします。

デザイン モードで新しいデータベース テーブルを作成するには、データベース ウィンドウで次の手順を実行する必要があります。

· オブジェクトパネルで、「テーブル」ボタンをクリックします。

· オブジェクト コントロール パネルで、[デザイン モードでテーブルを作成する] を選択します。

· デザイナー ウィンドウで、テーブル構造を形成します (タイプを示すフィールドのリストを入力します)。

フィールドのリスト - テーブル内で使用可能なフィールドの名前が行ごとに含まれており、新しいフィールドの名前を行ごとに入力できます。 デフォルトでは、フィールド名がテーブルの列名になります。

フィールド タイプのリスト - ドロップダウン リストからフィールド タイプを選択できます。

フィールド タイプ選択ボタン - フィールド タイプを選択するためのコントロール要素。 ボタンは入力したフィールド名の後にのみ表示されます。

フィールド プロパティを編集するためのパネル - 選択したフィールドのプロパティ (フィールド サイズ、フィールド形式など) のリストが含まれます。 フィールドのプロパティは変更しないままにすることも (デフォルトで割り当てられる)、編集することもできます。 デザイナー ウィンドウを閉じて、生成された構造を保存し、テーブル名を指定します。

データ入力および編集技術

作成したテーブルは、そのアイコンをマウスの左ボタンでダブルクリックすると、データベース ウィンドウで開きます。 新しいテーブルにはレコードはなく、テーブルの構造を特徴付ける列名だけがあります。 テーブルへのデータの入力は通常の方法で行われます。 次のエントリはテーブルの最後に入力されます。 表の特定のセル (カーソルで強調表示されているセル) への入力は、キーボードに情報を入力してキーを押すことによって実行されます。 または 。 レコードの最後のフィールドにデータを入力し終えると、MS ACCESS 自体が新しいレコードの最初のフィールドに移動し、データ入力を待ちます。

表のセル内のデータを編集して、完全または部分的に置き換えることができます。 データを完全に置き換えるには、編集中のセルにカーソルを移動し、新しい情報を入力(入力)する必要があります。 データを部分的に置き換える場合は、マウスカーソルまたはファンクションキーを使用できます。 入力カーソルの位置を変更します。

レコードを削除するには、レコードを選択し (レコード マーカー領域をクリックし)、 キーを押す必要があります。 、またはメニューコマンドの編集-削除を実行します。 画面にプロンプ​​トが表示されたら、削除を確認します。

データ検索・選択技術

MS ACCESS は、データベース内の情報を検索および選択するためのかなり幅広い可能性を提供します。 このようなツールには、検索コマンドの使用、フィルタリング、並べ替え、クエリの作成および使用が含まれます。

クエリは、テーブルからデータを取得し、それをユーザーが処理できるように便利な形式で提示するためのツールです。 クエリの特徴は、ベース テーブルからデータを選択し、それに基づいて一時的な結果テーブルを作成することです。

データ クエリを使用すると、データの選択、並べ替え、フィルタリング、特定のアルゴリズムに従った変換、新しいテーブルの作成、他のソースからインポートされたテーブルへの自動入力、テーブルでの単純な計算の実行などの操作を実行できます。 MS ACCESS にはいくつかの種類のクエリがあります。

選択クエリは、最も一般的に使用されるクエリ タイプです。 このタイプのクエリは 1 つ以上のテーブルからデータを返し、それをレコードを更新できるテーブルとして表示します (いくつかの制限があります)。

パラメータ付きクエリは、データを選択するためのパラメータを決定するためにユーザーとの対話を確立するクエリです。

クロスクエリ - 分析に便利な構造でデータを計算および表示するために使用されます。

レコードを削除するには - 1 つ以上のテーブルからレコードのグループを削除します。 削除リクエストを使用すると、レコード全体のみを削除できます。レコード内の個々のフィールドは削除できません。

レコードを更新するには - 1 つ以上のテーブルのレコードのグループに一般的な変更を加えます。

レコードを追加するには - 1 つ以上のテーブルから 1 つ以上のテーブルの末尾にレコードのグループを追加します。

テーブルを作成するには - 1 つ以上のテーブルのデータのすべてまたは一部に基づいて新しいテーブルを作成します。

SQL クエリとは、データベース サーバーに対するクエリを作成するときに使用される SQL (Structured Query Language) で作成されたクエリです。

最も一般的なタイプのクエリは選択クエリです。 デザイナーを使用して作成するには、データベース ウィンドウで次の手順を実行する必要があります。

· オブジェクト パネルで、[クエリ] ボタンをクリックします。

· オブジェクト コントロール パネルで、[デザイン モードでクエリを作成する] を選択します。

· [テーブルの追加] ウィンドウで、クエリを生成するオブジェクトを選択します ([テーブル]、[クエリ]、[テーブル]、および [クエリ] タブを使用)。 作業を完了するにはボタンを押す必要があります<Добавить>そして<Закрыть>;

· [選択リクエスト] ウィンドウ (図にその構造が示されています) で、次の手順を実行してリクエスト構造を作成します。

· [テーブル構造] 領域に表示されているテーブルで、マウスの左ボタンをダブルクリックして、クエリに含める必要があるフィールドの名前を選択します (選択したフィールドとテーブルの名前が、[フィールド] 行と [テーブル名] 行に自動的に表示されます)クエリ構造領域の。

必要に応じて、対応するライン ポインタを使用してデータの並べ替え、表示、選択のパラメータを設定します。

並べ替え - 各フィールドの並べ替え方法 (昇順または降順) を選択できます。 リクエストでは、ソート順序が指定されているフィールドによってデータがソートされます。 複数のフィールドを一度に左から右に並べ替える、複数レベルの並べ替えが可能です。

画面への出力 - フィールドの内容を画面上に表示するように設定できます。

選択条件 - 各フィールドのデータを選択するための個別の条件を設定できます。 式は、データ選択条件を指定したり、クエリで計算フィールドを作成したりするために使用されます。 [選択のリクエスト] ウィンドウを閉じて、生成された構造を保存し、リクエストの名前を指定します。

実践レッスンその2

テーブルの作成、変更、削除。 初期データの入力

仕事の目標: SQL Server 2008 でクエリと GUI ツールを使用してテーブルを作成、変更、削除する方法を学びます。

理論的情報:

SQL でテーブルを作成するには、CREATE TABLE ステートメントを使用します。このステートメントでは、次のパラメーターを指定する必要があります。

    作成するテーブルの名前。

    構成する列の名前。

    各列のデータ型。

これらの必須パラメータに加えて、ほとんどのベンダーは、SQL-92 標準でサポートされる CREATE TABLE ステートメントの追加機能を提供しています。

テーブル作成ステートメント

CREATE TABLE ステートメントの簡略化された構文は次のとおりです。

テーブルの作成
[, ])

CREATE TABLE ステートメントは、現在のデータベースに tbl_name という名前の新しいテーブルを作成します。 カスタム データベースにテーブルを作成するには、テーブル名を db_name.tbl_name として指定する必要があります。

TEMPORARY 属性は、現在のセッション中に存在する一時テーブルの作成を指定します。 セッションが終了すると、テーブルは削除されます。 一時テーブルの名前は、以前に作成したテーブルの名前と同じにすることができますが、同様のテーブルは一時的に使用できなくなります。

IF NOT EXISTS 属性は、既に使用されている名前でテーブルを作成しようとしたときのエラー メッセージを抑制しますが、新しいテーブルは作成しません。 Col_declaration 列宣言は、列​​名col_nameとその型col_typeで始まり、その後にいくつかのオプションのキーワードを続けることができます。 列のタイプとして、DBMS でサポートされている任意のタイプを選択できます。

NULL 属性 | NOT NULL は、列が NULL 値を許可するかどうかを決定します。

DEFAULT 属性は、挿入時に明示的に指定された値がない場合に列に割り当てる値を指定します。 デフォルト値が指定されていない場合、デフォルト値は、NULL 可能列の場合は NULL、文字列列の場合は空の文字列、数値列の場合はゼロです。

データベース テーブルには、新しいレコードがテーブルに追加されるときに自動的にシーケンス番号が書き込まれる列を含めることができます。 このような列は ID またはカウントと呼ばれ、通常は主キーとして使用されます。 テーブルには ID 列を 1 つだけ含めることができます。

MS SQL Server では、列の説明の IDENTITY 属性を使用して識別子列が作成されます。

列の定義::=
列名 [ NULL | NOT NULL ] [ IDENTITY [(シード ,インクリメント) ]]

テーブルに新しい行を追加すると、データベース エンジンはその列に対して連続して一意の値を生成します。

テーブルごとに作成できる ID 列は 1 つだけです。 列を作成するときは、初期値 (列の説明のシード パラメーター) と増分 (列の説明の増分パラメーター) の両方を指定できます。 これらのパラメータが指定されていない場合は、デフォルト値 (1,1) が使用されます。

テーブルに新しい列を追加するには、ALTER TABLE ステートメントの ADD 句を使用します。 構文オペレーター他の机:

他の机< テーブル名>追加 [, < 列定義>,…. ]

Col_setting 式には、CREATE TABLE と同じ構文を使用して、作成される列の名前とその説明が含まれます。 複数の列を追加する場合、その説明はカンマで区切られます。

テーブルの列を削除するには、ALTER TABLE ステートメントで DROP 句を使用します。

他の机

進捗

    「スタート」 – 「プログラム」を起動 – Microsoft SQL Server 2008 –水曜日

    「サーバーへの接続」ウィンドウには何も変更する必要はありません。 (Windows 認証を選択する必要があります。) 「接続」ボタンをクリックします。

    左側のウィンドウの「データベース」行を右クリックし、「データベースの作成」を選択します。

    「データベース名」行に「セッション」という名前を入力します。 「OK」をクリックします。

    左側のウィンドウで、「+」をクリックして「セキュリティ」ブランチを展開します。

    「ログイン」行を選択して右クリックします。 「ログインの作成」を選択します。

    「ログイン名」行に姓を入力します。

    「SQL Server 認証」モードを選択し、「パスワード」行と「パスワード確認」行にパスワードを入力します。 123.

    「パスワードポリシーの使用を要求する」チェックボックスをオフにします。

    「デフォルトのデータベース」行で、作成したデータベースを選択します。

    右側の「sysadmin」行を確認します。 「OK」をクリックします。

    近い SQL Server Management Studio Express。

    SQL Server Management Studio Express (SSMS) を起動し、インスタンスに接続し、ウィンドウを開いて新しいクエリを作成します。

    テーブルを作成するには、CREATE TABLE ステートメントを使用します。

    この手順を使用して、次のテーブルを作成します。

    1. 「Students」テーブルは次の列で構成されます。

ID _Student – データ型 INTEGER 識別列。

Group_number データ型 INTEGER、長さ 6。

    1. Disciplines テーブルには 2 つの列が含まれています

ID _Discipline - データ型 INTEGER 識別列。

名前 - データ型 VARCHAR、長さ 40。

    1. Curriculum_Plan テーブルには次の列が含まれます。

ID _Discipline - データ型 INTEGER;

学期 – データ型 INTEGER。

Number_of_hours - データ型 INTEGER ;

ID _Teacher - データ型 INTEGER。

    SSMS GUI ツールを使用して次のテーブルを作成します。

    1. 概要ステートメント テーブルは次の列で構成されます。

ID _Student - データ型 INTEGER、識別列。

ID _Plan - データ型 INTEGER、識別列。

評価 - データ型 INTEGER。

Submission_date - データ型 DATETIME;

ID _Teacher - データ型 INTEGER;

すべてのテーブル列には、列値が未定義の場合に行の入力を禁止する制限があります。

    1. 「personnel_composition」テーブルは次の列で構成されます。

ID _Teacher - データ型 INTEGER、識別列。

姓 – CHAR データ型、長さ 30。

名前 - CHAR データ型、長さ 15。

ミドルネーム - CHAR データ型、長さ 20。

位置 - データ型 CHAR、長さ 20。

椅子 - データ型 CHAR、長さ 3。

アドレス – CHAR データ型、長さ 30。

電話 - データ型 CHAR、長さ 8。

[住所] 列と [電話番号] 列を除くすべてのテーブル列には、列値が未定義の場合に行の入力を禁止する制限があります。

    ALTER TABLE ステートメントを使用して列を追加し、「personnel_composition」テーブルを変更します。

給与 - データ型 INTEGER;

税金 - データ型 INTEGER;

受け取った – 計算された列 (給与 – 税金)。

    「セッション」データベース テーブルに次のデータを入力します (欠落している列には任意のデータを入力します)。

学生

コントロールの質問:

    CREATE TABLE コマンドの一般的な構文を提供します。

    DEFAULT キーワードは何を定義しますか?

    ID 列とは何ですか?また、どのようなキーワードが使用されますか?

    NULL オプションと NOT NULL オプションの目的は何ですか?

    計算列とは何ですか? 計算列の構文を指定します。

データベース(DB)

情報を保存するために設計された組織化された構造。

通常、データベースは、特定の問題を解決するために設計された、相互接続されたファイルまたはテーブルのコレクションとして表現されます。

DBMS

新しいデータベースの構造を作成し、コンテンツを入力し、コンテンツを編集し、情報を視覚化するために設計された一連のソフトウェア ツール。

リレーショナルデータベース相互接続されたテーブルのセットであり、各テーブルには特定のタイプのオブジェクトに関する情報が含まれています。 テーブルの各行には 1 つのオブジェクト (車、コンピュータ、クライアントなど) に関するデータが含まれ、テーブルの列にはこれらのオブジェクトのさまざまな特性 (エンジン番号、プロセッサのブランド、電話番号など) が含まれます。企業または顧客の)。

テーブルの行は次のように呼ばれます。 記録。 すべてのテーブルエントリには、 同じ構造- フィールド (データ要素) で構成されます。 属性物体。 各レコード フィールドにはオブジェクトの 1 つの特性が含まれており、指定されたデータ型 (テキスト文字列、数値、日付など) を表します。

レコードを識別するために使用されます 主キー。 主キーは、値の組み合わせによってテーブル内の各レコードを一意に識別する一連のテーブル フィールドです。

データベース設計

DB 設計は非常に重要な段階であり、DBMS 開発の後続の段階が左右されます。 開発者がデータベース設計に費やした時間は、通常、プロジェクト実装の高速化という形で報われます。

データベースを作成する前に、選択したサブジェクト領域の説明を用意する必要があります。これには、実際のオブジェクトとプロセスが含まれ、予想されるユーザーの要求を満たし、データ処理のニーズを判断するために必要な情報がすべて含まれている必要があります。
このような記述に基づいて、データベース設計段階で、データベース内に存在し、必要なクエリとユーザー タスクを確実に実行できるようにする対象領域データの構成と構造が決定されます。 対象領域のデータ構造は、情報論理モデルによって表示できます。 このモデルに基づいて、リレーショナル データベースを簡単に作成できます。

デザイン技術、ソフトウェア、情報コンポーネントを継続的に改善し、実装される管理機能と対話オブジェクトの範囲を拡大しながら機能できる新しいシステムの記述を作成するプロセスを理解します。

概念設計の目的主題領域の説明に基づいたデータベースの開発です。 この説明には、データベースにロードするために必要な一連の文書とデータ、および主題領域を特徴付けるオブジェクトとプロセスに関する情報が含まれている必要があります。 このような説明は、実際のオブジェクト、プロセス、現象のクラス全体をカバーします。 エンティティ、データベースに含めるべき情報、およびデータベースに対する考えられるクエリの実装と問題の解決を保証します。 データベース開発は、ユーザーの要求を確実に満たすために、データベースに保存するデータの構成を決定することから始まります。 次に、それらを分析して構造化します.

論理設計の目的特定の DBMS の選択です。 概念モデルを論理モデルに変換する。 リレーショナル データベースの場合、この段階はテーブルの構造、テーブル間の関係の開発、および重要な詳細の決定で構成されます。

物理設計段階論理モデルを補完する 特徴これらは、データベースの物理的な保存方法と使用方法、メモリの量、ストレージ デバイスの種類を決定するために必要です。
リストされた設計アプローチの組み合わせが最も合理的であると考えられます。 これは、初期段階では原則として、すべてのタスクに関する包括的な情報がまだなく、すべてのタスクが設定されるまでデータベースの設計と作成を延期する必要があるためです。 DBMS でリレーショナル データベースを作成するツールを使用すると、開発のどの段階でも、以前に入力したデータを損なうことなくデータベースに変更を加え、その構造を変更できるため、このようなテクノロジを使用すると便利です。 この技術では、データベースからさまざまな情報を取得する必要があるという予備情報が使用されます。

データベースを設計した結果、データベースを開発する必要があります。 情報論理モデル (ILM)データ、つまり リレーショナル テーブルの構成、その構造、論理接続が決定されます。。 リレーショナル テーブルの構造は、フィールドの構成、各フィールドのタイプとサイズ、およびテーブル キーによって決まります。

情報論理モデル主題領域のデータを、一連の情報オブジェクトとそれらの間の接続の形式で表示します。 このモデルは、データベースに保存されるデータを表します。

DBMS MS アクセス

DBMS MS アクセス Microsoft Office の一部であり、リレーショナル データベースと連携するように設計されています。 表形式で表示されます。 Excel スプレッドシート プロセッサとは異なり、Access には、相互に関連するテーブルからデータを選択し、新しいテーブルやレポートを生成するためのより開発されたツールが備わっています。

Access で作成されたデータベースの特徴は、作成したテーブルやデータ処理用のツールを 1 つのファイルに保存することです。

Access の利点は、プログラミングなしで DBMS (制御プログラム) を作成できることです。 ただし、複雑な DBMS の場合は、組み込みの Visual Basic for Applications (VBA) 言語でプログラミングを使用すると、制御システムの効率を向上させることができます。

テーブル

リレーショナル データ モデルは次のことを表します。 2次元テーブル形式のデータ。 表形式のデータ構造は、実際のオブジェクトとその特性の間の関係を反映しています。 レコードの検索と処理は、コンピューター メモリ内のデータ ストレージの構成に依存しません。

リレーショナル データベース構造の基本原則:テーブルから必要な関係を取得し、新しい関係を形成します。

プライマリ テーブルに基づいて、論理演算を使用して適切な構造の新しいテーブルが形成されます。 各ファイルは、主題分野の何らかの概念に対応します。

リレーショナル モデルには次の種類のオブジェクトがあります。

  • テーブル (リレーション)、
  • 属性 (列)、
  • ドメイン (有効な属性値)。

このモデルでは、オブジェクトとオブジェクト間の関係がテーブルを使用して表現されます。 1 つのテーブルは 1 つのオブジェクトを表し、列と行で構成されます。 テーブルの各行は 1 つのレコードを表し、各列は 1 つのレコード フィールドを表します。

テーブル

データを保存するために使用されるリレーショナル データベースの主要オブジェクト.

リレーショナル テーブルには次のプロパティがあります。

  • 各テーブル要素は 1 つのデータ要素です。
  • 各列には独自の一意の名前が付いています。
  • テーブル内に同一の行はありません。
  • テーブル内のすべての列は同種です。
  • 行と列の順序は任意です。

テーブル間の接続は、1 つ以上のフィールドの値を照合することによって実行されます。 リレーショナル データベースのテーブルの各行は一意です。 文字列の一意性が保証される キー (1 つ以上のテーブルフィールド)、順序付けされた形式で保存されます。 これにより、検索プロセス中にレコードに直接アクセスできます。 すべてのテーブルには主キー (1 つ以上のキー フィールド) が必要です。。 キー フィールドはテーブル内の各行を一意に識別します。

リレーショナル データ モデルの主題領域は、対応する数のテーブルとして表され、データベースはテーブルのセットと考えることができます。 テーブル同士は適切な関係(リンク)を持っています。 主題領域を関係システムの形で表現することは、論理設計の分野に属する最も困難で責任のある作業です。

リレーショナル データベース モデルの利点:

  • データ表示 (表) の単純さ。
  • 最小限のデータ冗長性。テーブルを正規化することで実現されます。
  • ユーザー アプリケーションのデータからの独立性 (テーブルの追加または削除時)。
  • 属性関係の構成を変更する可能性。
  • データ スキーマを記述する必要はありません (階層モデルやネットワーク モデルでは必要です)。

リレーショナル モデルの欠点:

テーブルの正規化はデータの大幅な断片化につながるため、問題を解決するときは、原則としてデータを結合する必要があります。

データベーステーブルの作成

データベース テーブルの作成は、DBMS 開発の最初のステップです。 テーブルはデータベース情報を保存するように設計されています。 テーブルの作成は 2 つの段階で構成されます。テーブル構造の設定。 テーブルにレコードを入力します。

MS Access でテーブルを作成するには、次の手順を実行します。

  • デザインモード。
  • テーブルモードの場合。
  • テーブルテンプレートに基づいています。

テーブルテンプレートからテーブルを作成する

選択したテーブル テンプレートに基づく新しいテーブルがデータベースに追加されます。

データを入力してテーブル ビューで作成する

データを入力してテーブルを作成する場合、テーブル構造の説明は含まれません。 このモード (テーブル モード) を選択すると、データを入力できる空のテーブルが開きます。

このテーブルのフィールドはすべて、ユーザーの要求に応じて変更できます。 フィールド名はヘッダーで直接指定されます。このテーブルを保存すると、MS Access はデータを分析し、各フィールドに適切なデータ型を自動的に割り当てます。 テーブル構造を作成します。 テーブル ビューを閉じると、Access によって作成するように求められます。 キーフィールド。 「はい」と答えると、「」のような別のフィールドが追加されます カウンター「いいえ」と答えた場合は、後でデザイン モードに移行してキーを設定できます。

デザインモードでのテーブルの作成

デザインモードを選択すると、デザインウィンドウが表示されます

フィールド名

「フィールド名」フィールドに、テーブルフィールドの名前を入力します。 識別子.

区別する必要がある フィールドIDテーブル構造と 出力ドキュメントのフィールドヘッダー。 2 番目のケースでは、フィールドのタイトルは完全に入力する必要があります。 フィールドの意味を反映し、通常は出力ドキュメントの書式設定時に手動で設定されます。.

データ・タイプ

「データ型」フィールドで、使用可能なデータ型のいずれかを選択します。

  • 文章- のフィールドに対して選択されています 英数字データ、 長さ 255以下文字。 デフォルトではインストールされています 長さは50文字.
  • メモ欄- テキスト サイズが制限される場合にのみ使用してください。 255を超える文字またはテキスト内で タブやキャリッジリターンなどの文字が発生する。 このフィールドの長さは 最大64,000文字.
  • 数値- 数値データの場合に選択されます。 また、物件内には サイズフィールドを定義する必要があります データ値の精度とメモリ容量 。 最も頻繁に使用される:
    • 長整数 (-2 147 483 648 ~ +2 147 483 647)、
    • 単一の浮動小数点 (~ の範囲の有効数字 7 桁までの正確な数値)、
    • real (指定された精度で数値を保存できます)。
  • 日付時刻- カレンダーの日付または時刻の値を保存するために使用され、分、秒、時間、日、月、年などの時間単位で計算を実行できます。
  • 金銭的な- 金銭的価値を保存するために使用され、正確性を保証します 小数点の左に 15 桁、右に 4 桁まで。 金額ではない正確な 10 進数を保存する必要がある場合は、次のように指定することをお勧めします。 フィールドサイズが実数の数値データ型.
  • カウンター- 主キーの自動生成用に特別に設計されています。 各レコード内で一意の値を持つフィールド。 テーブルには、このデータ型のフィールドを複数含めることはできません。
  • 論理的- 値を保存するために使用されます 真実(本当) または (間違い)。
  • OLE オブジェクトフィールド- 他の Windows アプリケーションと動的に接続できるグラフィック オブジェクト (図面、ダイアグラム)、サウンド フラグメントを含むデータを保存できます。
  • ハイパーリンク- 外部ファイルまたはドキュメントへの単純または複雑な「リンク」を保存するために使用されます。

説明

「説明」フィールドには、作成中のテーブルフィールドに関するコメントが含まれます。 完了はオプションです。

フィールドのプロパティ

ウィンドウの下部にあるタブ "共通しています" フィールドのプロパティが設定されます。 プロパティ テーブルのいずれかの行をクリックすると、このプロパティの目的に関するヒントが右側に表示されます。

一般的なフィールドのプロパティ

  • フィールドサイズフィールドに保存されるデータの最大サイズを指定します。
  • フィールドの形式画面上または印刷時にフィールドを表示する形式を指定します。
  • 小数点以下の桁数数値または通貨データ型の小数点以下の桁数を指定します。
  • 入力マスクデータをフィールドに入力するフォームを定義します (データ入力自動化ツール)。
  • サイン指定されたフィールドのテーブル列の名前を定義します (名前が指定されていない場合は、フィールド名が列見出しとして使用されます)。
  • デフォルト値フィールドのセルに自動的に入力されます。
  • 値の条件入力値に制限を設定し、入力制御を可能にします。
  • エラーメッセージ値の条件に違反した場合に画面に表示されるメッセージのテキストを設定します。
  • 必須フィールドレコードを入力するときにフィールドに入力する必要があるかどうかを決定します。
  • インデックス付きフィールド検索操作や、このフィールドに格納されている値によるレコードの並べ替え、および重複レコードの自動的な削除に使用されます。
  • スマートタグフィールドに適用するアクションタグを指定します。
  • テキストの配置表のセル内でテキストをどのように配置するかを指定します。

タブ " 代用 " は、テーブルの外部キーを設定するときにヒントを提供する役割を果たし、フィールドに含めることができる値のセットを制限できるようにします。つまり、有効な値のドロップダウン リストを作成できます。ドロップダウン リストは特定のテーブルまたはクエリから取得することも、リストはその目的のために特別に作成されることもあります。

ほとんどの場合、キーはデータベース テーブル内のレコードの正式な識別子です。 したがって、外部キーを設定するとき、ユーザーはベース テーブルのどのキーがサブテーブルのレコードに対応するかを判断するのが難しい場合があります。 [ルックアップ] タブのプロパティを設定すると、外部キーの単純なフィールドを、ベース テーブルのキーとこれらのキーに対応するフィールドの完全なリスト (ベース テーブルからのヒント) を含むコンボ ボックスに変えることができます。 リスト内のレコードを選択すると、キーのみがテーブルに配置され、入力されます。 したがって、ユーザーはキーを覚える必要がなく、キーボードから入力するのではなく、リストから選択することによって入力が実行されます。

置換フィールドはその後フォームに継承されます。, そのようなフィールドを含むテーブルがフォーム データ ソースとして選択されている場合。

フィールドの「置換」の設定が簡単になります。 置換ウィザード.

主要なフィールド

主要な ベーステーブルレコードを一意に識別する一連の値で構成されます。
外部キー値が別の関連テーブルの主キー値に対応するフィールドです。

データベース内のすべてのテーブルには主キーが必要です。つまり、 テーブル内の各レコードの一意の値。 キーは複数のフィールドで構成されている場合があります。 編成に必要です プライマリインデックステーブル。 プライマリ インデックスは、キー フィールドの検索を高速化し、テーブルを結合するときにテーブル間の関係の種類を決定するために使用されます。 キー フィールドは、行の強調表示領域でキー アイコンでマークされます。

簡単なキーを設定するには 1 つのテーブル フィールドで構成される場合、デザイン モードでこのフィールドの任意の位置にカーソルを置き、ツールバーの [キー フィールド] ボタンをクリックします。

複合キーを指定するには複数のテーブル フィールドで構成されている場合は、Ctrl キーを押しながら対応する行の左側にあるボタンをクリックし、[キー フィールド] ボタンをクリックして、これらのフィールドを選択する必要があります。 インストールの兆候は、コンストラクターの対応する行の左側のボタンにキー画像が表示されることです。

Access データベース内のテーブル間の関係を定義します。

データスキーマ

データスキーマ

はデータベースのグラフィカル イメージであり、テーブル間の関係を定義するために使用されます。

データベース テーブルを作成したら、データ スキーマを参照してテーブル間の関係を確立できます。

テーブル間の通信により関係が確立される キーフィールドの一致する値の間、通常は両方のテーブルで同じ名前を持つフィールド間にあります。 ほとんどの場合、各レコードの一意の識別子である 1 つのテーブルのキー フィールドは、 外部キー別のテーブル。

接続を確立するための前提条件は、関連付けられたフィールドのタイプと形式が一致することです。

リンクの種類

Microsoft Access によって作成されるリレーションシップのリレーションシップの種類は、リンクされるフィールドの定義方法によって異なります。

1対多の関係

1 対多のリレーションシップは、テーブル間のリレーションシップの最も一般的に使用されるタイプです。 1 対多のリレーションシップでは、テーブル A の各レコードはテーブル B に複数のレコードを持つことができますが、テーブル B のレコードはテーブル A に対応するレコードを複数持つことはできません。

1対1の関係

1 対 1 の関係では、テーブル A のレコードはテーブル B に最大 1 つの関連レコードを持つことができ、その逆も同様です。 このタイプのリレーションシップは、この方法で関連する情報のほとんどを 1 つのテーブルに配置できるため、あまり使用されません。 1 対 1 の関係は、非常に広いテーブルを分割したり、セキュリティ上の理由からテーブルの一部を分離したり、メイン テーブル内のレコードのサブセットに関連する情報を保存したりするために使用できます。

多対多の関係

多対多のリレーションシップでは、テーブル A の 1 つのレコードがテーブル B の複数のレコードに対応し、テーブル B の 1 つのレコードがテーブル A の複数のレコードに対応できます。このタイプのリレーションシップは、3 番目のリレーションシップ (リンク) を使用した場合にのみ可能です。 ) 主キーが であるテーブルは、テーブル A および B の外部キーである 2 つのフィールドで構成されます。多対多のリレーションシップは、基本的に 3 番目のテーブルとの 2 つの 1 対多のリレーションシップです。

リレーションシップを構築するとき、MS Access はテーブルの 1 つをメイン テーブルとして、もう 1 つをリンク テーブルとして名前を付けます。 多くの場合、どのテーブルをメインと見なすかを彼自身が決定できます (たとえば、リンクされたフィールドの 1 つがキー フィールドであるか、単に一意のインデックスを持つ場合、このフィールドを含むテーブルがメインになります)。 これが失敗した場合、メイン テーブルが接続を開始したテーブルであるとみなされます。.

通信プロパティ:
  • 。 このプロパティを有効にすると、関連付けられたテーブルのフィールドに値が配置されなくなります。 メインテーブルのフィールドに欠けているもの。 この場合、メインテーブルのフィールドは次のようにする必要があります。 または少なくとも 個性的。 つまり、リンク テーブルのフィールドの値は、メイン テーブルの特定のレコードを明確に指します。
  • 関連フィールドのカスケード更新。このプロパティが設定されている場合、メイン テーブルのフィールドの値を変更すると、関連テーブルの対応する値が自動的に変更されます。
  • 関連レコードのカスケード削除。レコードがメイン テーブルから削除されると、それに関連付けられたレコードも関連テーブルから自動的に削除されます。

カスケード更新と削除は、次の場合にのみ指定できます。 データの整合性が有効になっています。。 整合性が指定されていない場合、構築されたリンクは 関連フィールドの許容値のセットをいかなる形でも制限しません。 MS Access では、このような接続はクエリを構築する場合にのみ役割を果たします。

データスキーマは データベースをグラフィカルに表示します。これは、複数のテーブル間の関係を定義するためにさまざまな Access オブジェクトによって使用されます。 たとえば、複数の関連テーブルのデータを含むフォームを作成すると、データ スキーマにより、それらのテーブル内のフィールドへの自動的かつ一貫したアクセスが提供されます。 また、テーブルを更新するときに、相互に関連するデータの整合性も保証されます。

テーブル間の関係の定義

テーブル間の関係は、関連するテーブルを [データ スキーマ] ウィンドウに追加することによって定義されます。

テーブル間のリレーションシップを作成する場合、共通フィールドが同じ名前である必要はありません。 代わりに、p フィールドは同じデータ型である必要があります。 ただし、主キー フィールドの型が Counter の場合、プロパティが フィールドサイズ両方のフィールドは同じです。

たとえば、プロパティが次の場合、Counter 型のフィールドを Numeric 型のフィールドにマップできます。 フィールドサイズ両方のフィールドの値は「Long Integer」です。 両方の共有フィールドのタイプが数値である場合、それらは同じプロパティ値を持つ必要があります フィールドサイズ.

テーブル間の関係を定義するには

  1. タブ上 ファイルボタンをクリックしてください 開ける.
  2. ダイアログボックスで データベースファイルを開くデータベースを選択して開きます。
  3. タブ上 データベースの操作グループで データスキーマクリック要素 データスキーマ.
  4. 関係がまだ定義されていない場合は、ダイアログ ボックスが自動的に開きます。 テーブルの追加。 このウィンドウが開かない場合は、グループ内のタブで 接続ボタンをクリックしてください テーブルを表示.

ダイアログボックスで テーブルの追加データベース内のすべてのテーブルとクエリが表示されます。 テーブルのみを表示するには、 テーブル。 リクエストのみを表示するには、 リクエスト。 テーブルとクエリの両方を表示するには、 全て.

  1. 1 つ以上のテーブルまたはクエリを選択し、 追加。 [データ スキーマ] ウィンドウへのテーブルとクエリの追加が完了したら、 近い.
  2. フィールド (通常は主キー フィールド) を、あるテーブルから別のテーブルの共通フィールド (外部キー フィールド) にドラッグします。 複数のフィールドを一度にドラッグするには、Ctrl キーを押したまま各フィールドを選択します。

ダイアログボックスが開きます 接続を変更する.

  1. 共通通信フィールドの名前が正しく表示されていることを確認します。 フィールド名が正しく表示されない場合は、フィールド名をクリックしてリストから新しいフィールドを選択します。

この関係のデータの整合性を確保するには、 データの整合性の確保.

  1. ボタンをクリックしてください 作成する.

2 つのテーブルの間に接続線が描画されます。 チェックボックスがチェックされている場合 データの整合性の確保を選択すると、線の端が太く表示されます。 さらに、チェックボックスがチェックされている場合は、 データの整合性の確保、接続の片側の線の太字部分の上に数字が表示されます。 1 、反対側には無限大の記号 ( ).

ノート

  • 1対1の関係を築く。 両方のパブリック フィールド (通常は主キー フィールドと外部キー フィールド) には一意のインデックスが必要です。 これは、プロパティが インデックス付きフィールド値がなければなりません。 両方のフィールドに一意のインデックスがある場合、Access は 1 対 1 の関係を作成します。
  • 1対多の関係を作成する。 リレーションシップの「一方」側のフィールド (通常は主キー) には一意のインデックスが必要です。 これは、プロパティが インデックス付きフィールドこのフィールドには値がなければなりません はい (一致は許可されません)。 「多」側のフィールド ない一意のインデックスと一致する必要があります。 インデックスを持つことができますが、一致を許可する必要があります。 これは、そのプロパティが インデックス付きフィールド重要かもしれない いいえまたは はい (一致は許可されます)。 あるフィールドに一意のインデックスがあり、別のフィールドに一意のインデックスがない場合、Access は 1 対多のリレーションシップを作成します。
  • キーではなく一意のインデックスを持たないフィールドを、同じくキーではなく一意のインデックスを持たない別のフィールドにドラッグすると、 曖昧な態度。リクエスト未定義のリレーションシップを持つテーブルが含まれている場合、Microsoft Access ではデフォルトでテーブル間に結合線が表示されますが、データ整合性条件は課されず、どのテーブルのレコードも一意であるという保証はありません。

非表示のテーブル ([プロパティ] ダイアログ ボックスで [非表示] チェック ボックスがオンになっているテーブル) とそのリレーションシップは、チェック ボックスがオンになっていない限り表示されないことに注意してください。 隠れたオブジェクトを表示するダイアログボックスで 移行オプション.

[データ スキーマ] ウィンドウが開いているときは、リボンで次のコマンドを使用できます。

[デザイン] タブの [ツール] グループ

  • 接続を変更する。 [リンクの編集]ダイアログ ボックスを開きます。 リレーションシップ ラインを選択すると、[リレーションシップの編集] をクリックしてテーブル間のリレーションシップを変更できます。 リンクをダブルクリックすることもできます。
  • クリアなレイアウト。 すべてのテーブルとリレーションシップが [データ スキーマ] ウィンドウに表示されないようにします。 このコマンドはテーブルとリレーションシップを非表示にするだけであり、削除しないことに注意してください。
  • リンクレポート。 データベースのテーブルと関係を表示するレポートを生成します。 レポートには、[データ スキーマ] ウィンドウで非表示になっていないテーブルとリレーションシップのみが表示されます。

[デザイン] タブの [リレーションシップ] グループで

  • テーブルの追加。 [テーブルの追加] ダイアログ ボックスが開き、[データ スキーマ] ウィンドウに表示するテーブルとクエリを選択できます。
  • テーブルを非表示にする。 [データ スキーマ] ウィンドウで選択したテーブルを非表示にします。
  • 直接接続。 まだ表示されていない場合は、選択したテーブルのすべてのリレーションシップと関連テーブルを [データ スキーマ] ウィンドウに表示します。
  • すべての接続。 [データ スキーマ] ウィンドウにデータベース内のすべてのリレーションシップと関連テーブルが表示されます。 非表示テーブル ([プロパティ] ダイアログ ボックスで [非表示] チェック ボックスがオンになっているテーブル) とそのリレーションシップは、[ナビゲーション オプション] ダイアログ ボックスで [非表示オブジェクトの表示] チェック ボックスがオンになっていない限り表示されないことに注意してください。
  • 近い。 「データスキーマ」ウィンドウを閉じます。 「データ スキーマ」ウィンドウのレイアウトを変更した場合は、変更を保存するように求められます。

テーブルへのデータの入力

データは、テーブルの開始モードで直接テーブルに入力することも、特別に作成したフォームを通じてテーブルに入力することもできます。 フォームはよりユーザーフレンドリーなインターフェイスと入力制御機能を提供するため、2 番目の方法が推奨されます。

入力するデータは、テーブルの各フィールドの構造で定義されているデータ型と形式と一致する必要があります。 不一致がある場合、Access は警告を発行し、入力を続行できなくなります。 必要な形式でデータを入力するか、入力をキャンセルする必要があります。

リクエスト

リクエスト

1 つ以上のテーブルから情報を取得したり、データに対して特定のアクションを実行したりするために使用されるデータベース オブジェクト。

クエリは、データベースから情報を選択して提示するためのメカニズムです。 クエリは、ユーザーまたはプログラムによって DBMS に送信され、データベース内の個々のレコードを検索します。 データベースに関連して生成される質問がクエリです。

クエリは次の点でフィルターとは異なります。

  • リクエストは次のように保存できます データベースオブジェクト.
  • リクエストには以下が含まれる場合があります 複数のテーブルのフィールド,
  • レポート日またはレポートフォームの基礎としてクエリを使用できます。
  • 特別リクエストも利用可能 計算、情報の要約、あるテーブルから別のテーブルへのレコードの追加、レコードの削除、およびグローバル編集用.

クエリ メカニズムは、データベースの主な目的の 1 つである、情報を迅速に検索し、提示された質問に対する回答を取得することを実現します。

クエリを使用すると、次の種類のデータ処理を実行できます。

  • 選択条件を満たすレコードを選択します。
  • 結果として得られるクエリ テーブルにユーザー指定のフィールドを含めます。
  • 受信した各レコードで計算を実行します。
  • 1 つ以上のフィールドに同じ値を持つレコードをグループ化し、それらに対してグループ機能を実行します。
  • 選択したレコードのサブセット内のフィールドを更新します。
  • 既存のテーブルのデータを使用して新しいデータベース テーブルを作成します。
  • 選択したレコードのサブセットをデータベーステーブルから削除します。
  • 選択したレコードのサブセットを別のテーブルに追加します。

多数のクエリを順次実行すると、プログラミングに頼ることなく、非常に複雑な問題を解決できます。

MS Access では、次のタイプのクエリを区別できます。

  1. アクションの結果と実行機能に基づいて、リクエストは次のように分類できます。
    • サンプルリクエスト、1 つ以上のテーブル (またはクエリ) からデータを選択し、便利な形式で提示するために使用されます。
    • パラメトリッククエリ、リクエストの実行時に特定の選択条件を直接設定できます。
    • クロスクエリ、グループ化と計算ができるほか、Microsoft Excel のピボット テーブルに近いコンパクトな形式でデータを表示できます。
    • 変更リクエストを使用すると、データベース テーブルを変更したり、更新したり、新しいレコードを追加したり、一部のレコードを削除したりできます。 これらは、新しい実際のテーブルを作成するために使用できます。通常のサンプルとは異なり、その後、その構築に使用されたデータベース テーブルとは独立して存在します。
  2. リクエストは、作成方法に基づいて次の 2 つのタイプに分類できます。
    • サンプルリクエスト、または QBE クエリ (Query By Example)。作成時に、デザイナー ウィンドウでクエリ パラメータを指定し、情報を検索するためのサンプルを指定する必要があります。
      パターン クエリ システムは、入力に関連するデータを表示します。 リクエストが生成されています リクエストフォームに記入することで窓の中で クエリビルダー 。 示されている 基準ソーステーブル内のレコードの選択。 ユーザーの観点から見ると、クエリの作成は、クエリ ビルダー ウィンドウで目的のフォーム要素をマークするだけです。
    • 構造化クエリ、または SQL クエリ (構造化クエリ言語)。その作成には、SQL クエリ言語を使用してクエリを記述する必要があります。
      構造化言語を使用して、 あらゆる複雑なリクエスト。 リクエストが行われています 一連の SQL ステートメントから、出力セットを生成するために入力データ セットに対して何を行う必要があるかを指定します。 データベースから選択した情報は、特別な分析機能 (最小値と最大値、平均値、合計) を使用して処理できます。 SQL クエリの操作は、専門のプログラマを対象としています。 通常、ユーザーは SQL に直接アクセスする必要はありません。
    実際、Microsoft Access のクエリはすべて SQL 言語を使用して実装されます。ほとんどのクエリはパターン クエリ機能を使用してデザイン モードで作成できますが、作成した各クエリは SQL ステートメントとして保存されます。 サンプルを使用してクエリを作成すると、Microsoft Access によって対応する SQL クエリが自動的に生成されます。。 既存のクエリの SQL ステートメントを表示し、変更を加えることができます。 この場合、対応するテンプレート クエリの定義はデザイン モードで自動的に更新されます。

クエリの構築

MS Access ではクエリを作成できます

  • マスターモードで
  • デザインモードで
  • SQLモードの場合

クエリ デザイナー ウィンドウは 2 つのパネルに分かれています。 上部のペインには、クエリ用に選択されたテーブルを含むクエリ データ スキーマが含まれています。 テーブルはフィールドのリストで表されます。 下部のパネルは、記入する必要があるサンプルのリクエスト フォームです。

リクエストデータスキーマ

クエリ ウィンドウには、選択したテーブルと、データベース データ スキーマに存在するテーブル間の関係が表示されます。 MS Access によって自動的に確立できない関連付け関係は、関係に関係するフィールドをあるフィールド リストから別のリストにドラッグすることによって、ユーザーが作成できます。

サンプルリクエストフォーム

サンプルのリクエスト フォームは、リクエスト ウィンドウの下部パネルに表の形式で表示されます。 クエリが生成される前、このテーブルは空です。

フォームの各列は、リクエストで処理する必要がある 1 つのフィールドを参照します。 フィールドを使用すると、フィールドをクエリの結果に含めたり、フィールドによる並べ替えを設定したり、レコードを選択するための条件を設定したりすることができます。

リクエストフォームに記入するときは、次のことを行う必要があります。

  • ラインに 分野リクエストで使用されるフィールドの名前が含まれます。
  • 列をなして ディスプレイに出力結果のテーブルに含める必要があるフィールドにマークを付けます。
  • 列をなして 選定条件レコードを選択するための条件を設定します。
  • 列をなして 仕分け結果レコードのソート順序を選択します。

サンプルリクエスト

リクエストを作成する手順

  • 新しいクエリの作成に基づいてテーブルまたはクエリを定義します。
  • フィールドを選択する
    • マウスを使用して、デザイナー ウィンドウの上部にあるフィールドのリストからフィールドをリクエスト フォームの目的の列に移動します。
    • 対応するテーブルのフィールドのリストをダブルクリックして、必要なフィールドを選択します (この場合、リクエスト フォームの次の空き列に配置されます)。
    • 行ドロップダウン リストから目的のフィールドを選択します 分野.
  • 動的テーブルレコードのソート順序を決定します。
  • 出力先のフィールドを定義する 動的テーブル;
  • 意味 データ選択条件;
  • リクエストを保存しています。

ソース テーブル内のすべてのフィールドをクエリに含めたい場合があります。 これを行うには、対応するフィールドのリストのタイトル バーをダブルクリックして、すべてのフィールドを一度に選択し、同時にリクエスト フォームに転送する必要があります。 この場合、各フィールドは別の列に配置されます。

別の方法を使用することもできます。 ウィンドウの上半分に表示されるフィールドの各リストの先頭には、 * 、これは「すべてのフィールド」を意味します。 リクエストにすべてのテーブルフィールドを含めるには、リクエストフォームに * を転送するだけです。 この場合、クエリ フォームのフィールド名には、テーブル名、ピリオド、* が含まれます (たとえば、Orders.*)。これは、ソース テーブル内のすべてのフィールドが選択されていることを意味します。 転送方法 * には 1 つの大きな利点があります。新しいフィールドの追加など、ソース テーブルの構造に変更が加えられた場合、クエリは自動的に変更されます。 最初の方法を使用する場合、クエリはクエリ フォームに転送されたフィールドのみを選択します。 ただし、選択条件を定義する必要がある場合は、リクエスト フォームに個別のフィールドを追加する必要があります。 選択項目に 2 回含まれないように、対応するフィールドの [画面に表示] チェックボックスをオフにします。.

クエリを実行すると、選択したフィールドの名前が動的なテーブルの列見出しとして使用されます。 結果の動的テーブル内のフィールドの名前を変更するには、クエリ フォームのフィールド行のフィールド名の前にテキスト カーソルを置き、新しい名前の後にコロンを入力します。 結果は次のような構築になります。

新しい名前: 古いフィールド名

通常、Microsoft Access では、データベースから選択された順序でレコードが表示されます。 行内で順序を定義することで、出力シーケンスを変更できます。 仕分け。 複数のフィールドで並べ替える場合、フィールドが処理される順序はクエリ フォーム内の位置によって決まります。最初に左端のフィールドの値が並べ替えられ、次に左から右に並べ替えられます。

デフォルトでは、Microsoft Access にはリクエスト フォームに含まれるすべてのフィールドが表示されます。 フィールドがデータ選択条件の定義のみに使用されている場合は、フィールドをクリアする必要があります 「画面に出力」行のチェックボックス対応するセル内でマウスをクリックします。

レコードの選択条件

クエリの実行時に動的テーブルにどのレコードを含める必要があるかを指定する式が、この条件をチェックする必要があるフィールドの選択条件行に入力されます。 選択条件を設定するには、以下の演算子を使用できます (<), меньше или равно (<=), больше (>)、以上 (>=)、等しくない (<>)、等しい (=)、Like (マスクによる選択)、Between (間)、In (区間内)、And (および)、Or (または) など、およびオブジェクト名、定数、関数。
条件の入力は、Enter キーを押すか、カーソル キーまたはマウスを使用してリクエスト フォームの別のセルに移動するだけで完了します。 Microsoft Access は指定された式を解析します。

たとえば、テキストフィールド値が入力された場合、次の式が表示されます。 引用符で囲んで。 式に演算子が含まれていない場合、Microsoft Access は = または Like 演算子が暗黙的に含まれていると想定します。

許容される使用方法 いくつかの選択条件、設定できる 異なるフィールドと 1 つのフィールドの両方.

1 行で指定した選択条件は論理演算「AND」で結合され、別の行で指定した選択条件は論理演算「OR」で結合されます。 これらの演算は、それぞれ AND 演算子と OR 演算子を使用して、選択条件式で明示的に指定できます。

And および Or 論理演算子は、複雑なデータ選択条件を作成するために使用されます。 選択条件が And 演算子でリンクされている場合、レコードはすべての条件が満たされた場合にのみ選択されます。 選択条件が Or 演算子でリンクされている場合、すべての条件のうち少なくとも 1 つが満たされた場合にレコードが選択されます。 さまざまなフィールドに対して And 演算子でリンクされた複数の選択条件を定義する場合、データ選択基準を形成する各フィールドの [選択条件] 行に条件を設定するだけです。 複数の条件を定義するときに、それらを異なる行 (選択条件行と or 行) に配置すると、Microsoft Access は Or 接続を使用します。 その結果、1 行にある条件は And 演算子によって接続され、別の行にある条件は Or 演算子によって接続されます。

したがって、選択条件は、比較に使用される比較演算子とオペランドから構成される式です。 式オペランドとして使用できるものは、リテラル、定数、識別子 (リンク) です。

リテラル変数の値や計算結果 (数値、文字列、日付など) としてではなく、文字通りに解釈される値です。

定数 True、False、Yes、No、Null などの変化しない値です (定数は Access で自動的に定義されます)。

識別子フィールド、コントロール、またはプロパティの値への参照です。 識別子には、フィールド、テーブル、クエリ、フォーム、レポートなどの名前を指定できます。 そうでなければなりません 角括弧内。 多くの場合、Access は自動的にかっこを置き換えます。 特定のテーブル、フォーム、またはレポート内のフィールドへのリンクを示す必要がある場合は、フィールド名の前にテーブル名を付けます。また、角かっこで囲み、フィールド名と感嘆符で区切ります。マーク。

[テーブル名]![フィールド名]

選択条件の式では、比較演算子と論理演算子を使用できます: =、<, >, <>、Between、In、Like、And、Or、Not。1 つ以上のオペランドに対する演算を定義します。 選択条件の式に演算子が含まれていない場合は、デフォルトで = 演算子が使用されます。

テキスト値式に入力されるのは 引用符で囲んで, スペースや句読点が含まれている場合。 それ以外の場合は、引用符を入力する必要はありません。引用符は自動的に追加されます。

許容される使用方法 テンプレート演算子- アスタリスク * と疑問符?。

オペレーター 数値の間隔を設定できます。

10~100の間間隔を 10 ~ 100 に設定します。

オペレーター 括弧内に指定されたリストの任意の値と等しいかどうかをチェックできます。

(「数学」、「情報学」、「歴史」)

オペレーター のようにテキストフィールドを検索するときに、ワイルドカード文字を使用したパターンを使用できます。

「イワノフ*」のように

ワイルドカード:

サイン 説明
* 任意の数の文字に一致します。 テキスト文字列の最初または最後の文字として使用できます。 wh* - 「What」、「White」、「Why」という単語を検索します。
? 任意のテキスト文字と一致します。 B?ll - Ball、Bell、Bill という単語を検索します。
括弧で囲まれた文字のいずれかと一致します。 Bll - Ball と Bell という単語は検索されますが、Bill は検索されません。
! 括弧で囲まれた文字を除く任意の 1 文字と一致します。 b[!ae]ll - bill と bull という単語は検索されますが、bell や ball は検索されません。
- 範囲内の任意の文字と一致します。 この範囲は昇順で指定する必要があります (A から Z までですが、Z から A までではありません)。 bd - bad、bbd、bcd という単語を検索します。

を使用して選択条件を作成できます 式ビルダー。 窓口へ行く ボタンを押すとできます 建てるツールバーの をクリックするか、状況依存メニューから「ビルド」コマンドを選択します。 マウスカーソルは選択条件入力セル内にある必要があります。

クエリでの計算

選択クエリを使用すると、データベース テーブルから含まれる情報を選択するだけでなく、 計算を実行し、計算結果を表示します。 動的テーブル 。 心に留めておくべきです 計算結果が保存されないことデータベーステーブル内。 クエリが実行されると、毎回計算が新たに実行されるため、結果は常にデータベースの現在の状態を反映します。

リクエストで計算を実行するには、リクエストフォームに作成する必要があります 新しい計算フィールド。 これを行うには、行の空のセルに移動します。 分野テーブルのフィールド名、定数、および算術演算子を使用してリンクされた関数を使用できる計算式を入力します。 計算の順序とデータのグループ化を変更するには、式で括弧を使用し、テーブルのフィールド名を角括弧で囲む必要があります。 クエリで複数のテーブルを使用する場合、エラーを避けるために、フィールド名の前にテーブル名を配置して完全なフィールド名を指定する必要があります。 この場合、オブジェクト名を区切るために ! が使用されます。

したがって、テーブル フィールドの完全名を記述すると次のようになります。

[テーブル名]![フィールド名]

計算フィールドの名前は式の前に表示され、式とコロンで区切られます。

新しいフィールド名:計算ルール

グループ事業

選択クエリは、いわゆるレコードをグループ化して合計を計算するためにも使用できます。 グループ関数:

  • 各グループ内の指定されたフィールドのすべての値の合計を計算します。
  • 平均各グループ内の指定されたフィールドのすべての値の算術平均を計算します。
  • (マックス) 各グループのこのフィールドで見つかった最小 (最大) 値を返します。
  • カウント各グループのレコード数などを決定します。

最終リクエストを作成するには、ツールバーのグループ操作コマンドを使用してリクエスト フォームに行を追加します。 グループ運用を使用すると、どのフィールド レコードをグループ化するか、およびデータ グループの合計のどの計算を実行するかを指定できます。

データの結合

Access では、1 つのテーブルだけでなく、複数のテーブル (クエリ) に基づいてクエリを操作する機能が提供されます。 このようなクエリは、マルチテーブルまたはリレーショナルと呼ばれます。 複数のテーブルからデータを選択することは、フォームやレポートを作成するときに特に便利です。

データ スキーマから継承された関係は、クエリ フォーム内のテーブル間に表示されます。 ただし、リレーションシップが作成されていない場合でも、2 つのテーブルをクエリに追加すると、それらの結合が自動的に確立されます。 これを行うには、同じまたは互換性のあるデータ型を持つ同じ名前のフィールドが必要であり、フィールドの 1 つがキー フィールドである必要があります。 この場合、「1:∞」は表示されず、データ整合性チェックは有効になりません。 クエリでのテーブル結合の自動設定は、[Access オプション] ダイアログ ボックスの [オブジェクト デザイナー] セクションの [クエリ デザイナー] セクションで [結合を許可] オプションが有効になっている場合に機能します。 デフォルトでは、このオプションは有効になっています。

フィールドをあるテーブルから別のテーブルにドラッグすることで、結合を「手動」で設定できます。 マージするフィールドには互換性のあるデータ型が必要です。 分野メモ、オブジェクトフィールドOLE と添付ファイルを組み合わせることはできません.

内部結合 (データ スキーマによって作成された) が動的結果セット (クエリの実行後に取得される一時テーブル) に追加される場合、関連テーブルのレコードは、関連フィールドの値が一致する場合にのみ追加されます。 外部結合 (クエリ内で直接手動で作成) を使用すると、一方のテーブルに対応するレコードがない場合でも、一方のテーブルのレコードが動的セットに含まれます。

リンク コンテキスト メニューからアクセスできる [結合オプション] ダイアログ ボックスを使用して、左右の外部結合を設定できます。

左外部結合 2 番目のテーブルに対応するレコードがあるかどうかに関係なく、最初のテーブルのすべてのレコードが動的セットに含まれる結合です。
右外部結合 2 番目のテーブルのすべてのレコードが動的セットに含まれる結合です。

パラメトリッククエリ

パラメトリッククエリ

レコードを返す条件やフィールドに挿入する値など、ダイアログ ボックスにデータを入力するようユーザーに求めるクエリ。

パラメトリックリクエストは、ユーザーのリクエストに従って変更できる基準を指定します。 このようなクエリをフォームやレポートの基礎として使用すると有益です。 たとえば、レポートでは、レポートが作成された月を入力するよう求められます。 レコードを選択する条件は、リクエストの呼び出し時に直接設定されます。 この場合、変更を行うために、デザイン ウィンドウ (「選択条件」の行) でリクエストを開く必要はありません。

パラメトリック クエリを作成するときは、まず、 通常のフェッチリクエスト。 特定のフィールドの選択条件行のセルに、必要な演算子とパラメータの名前を角括弧で囲んで入力します。 この名前はクエリの実行時にダイアログ ボックスに表示されるため、パラメータ名として意味のある語句またはデータ入力のプロンプトを使用すると便利です。 1 つのリクエストで複数のパラメータを設定できますが、各パラメータには一意で意味のある名前が必要です。

さらに、[クエリ パラメーター] ダイアログ ボックスで [クエリ / パラメーター] コマンドを実行すると、クエリで使用されるすべてのパラメーターの名前を一覧表示し、各パラメーターのデータ型を指定できます。

クエリ フォームにパラメータ名として入力したテキストは、パラメータのデータ型を定義するときに [クエリ パラメータ] ダイアログ ボックスに入力したテキストと正確に一致する必要があることに注意してください。 それ以外の場合、Microsoft Access はこれらを 2 つの異なるパラメータとして扱います。 リクエスト フォームからパラメータを削除する場合は、そのパラメータを [リクエスト パラメータ] ダイアログ ボックスからも削除する必要があります。

クロスリクエスト

クロスクエリは特別に設計されています 分析と計算に便利な形式でデータを提示する。 ここでは、合計の計算、最​​大値、最小値、平均値、値の数などを見つけることができます。結果は、テーブルの形式で 2 つのデータ セット (テーブル フィールドから作成) にグループ化されます。 セットの 1 つは列ヘッダーを指定し、もう 1 つはクエリ テーブルの行ヘッダーを設定します。

クロスクエリを使用すると、テーブルの形式でデータを提示でき、テーブル フィールドのデータに対して実行された計算結果 (合計、レコード数、平均など) が表示されます。 計算結果は 2 つのデータセットにグループ化されますそのうちの 1 つは表の左の列にあり、次のように機能します。 行ヘッダー、2番目が一番上の行にあり、形成されています 列見出し。 したがって、クロスクエリを作成するときは 主なタスクは、テーブルの各フィールドの役割と場所を決定することです。.

デザイン ビューでクロスオーバー クエリを作成する場合は、値が列見出しと行見出しとなるフィールド、および値が計算に使用されるフィールドを指定する必要があります。 これを行うには、Request / Cross コマンドを使用して、リクエスト フォームに行を追加します。 グループ運用そして クロステーブル。 ライン クロステーブルクロスクエリでのフィールドの役割 (行ヘッダー、列ヘッダー、値) を決定するために使用されます。 ライン グループ運用クロスクエリでどの計算を実行する必要があるかを指定できます。

変更リクエスト

変更申請

1 回の操作で複数のレコードを変更または移動するクエリ。

選択クエリは動的テーブル内のデータを取得して表示しますが、アクティブ クエリ (変更クエリ) は取得したデータに対して特定のアクションを実行します。

変更リクエストには 4 つのタイプがあります。

  • レコードを削除するには。削除クエリは、クエリで指定された条件を満たす 1 つ以上のテーブルからレコードのグループを削除します。 たとえば、削除リクエストを使用すると、在庫がなくなった製品や注文のない製品のレコードを削除できます。 削除リクエストを使用する エントリ全体のみを削除できます、その中の個々のフィールドではありません。 カスケード レコード削除によるデータ整合性関係がテーブル間で確立されている場合、メイン テーブルからのみレコードを削除するリクエストが作成されます。 それ以外の場合は、まず従属テーブルからレコードを削除する要求が行われ、次に主テーブルからレコードを削除します。
  • 記録を更新するには。 更新クエリは、特定の条件を満たす 1 つ以上のテーブルのレコードのグループに一般的な変更を加えます。 レコード更新リクエストにより、次のことが可能になります。 既存のテーブルのデータを変更する。 更新リクエストは最初に選択リクエストとして作成され、次にクエリ デザイナー ウィンドウでツールバーの「更新」ボタンを使用して更新リクエストに変換されます。 このコマンドを実行すると、リクエストフォームに次の行が表示されます アップデート. 更新されたレコードを選択するには、更新が必要なフィールドと選択条件を設定するフィールドをリクエスト フォームに含める必要があります。選定条件は選定依頼作成時と同様に記述します。 Update 行の更新されたフィールドには、次のものが必要です フィールドの新しい値を定義する値または式を入力します。 式ビルダーを使用して式を作成できます。
  • レコードを追加するには。 追加クエリは、1 つ以上のテーブルからレコードのグループを追加します。 一つの終わりまでまたは複数のテーブル。 たとえば、いくつかの新しいクライアントと、それらに関する情報を含むデータベースが出現しました。 すべてのデータを手動で入力することを避けるために、「顧客」テーブルにデータを追加できます。 選択したものだけが追加されます。追加クエリは、クエリ テーブルから別のテーブルにレコードを追加するために使用されます。 したがって、別のテーブルのフィールドに対応するフィールドを持つレコードがクエリに含まれるように注意する必要があります。テーブルの構造が同じである必要はありませんが、一方のテーブルのフィールド タイプは、もう一方のテーブルのフィールド タイプと厳密に一致する必要があります。 レコードが追加されるテーブル内のフィールドに入力する必要がない場合、クエリ レコードのフィールドは少なくなる場合があります。
  • テーブルを作成するには。 テーブル作成クエリは、1 つ以上のテーブルのデータのすべてまたは一部から新しいテーブルを作成します。 テーブルの作成クエリは、他の Microsoft Access データベースにエクスポートするテーブルを作成するとき、またはテーブルを作成するときに役立ちます。 アーカイブテーブル古いエントリが含まれています。 テーブル作成クエリは、クエリの結果を保存するために使用されます。このクエリは選択クエリに基づいていますが、それとは異なり、クエリ結果を含むテーブルが保存されます。

変更リクエストを作成して実行する前に、まず次のことを行う必要があります。 通常のサンプルリクエストを生成する必要なレコードを選択するには、このクエリを実行し、レコードが正しく選択されていることを確認します。 その後のみ、選択クエリを任意のタイプの変更クエリ (削除、追加、更新、またはテーブル クエリの作成) に変換して実行する必要があります。

変更リクエストのアクションは元に戻せません。

フォーム

形状

データを視覚的に表示し、それを操作するための便利なユーザー インターフェイスを作成できるデータベース オブジェクト

Microsoft Access のフォームは、データの入力と編集を容易にし、ユーザーフレンドリーなプレゼンテーションで出力できるようにするために作成されています。 このようなオブジェクトを使用すると、データの一部のみを利用可能にしたり、関連するテーブルから情報を自動的に選択したり、式の値を計算したりすることができます。

フォーム上にコマンド ボタンを配置して、他のフォームを開いたり、クエリやメニュー コマンドを実行したり、画面に表示されるデータをフィルタリングしたり、メッセージを表示したり、情報を印刷したりすることができます (特に、フォームの表示と印刷にさまざまなオプション セットを設定できます)。 。 したがって、フォームを使用するとアプリケーションの進行状況を制御でき、Microsoft Access のユーザー インターフェイスを整理する主な手段となります。

フォームの基本的な作成方法

フォームを作成するときは、情報のソースとなるテーブルまたはクエリの名前を指定し、フォームの作成方法を選択する必要があります (デザイン モードに加えて、ウィザードを使用してフォームを作成したり、グラフ フォームを作成したりすることもできます)数値データ、または Microsoft Excel ピボット テーブルなどのピボット テーブルの視認性を向上させるため)。

フォームウィザードの使用 1 つ以上のテーブルやクエリに基づいてフォームを作成し、デザイン ビューでそれらを拡張できます。 フォーム ウィザードはフォーム作成プロセスをいくつかのステップに分割し、各ステップで、使用可能なフィールド、リレーションシップ、フォームの外観を指定する特定のオプションを設定する必要があります。

オートフォームは、ソーステーブルからの情報を表示するためのさまざまなオプションを表します。

  • オートフォーム: 列へ。 各フィールドは別の行に配置されます。 署名はフィールドの左側にあります。
  • オートフォーム: テープ。 1 つのレコードを構成するフィールドは 1 行に配置されます。 彼らの署名はフォームの上部に 1 回表示されます。
  • オートフォーム: 表形式。 レコードのフィールドはテーブル形式で配置されており、各レコードには 1 つの行があり、各フィールドには 1 つの列があります。 フィールド名は列見出しとして機能します。
  • オートフォーム: ピボットテーブル。 フォームはピボットテーブル モードで開きます。 フィールドをフィールド リストからレイアウトの別の領域にドラッグすることで、フィールドを追加できます。
  • オートフォーム: ピボットグラフ。 フォームがピボットグラフ ビューで開きます。 フィールドをフィールド リストからレイアウトの別の領域にドラッグすることで、フィールドを追加できます。

構造を開発し、フォームの外観を変更し、コントロールを追加および削除できます。 デザインモードで手動で.

フォームを操作するためのモード

モード間の切り替えは、対応するメニューコマンドを使用して実行されます。

フォームの主要なセクション

フォームの主要部分を定義する必須セクションは次のとおりです。 データ領域、これには、基になるテーブルまたはクエリからの出力用に選択された情報が含まれます。 複数ページの帳票を印刷する場合 このセクションはすべてのページに反映されます.

フォームにはセクションを含めることもできます ヘッダー/フッターの内容は、プレビューおよび印刷時に各ページの上部または下部に表示されます。

セクション フォームのタイトル/メモ情報を投稿する役割を果たし、 レコードからレコードに移動するときに変更を必要としない。 フォームセクションを表示する場合 フォームのタイトル印刷時にウィンドウの上部に反映されます - 最初のページだけ。 章 注記フォームは表示時と印刷時にウィンドウの下部に反映されます - 最後のページだけ.
フォーム上に配置されたオブジェクト (フィールド、テキスト、グラフィックスなど) は次のように呼ばれます。 コントロール。 それらは次のように分けられます。

  • 取り付けられた(接続された)、
  • 無関係、
  • 計算された。

所属コントロールは特定のフォーム要素にバインドされているか、レコード ソース内の特定のフィールドを参照します。 フォーム上にリンクされたコントロールを作成するには、使用可能なフィールドのリストからフィールド名を選択し、目的の位置に移動します。 これにより、選択したフィールドのデータ型に一致する要素が自動的に作成されます。
計算可能要素は、ソース テーブルまたはクエリのデータに基づいた計算の結果を表示します。

創作活動 非バインド要素と計算要素フォーム デザイナー モードでは、主に次を使用して発生します コントロールパネル.

パネル内の目的の要素を選択したら、マウスポインタをフォームの目的の領域に置き(選択した要素のアイコンに変わります)、左ボタンをクリックします。

  • オブジェクトの選択コントロールの選択、サイズ変更、移動、編集に使用され、デフォルトで押されます。
  • 分野テキスト、数値、日付、計算式を表示するために使用される同じ名前のコントロール要素を作成するために使用されます。 このアイテムは可能です テーブルまたはクエリフィールドのいずれかへのリンク;
  • 碑文テキストエリアを作成するために使用されます。
  • ボタン- 機能またはマクロをアクティブ化できるコントロール要素。
  • ハイパーリンク;
  • 改ページ, タブ- レコード ソースからの情報を個別のページ (タブ) に分割できる要素。
  • スイッチグループコントロール (ラジオ ボタン、チェック ボックス、またはラジオ ボタンのグループ) を作成するために使用されます。
  • スイッチ、チェックボックス、 スイッチ- Yes/No 値を受け入れるコントロール。ベース テーブル (クエリ) のフィールドに関連付けたり、ユーザーとの対話を整理するために使用したりできます。
  • コンボボックス、リスト「行ソース」プロパティ行に入力できる、または既存のテーブルまたはクエリからの検索として使用できる、潜在的な値のリストを含むコントロールを作成するために使用されます。
  • フリー/アタッチされたオブジェクトフレーム, 描画- フォームに画像、フレーム(バインドおよびフリー)を挿入し、線や長方形を描画するための手段。
  • サブフォーム/レポートこのフォームに追加の情報源からの情報を含めるには。 原則として、元のオブジェクトに関連付けられたオブジェクト (フォーム、クエリ、テーブル) がサブフォームとして使用されます。 したがって、多くの場合、すべてのレコードが従属オブジェクトに反映されるわけではなく、メイン フォームの一部のフィールドの特定の値に対応するレコードのみが反映されます。
  • マスター対応する要素のプロパティを入力するのに役立ちます。デフォルトで有効になっています。

複合マルチテーブルフォーム 相互に関連する複数のテーブルを操作するために作成されました。 これには、本体と 1 つ以上の下位のネストされた形式が含まれる場合があります。 複合的であること。 サブフォームは、従属テーブルとメインテーブルの両方に基づいて構築できます。
マルチテーブルフォーム フォームが有効になっていない可能性があります。 この場合、テーブルの作成に基づいてテーブルのフィールドに加えて、フォームのメイン テーブルに関連するメインのテーブルである関連テーブルのフィールドがフォームに追加されます。
マルチテーブルフォームは次の場所で作成できます。 または使用して マスターズ フォーム。 後者では、必要な操作のほとんどが自動的に実行されるため、フォームの作成プロセスが簡素化されます。 フォーム ウィザードでは、相互に関連する複数のテーブル/クエリからフォームに含めるフィールドを選択する機能が提供されます。

この場合、複数テーブル フォームを構築するさまざまな方法が使用されます。

  • サブフォームを明示的に含める

を使用して マスターズ選択したフィールドを持つ 1 つ以上の標準ビュー サブフォームを含む複合フォームを作成できます。 この場合、サブフォームはサブテーブルごとに構築され、フォームのメイン部分に表示されるメインテーブルのレコードに関連するこのテーブルのすべてのレコードのデータが表示されます。 表形式またはストリップ形式;

  • ボタンを使用してリンクされたフォームを呼び出す

フォームウィザードフォームに直接含まれないリンクされたフォームを作成できます。 この場合、サブフォームの代わりに、呼び出すことができる関連フォームを表すボタンのみが含まれます。

  • 従属フォームと関連フォームのない複数テーブル フォーム

複合マルチテーブルフォームの構築 マスター下位フォームや関連フォームを含めることはできません。 このフォームは、1 つ以上のメイン テーブルのフィールドによって補足されたサブテーブル内のレコードを表示する場合に作成されます。 フォームに表示されるレコードのデータのソースは、サブテーブル内のレコードです。 フォームには、サブテーブル レコードのフィールドと、関連付けられている唯一のマスター テーブルのフィールドが表示されます。

報告

印刷ドキュメントの形式でデータを表すために使用されるデータベース オブジェクト。

データベースを操作する場合、通常はレポートを使用してデータを表示、書式設定し、要約します。 たとえば、すべての連絡先の電話番号を含むリストの形式でレポートを作成したり、さまざまな期間のさまざまな地域での会社の販売結果を含む概要レポートを作成したりできます。

レポートでは、データベースから抽出した情報を分析や計算の結果で補足したり、さまざまなビジュアル デザイン ツールを使用したりできます。

右クリックのコンテキスト メニュー コマンドを使用すると、設計したフォーム (テーブルまたはクエリ) をレポートとして保存し、後で使用できます。 また、ウィザードを使用するか、レポート デザイナーを使用して手動でレポートをデザインし、レポート デザイナーが提供するツールを使用して、計算フィールドを定義し、データの並べ替えとグループ化の方法を指定することもできます。 デザイン モードでレポートをデザインする手法は、フォームの作成時に使用する手法と同じです。

レポート作成

MS Access では、次のツールを使用してレポートを作成できます。

レポートのデザインを開始する前に、ユーザーは準備作業を実行する必要があり、その結果、必要なレポートのレイアウトが決定されます。

設計プロセス中に、レポートのセクションの構成と内容が形成されるだけでなく、データベース テーブルのフィールドから派生した値のそのセクションへの配置も形成されます。 さらに、レポート詳細のヘッダーと署名が作成され、計算された詳細が配置されます。

レポート デザイン ツールを使用すると、データを複数のレベルにグループ化できます。 レベルごとに合計を計算し、グループごとに見出しとメモを定義できます。 レポートを生成するときに、さまざまな計算を実行できます。

レポートに多数のテーブルのデータを表示する必要がある場合は、複数テーブルのクエリをレポートのベースとして使用できます。 リクエストは、最も複雑なタイプのデータ サンプリングと前処理を担当する場合があります。

多くの場合、最初にレポート ウィザードを使用してレポート テンプレートを迅速に作成し、その後テンプレートをデザイン モードで変更します。

レポートの構成要素

デザイン モードでレポートを作成すると、ウィンドウにはレポートの空のセクションが表示されます。

  • レポートのタイトル。レポートの冒頭に 1 回だけ印刷されます。 ヘッダーには、会社のロゴ、レポートのタイトル、日付など、通常タイトル ページに表示される情報が含まれます。 集計関数を使用する計算コントロールが含まれている場合、レポート全体の合計が計算されます。 レポートのタイトルはヘッダーの前に印刷されます。
  • ページヘッダー。各ページの上部に印刷されます。 ヘッダーは、たとえば、レポートのタイトルを各ページで繰り返し表示する場合に使用します。
  • グループタイトル。新しいレコードの各グループの前に印刷されます。 このセクションはグループ名を出力するために使用されます。 たとえば、レポートが製品ごとにグループ化されている場合、グループ見出しに製品名を指定できます。 合計集計関数を使用する計算コントロールをグループ ヘッダーに配置すると、現在のグループの合計が計算されます。 グループ化レベルの数に応じて、レポートには複数のグループ ヘッダー セクションを含めることができます。
  • データ領域。このセクションは、レコード ソースのデータ行ごとに 1 回出力されます。 ここには、レポートの主要なコンテンツを構成するコントロールが含まれています。
  • グループメモ。レコードの各グループの最後に印刷されます。 グループ ノートには、そのグループに関する概要情報が表示されます。 グループ化レベルの数に応じて、レポートに複数のグループ ノート セクションが含まれる場合があります。
  • フッター。各ページの下部に印刷されます。 ページ番号付けとページごとの情報の印刷に使用されます。
  • レポートメモ。レポートの最後に 1 回印刷されます。 レポート ノートを使用すると、レポート全体の合計やその他の概要情報を表示できます。 デザイン ビューでは、レポート ノートがフッターの下に表示されます。 ただし、他のすべてのモード (レイアウト モード、印刷モード、プレビュー モードなど) では、このセクションは配置されます。 その上フッター、最終ページの最後のグループまたはデータ領域行メモの直後。

レポートを作成するときは、ユーザーが必要とするレポートのレイアウトに従って、ウィンドウのセクションを要素で埋める必要があります。 タイトルには、レポート レイアウトのヘッダーのテキストが含まれます。 フッターには通常、見出し、日付、ページ番号が含まれます。 これらのセクションの内容を決定するときは、レポートの個々のページのデザインの要件から進める必要があります。 データ領域には、データベース テーブルのフィールドが含まれます。

各要素、セクションおよびレポート全体に対して、プロパティを指定できます。 要素を配置し、そのプロパティを定義するための技術は、フォーム デザイナーの場合とほぼ同じです。

デザインモードの場合


プレビューモードの場合

マクロとモジュール

マクロ言語は、MS Access オブジェクトとその要素に対して必要なアクションを実行することでユーザー タスクを実装できるプログラミング言語です。

一連のマクロコマンドで構成されるプログラム。

マクロコマンド- これは、特定のアクションの実行に焦点を当てた指示です。

たとえば、マクロ コマンドを使用すると、フォームやレポートを開いたり、レポートを印刷したり、クエリを実行したり、フィルターを適用したり、値を割り当てたり、フォームやレポートに独自のメニューを作成したりできます。 マクロ コマンド SetMenuCommand を使用すると、指定したメニュー コマンドを実行できます。 Access で使用できるマクロ コマンドのセットは、問題を解決するために必要なほぼすべてのアクションを実装します。

マクロ言語を使用すると、Visual Basic プログラミングに頼らずにほとんどのタスクを実行できます。 マクロは Visual Basic のアドオンであり、詳細なプログラミングの知識を必要とせずに問題を解決するためのツールをユーザーに提供します。 マクロ言語は、Visual Basic よりも高レベルの言語です。

マクロは、オブジェクトを処理するための一連のメソッドを定義します。 Access は、イベントに基づいてマクロがオブジェクトと対話できるようにするツールを提供します。 イベントは、主にユーザーのアクションを含む特定のアクションが実行されるときに発生します。 後者の状況では、プログラムの実行を外部から制御できます。 ユーザーは、フォームでさまざまなアクションを実行し、ユーザー アクションに関連するサブタスクの解決を自動化するマクロの実行を開始します。 このアプローチは、マクロ言語でのプログラミングと、プログラムのみがプロセスを制御する従来の意味でのプログラミングを大きく区別します。

ユーザーのアクションによって引き起こされるイベントを通じてプログラムを起動するためのデバイスが存在しても、ユーザーの介入なしに必要な問題を解決できるプログラムをマクロ言語で作成できる可能性が排除されないことに注意してください。 この場合、問題は相互接続された多数のマクロによって解決されます。

プログラム内の分岐を整理するには、マクロコマンドの実行条件をマクロに定義します。 ユーザーがメイン プログラムを起動して実行すると、その実行に対するすべての制御が内部から実行されます。 プログラム自体は、問題の解決につながるアルゴリズムに従って、必要なオブジェクトを開き、データを選択して処理し、他のマクロを呼び出します。 必要に応じて、プログラムはユーザーとの対話を開始します。

マクロの構築

マクロの作成はダイアログ モードで実行され、パラメータが設定された一連のマクロ コマンドをマクロ ウィンドウに記録することになります。 各マクロには名前が付けられます。 マクロが実行されると、マクロ コマンドは出現順に順番に実行されます。 これは、マクロ引数で指定されたオブジェクトまたはデータを使用します。 マクロの実行条件を定義することができます。

マクロの実行は簡単な操作によって開始され、他のデータベース オブジェクトの場合と同様にマクロを開くだけで済みます。 さらに、Access は、イベントの発生時にマクロの実行を自動的にトリガーする機能を提供します。 マクロをイベントに関連付けるには、オブジェクトのプロパティ シートまたはこのイベントの行のコントロール要素にマクロの名前を入力するだけで十分です。 マクロを関連付けることができるイベントは、フォーム、レポート、およびそれらのコントロールのプロパティで定義されます。 マクロの作成はデータベース ウィンドウで開始され、[マクロ] タブを選択して [新規] ボタンをクリックする必要があります。 この後、マクロウィンドウが開きます。

マクロウィンドウでのマクロコマンドの作成

「マクロコマンド」欄には、マクロを構成するマクロコマンドが入力されます。 マクロ コマンドを入力するには、ボタンをクリックしてこの列のマクロ コマンドのリストを展開し、目的のマクロ コマンドを選択します。 キーボードを使用してマクロ名を入力できます。 マクロコマンドの引数はウィンドウの下部に表示されます。 引数の値は、引数行に表示されるリストから選択して指定します。 選択した引数を説明するメッセージが引数行の右側のフィールドに表示されます。

「コメント」列の行に、マクロの実行結果を説明するコメントをオプションで入力します。 新しいマクロ コマンドはそれぞれ、フォームの次の行に追加されます。 フォーム内にマクロ コマンドを配置する順序によって、マクロ コマンドの実行順序が決まります。

すべてのマクロ コマンドをマクロに入力したら、[ファイル/保存] メニュー コマンドまたはマクロ ツールバー ボタンを使用してマクロを保存する必要があります。

マクロを実行するには、ツールバーの「実行」ボタンをクリックします。 マクロがすでに閉じている場合、それを実行するには、データベース ウィンドウでマクロを選択し、このウィンドウの [実行] ボタンをクリックする必要があります。 したがって、ユーザーの主導で、タスクを何度でも解決できます。

既存のマクロを表示および編集するには、データベース ウィンドウでマクロを選択し、[デザイン] ボタンをクリックします。

マクロを VBA コードに変換する

マクロには、Visual Basic for Applications (VBA) プログラミング言語で使用できるコマンドのセットが含まれています。 マクロに含まれていない機能を追加する必要がある場合は、分離されたマクロを VBA コードに簡単に変換し、必要なすべての関数をそれに追加できます。 VBA コードはブラウザーでは実行されず、Web データベースに追加されると、Access で開かれた場合にのみ実行されることに注意してください。

注記。
埋め込みマクロは VBA コードに変換できません。

マクロを VBA コードに変換するには、次の手順に従います。

  1. ナビゲーション ウィンドウでマクロを右クリックし、[デザイン]を選択します。
  2. グループ内のタブ上 サービスチームを選ぶ マクロを Visual Basic に変換する.
  3. ダイアログボックスで マクロ変換エラー処理コードとコメントを VBA モジュールに追加するかどうかを指定し、 変換する.

Access によってマクロ変換が確認され、Visual Basic Editor が開きます。 モジュールを表示して変更するには、プロジェクト領域で変換されたマクロをダブルクリックします。

モジュール

データベースの自動操作のための、Visual Basic の一連の説明とルーチン。

コントロールの質問

  • 「データベース」と「データベース管理システム」という概念を定義します。
  • データベース設計の主な段階について説明します。
  • データベーステーブルは何に使用されますか?
  • Access でテーブルを作成するには何ステップかかりますか?
  • フィールド名はどのように形成されるのでしょうか? 出力ドキュメントのフィールドヘッダーとどう違うのですか?
  • デザインモードではどのようなテーブルパラメータを設定できますか?
  • 単純 (複合) キーとは何ですか? それらはどのように作成されるのでしょうか?
  • データスキーマとは何ですか? テーブル間の関係の利用可能なタイプをリストしますか?
  • リクエストは何ですか?
  • Access にはどのような種類のクエリが実装されていますか?
  • クエリ デザイナー ウィンドウはどの部分で構成されていますか?
  • リクエストフォームフィールドの最初の 2 行に記入する方法を説明します。
  • レコード選択条件とは何ですか? 設定方法は? 例を上げてください。
  • 変更要求テクノロジーの一般的な手順は何ですか?
  • データベーステーブルとクエリの類似点と相違点は何ですか?
  • クエリ内に計算フィールドを作成するテクノロジについて説明します。
  • パラメトリッククエリとは何ですか? その作成の特徴は何ですか?
  • クロスリクエストとは何ですか? その作成の特徴は何ですか?
  • DBMS を開発する際のフォームの主な目的は何ですか?
  • フォームを作成する方法をリストします。 労働集約度の観点からどの方法が最適ですか?
  • ウィザードを使用した開発フォームと手動で開発中のフォームを比較します。 これらのテクノロジーの長所と短所を説明します。
  • 従属形式とは何ですか? データ図ではメインフォームとサブフォームはどのように相互に関連していますか?
  • 複合形式とは何ですか? 複合形状を開発する技術とは何ですか?
  • レポートの主な目的は何ですか?
  • レポートの目的とフォームの目的を比較してください。
  • レポート ウィザードを使用するときに、レポート内のデータのグループ化を変更するにはどうすればよいですか?
  • レポート デザイナー ウィンドウにはどのようなセクションがありますか? それらは何のため? 不足しているセクションを追加したり、不要なセクションを削除するにはどうすればよいですか?
  • MS Access のマクロは MS Word や MS Excel のマクロとどう違うのですか?
  • Access のマクロとモジュールの類似点と相違点は何ですか?
  • データベースを開くときに実行するマクロを編成するにはどうすればよいですか?

スプレッドシート プロセッサを使用してスプレッドシートを作成する場合、ユーザーはこのタイプの作業に特有のいくつかのアクションを実行します。 これらの手順は、スプレッドシートを作成するためのテクノロジーを構成します。

1. 出力ドキュメント(紙)の形式および計算データを取得するためのアルゴリズムの設計と開発。

2. スプレッドシートの開発、つまり タイトル、ヘッダーの作成、計算列への数式の入力。

3. データ入力と計算値の取得。

4. テーブルを外部メディアに保存します。

5. 表を印刷します。

表 5.1 と 5.2 を作成する例を使用して、スプレッドシートを開発するテクノロジを見てみましょう。

表5.1。

倉庫内の資材の移動を考慮する

倉庫

材質コード

数量、個

月初めの残高

到来

消費

月末残高

合計

表5.2。

材料の卸売価格と小売価格

材質コード

ユニット

卸売価格

小売価格

5.3.1. データ入力と編集

Excel を起動すると、通常、セル ポインターはセル内にあります。 A1名前付きワークシート シート1。 このセルは、ユーザーがデータを入力できるアクティブなセルです。 ワークシートのセルには 2 種類のデータを入力できます。 定数 そして 数式 。 定数は、次の 3 つの主要なカテゴリに分類されます。 数値意味、 文章意味と意味 日付そして 時間。 数値には 0 ~ 9 の数字と特殊文字のみを含めることができます。 + - E () 。 、% /。 テキスト値には、ほぼすべての文字を含めることができます。

定数の入力

定数はキーボードからアクティブ セルに入力されます。 文字を入力すると、数式バーとアクティブ セルに文字が表示されます。 数式バーとアクティブ セルに表示される点滅する垂直バーは、挿入ポイントと呼ばれます。

次の方法でセルへのデータ入力を記録できます。

1) キーを押すと、カーソルが次のセルに移動します。 入力後に別のセルに移動する方向をタブで設定可能 編集ダイアログボックス オプション、コマンドで開く サービスパラメータ;

2) キーボードのカーソルキー [œ]、[]、[®]、[ ̄] を使用します。

3) ワークシートの別のセルを左クリックします。

 入力した文字列の長さがセルの幅を超える場合、図のようにセルの右端からはみ出してしまいます。 5.2 であり、隣接セルが空いている間、隣接セルの上に配置されます。 ただし、テキストは 1 つのセル (この例ではセル A1) に保存されます。

 へ 長いテキストを 1 つのセルに表示する このセルが配置されている列の幅を広げることができます。 これを行うには、次のいずれかの方法を使用できます。セルを選択してコマンドを実行します。 列の書式設定幅の自動調整(図5.3)。 列ヘッダーの右端をダブルクリックしても同じことが行われます。 または 手動で 、カーソルが両方向矢印に変わったら、マウスを列ヘッダーの右端に移動します。

注記。 行の高さを変更するには、次のコマンドを使用できます。 フォーマット文字列の高さの自動選択または、列幅の変更と同様に、行の高さを手動で増やします。

テキストを複数行に配置する 。 これを行うには、セルを選択してコマンドを実行します。 セルのフォーマットタブ 位置合わせチェックボックス 言葉通りに包むを選択し、[OK]をクリックします。 図5.4で。 は、そのような変換後にセルがどのように見えるかを示しています。 タブにもあります 位置合わせセルのフォーマットドロップダウン リストからセルの内容の配置方法を選択できます。 水平方向そして 垂直方向そして オリエンテーションセル内のテキスト。

セル内のテキスト値の表示を制御する

 セルに格納され、数式バーに表示される値は、と呼ばれます。 保管されている 価値観。 セルに長い数値を入力すると、Excel では数値に科学表記法が使用されます。 この場合、セルに数値を表示できるように値の精度が選択されます。 たとえば、標準幅のセルに数値を入力すると、 1238567890123 , すると次のように表示されます。 1.24E+12.

 数式に従ってセルに表示される値は、推論または 表示される 価値観。 表示される桁数は列の幅によって異なります。 列の幅が十分でない場合、Excel では文字列が表示されます。 # 。 この場合、列幅を増やすだけで済みます。

データ編集

 向け 除去 1 つ以上のセルの内容を確認するには、セル (またはセルのブロック) を選択してコマンドを実行する必要があります。 クリアコンテンツの編集またはキーボードを押します。

 向け バグの修正 では、セルを選択して F2 キーを押し、挿入ポイントを移動して個々の文字を調整できます。

テーブルの作成と保存の手順を見てみましょう。 5.1 (初期データは今のところ入力しません)。

1. コマンドで Excel をダウンロードします。 始める プログラム マイクロソフト エクセル.

2. 名前を変更する シート1。 これを行うには、次のコマンドを実行します フォーマットシートの名前変更そしてシート名を変更します シート1の上 .

3. 表のタイトルを入力します 倉庫内の資材の移動を考慮する アドレスが記載されたセルに A1。 ヘッダーを表の中央に配置するには (図 5.5)、セル範囲を選択します。 A1:F1(テーブルには次の 6 つの列が含まれるため、 前に F) そしてコマンドを実行します セルのフォーマットタブ 位置合わせ。 フィールド内 水平方向リストから選択 – 選択範囲の中央、フィールド内 垂直 - 中央揃え[OK]をクリックします。

4. テーブルの列名を入力します。 このために:

 セルを結合する A2そして A3、なぜそれらを選択してコマンドを実行するのか セルのフォーマットタブ 位置合わせボックスにチェックを入れます セルの結合そして 言葉に従って翻訳する。 リストの中で 垂直方向そしてによって 水平テーブルの最初の列ヘッダーの配置を設定します – 中央に。 [OK]をクリックします。 次に、結合されたセルにタイトルを入力します 倉庫番号 .

 同様の操作を実行して、テーブルの 2 番目の列の名前を入力します。 材質コード セルを結合することで AT2そして AT3.

 セルに入力します C2タイトル 数量、個 4 つの列の中央に配置します。 これを行うには、範囲を選択します C2:F2 そしてコマンドを実行します セルのフォーマットタブ 位置合わせ、フィールドに設定 水平方向選択範囲の中央にある, フィールドで 垂直方向中央に.

注記。 チーム セルのフォーマットタブ 位置合わせ、フィールド設置 位置合わせ水平方向オプション 選択範囲の中央にある[結合して中央揃え]ボタンを使用して置き換えることができます

 セル内 C3、D3、E3、F3適切な列名を入力します。 細胞用 C3そして F3コマンドを実行する セルのフォーマットタブ 位置合わせ、水平方向と垂直方向に設定します – 中央に 、チェックボックスも 言葉に従って翻訳する選択範囲内にテキストが複数行に分散されるようにします。

6.セルへ A9入力 - 合計 .

7. 表のタイトルとヘッダーのセルのフォントデザインを完成させます。 セルを選択する A1:F3 そして実行する セルのフォーマットタブ フォント。 フィールドで選択します フォントエリアル, 書体イタリック体, フォントサイズ12 金曜日 細胞用 A4:F9 選択する フォント エリアル, 書体普通, フォントサイズ12 金曜日

8. タスクについて テーブルフレーム セル範囲を選択する A2:F9 そしてコマンドを実行します セルのフォーマットタブ 国境。 リストから線の種類と色を選択し、境界の位置を指定するには、[外部]および[内部]ボタンをクリックし、[OK]をクリックします。

9. アクティブ化 シート2に名前を変更します 価格 そして表5.2を作成します。 テーブルのデザインを図に示します。 5.6. テーブルのヘッダーは 1 行に配置されることに注意してください。

あなたの優れた成果をナレッジベースに送信するのは簡単です。 以下のフォームをご利用ください

研究や仕事でナレッジベースを使用している学生、大学院生、若い科学者の皆様には、大変感謝していることでしょう。

ポストする http://www.allbest.ru/

ロシア連邦の省庁

民間防衛、緊急事態、災害管理について

州消防アカデミー

情報技術学科 UNK ASIT

トピックに関するコースワーク:

「開発技術とデータベース管理技術」

完了者: 内線軍曹 サービス バイテミロフ T.I.、gr。 No. 52155B-1k2015

モスクワ 2015

注釈

DBMSにはMS ACCESSを使用しています。 データベースはテーブルで構成されています 火災に関するデータ(住所、日時、地域、火災原因(火の取り扱い不注意、電気設備の操作規則違反、既成放火、生産設備の故障、物質の自然発火)を登録)物品の種類(住宅、工業用建物、商業施設、教育機関、医療機関など)、消火(火災現場への到着時間と消火時間、犠牲者の数) 、物的損害、消火に参加した人員と設備の数、消火責任者)。

タスクの設定

組織および分析部門向けの火災会計データベースを開発します。 消火時間が20分を超える火災の記録を選択するリクエストを作成し、リクエストに基づいてフォームとレポートを作成します。 火災エリアを選択するための条件を含む火災データ テーブルのパラメーターを含むクエリを作成します。 ヒストグラムを含むフォームを作成して、火災の日付に応じた平均物的被害を表示します。

消防管制サーバーへのアクセス

1. データベース構造の説明

データベースは、オブジェクトの種類、火災に関するデータ、火災の除去という 3 つのテーブルで構成されます。

図1。 表「オブジェクトの種類」

図2. 表「火災データ」

図3. 表「消火」

図4. テーブル間の関係。

図6. 消火時間が20分を超える火災の記録をサンプリングするためのフォーム。

米。 7. 消火時間が 20 分を超える火災の記録のサンプルについて報告します。

図9。 13 平方メートルの防火エリアを選択したクエリの結果

図10。 火災の日付に応じた平均物的被害を表示するヒストグラムを含むフォーム。

Microsoft Access は、機能的に完全なリレーショナル DBMS です。 大量の情報を扱う際に、データの定義、処理、管理に必要なツールがすべて提供されます。 使いやすさに関して言えば、Microsoft Access は世界に革命をもたらし、多くの人が独自のデータベースやアプリケーションを作成するために Microsoft Access を利用しています。

データベース管理システムは、データの構造と記述を制御し、それらを操作し、この情報の共同使用を組織する機会を与えてくれます。 また、DBMS によって機能が大幅に向上し、多数のテーブルに格納されている大量の情報のカタログ化と保守が容易になります。 DBMS には、データの定義 (構造と記述の設定)、データ処理、およびデータ管理という 3 つの主なタイプの機能が含まれています。 この機能はすべて Microsoft Access に完全に実装されています。 実際には、原則として、スプレッドシートやワードプロセッサを使用して問題を解決する必要があります。 たとえば、データを集計または分析した後、それを特定のフォームまたはテンプレートの形式で提示する必要があります。 その結果、ユーザーは望ましい結果を得るためにソフトウェア製品を組み合わせる必要があります。 この意味で、Microsoft Access が提供する機能によってすべてが大幅に簡素化されます。

1. DBMSとは

データを特定の構造の形式で保存する必要性、つまり、周囲の世界の特定のオブジェクトに関する情報を整理する必要性は、人類にとって常に明確なものでした。 この場合、オブジェクトはオブジェクト、またはより抽象的な概念 (たとえば、何かを生産するプロセス) として理解されます。

データベースにオブジェクトを追加するだけでは、まだ半分しか終わりません。 特定の意味を関連付けるためには、やはり何らかの形で特徴づける必要があります。 そしてここで「与えられた」という概念を導入する必要があります。 与えられたものは、オブジェクトを特徴づけ、それに特定の意味を与える特定の指標です。 さらに、オブジェクトは 1 つのデータによって定義される必要はなく、多数のデータがあってもかまいません。 ハッカー構造を扱っていると想像してみましょう。 ハッキングは対象です。 しかし、データにはすでにハッカーの傾向、違法行為の経験、エクスプロイトが書き込まれてハッキングされたマシンの数などが含まれています。 言い換えれば、データは特定のオブジェクトの特性です。 これは、まだ将来のデータベースにアクセスするときにクライアントが最も関心のあることです。

大量の情報 (ちなみに、冗長である可能性があります) を含む数メガバイトのファイルを作成することは、問題の解決策ではありません。 人は快適さを好むため、たとえば、主要なハッカーに関する情報を入手するために、クライアントはハッカーのニックネームを提供するだけで済みます。そうすれば、サイバー犯罪者に関する包括的な情報が正義の武器になります。 このようなシステムを組織するのは非常に困難で、個々のファイルが価値のあるデータベースになるまでに何十年もかかりました。 今では、構造化ファイル (データベースやさまざまなデータ編成モデル) の存在のおかげで、すべてがはるかにシンプルになりました。

実際、モデルは特定のデータベースの基礎となります。 何らかのモデルで、データ間の接続、入力データの種類、保存方法、管理などが定義されます。 データとアプリケーション プログラムの接続は、DBMS またはデータベース管理システムを介して提供されます。

DBMS は、データベースを作成、保守し、多くのユーザーと共有するために設計された言語とソフトウェア ツールのセットです。 言い換えれば、DBMS の助けを借りて、誰でも (もちろん特定の権利を持っていれば) データベースにアクセスし、そこから興味のある情報を取得できるようになります。

テーブルは私たちの未来です。

特定の DBMS は、データベースの基礎を形成するモデルに依存します。 現在、リレーショナル (関係モデル) とオブジェクト指向 (オブジェクト モデル) の 2 つのモデルが最も一般的になっています。 それらについてお話します。

リレーショナル モデルから始めましょう。 1969 年に遡ると、アメリカの数学者 E.F. コッド (E.F. コッド) は、データベースを使用してそれまでに発展していた状況を分析し、状況は悪いという結論に達しました。 当時入手可能なすべてのモデルには、データの冗長性、処理の複雑さ、情報を保存するためのセキュリティの欠如など、重大な欠点がありました。 痛ましい反省の末、コッド氏は独自のモデル、つまりリレーショナル モデルを作成することにしました。 悪意を持って英語をスキップしている人のために、関係は「態度」または単に「テーブル」と翻訳されることを思い出してください。 この優秀な博士は、データ ストレージを表形式で実装しただけです。つまり、そのような「ストレージ」を論理構造の形式で整理しました (物理的なストレージ方法は任意です)。 このようにして、Codd は情報の表示を明確にし、処理を容易にすることができました。 この天才の功績により、データ テーブルを生成するには、ブール代数の法則に従う特定の論理クエリを実行するだけで十分になりました。 データ操作演算子の中には、行の抽出 (SELECT)、列の抽出 (PROJECT)、およびテーブルの結合 (JOIN) という少なくとも 3 つの操作があります。 これらのアクションの結果として、テーブルが得られます。 これらすべてから得られる簡単な結論は、リレーショナル モデルにおけるあらゆる操作の結果は、アクションが実行されたオブジェクトと同じ種類のオブジェクトであるということです。 これは、説明されているモデルの主なプロパティです。

基本的な知識に加えて、このモデルに適用される基本的な定義 (データ型、属性、タプル、リレーション、主キー) が必要になります。

データ型は、プログラミング言語の型の概念に対応する定義です。 言い換えれば、リレーショナル モデルの場合、「整数」、「文字列」、「文字」、「浮動小数点数」、「日付」、「金額」などの基本的な型に注目することができます。

属性はデータテーブル内の列です。 たとえば、画面にハッカーの傾向、悪用、経験に関する情報が含まれている場合、これらの列はすべて属性になります。

タプルは、データを含むテーブル内の行です。 したがって、特定のハッカーに関する包括的な情報はタプルになります。

関係はテーブル全体です。 テーブルで使用されるデータ型の記述はリレーション ヘッダーと呼ばれ、その他すべて (データ自体) はリレーション本体と呼ばれます。

主キーは、リレーション (テーブル) 内の各タプル (行) の一意性を決定する属性 (列) の最小セットです。 データベースを作成するときは、主キーの指定に細心の注意を払う必要があります。この例では、ハッカーのニックネームだけでは十分ではありません (アイドルのニックネームを使用したい場合はどうすればよいでしょうか?)。 認証のために、行ごとに一意に異なるシーケンス番号を含む追加フィールドが導入されることがあります。 しかし、主キーに 2 つまたは 3 つの属性を選択することを禁じている人はいません。このアクションが論理的に正当である限り、何を選択しても構いません (このような一連の属性は複合主キーと呼ばれます)。

データの連携

効果的なデータベース管理を実現するには、データ接続を確保する必要があります。 簡単に言えば、データベース内の 2 つ以上のテーブルを接続できる必要があります (もちろん、そこにテーブルが存在する場合)。 この目的のために、いわゆる「外部キー」が発明されました。これは、あるテーブル内の、別のテーブルの主キーと同じタイプの属性 (または属性のセット) です。 ただし、あるテーブルの列の各値が別のテーブルの値と一致する必要があるという条件にも従う必要があります。

DBMS の理論では、1 対 1、1 対多、多対多の 3 種類の関係があります。 それぞれのタイプについて詳しく説明しましょう。

1. 1対1。 このタイプの関係は、あるテーブルの主キーが別のテーブルのキーを参照する場合に使用されます。 わかりやすくするために、例を挙げてみましょう。ハッカー データベースに 3 つのテーブルがあるとします。 1 つ目はハッカーに関する情報です。生年月日、性別 (女の子もハッカーになる可能性があります)、ICQ です。 2 つ目はハッカーのトレンド (トレンドの種類、その複雑さ、初期投資) です。 3 番目は、インターネット アクセスの種類 (テクノロジー、アクセス速度、セキュリティ評価) です。 これらすべての表を 1 つに結合することはできません。インターネット アクセスに関するデータとハッカーの傾向 (それらに限らず) との関連性が欠如しているため、混乱が生じるからです。 また、接続が 3 つの異なるテーブル (主キー - シーケンス番号を使用) の形式で実装されている場合、高い処理速度とデータの順序性の両方が保証されます。

2. 1 対多。 最も典型的な接続です。 あるテーブルの主キーを別のテーブルにコピーするときに実装されます。 この場合、2 番目のテーブルでは、このキーは外部と呼ばれます。 例を見てみましょう。 ハッカーに関する情報 (「ハッカー」テーブル) と、ハッカーが作成したエクスプロイトの特性との関係に関する情報 (「エクスプロイト」テーブル) の 2 つのテーブルを考えてみましょう。 基本的に、それらは 1 対多のメカニズムによって接続されます。 実際、各ハッカーが複数のエクスプロイトの作成者になる可能性があります (これはよく起こります) が、各エクスプロイトを作成できるのは 1 人だけです (ハッキング グループで協力している場合でも、1 人が特定のエクスプロイトに取り組んでいます)。 ここでは、ハッカーのニックネームが「Exploits」テーブルの外部キーとして使用され、エクスプロイトの名前が主キーとして使用されます。 同時に、外部キー「ハッカーのニックネーム」は「Hackers」テーブルの主キーであり、2 つのテーブルを接続し、必要な情報の検索を整理するためにここで意図的に導入されました。 ちなみに、「エクスプロイト」関係は必ずしも 1 つの属性だけで構成されるわけではありません。エクスプロイトが適用されるオペレーティング システムの特性、ターゲットの数、タイプ (ローカルまたはリモート) などを追加できます。

3. 多対多。 このタイプの関係の本質は、あるテーブルのキーが別のテーブルのキーに関連付けられ、その逆も同様であるということです。 リレーショナル モデルのこのタイプでは状況が非常に悪くなります。 より正確に言えば、この接続を直接実装する方法はまったくありません。 この欠点を回避するには、古典的な解決策が使用されます。つまり、最初と 2 番目のテーブルの両方に 1 対多の方法で関連付けられる中間リレーションが追加されます。 またまたわかりやすい例です。 ハッカーに関する情報と、かつてハッキングされたサーバーに関するデータという 2 つの関係があります。 考えてみると、次のような構造になっています。1 人の攻撃者によって複数のサーバーがハッキングされる可能性があり (これは人生でよく起こります)、管理者がバグにパッチを当てなければ、複数のハッカーが 1 つのサーバーに (同時にまたは順次に) 住み着く可能性があります。時間。 同様のスキームをリレーショナル データベースに実装するには、ハッカーのニックネームとサーバー アドレスという 2 つのフィールドの中間関係を追加します。 したがって、この補助テーブルは、最初と 2 番目の関係の両方と 1 対多の関係になります。 もちろん、これによりデータの冗長性が高まるため、専門家はそのような接続を避けることを推奨しています。

オブジェクトパラダイス

しかし、残りの DBMS はどうなるのでしょうか? 彼らはどのモデルに属しますか? 実際には、リレーショナル モデル以外にもモデルがあります。 オブジェクト指向は例外として、どれもあまり人気がありません。オブジェクト指向はリレーショナルよりも後に登場し (そのため、ポストリレーショナルと呼ばれることもあります)、現在でも使用されています。

リレーショナル モデルの主な条件は正規化ルールです。 すべてのテーブル値は論理的に分割できず、列と行は順序付けされておらず、リレーション内の 2 つのタプルが同一であってはなりません。 このような正規化はオブジェクト間の自然な階層関係を破壊することが多く、これは非常に不便であるため、開発者は新しい DBMS、つまりオブジェクト指向の DBMS を提案しました。 このパラダイムの本質は、それによると、主題領域が、いわゆるクラスに接続されたオブジェクトの形式で表現されることです。 クラス内の各オブジェクトには、受動的な特性またはメソッドが与えられます。 オブジェクトは、それに関連するメソッドを通じてのみ制御できます。 オブジェクトの属性は多くの有効な値のうちの 1 つを取ることができ、特定の値のセットによってオブジェクトの動作が決まります。 同じ属性値とメソッドを持つオブジェクトのセットがオブジェクトのクラスを定義します。

オブジェクト指向データベースの理論は、オブジェクト指向プログラミング言語の構成と似ていることがわかりました。 そのとおりです。 オブジェクトの任意のクラスは別のクラスから継承でき、そのクラスのすべてのメソッドとそれ自体のメソッドを含めることができます。 カプセル化ルールも遵守されており、オブジェクト属性の値の変更はメソッドを使用した場合にのみ許可されます。 最後に、ポリモーフィズムは、継承されたオブジェクトのメソッドをオーバーライドするためのメカニズムです。

OODB の主な利点は、構造と動作の間にギャップがあるリレーショナル DBMS とは対照的に、このようなデータベースではオブジェクトの動作の側面が考慮されることです。 確かに、OODB を実装するには特別なプログラミング言語が必要になり、設計者の作業は非常に複雑になります。

このような重複を防ぐために、彼らはリレーショナル DBMS とオブジェクト指向 DBMS を組み合わせることを試みました。 これには標準の拡張と既存のプログラミング言語の最新化が必要であることは明らかです。 したがって、大企業の IBM と Oracle は、システムのリレーショナル コアにオブジェクトの上部構造を追加することで DBMS を変更しました。

データベース管理言語

各データベース モデルには独自の制御言語があります。 リレーショナル モデルの場合、この言語は SQL (Structured Query Language、または構造化クエリ言語) です。 この言語の作成者は、自分たちの発案を人間 (英語) の言語にできる限り近づけ、同時に論理的な意味を持たせることを目指しました。

SQL 言語は、リレーショナル DBMS を常に扱う人の作業を大幅に容易にします。 厳密に言えば、この構造化言語がなければ、残念ながら多くの人がプログラムを、たとえば C で書かなければならなくなるでしょう。想像してみてください。テーブルを完全に操作するには、まずこのオブジェクトを作成し、次にそれにアクセスするためのプロシージャをプログラムする必要があります。 (行の抽出と追加)。 このような痔を取り除くために、DBMS 開発者は SQL 言語の作成に取り組みました。

すべての SQL クエリは、ブール代数の論理条件に非常に似ています。 すでに述べたように、リレーショナル以外にもタイプがあります。 特にオブジェクト指向のもの。 当然のことながら、そのようなデータベースには別のクエリ言語が使用されます。

ほとんどのオブジェクト指向データベースには、ユーザーがナビゲーション スタイルでオブジェクトにアクセスできるようにするシンプルなグラフィカル インターフェイスが備わっています。 同時に、カプセル化の原則は無視されます。オブジェクトの内部を直接見ることを誰も禁止しません。 しかし、専門家が言うように、OODB のナビゲーション スタイルは、リレーショナル DBMS のクエリ言語に比べて、ある意味「後退」しています。 そして、OODB に最適なクエリ言語を求める骨の折れる探索は今も続いています。

主要なデータベース アクセス言語は依然として単純な SQL 構文に基づいており、オブジェクトに適用される何らかの拡張機能があります。 このような言語の例としては、ORION、Iris、O2 Reloop などがあります。

ご覧のとおり、データベース市場は複数のリレーショナル モデルで有名です。 現在、開発者は既存のリレーショナル DBMS コアにオブジェクト指向のアドオンを追加するなど、さまざまな革新によってソフトウェア製品を拡張しようとしています。 これに加えて、SQL クエリ言語も変更されています。 SQL3 には、OODB を操作するための特定のメソッドがすでにありますが、その実装にはまだ多くの要望が残されています。

一般の人のニーズには、どこでも使用されているリレーショナル DBMS で十分です。 これは、広く愛されている MySQL と、あまり愛されていない Access および MSSQL です。 似たような制御システムはたくさんあります。

2. データベースの種類

現地拠点

最も単純なデータベースはローカルです。 この場合、データベースとプログラムは同じコンピュータ上にあります。 データベース ファイルへの接続は、特別なドライバーを介して、または直接行われます。 ドライバーは 1992 SQL 標準の単純なクエリのみを処理し、プログラムにデータを提供したり、テーブルに変更を保存したりできます。 他のすべての操作はプログラムによってのみ実行できます。 このように、ロジック、データ、アプリケーションは 1 つのユニットとして機能し、分離することはできません。

この種のデータベースの最も優れた最も一般的な代表的なものは、Dbase (拡張子 .dbf のファイル)、Paradox (拡張子 .db)、および Access (拡張子 .mdb) です。 Dbase および Paradox 形式はデータベースではなくテーブルです。これは、1 つのファイルに格納できるデータ テーブルは 1 つだけであるためです。 検索を高速化し、並べ替えを実行するインデックスは、別のファイルに配置されます。 したがって、1 つのデータベースが多数のファイルで構成されている可能性があり、アプリケーションをエンド ユーザーに配信するときに特定の問題が発生することがあります。

Access ファイルはテーブルとデータベースのハイブリッドです。 ここでは、すべてのテーブルとインデックスが 1 つのファイルに保存されているため、管理が非常に便利です。 さらに、Access データベース管理環境は、MS Office パッケージの中で最も便利であり、利用可能です。 それ以外の場合、MS Access にはこのクラスの他の代表者と同じ欠点があります。

ローカル データベースの主な欠点は、ユーモア作家の M. ザドルノフ氏が言うように、「データベースが愚かであること」です。 はいはい。 アクセスの品質と速度はドライバーに直接依存します。 それらのほとんどには、SQL クエリ オプティマイザーやキャッシュがありませんでした。 ハードウェア機能の使用が最小限に抑えられているため、大規模なデータベースではクエリの実行が非常に遅くなります。

Dbase テーブルと Paradox テーブルはあまりにも前に設計されたものであり、その最大の弱点はインデックスです。 これらのテーブルにはトランザクションも対応するログもありません。 新しいエントリを追加した後、ドライバーがインデックスの変更を処理する時間がなく、エラーが発生した場合 (ライトが消えたり、フリーズが発生したり)、インデックスが崩壊するため、特別なユーティリティを使用するか、インデックスを再構築する必要があります。それを復元します。 Access データベースではインデックスがより適切に保護されているため、このような問題は発生しませんでした。

壊れたインデックスとは何ですか? インデックスは、すべての行の値が必ず一意である列です。 ほとんどの場合、これらの目的には単純なカウンターが使用されます。 ユーザーがレコードを追加し、カウンタがそれに値 195 を割り当てたが、カウンタ値自体は変更されなかったとします。 次のエントリを追加するときに、カウンタは再び 195 という数値を与えようとしますが、そのようなエントリはすでに存在するため、エラーが発生します。 これはインデックス違反であり、その扱いは非常に簡単です (しかし面倒です)、インデックスを再構築することです。

ネットワークデータベース

ローカル データベースがローカルと呼ばれるのはなぜですか? はい、1 人のユーザーだけがデータを操作し、データベースとプログラムが同じコンピューター上に配置されているためです。 小規模なプロジェクトの場合はこれで問題ありませんが、大量のデータの場合は 1 人のオペレーターではタスクを処理できず、複数の人が共有データで作業する必要があります。

ネットワーク データベースは、このような問題を解決するために設計されました。 原則として、これらは同じローカル データベースですが、サーバーのネットワーク ドライブ (これは単純なファイル サーバーまたは共有のあるコンピューター) 上に配置され、複数のクライアントがネットワーク経由で 1 つのデータベースにアクセスします。

データベースにどのようにアクセスするかを見てみましょう。 プログラムとドライバーはクライアント上にあり、データはサーバーまたは単にリモート コンピューター上にあります。 プログラムはどのようにしてデータを受信するのでしょうか? クライアントは、実行する必要がある SQL クエリをドライバーに送信しますが、データはリモートにあります。 要求を処理するには、必要なテーブル全体 (Access の場合は、すべてが 1 つのファイル内にあるため、データベース全体) がクライアントのコンピューターにダウンロードされ、そこでドライバーがデータを処理します。

これはまさにシステムを嘲笑するものであるため、そのようなテクノロジーを発明した人を打ち負かす必要があります。 34 Kb/秒の電話接続を使用して 1 GB のデータベースに対してクエリを実行する必要がある場合に何が起こるか想像できますか? これはユコスにミルクセーキのストローで油を搾り取らせるのと同じだ。

しかし、インデックスは最も恐ろしい方法で動作し始めました。 Paradox テーブルの場合、共有 Win95 ディスク上にある場合は、少なくとも週に 1 回インデックスを修復する必要がありました。 NetWare 3.11 サーバー (これは 1998 年頃のこと) のネットワーク ドライブにデータベース ファイルを削除すると、インデックス作成の問題はすぐに解消されました (おそらく、これは実際にはサーバーであり、不器用な Windows 9x ではないためです)。

ネットワークに接続するとマルチユースが不完全でした。

クライアントサーバー

ネットワーク データベースで失敗した彼らは、最終的に単調なモデルをアプリケーションとデータベースの 2 つのレベルに分割することにしました。 現在、データベースはデータを含む単なるテーブルではなく、データの保存だけでなくクエリの処理もタスクに含むエンジン全体です。

クライアントサーバーテクノロジでは、ドライバーはすでにその目的を変更しており、現在はサーバーに接続してリクエストを送信する方法を知る必要があるだけです。 残りはサーバーに任せられます。 このテクノロジーは、特に優れたプログラミングを使用した場合に、トラフィックを大幅に削減します。 ユーザーが、特定の列の名前に文字「A」で始まる単語が含まれるすべてのデータを表示したいとします。 クライアントは次のテキストをサーバーに送信するだけで済みます。

FROM テーブル名

WHERE 列 LIKE `A % "

リクエストを受信したデータベース サーバーは、リクエストを解析し、最適な実行プランを作成します。この場合は、必要な行を検索します。

必要なデータを受信すると、サーバーはこれのみを返し、それ以上は何も返しません。 したがって、クライアントはいつでも必要なデータをサーバーに要求でき、データベース全体をネットワーク経由で駆動する必要はありません。 適切に構築されたアプリケーションと最適なクエリを使用すると、クライアントは、56 Kbps モデムを介しても、あらゆるサイズのデータ​​ベースを操作できます。 悪くない? 重要なのは、必要なものだけを少しずつリクエストすることです。

クライアントサーバー機能

クライアント/サーバー データベースの機能はメーカーによって異なります。 最も単純なオプションは、MySQL などのデータベースによって提供されます。 これらのサーバーには、リクエスト処理エンジンと、セキュリティと権利の配布を確保するための基本機能が組み込まれています。

より評判の高いクライアント/サーバー データベース (MS SQL Server、Oracle など) には、次の追加機能があります。

1. VIEWS - セキュリティを確保するために使用される機能。

2. TRIGGERS - 特定のイベント (データの挿入、変更、削除) で呼び出すことができる関数。これらの関数では、データの整合性を確保するためにいくつかのロジックを生成できます。

3. レプリケーション - データベースの結合 (会社に 2 つのオフィスがあり、それぞれに独自のデータベースがあるとします。レプリケーションを設定することで、両方のデータベースを本社の 1 つに自動的にマージしたり、スケジュールに従って変更を交換したりできます)。

4. ストアド プロシージャとストアド関数。これは、わずかなクライアント要求でサーバー上で実行され、あらゆるアクションを実行するロジックを備えたルーチン全体を含めることができます。 このようなプログラムを作成するには、SQL 言語だけでなく、その拡張機能である Transact-SQL (MS データベースの場合) や PL/SQL (Oracle などの場合) も使用されます。

機能のリストは、特定のデータベースとその複雑さによって異なり、多かれ少なかれ異なります。

サーバー上のインデックス

サーバー データベースにはトランザクション管理が存在するため、インデックスに関する問題を忘れることができます。 ユーザーがレコードを追加したとします。 この時点で、トランザクション (暗黙的) が開始され、その間にデータを保存するために必要なすべてのアクションが実行されます。 何か問題が発生して保存が完了しなかった場合、すべての変更はロールバックされ、サーバーの操作は何も中断されません。

プログラマ自身が開始と終了の場所を示し、データの変更または追加のいくつかの操作をトランザクション内で実行できる場合、トランザクションを明示することもできます。 この場合、指定されたブロックでエラーが発生すると、サーバーは、明示的なトランザクションの実行中に行われたすべての操作に対する変更をロールバックします。

ローカル データベースでは、インデックスは線形に保存されます。 これは順序付けられたデータの列のようなもので、行の場合はすべての単語をアルファベット順に並べることと同じです。 もちろん、このようなインデックスにより検索が簡素化されます。 インデックスによるスキャンが発生し、プログラムが検索条件で指定したよりも多くの単語がすでに見つかったことを確認すると、スキャンを停止でき、データベース全体をスキャンする必要がなくなります。 たとえば、「Lampshade」という単語を検索してみましょう。 これは先頭のどこかにあり、それを見つけるには、テーブルの先頭をスキャンするだけでよく、文字 A で始まるすべての単語をスキャンする必要があります。データは順序付けされているため、確実に一致することができます。他のすべての単語は B、C などの文字で始まります。

サーバー データベースの場合、インデックスは (データベースとインデックスの種類に応じて) 少し異なる方法、つまりツリー形式で保存されることがほとんどです。 線形インデックスを使用してデータベース内で「アンカー」という単語を見つけるには、何単語をチェックする必要がありますか? 実際、ほぼすべてです。 インデックスをツリーに保存する場合は、「Lampshade」という単語の場合と同じです。 ツリー インデックスを説明するために、古典的な問題を考えてみましょう (実際にはすべてがもう少し複雑ですが、考え方は同じです)。 アルファベットはツリーの最上部に保存されます。 プログラムは文字 A を見つけて、1 つ下のレベルに進みます。 ここで、彼女は文字 A、B で始まるすべての単語を見つけ、さらに下に移動します。 適切な単語が見つかるまで続きます

そのため、目的の単語が最後にあっても、表の先頭から単語を検索するよりも検索にそれほど時間がかかりません。

第 3 レベル

多くのプログラマは、2 層モデル、つまりクライアント/サーバー アプリケーションでしか作業できません。 他に何も知らないからではなく、単に 3 レベル モデルの利点が分からず、不必要な問題で苦しみたくないからです。しかし、将来的には、プログラムのメンテナンス中に 3 レベルで、理論を活用すれば、不要な問題から守ることができます。

このようなシステムでは、すべてのロジックがアプリケーション サーバーに収集されます。 データベースまたはデータ処理ロジックで何かが変更された場合は、それを更新するだけで、パッチを適用しなくてもすべてのクライアントが新しい方法で動作するようになります。

このようなシステムの利点は、クライアント マシン上のデータベースにアクセスするためのドライバーを保持する必要がないことです。 クライアントは、アプリケーション サーバーの場所を把握し、それに接続してデータを正しく表示できることのみを必要とします。

古典的な問題、つまりデータベースの新しいバージョンの出現、または質的に新しいレベルのデータベースへの移行を想像してみましょう。 そうですね、私たちはすでに MySQL の機能を持っていないので、Oracle のすべての機能を活用したいと考えていました。 これを行うには、データベース サーバーが再インストールされ、アプリケーション サーバーが新しいデータベースに接続するように変更され、クライアントが動作できるようになります。 更新する必要はありません。

しかし、最も興味深いのは、クライアント プログラムは何でもよいということです。 ブラウザから直接アプリケーション サーバーを操作できるようにするスクリプトを作成できます。 この場合、ユーザーはどのプラットフォーム (Windows、Linux など) でもデータベースを操作できます。

アプリケーション サーバーが存在するにもかかわらず、すべてのデータ処理ロジックをアプリケーション サーバーに組み込むことに意味はありません。 ストアド プロシージャと関数をサポートする強力なデータベースを使用している場合は、ロジックの一部をデータベース サーバーにオフロードすることをお勧めします。 この場合、保存されたコードに加えられた変更は即座に有効になり、アプリケーション サーバーを更新する必要さえありません。

ネットワーク上のコンピュータの数が少なく (20 台以下)、サーバーが十分強力である場合は、アプリケーション サーバーとデータベースを 1 つの物理サーバーに配置できます。 この場合、アプリケーション サーバーとデータベース間のデータ交換はネットワーク経由ではなく 1 台のコンピューター内で行われるため、ネットワーク機器の負荷を大幅に軽減できます。

アプリケーション サーバーとデータベースが別のサーバー上にあるとします。 クエリ結果は、まずデータベースからアプリケーション サーバーにスイッチを通過し、次に同じスイッチを通過してクライアント コンピュータに送信されます。 したがって、同じデータがネットワークを 2 回通過します。 これを解消するために、私はほとんどの場合、ロジックとデータを 1 つの物理サーバーに結合します。

あなたのプロジェクトには何を選択しますか? すべてはとてもシンプルです。 たとえば、一度に 1 人だけが作業するデータベースを作成する場合、明確な選択はローカル データベースです。 MS Access は、その信頼性と、このデータベースにアクセスするためのドライバーがすべてのコンピューター (特に MS Office がインストールされている場合) で利用可能であり、インストーラーで遅延する必要がないという事実により、これに最も適しています。

少なくとも 2 人でデータベースを操作する場合は、ネットワーク接続を考案する必要はありませんが、クライアントサーバーテクノロジを使用することをお勧めします。 ネットワークから不要なトラフィックを取り除き、マルチユーザー作業の信頼性を高め、最大限の可能性を提供します。

ユーザー数が大幅に増加し、システムの更新で問題が発生した場合、最善の解決策は 3 層システムに切り替えることです。 開発は少し難しくなりますが、保守するのははるかに優れています。

Access の基本 - リレーショナル データベース

データの定義(構造の設定)

ドキュメントやスプレッドシートを操作する場合、通常はドキュメントの内容や表の各セルを完全に自由に定義できます。 ワード プロセッサでは、さまざまな情報をページ上の適切な場所に配置するためにこのような柔軟性が必要ですが、スプレッドシートでは、ソース データを保存し、必要な計算を実行し、結果を目的の形式で表示できなければなりません。形状。 この柔軟性により、比較的小規模で明確に定義された問題に対する解決策を成功させることができます。 しかし、スプレッドシートに数百行が含まれ、ドキュメントが多数のページで構成されている場合、それらの操作は非常に困難になります。 データの量が増えると、スプレッドシートやワード プロセッサで設定されたメモリ制限を超えたり、コンピュータ システムの容量を完全に使い果たしたりすることがあります。 他のユーザーを対象としたドキュメントやスプレッドシートを開発している場合、新しいデータの入力と既存のデータの使用を制御することが困難になります (または不可能です)。 たとえば、スプレッドシートの 1 つのセルに日付を保存し、別のセルに現金の領収書を保存する必要がある場合、ユーザーはそれらを誤って混同する可能性があります。 さらに、単なるデジタル情報やテキスト情報以上の情報を扱う必要がある場合、スプレッドシートでは画像や音声の形式で表される情報を処理できない場合があります。

DBMS を使用すると、データ型とその保存方法を指定できます。 DBMS がデータ入力の正確性を確認するために後で使用する基準 (条件) を設定することもできます。 最も単純なケースでは、値の条件により、誤って数値フィールドに英字を入力することがないようにする必要があります。 他の条件によって、データの許容値の範囲が定義される場合があります。 最も先進的なシステムでは、データのコレクション (通常はテーブルまたはファイルと呼ばれる) 間の関係を定義し、それを DBMS に任せてデータの互換性や整合性を確保できます。 たとえば、入力された注文と特定の顧客の関係をシステムに自動的にチェックさせることができます。

Microsoft Access では、データの種類 (テキスト、数値データ、日付、時刻、金額、画像、サウンド、ドキュメント、スプレッドシート) を最大限に自由に指定できます。 また、保存形式 (文字列の長さ、数値と日付の精度) と、表示または印刷するときのこのデータの表現を指定することもできます。 正しい値のみがデータベースに保存されるようにするために、さまざまな複雑度の値に条件を設定できます。

情報処理

ワード プロセッサやスプレッドシートでのデータの操作は、DBMS でのデータの操作とは大きく異なります。 ワードプロセッサを使用して作成された文書には、表形式のデータを含めることができ、それを処理するために限られた関数セットを使用できます。 OLE (オブジェクトのリンクと埋め込み) を使用して、他のアプリケーションの表、グラフ、または画像を含めて、ソース文書内の文字列を検索できます。 スプレッドシートでは、一部のセルに必要な計算や変換を行う数式が含まれており、それらのソース情報であるデータを他のセルに入力できます。 特定の目的のために作成されたスプレッドシートのデータは、後で他の問題の解決に使用するのが非常に困難です。 新しいタスクを実行するには、別のスプレッドシートのデータにリンクするか、限定された検索機能を使用して、新しいタスクを解決するために必要なデータの選択したサブセットをあるスプレッドシートから別のスプレッドシートにコピーします。

DBMS を使用すると、さまざまな方法を使用してデータを操作できます。 たとえば、単一のテーブル内の情報を検索したり、関連する複数のテーブルやファイルにまたがる複雑な検索クエリを作成したりできます。 1 つのコマンドで、1 つのフィールドまたは複数のレコードの内容を更新できます。 データを読み取り、修正するために、DBMS 関数を使用するプロシージャを作成できます。 多くのシステムには、高度なデータ入力機能とレポート生成機能が備わっています。

Microsoft Access は、強力な SQL (構造化照会言語) 言語を使用して、一部のテーブルのデータを処理します。 これを使用すると、特定の問題を解決するために必要な情報を 1 つまたは複数のテーブルから選択できます。 Access により、データ処理タスクが大幅に簡素化されます。 Microsoft Access で問題を解決するには、SQL の知識はまったく必要ありません。 複数のテーブルのデータを何らかの方法で処理する場合、一度指定したテーブル間のリレーションシップが使用されます。 データベース内のデータ構造間のすべての接続を追跡する複雑なシステムの構築に労力を費やすことなく、情報問題の解決に労力を集中できます。 Microsoft Access には、Query by Example (QBE) と呼ばれる、シンプルかつ強力なグラフィカル クエリ ツールもあり、問題を解決するために必要なデータを指定するために使用されます。 標準的な Windows マウス技術とキーボードのいくつかのキーを使用して、画面上の要素を選択および移動すると、文字通り数秒でかなり複雑なクエリを構築できます。

データ管理

スプレッドシートとテキスト ドキュメントは、いわゆる「シングルユーザー」タスクを解決するための優れたツールですが、共有環境での作業にはあまり適していません。 スプレッドシートは、単純な情報入力フォームのテンプレートとしても役立ちますが、複雑なデータ検証を実行する必要がある場合、スプレッドシートの機能では明らかに不十分です。 スプレッドシートは、小規模な会社の請求書テンプレートとして適しています。 しかし、ビジネスが拡大するにつれて、コンピューターに注文を入力する従業員の数が増加し始めると、データベースなしではやっていけなくなります。 同様に、大企業では従業員が経費を報告できるようにスプレッドシートを使用することがありますが、この情報は一般的な会計目的のためにデータベースに収集する必要があります。

情報を共同で使用する必要がある場合、このデータベース管理システムを使用すると、不正なアクセスから情報を保護できるため、特定のユーザーのみがデータを閲覧したり、データを修正したりする権利が与えられます。

共同利用を目的とした DBMS には、複数のユーザーが同じデータを同時に修正できないツールがあります。 Access では複数のユーザーが同時にデータにアクセスできるため、強力なセキュリティとデータ整合性の制御が提供されます。 どのユーザーまたはユーザー グループがデータベース内のオブジェクト (テーブル、フォーム、クエリ) にアクセスできるかを事前に指定できます。 Microsoft Access は、異なるユーザーが同時にデータを編集できないように自動的に保護します。 Microsoft Access は、データベースに接続されている他の構造 (ParaDox、dBASE、SQL データベースなど) のセキュリティ機能も認識し、考慮します。

Microsoft Access - DBMS を超えたもの

どのようなデータが必要か、それをメモリにどのように保存するか、データ アクセス システムがどうあるべきかを正確に決定したら、データ管理の問題を解決しただけです。 さらに、今後の典型的なタスクの解決策を自動化する簡単な方法も必要です。 たとえかなり複雑な「アプリケーション」スプレッドシートを開発できたとしても、そのようなアプリケーションの動作をデバッグおよび制御して、たとえば完全な注文フォームや在庫システムを簡単に作成する手段はまだありません。 対照的に、DBMS はアプリケーションの作成に特化して設計されています。 これらはデータの管理と処理に必要なツールを提供し、アプリケーション オブジェクトをカタログ化し、オブジェクト間の関係を管理することも可能にします。 同時に、DBMS とともに、プログラミング言語とデバッグ ツールを自由に使用できます。

上記を考慮すると、問題の解決を自動化するには、強力なリレーショナル DBMS とアプリケーション開発システムが必要です。 ほとんどすべての既存の DBMS には、プログラマーまたは資格のあるユーザーがデータ管理と処理を自動化する手順を作成するために使用できるアプリケーション開発ツールが備わっています。 残念ながら、多くのアプリケーション開発システムでは、プロシージャを作成するために C や Xbase などのプログラミング言語の知識が必要です。 これらの強力なツールと豊富なツールにもかかわらず、それらをうまく使用するには、一定の専門的なトレーニングを受け、それらを使用した経験が必要です。 幸いなことに、プログラミング言語を知らなくてもデータベース アプリケーションを簡単に設計および作成できるツールがあります。 Microsoft Access での作業は、データを含むリレーショナル テーブルとそのフィールドを定義することから始まります。 この直後に、フォーム、レポート、マクロを使用して、このデータに対するアクションを決定できるようになります。

フォームとレポートは、スプレッドシートを操作するのと同じように、表示形式や追加の計算を定義するために使用できます。 ただし、この場合、フォームやレポートに含まれる計算を実行するための形式と指示は、データ (テーブル内にあります) から分離されているため、データ自体を変更することなくデータを使用する完全な自由が得られます。それだけで十分です。同じデータを使用する追加のフォームまたはレポートを作成します。 特定のアクションを自動化する必要がある場合は、マクロを簡単に作成して、特定のフォームとレポート間の接続を確立したり、何らかのイベント (特定のフォーム フィールドのデータの変更など) に応じて特定のアクションを実行したりできます。 Windows ライブラリ ユーティリティなど、より高度なツールが必要な場合は、Access Basic で手順を記述することができます。

使用材料

1. グルシャコフ S.V.、ロモツコ D.V. データベース。 -- ハリコフ: フォリオ。 M.: ACT Publishing House LLC、2002. -- 504 p.

2.コシェレフV.E. アクセス 2007。 - M.: Binom-Press LLC、2008 - 592 p。

3. Fuller, J. ダミー向け Microsoft Office Access 2007: 翻訳。 英語から - M.: LLC「I.D. ウィリアムズ」、2007年。 - 384 p。

4.McDonald, M. Access 2007 - マニュアルが欠落しています。 - サンクトペテルブルク: 「BHV-Petersburg」、2007。 - 784 p.

5. Bakarevich Yu.B.、プーシキナ N.V. 自己取扱説明書 Microsoft Access 2010。 - サンクトペテルブルク: BHV-Petersburg、2010。 - 432 p。

6.マイクロソフトアクセス

7.データベースおよびデータベースシステム

8.DBMS理論

9.デスクトップリレーショナルDBMSとしてのMicrosoft Access

10.VBA

Allbest.ru に掲載

...

類似の文書

    MS Access の簡単な説明、主な利点、および範囲。 データベースとデータベース管理システム。 データベース、テーブル、フォーム、クエリ、レポートの作成手順を段階的に説明します。 MS Access の特徴と機能。

    コースワーク、2010/09/23 追加

    MS Access の簡単な特徴と機能。 データベースとデータベース管理システム。 Microsoft社のデータベース管理製品「Microsoft Access」におけるデータベースの理論設計と実際の作成。

    コースワーク、2015/03/07 追加

    データ モデル、テーブル デザイナーを使用した基本的なテーブル、テーブル間の関係、テーブルに記入するためのフォーム、データを選択するためのクエリ、印刷用のレポート、および最初のボタン フォームの作成。 基本的な Microsoft Access オブジェクト。

    テスト、2012 年 3 月 18 日追加

    Access データベース管理システムの機能。 最も単純なデータベースの構造: フィールドのプロパティ、データ型、セキュリティ、動作モード。 データベース内のテーブル間の関係を定義します。 選択クエリ、マクロ、レポートの使用。

    コースワーク、2010/12/05 追加

    データベース管理システム「Microsoft Access 2003」の機能を分析。 空港の活動を反映するように設計されたデータベースの作成。 データベースの概念的および物理モデル。 テーブル、クエリ、レポート、メイン フォームの作成。

    コースワーク、2013/06/26 追加

    データベース管理システムの本質と特徴。 Access DBMS のフィールドのデータ型とプロパティ。 データベース オブジェクト: テーブル、データ スキーマ、フォーム、クエリ、レポート。 Microsoft Access での「書籍販売」データベースの開発と設計。

    コースワーク、2013/02/04 追加

    Microsoft Access の概要、さまざまなモードのデータベース要素。 簡単なテーブルの作成。 フィールドのタイプとプロパティ。 主キーを確立します。 テーブルの削除および名前変更のメソッド。 フィルターを使用した録音の可能性。 サンプルリクエスト。

    研究室での作業、2009 年 1 月 15 日追加

    データベースとデータベース管理システム。 レコードの物理的な配置と並べ替え。 主なデータベースの種類。 Microsoft Accessで「ホームライブラリ」データベースを作成します。 データベース内でのクエリの作成と情報選択の速度。

    コースワーク、2013/05/07 追加

    Microsoft Office Access データベース管理システムの特徴と機能についての研究。 オブジェクトのメインクラスの定義。 「オフィス管理」データベースの開発。 テーブル、フォーム、クエリ、レポート、データ図を作成します。

    要約、2014 年 12 月 5 日追加

    Microsoft Access リレーショナル データベース コンポーネント。 テーブル構造を作成し、それらの間の関係を定義します。 ウィンドウ デザイナーを使用して、ピボット テーブルとクエリのフォームをデザインします。 データ選択のための自動レポートとクエリの開発と作成。