Zovnіshnіyウェアハウスキー。 Basiデータ。 キーキーの概要

ゴロフナ / Korisne PZ

この記事では、キーに値するすべてのものを見ていきます SQL: navіschoのニーズ、作成、キーの交換。 ザガロム:退屈でしょう😉

今日の計画は次のとおりです。

理論的には、リレーショナルデータベース キー tsedeyakіsutnostі、svorenіzadlyavstanovlennya pevnyh obmezheni、yakіpіdtrimuyuttsіlіsnіstіі可用性іdannyhіdannyhテーブルデータベース。

Yakschoは言う 簡単な言葉で、次にキー sql構造の追加機能を示すために作成されました。 Chi tseの一意性、または別のテーブル(外部キー)を使用するように求められた人。

主キー

Stovpetsは、データベース内で主キーによって一意に指定されているという罪を犯しています。 主キーまたは主キーは、主キー列の値をテーブルで繰り返すことができないことを意味します。 このように、このキーを使用すると、値が繰り返されることを恐れることなく、テーブル内のレコードを一意に識別できます。 Vіrazuのお尻:許容されます、あなたはkoristuvachіvのテーブルを持っています。 このテーブルには次のフィールドがあります:ПІБ、rіknarodzhennya、phone。 koristuvachを識別する方法は? 電話が信頼できないPIBなどのパラメータ。 Adzhe、私たちは同じニックネーム、ale yzim'yamだけでなくkoristuvachivの小枝を持つことができます。 電話番号は時間によって変わる可能性があり、電話番号はデータベースにあるものと同時に表示されない場合があります。

最初のキーを推測した軸。 一意の識別子が与えられると、それだけです。 で mySqlフィールドからすべてのお尻を勝ち取るとお尻に 自動増加最初のキーが何であるかを言わない限り、設定することはできません。

フィールドが最初のキーとして指定されていると推測するのは安全ではないと思います。レコード作成の1時間前に空にすることはできません。

Zovnishniyキー( 外部キー)

もっと 外部キー (外部キー)。 Yogoは実行可能とも呼ばれます。 Vіnnebhіdnyzv'yazuvannyaテーブルmizh自体。

上の写真を見ると、次のキーは下の表のリーダーのフィールドになります。 原則として、テーブルを照合する場合、一意の整数値の列が指定されます。 Yak mi robili、テーブルを作成した場合 サプライヤー。

スピーカー supply_id肌の記録にユニークになります。 Її値と列スペースの外観 郵便局員テーブルで vzatya。まるで外側の鍵が作られているかのように、目を発音してお尻を見ます。

zvonishnyキーの作成

テーブルshoes(shoes_id int auto_increment主キー、タイトルテキスト、サイズint、価格フロート、カウントint、タイプvarchar(30)、サプライヤーint、外部キー(サプライヤー)参照サプライヤー(supplier_id));を作成します。

例からわかるように、ovishキーを作成するための構文は単純です。 テーブルにフィールドを追加する必要があります。その後、フィールドを外部キーとして音声で送信し、ワインをどこに尋ねるかを指定します。 で この特定のタイプに分野 サプライヤーあなたはフィールドに連れて行きます supply_idテーブルで サプライヤー。

倉庫の鍵 (複合キー)

折りたたまれたキーの量は、テーブル内の主キーの集まりです。 このように、 複合キー、レコードの一意性は、キー全体に結合されているかのように、フィールドによってチェックされます。

テーブルを挿入するときに、フィールド数でレコードの一意性を確認する必要がある場合があります。 これとvigadanoウェアハウスキーの軸。 たとえば、次のような単純なテーブルを作成します。 複合キー 構文を表示するには:

テーブルtest(field_1 int、field_2 text、field_3 bigint、primary key(field_1、field_3));を作成します。

アプリケーションにはウェアハウスキーに結合された2つのフィールドがあり、テーブルにはこれらの同じフィールドを持つレコードはありません。

キーに値するすべてのものをTse SQL。これは小さな助けです-悪臭が単一のデータベースになるように、記事の準備、報告によるとレビュー、テーブルを統合する方法。

表は、架空の起業家精神の実践者についての行為を復讐するための小さなもの(ステージ5)に提示されています。 テーブルの行はタプルと一致します。 革の列は、実際には(特定のタイプの開業医における)現実世界の1つのオブジェクトの説明であり、その特徴はテキストに記載されています。 リレーショナルブルーはエンティティのセットに対応し、タプルはエンティティに対応します。 関係関係を表す表のStovptsі、名前 属性.

属性がドメインに割り当てられている場合、ドメインはこの属性の有効な値を持つことができません。 同じ名前のDekіlka属性と異なるvіdnosinのnavіt属性を同じドメインに割り当てることができます。

タプルを一意に識別する値を持つ属性は、 (あるいは単に )。 重要なのは「人員番号」属性です。この値のシャードは、皮膚の施術者に固有のものです。 タプルが属性の数の連鎖値によってのみ識別される場合、ストレージキーがないようです。

主キー-データのリレーショナルモデルでは、潜在的なキーの1つがメインキー(またはロック用のキー)と見なされます。

Vіdnoshennyaはkіlkaklіvіvに復讐することができます。 キーの1つを公開する 主要な、ヨガの意味は変更できません。 青で表示されている他のすべてのキーは呼び出されます 可能なキー.

理論の観点からは、すべての潜在的な(可能な)キーは青と同等であるため、同じ独自性と最小性の力を持つことができます。 ただし、最初の選択肢として、潜在的なキーの1つを選択します。これは、静かな目的やその他の実用的な目的、たとえば、 外国 他のデータまたはクラスターインデックスのキー。 したがって、最初のキーとして、(物理的な節約)の量が最も少ないか、属性の数が最も少ないものを選択します。

Yakscho 主キー単一の属性で構成され、それはと呼ばれます シンプルキー .

Yakscho 主キー 2つ以上の属性で構成され、yogoは呼ばれます 折りたたみキー。 したがって、名前、ニックネーム、父親によると、パスポート番号、パスポートシリーズは、最初のキーになることは不可能ですが、シャードは2人以上で同じである可能性があります。 エール、同じシリーズと番号の同じタイプの2つの特別なドキュメントを作成しないでください。 したがって、人に関するデータを復讐するために、主キーは、特別なドキュメントのタイプ、その一連の番号によって形成される複数の属性にすることができます。



On the vіdmіnu vіd єєєrkhіchіchії і єєєrkhіchії ї і єєrkhіchії ї models danih іn relational vіdsutnє іntel'tya ієrkhіchії ї і ії ї ії ї dani͡a vіdhіnіy vіdsutnє іntel'tya ієrkhіchії і і і ії ії ї ії ї models dani͡a іn relational vіdsutnі іnє nіttya ієrkhіchії і іnіnоsnennia。 相互に異なるタプル間の関連付けを表示するために、それらのキーの複製が勝利します。

他のIDのキーのコピーである属性は、と呼ばれます 外部キー.

たとえば、VIDDILとSPIVROBITNIKの間のリンクは、主キーをコピーすることによって作成されます 「ヴィディルナンバー」 最初のデートから次のデートまで。 このように、このサブセットの発信元のリストを削除するには、次のことが必要です:1)VIDDDILテーブルから、属性値を設定します 「ヴィディルナンバー」 、指定された「Name_name_name」に何を言いますか。 2)テーブルからSPIVROBITNIKのすべてのレコード、属性値を選択します 「ヴィディルナンバー」フロントステージにいくつかのdorivnyuєotrimanamu。 spivrobitnikとして働いていた人から知るためには、逆転操作を行う必要があります:1) 「ヴィディルナンバー」テーブルSPIVROBITNIKから。 2)値を削除するために、テーブルVIDDDILのエントリがわかります。


18. リレーショナルデータベースの正規化。データベース設計の正規形を理解します。

通常の形式 -データのリレーショナルモデルのパワー。これは、超世界的な一見からデータを特徴付けるものであり、データの選択または変更において論理的に可能な結果につながる可能性があります。 通常の形式はsukupnіstvmogと名付けられており、yakimは設定に満足している可能性があります。

データベースを通常の形式のように見えるように変換するプロセスは、 正規化 。 正規化は、データベースの構造を最小限の表面性を保証する点まで縮小し、正規化を変更できないようにしたり、作業の生産性を高めたり、データベースの変更や義務を増やしたりすることが認められています。 正規化のKіntsevoyuメソッドєzmenshenyaデータベースに保存されている情報の潜在的な超鋭さ。



実行されるUsunennyanadmіrnosti、そのような方法でのvіdnosinの健全なrahunok分解、それで皮膚にvіdnenіは主要な事実だけが保存されました(したがって、保存された他の事実からは見られない事実)。

機能性預金。

構造情報と意味情報の両方を検索するためのリレーショナルデータベース。 データベースの構造は、その前の包含の数とタイプ、およびこれらのエントリのタプル間のベースとして使用される「1からリッチ」タイプのリンクによって決定されます。 セマンティック部分は、これらの預金の属性に基づく非人格的な機能的休閑を説明します。 機能的陳腐化のダモ指定。

19. 1NF:変換のルールの主な目的。

最初の正規形について説明するには、次の2つの定義を与える必要があります。

単純な属性 -属性。その意味はアトミック(不完全)です。

折りたたみ属性 -アトミック属性のデカールを入力します。これは、1つまたは他のドメインに割り当てることができます(ベクトルまたはデータの集合体と呼ばれます)。

第一正規形の指定:

すべての属性の意味がアトミックであるため、提案は1NFにあります。 。 それ以外の場合は、テーブルとそのような属性を分解する必要があります。

例を見てみましょう:

データベースから、企業の人員のデータベースからサービスワーカーに関する情報を収集して、税金の支払いを試みることができるようにする必要があります。

SERVANT(SERVICE_NUMBER、NAME、BIRTH_DATE、WORK_HISTORY、CHILDREN)。

どのvіdnoshenniaがsіdであるかを尊重するために、scho属性 「history_of_robots」і "子供"є折りたたみ可能、さらに、属性 「history_of_robots」もう1つの折りたたみ属性が含まれています 「salary_history」。
これらのユニットは次のようになります。

HISTORY_JOBS(DATE_ACCEPTED、NAME、HISTORY_SALARY)、

HISTORY_SALARY(DATE_ASSIGNMENT、SALARY)、

子供(IM'YA_DITINI、RIK_NATIONAL)。

図の表現の最後のリンク。 3.3。

図3.3。 真ん中に投稿。

使用人を最初の正規形にするには、足を踏み入れる赤ちゃんに示されているように、ヨガをチョティリに分解する必要があります。

3.4。 匿名出力は正規化されます。

ここでは、肌の若返りの最初のキーが青いフレームで表示されています。キーキーに青いフォントで名前を付けます。 最も重要なキーは、出口計画の基礎となる機能的な休閑地を表すのに役立つと推測しましょう。 気 機能的な休閑線と矢印でマークされています。

E.F.Coddによる記述を正規化するためのアルゴリズムは次のとおりです。

  • ツリーの一番上にある日付(図3.3)から開始して、最初のキーが取得され、同じ主キーのドメインまたはドメインの組み合わせを挿入することによって、中間のないスキンが拡張されます。
  • このような青のランクで拡張された皮膚の主キーは、父の誕生の追加された主キーの拡張への最初のキーの最初のキーである主キーから形成されます。
  • 父親の復活後、すべての困難な領域が見られ、木の上部のvuzolが見え、サブツリーのスキンzに対してこの手順が繰り返されます。

20. 2NF:主な予定変革のルール。

ほとんどの場合、参照の最初のキーには属性のシャードが含まれています( まとめる)-div。 3.4食品19 新しい機能の古さ.

予定:

非キー属性は、ウェアハウスキーに機能的に再デポジットされ、最後のキー全体に機能的に再デポジットされる必要がありますが、新しい属性の前に入力される属性の機能的デポジットには含まれません。

お尻:

DELIVERY(N_SUPPLIER、GOODS、PRICE)の注文をお送りします。
郵便局員はさまざまな商品を供給することができ、同じ商品をさまざまな郵便局員が供給することができます。 同じキーvіdnoshenna- 「N_postman+アイテム」。 すべての郵便局員に同じ価格で商品を配達させます。 ただし、そのような機能的な延滞がある可能性があります。

  • N_postal、製品 -> 価格
  • 製品 -> 価格

Nepovnafunktіonalnazalezhnіst属性「cіna」vіdキーは不快な異常につながります:zmіnіcіni製品nebhіdnіpovniyvіdnosinがyogopostachalnikіvに関するすべての記録を変更するとき。 この異常は、2つのセマンティックファクトが1つのデータ構造に結合されているという事実の結果です。 今後の拡張は2NFで青色になります。

  • 配達(N_SUPPLIER、GOODS)
  • PRICE_PRODUCT(COMMODITY、PRICE)

このランクでは、あなたは与えることができます

別の通常の形式の定義: 2NFにある必要がありますが、1NFにあるべきではなく、非キー属性のスキンがキーに完全に含まれている必要があります。

21. 3NF:主な予定変革のルール。

3番目の正規形について説明する前に、次のことを理解する必要があります。 推移的な機能の古さ.

予定:

X、Y、Z-deakyビジョンの3つの属性とします。 X->YіY->Zを持っている Z-/->YおよびY-/->X。次に、ZはXに一時的に配置されます。
ZBERIGANNIAの記憶をもたらす( FIRMA、WAREHOUSE、OBSYAG)、倉庫から商品を収集し、これらの倉庫から商品を収集する企業に関する情報を取得するため。 キー属性- "固い"。 皮革会社が1つの倉庫からしか商品を受け取れない場合、同じ倉庫でも機能します。

  • 固い -> 株式
  • 株式 -> `emについて

異常を非難する理由:

  • 現時点で会社が倉庫から商品を受け入れていない場合、データベースにその商品に関するデータを入力することはできません(キー属性がキーに割り当てられていません)。
  • 倉庫を変更するには、すべてのクレジットを確認し、この倉庫にあるすべての会社のカードを変更する必要があります。

これらの異常を特定するには、外観を2つに分解する必要があります。

  • 保存する ( FIRMA、 株式)
  • VOLUME_STOCK( 株式、`EMについて)

3番目の正規形の定義:

3NFにある必要がありますが、2NFにあるべきではなく、スキンキー属性が主キーに一時的に存在することはありません。

キーはリレーショナルデータベースの基本的な要素であり、悪臭のスカンクはテーブルのペア間のリンクを確立し、テーブルのスキンレコードの一意の識別を提供します。 キーは値よりも重要であり、インストールされているものよりも低い場合があります。 悪臭は強さの強さにも役立ち、悪臭は同等のテーブルの強さの主要な要素です。 テーブルは、何千ものレコードを拡張しているかのように、データの壮大さを奪います。これらのレコードはすべて、並べ替えられておらず、まとまりがありません。 これらの数値レコードから最初のデータを取り除くことは、ねじれた時間になるか、そうでなければ不可能になる可能性があります。 ここでそれ自体zayavlyayutsyaキー。 ここでは、リレーショナルデータベーススキーマのさらに2つの重要なキーと、それらの違いである主キーと外部キーについて説明します。

最初の鍵は何ですか?

主キーは、テーブルのスキンレコードを一意に識別する特別なキーです。 リレーショナルデータベースでは、テーブルのスキン行に一意の識別子を設定することが重要です。主キーは、テーブル内のタプルを一意に識別するために必要なものです。 タプルは、リレーショナルデータベースの値属性のセットです。 主キーは、リレーショナルデータベーステーブルの列または列のセットに割り当てることができます。これは、テーブル内のすべてのレコードを暗黙的に識別するために使用されます。 主キーはスキンレコードに固有であることに責任がありますが、キーはNull値のせいではありません。 スキンデータベースは、1つの母親と1つの主キーのみを担当します。

キーは何ですか?

元のキーは、データベースレコードのフィールドコレクションのいずれかのフィールドに追加されます。これは、他のテーブルの別のデータベースレコードのキーフィールドを一意に識別するためです。 一見簡単そうに見えますが、データベース内の2つの異なるテーブルのレコード間のリンクを確立します。 主キーの列に、それが何を意味するのか、キーの名前は何か、テーブルの重要性を示すテーブルスタンドを、別のキーにあるかどうかに関係なく、主キーに追加することができます。テーブル。 Possilannyaは、データベースの並べ替えに必要な、レコード間のリンクを確立するためのリレーショナルデータベースで非常に重要な場合があります。 特にテーブルが他のテーブルへのアクセスを必要とする場合、古いキーはリレーショナルデータベースの正規化において重要な役割を果たします。

メインキーとマスターキーの間の小売り

主キーとマスターキーのベース

最初のキーはリレーショナルデータベースの特別なキーです。これはスキンレコードの一意の識別子です。つまり、テーブル内のスキン行/レコードを一意に識別し、その値はテーブルのスキン行に対して一意にすることができます。 。 反対側から見ると、外側のキーは1つのテーブルのフィールドであるため、2つのテーブルを同時に接続します。 vіdnositsyaからstovptsyaまたはstovptsіvのグループに対して、yakіは明確にndіfіkuyuіnshоїїїїїїїїїtіїїїїzhテーブルです。

主キーとマスターキーの変更

主キーは、別のテーブルの主キーであるため、元のキーがテーブルのフィールドに追加されるのと同じように、リレーショナルデータベーステーブルのレコードを一意に識別します。 テーブルで複数の主キーが許可されている場合でも、主キーが割り当てられているため、主キーは一意であると見なされ、テーブルで許可される主キーは1つだけです。

同じ主キーの主キーの値が重複しています

UNIQUEとNotNullの組み合わせを持つ主キー。リレーショナルデータベーステーブルの主キーフィールドに重複する値を含めることはできません。 主キー属性に対して繰り返される値を2つの行に含めることはできません。 主キーのビューでは、元のキーが繰り返される値を置き換えることができ、リレーショナルデータベースのテーブルがより大きな下の元のキーを置き換えることができます。

主キーと元のキーのNULL

それらの間の主なアイデンティティの1つは、主キーに基づいて、主キーにもNULL値を含めることができるということです。 リレーショナルデータベーステーブルには、NULL値を許可しない主キーを少なくとも1つ含めることができます。

主キーと元のキーのTimchasテーブル

主キースワップは、その変更のタイムクロックテーブルに暗黙的に割り当てることができます。または、主キースワップをローカルおよびグローバルタイムクロックテーブルに設定することもできます。

メインキーと外部キーのビュー

主キーの値は、子テーブルのマスターキーとして推測されるため、親テーブルから確認できます。 Batkivテーブルを削除する前に、子テーブルを削除する必要があります。 Navpaki、元のキーの値は子テーブルから削除できますが、値は親テーブルの主キーに追加する必要があります。

主キーまたは元のキー:ピアテーブル

キーキーの概要

キーは、テーブル間およびテーブルの中央でリンクを確立するためのデータベースの基盤となるスキーマで重要な役割を果たします。 キーはstosunkiとzastosovatをインストールします 他の種類 tsіl_snostі、特に等しいテーブルと等しいvіdnosinではtsіlіsnіst少ない。 そもそも、vstanovlenyavіdnosinmizhテーブルのvikoristovuєteがmіstіvіdpovіdnіznachenyaのおかげであるように、一意のレコードを置き換えるテーブルとフィールドを悪臭を放ちます。 主キーと元のキーは、リレーショナルデータベースにある2つの最も重要で拡張されたキータイプです。 主キーは、元のキーが2つのテーブルの間にレコードを挿入するために勝利するのと同じように、テーブル内のレコードを一意に識別するために勝利するのと同じ特別なキーです。 同一の構造の悪臭に腹を立て、リレーショナルデータベーススキーマで異なる役割を果たします。

最終更新日:2019年4月27日

呼び出しキーを使用すると、テーブル間にリンクを挿入できます。 元のキーは、休閑中のサブオーダーされたテーブルの列にインストールされ、ヘッドテーブルの列の1つを指します。 原則として、元のキーはリンクされたヘッドテーブルの主キーを指します。

等しいテーブルに一意キーを挿入するためのスペル構文:

外部キー(stovpet1、stowpet2、... stovpetN)参照head_table(stowpet_head_table1、stowpet_head_table2、... stow_head_tableN)

外部キーの交換を作成するには、FOREIGN KEYの後に、外部キーを表すテーブルのテーブルを指定する必要があります。 以降 キーワード参照は、リンクされたテーブルの名前で示され、次にリンクされたテーブルのアームで示されます。 REFERENCESビューの後、ONDELETEビューとONUPDATEビューに移動して、ヘッドテーブルから次の更新行の日付を設定します。

たとえば、2つのテーブルは重要であり、それらは追加の無慈悲なキーにリンクされています。

CREATE TABLE Customers(Id INT PRIMARY KEY AUTO_INCREMENT、Age INT、FirstName VARCHAR(20)NOT NULL、LastName VARCHAR(20)NOT NULL、Phone VARCHAR(20)NOT NULL UNIQUE); CREATE TABLE Orders(Id INT PRIMARY KEY AUTO_INCREMENT、CustomerId INT、CreatedAt Date、FOREIGN KEY(CustomerId)REFERENCES Customers(Id));

顧客テーブルと注文テーブルに割り当てられているビュー。 顧客は頭であり、クライアントを代表します。 Ordersは、クライアントからの要求を表す休閑中の注文です。 Ordersテーブルは、CustomerId列を介してそのId列によってCustomersテーブルにリンクされています。 つまり、CustomerId列は、CustomersテーブルのId列を指定する元のキーです。

CONSTRAINT演算子を使用すると、外部鍵交換の名前を挿入できます。

CREATE TABLE Orders(Id INT PRIMARY KEY AUTO_INCREMENT、CustomerId INT、CreatedAt Date、CONSTRAINTorders_custonmers_fk FOREIGN KEY(CustomerId)REFERENCES Customers(Id));

削除時および更新時

さらにヘルプが必要な場合は、ONDELETEとONUPDATEを使用して番号を設定できます。この番号は、ヘッドテーブルからリンクされた行を削除および変更するときに再確認されます。 次のオプションを選択するにはどうすればよいですか。

    CASCADE:ヘッドテーブルの行リンクを表示または変更すると、休閑テーブルの行が自動的に表示または変更されます。

    SET NULL:ヘッドテーブルから行を削除または更新するときに、スタンバイキーの値をNULLに設定します。 (一意のキーを選択した場合は、NULLに設定できます)

    制限:フォールテーブルで重複する行が表示されるように、ヘッドテーブルの行を削除または変更します。

    アクションなし:RESTRICTと同じです。

    SET DEFAULT:ヘッドテーブルのリンクされた行の時点で、追加のDEFAULT属性に設定されているため、ロックの値を外部キーに設定します。 このオプションが原則として利用可能かどうかに関係なく、InnoDBプロエンジンはこのウイルスをサポートしていません。

カスケードビュー

カスケードビューを使用すると、ヘッドテーブルから行を表示するときに、休憩テーブルからすべてのリンクを自動的に表示できます。 CASCADEオプションが必要な人:

CREATE TABLE Orders(Id INT PRIMARY KEY AUTO_INCREMENT、CustomerId INT、CreatedAt Date、FOREIGN KEY(CustomerId)REFERENCES Customers(Id)ON DELETE CASCADE);

UPDATECASCADEの練習とvirazの順序に従ってみましょう。 主キーを変更すると、関連する主キーの値が自動的に変更されます。 ただし、主キーオシレーターが変更されることは非常にまれであり、原則として、値が変更された列の主キーとして勝つことはお勧めしません。実際には、ONUPDATEが勝つことはめったにありません。

NULLセット

呼び出し元キーにSETNULLオプションを設定する場合、呼び出し元キーの状態でNULL値が許可されている必要があります。

CREATE TABLE Orders(Id INT PRIMARY KEY AUTO_INCREMENT、CustomerId INT、CreatedAt Date、FOREIGN KEY(CustomerId)REFERENCES Customers(Id)ON DELETE SET NULL);

Vykoristovyvayutsyaは、銀行や金融機関、観光事業、倉庫業、製造業など、あらゆる種類の活動に携わっています。 悪臭は、テーブルの順序、当局の読みやすさ、およびsuvorimvimogの順序です。 リレーショナルデータベースでは、テーブルはデータシートと呼ばれます。

データベースの最初のキーは何ですか

データベースでは、テーブルの主キーは主キーです。 まるでお尻を見てみましょう。 学生を大学に入れましょう(私たちはそれを「学生」と呼びます)。

生徒を1人の生徒に明確に割り当てる必要があります。 この記事の皮膚記録に関する情報は一意である可能性があります。 ただし、最近のデータでは、レコードを明確に識別できないようにする必要があります。1つのコースのシャードと、1つの学部が同じニックネームと名前の同名異人、同名異人、学生になる可能性があります。 データベースの主キーは、必要な行を正確に指定するために使用されます。 最も頻繁に選択されるのは数値フィールドで、入力されたレコードとともに自動的に大きくなります(自動インクリメントstovpet-identifier)。

シンプルで倉庫の最初の鍵

主キーは許して折りたたむことができます。 上記のように、レコードの一意性は1つのフィールドの値にのみ割り当てられるため、右側の単純なキーを使用できます。 ウェアハウスキーはデータベースの最初のキーであり、2つ以上のフィールドから保存されます。 銀行の顧客を見てみましょう。

P.I. O。 生年月日 パスポートシリーズ パスポートID
イワノフP.A. 12.05.1996 75 0553009
セルゲイフV.T. 14.07.1958 71 4100654
クラスノフL.V. 22.01.2001 73 1265165

人々のパスポートは同じ一連の番号に置き換えることができますが、同じ一連の番号のパスポートはありません。 このように、「パスポートシリーズ」と「パスポート番号」のフィールドは、指定された更新のストレージキーになり、個人を一意に識別します。

vіdnosinami間のZvyazki

また、データベースの最初のキーは、テーブル内の1つまたは数列のみであり、エントリの行を一意に識別できます。 もっとワインが必要ですか?

「学生」の最初のお尻に目を向けましょう。 データベースのクリミアでは、皮膚研究の成功などの情報が収集されます。 データベースに保存されているすべての情報を繰り返さないようにするには、キーを使用して、 必要なエントリ。 そうそう。

2つの日付にはIDフィールドがあります。 これらのテーブルのデータベースのCe主キー。 バチモ号として、復讐の成功は、他のテーブルのすべての情報を提供する必要なしに、他のテーブルのフィールドの数で必要以上に必要です。

自然で代理の鍵

データベーステーブルの主キーを決定する方法は? 私たちが見た2つの例-「学生」と「銀行の顧客」-は、自然鍵と代理鍵の理解を示しています。 銀行の顧客のテーブルで、「番号」フィールドと「パスポートシリーズ」フィールドに格納されているキーを割り当てました。これらはすでに実際の値と同じになっています。 このようなキーはナチュラルと呼ばれます。 同時に、「学生」の設定、毎日の畑、毎日の灌漑は、私たちに独自性を与えませんでした。 そのため、調査のコードを使用して追加のフィールドに入力したくなりました。 このようなキーは代理キーと呼ばれます。新しいキーでは、テーブルにもう1つのサービスキーを追加しました。 Tseystovpetsは何も負いません 茶色の情報レコードの識別にはあまり役立ちません。

データベース内のデータの呼び出しキーと整合性

すべてのファイルを外部キーおよびデータベースの整合性に合わせる必要はありません。 外部キー-現在の主キーに適用されるフィールド全体。 成功の表には、「Student」と「Discipline」という値があります。 あなたのデータは私達がすることを可能にします 古いテーブル。 したがって、「Student」フィールドは外部キーとして「Success」であり、「Student」はデータベースの最初のキーである必要があります。

データベースを奨励するための重要な原則は、整合性です。 私はルールの1つです-メッセージの整合性。 これは、テーブルの現在のキーが別の日付の不明な主キーを参照できないことを意味します。 コード1000-IvanovIvanのレコード"Student"を表示することはできないため、成功のテーブルからのレコードが必要です。 データベースの正しいプロンプトで、見つけようとするとき、あなたは許しを取ります、それはどちらの分野が勝利するかです。

誠実さのルールのグループを確立し、それと同様にobezhennyaデータベースを確立し、yakіは小売業者によって保険をかけられるという尊敬と責任にもメリットがあります。

©2022androidas.ru-Androidのすべて