問題タブ [surrogate-key]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 主キーの間違いを避ける方法
こんにちは、私はデータベースの初心者です。このため、間違いを避けるためにどの属性を主キーとして使用する必要があるかお尋ねしたいと思います。
オプションで、idcustomer を auto_increment として追加することを考えていましたが、それが素晴らしいアイデアになるかどうかはわかりません。
datastage - datastage scd ステージは、一致しないビジネス キーを挿入する代わりに、古いレコードを更新しています
180 万件のレコードを含む薄暗いビルドがあり、ビジネス キーが見つからない場合、scd はレコードを挿入する代わりに古いレコードを更新しています。
これは生産上の問題であるため、すぐに助けが必要です....
宛先テーブルにIDがあり、挿入には代理キーを使用していませんが、使用している更新には代理キーを使用しており、これが多くの問題を引き起こしています...
ms-access - Access での代理キーの作成
Access で大学の登録システムを作成する必要があるプロジェクトに取り組んでいます。テーブルの 1 つでフィールドの 1 つに代理キーが必要ですが、代理キーを作成する方法がわかりません。
列の指示は次のようになります。
Field Name Data Type Field Size Caption Format Req'd Index Unique Key Ref. Table Other
FacultyID Text 4 blank blank Yes Yes Primary blank Input Mask '0000;1;_'
FirstName Text 32 blank blank Yes No Surrogate* blank blank
したがって、最初のフィールドFacultyID
は簡単で簡単に作成できます。しかし、FirstName
フィールドには、作成方法がわからない代理キーが必要です。
また、その横にアスタリスクがあり、ページの下部にあるアスタリスクには次のように書かれています。
*Index [LastName], [FirstName]: Duplicates Allowed (surrogate key)
フィールドは後でリストされLastName
ますが、質問には表示されませんでした。しかし、これで私を混乱させているのは、列の説明では、Index
フィールドはNo
用FirstName
であると書かれていますが、ページの下部にあるこのメモは、そうであるように思わせ、Yes (Duplicates OK)
何を入れればよいかわかりません.
では、サロゲート キーを作成する方法と、フィールドFirstName
に何を入れるべきかを理解するのを手伝ってくれる人はいますか?Index
database - ON UPDATE CASCADE で、Surrogate キーと Natural の使用を検討する理由は何ですか?
免責事項:これは他のトピックと同じ質問ではありません。
自然キーを使用するときに直面する短所の 1 つは、ビジネス ロジックが変更され、1 つのキーを変更する必要がある場合、この変更をすべてのリンクされたテーブル全体に伝達する必要があることです。
ただし、ON UPDATE CASCADE宣言を使用すると、キー値を変更したときに DBMS に変更を反映させることができます。
私が理解できないのは、このアプローチの短所は何ですか? ON UPDATE CASCADE
使用がデータベースに危険を及ぼす可能性がある状況はありますか?
そうでない場合、ある状況でサロゲート キーを使用する唯一の理由は、ON UPDATE CASCADE
すべてのテーブルをサロゲート キーに変換する代わりに、ビジネスの自然キーを変更する方が簡単だからです。