私のデータベースプロジェクトに6つの主キーを持つことができますか。私はちょうど私のデータベースプロジェクトを作成し始めて、1と2の可能性があるが、確信が持てないことを知っています。何か助けてください!6データベースの主キー
答えて
はい、テーブルごとに複数のキーを持つことができ、各キーに複数の属性を設定できます。定義による各キーは、既約でなければなりません、つまり、そのキーの一意性を維持するために必要な最小限の列が含まれている必要があります。
あなたのコメントに基づいて、実際には複数のキーではなく複数の属性を持つONEキーをお持ちではないかと疑問に思っています。違いは重要で、あなたはそれを理解する必要があります。本のような質問に答えるために、本を勉強したり、データベース設計の基礎を学ぶことを検討することをお勧めします。
あなたが複数のことを言った瞬間、それは合成キーになります。技術的には、1列以上の複合キーを持つことができます。しかし、私は本当にテーブルの複合キーとして6つのキーを持つような要件を満たすようなユースケースが何であるか知りたいです。
の重複を探します時間、システム名、サブシステム名、ピリオドタイプ、デバイス名などからコンポジット主キーが作成されている場合は、最大約100まで)つまり、頻繁に6つ以上。時には痛みを管理するが、私たちの目的のために必要と考える。 – paxdiablo
しかし、私はプライマリキーとして別々の32ビットの文字列を持っているとこれらのフィールドの制約があるので、複雑な複合キーを持つことは、レコードの挿入時間を遅くする可能性があります。 use case..thanks @paxdiablo – raddykrish
お返事ありがとうございました。テーブルで複数のプライマリが必要なのですが、最初にCustomer_numを1つのテーブルに、2つ目のセカンドをitem_numに販売し、item_numをコンポジットとして採用しましたが、これがうまくいくかどうかは分かりませんでした。アイテムを雇用するための3プライマリキーのあるテーブル(そのアイテムは何だと書かれていましたか?)と、もう1つはsales item_numのためのものです。さらに見た目は良くなりますが、このテーブルは3つあります。または私が最初に設定したときにそれを残すか?あなたの時間があるなら、あなたの応答は大いに評価されます。多くの感謝 – niki
私は、データベースではなくテーブルに複数の主キーを持つ方法を尋ねようとしていると思います。 (厳密に言えば、これは複合キーになります)。
これは確かに可能です。たとえば、MySQLでの構文は次のとおりです。
CREATE TABLE tbl_name (
col1 int,
col2 int,
col3 int,
col4 int,
col5 int,
col6 int,
col7 int,
col8 int,
col9 int,
PRIMARY KEY (col1, col2, col3, col4, col5, col6));
はあなたが本当にあなたがこれをやっているのか分からない限り、おそらくあなたがやるべきものではない、と述べました私は確かに、大きな複合キーを持つ非常に複雑なビジネスモデルで作業しました。
(例えば、1つのクライアントは、特定の在庫/注文ラインアイテムにsalesOrganizationNumber、salesRepNumber、locationId、styleNumber、styleTypeを表す、例えば複合キーでは5つのフィールドを持つテーブルの多くを持っていた。)
しかし、あなたの質問はとても基本的なので、私はおそらくスキーマを設計する方法についてより詳細なサンプルの質問をする必要があり、おそらくあなたの主キーがはるかに小さくなることがわかるでしょう。
お返事ありがとうございます。はい、テーブル内に複数のプライマリが必要です。最初にCustomer_numを1つのテーブルに設定し、2つ目のセカンドアイテムをitem_numで販売し、item_numをコンポジットとして採用しますが、これがうまくいくかどうかは分かりませんでした。アイテムを雇用するための3プライマリキーのあるテーブル(そのアイテムは何だと書かれていましたか?)と、もう1つはsales item_numのためのものです。さらに見た目は良くなりますが、このテーブルは3つあります。または私が最初に設定したときにそれを残すか?あなたの時間があるなら、あなたの応答は大いに評価されます。多くのお礼ありがとうございます – niki
私はあなたのテーブルの説明で少し失われてきました。私はあなたの質問にあなたのテーブル定義ステートメントの短縮版を置くことをお勧めし、我々はそこからそれを見ることができます。 –
データベースには多くのプライマリキーを持つことができます。にはテーブルがあります。テーブルごとに1つのプライマリキーが許可されています。
もちろん、のインデックスはのテーブルごとに複数設定できますが、プライマリキーとは見なされません。
複数の列(好きなだけ多くの列)から主キーを構成することもできますが、それでも1つの主キーであり、複合キーです。
前者は完全なキーが一意である限り、キーの複合部分を複製することができるので、複数の主キーとは大きく異なります。後者(許可されている場合)は、各部分がプライマリキーのプロパティであるため一意である必要があります。
複数のプライマリキーとはどういう意味ですか?説明できますか?データベースで複数の主キーを要求している場合は、テーブルごとの主キーを使用できます。同じ表では、2つ以上の主キーは使用できません。
テーブルには1つのプライマリキーと複数のユニークキー(コンポジットキー)があります。
例:-Employeeテーブル
EmpID(Not null) ManagerID(null)
001 001
002 002
ここEMPIDはあなたの主キーとマネージャーIdがあなたの複合キーです。
このように、テーブルの列を一意にすることができます。
- 1. 主キー&データベースの正規化
- 2. 主キーDjangoモデル - PSQLデータベース
- 3. MySQLデータベースの主キーの使用
- 4. コアデータ - データベース内の行の主キーID
- 5. データベースの設計と主キーの作成
- 6. 主キーのないデータベースのリバース・エンジニアリング
- 7. Entity Framework 6主キーの問題SaveChanges()について
- 8. 主キー
- 9. 主キー
- 10. アップデートエラーが - 主キー
- 11. Sequelize belongsToMany主キー
- 12. インデックスと主キー
- 13. .NETCORE ID主キー
- 14. 主キーは
- 15. 複合主キー
- 16. 主キー - SQL2005
- 17. アンドロイド - 主キー
- 18. 主キーとユーザーインターフェイス
- 19. 主キーUUIDトリガー
- 20. SQL Serverの:主キー
- 21. 主キーの結合
- 22. Apache Sparkの主キー
- 23. フェニックスの主キーが
- 24. 主キーと外部キー
- 25. 主キーと外部キー?
- 26. 変更主キー、外部キー
- 27. データベースの主キーはどのように機能しますか?
- 28. mongoDBの主キーはすべてのデータベースで一意ですか?
- 29. Django。データベースに保存後のオブジェクトの主キーを取得
- 30. データベースの主キー - > IDフィールドと名前フィールド?
私たちは、多数の属性(とテーブルを持っている http://stackoverflow.com/questions/217945/can-i-have-multiple-primary-keys-in-a-single-table – ravi