第十五1月(火曜日)、2008 |
あなたは、データベース内の各テーマ別のテーブルを設定したら、再びこの情報を収集する方法Microsoft Accessを伝える方法が必要になります。 このプロセスの最初のステップは、テーブル間のリレーションシップを定義することです。 これを行った後、一度に複数のテーブルから情報を表示するには、クエリ、フォームやレポートを作成することができます。
の関係は?
一対多
一対多のリレーションシップは、リレーションシップの最も一般的なタイプです。 1対多の関係は、表Bで多くの一致するレコードを持つことができますが、表Bのレコードは、表Aの唯一の一致するレコードを持つテーブルにレコードの
多対多の
多対多の関係では、テーブル内のレコードはテーブルBの多くの一致するレコードを持つことができ、テーブルBのレコードは、表Aには多くの一致するレコードを持つことができます このタイプの関係は、テーブルAとBの両方から主キー二つのフィールドで構成されています3番目のテーブル(関連テーブルと呼ばれる)外部キーを定義することによってのみ可能です。 実際には、多対多の関係は、番目のテーブルを持つ2つの一対多のリレーションシップがあります。 たとえば、OrdersテーブルとProductsテーブルには、Order Detailsテーブルの2つの一対多を作成することによって定義されている多対多の関係を持っています。
1対1の
一対一で、表の各レコードは、表Bの唯一の一致するレコードを持つことができ、表Bの各レコードは、表Aの唯一の一致するレコードを持つことができます ほとんどの情報がよく、単一のテーブルにある関連するので、このタイプの関係は一般的ではありません。 あなたは、メインテーブルのサブセットに適用されるセキュリティや店舗情報については、表の一部を分離するために、多くのフィールドを持つテーブルを共有する場合に一対一の使用を推奨します。 あなたがすることができ、例えば、資金を調達するサッカーの試合に参加する従業員を記録するテーブルを作成します。
リレーションシップを定義する
あなたは、[リレーションシップ]ウィンドウに関連するテーブルを追加し、テーブルのキーフィールドをドラッグして別のテーブルのキーにそれをドロップすることによって関係を定義します。
Microsoft Accessが作成される関係の種類は、関連するフィールドが定義されている方法によって異なります。
•関連フィールドの一方のみが主キーであるか、または一意索引がある場合は、一対多リレーションシップが作成されます。
関連分野の両方が主キーであるか、または一意のインデックスを持っている場合•一対一が作成されます。
•実際には、多対多のリレーションシップは、主キーを2フィールドで構成されて番目のテーブルを持つ2つの一対多のリレーションシップ他の2つのテーブルの外部キーです。
主キーではなく、主キーではなく、一意のインデックスを持っていない別のフィールドに一意のインデックスを持たないフィールドをドラッグする場合は、不確定関係が作成されます。 不定関係を持つテーブルを含むクエリでは、Microsoft Accessはデフォルトでは、テーブル間の結合線が表示されますが、参照整合性が強制されず、レコードは、各テーブル内で一意であるという保証はありません。
に投稿されました主キー 、 関係 、 テーブル | 19コメント»
2007年12月22日(土曜日)|
それはユニークな配列の付加、削除、および変更で観察された異常を避けるために、エンティティの属性を調べるためにステップバイ正式なプロセスステップである。
目標
1)重複や矛盾の最小化;
2)データベースの取り扱いを容易に。
3)保全情報システム。
第一正規形(1NF)
すべての基本的なフィールドが一意の値のみを(繰り返しグループが含まれていません)が含まれている場合にのみ関係が1NFである。
手順:
1)エンティティの主キーを識別します。
b)の反復的なグループを識別し、体からそれを削除します。
C)を繰り返す前に、エンティティの主キーとグループを使用して新しいエンティティを作成します。
新しいエンティティの主キーは、元のエンティティと反復的なグループの主キーの連結することで得られます。
例:リクエスト
(Numero_pedido、data_pedido。cod_cliente、CUSTOMER_NAME、endereco_cliente、(codigo_produto。numero_produto。quantidade_produto。preco_produto。total_produto)total_pedido)
リクエスト=>(numero_pedido。data_pedido。cod_cliente、CUSTOMER_NAME。endereco_cliente)
Item_Pedido =>(numero_pedido。cod_produto。nome_produto、数量、preco_produto。total_produto)
関数従属
与えられた比Rは、属性Xは、機能的に依存R X R属性が2つのR配列がXの値を結合するとき、彼らはまた、Xの値と一致している場合にのみ必要です
第二正規形(2NF)
それが最初であり、すべての非キー属性が主キー(キー全体ではなく、それのほんの一部に依存)に完全に依存している場合に限り、関係Rは2NFである。
手順:
1)主キー全体に機能的に依存しない属性を識別します。
B)これらすべての属性が識別されるエンティティを削除し、それらと新しいエンティティを作成します。
新しいエンティティの主キー属性が機能的に依存している属性を削除しているから属性となります。
製品=>(cod_produto、nome_produto、preco_produto)
推移的な依存
A、B、およびエンティティXのC三つの属性をみましょう C B AとBがCに依存するかどうかに応じて、次に推移依存Aに言われています
第三正規形(3NF)
あなただけが2NFにあり、すべての非キー属性が主キーに依存している推移(各属性は、コンポーネントのみのまたはすべての非キー属性が互いに独立である場合は、主キー属性に関数従属である)されていない場合、関係Rは、3NFである。
手順:
a)他の非キー属性に機能的に依存しているすべての属性を特定する。
b)にそれらを削除し、同じ名前の新しいエンティティを作成します。
新しいエンティティの主キー属性が機能的に依存している削除された属性になります。
顧客(cod_cliente、CUSTOMER_NAME。endereco_cliente)
製品(cod_produto。nome_produto。preco_produto)
要求(numero_pedido。data_pedido。 ; Total_pedido)
に投稿されました主キー 、 テーブル | コメントはまだありません»