問題タブ [candidate-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.
sql - 候補キーと複合キーの違いは何ですか?
候補キーと複合キーについて読んでいます。私はそれを知るようになりました
- 候補キーは主キーとしての資格を得ることができ、単一の列または列の組み合わせにすることができます
- 複合キーも列の組み合わせです。
複合キーについては、このリンクを参照しました
SQL Server Management Studioで複合キーを作成するにはどうすればよいですか?
したがって、候補キーと複合キーの両方が列の組み合わせである場合、それらは主キーとしての資格を得ることができます。では、正確な違いは何ですか?例を挙げて説明していただけますか?
relational-database - 機能依存性を伴う候補キーの識別
機能依存関係でキーを識別する方法を理解できません。たとえば、次のような例を見てきました。
関係ABCDが与えられた場合、そのスーパーキーを含まないすべてのキーを見つけます
これにより、キー C と A が得られます。私がこの問題にアプローチした方法は、BC と D は両方とも A と C に依存し、AB は CD に依存するというものでした。つまり、これら 3 つすべてがキーですが、CD はスーパーキーであるため (C はキーでもあるサブセット)、CD は最小限のスーパーキーとは見なされません。
ただし、別の例では、
ここでの唯一の鍵は明らかに BE です。なぜこれが真実なのか、これらの問題で鍵を見つけるための手順を誰かが明確にすることができますか?
ありがとう。
php - SQL (postgres) で優先度を実装する方法
データベースにアイテムを保存する必要があるソフトウェアを書いています。アイテムには「優先度」が必要なので、最終的には
今、最優先の果物はオレンジ、リンゴ、バナナ、ナシです。
今は洋梨を最優先にしたいので、洋梨、オレンジ、りんご、バナナ。テーブルは次のようになります。
PHPとPostgresでこれを達成する最良の方法は何ですか. テーブルが約 12 ~ 13 項目を超えないことを考えると、テーブル全体を SELECT し、すべてを更新する前に優先度を書き直すことを考えました。
* 重要 *
優先順位は任意の順序で変更できるため、優先順位 7 を優先順位 3 に設定することができます (したがって、優先順位 3 より下のすべてのものを 1 段階下げる)。優先順位 3 に移動された優先順位 7 のアイテムが残したギャップを埋める必要があります。優先リストに。
hibernate - JPA Hibernate マッピングで既に PK(Integer) を持つ既存のエンティティに GUID (PK ではない) を追加する方法
id が Integer のエンティティ クラスが既にあります。要件として、今のところ PK ではない GUID をこれに追加する必要があります。ただし、エンティティが新しく作成されるたびに自動入力される必要があります。(既存の場合、この新しい列 GUID は NULL になります)。GUID は、このテーブルの新しいエントリごとに読み込まれません (NULL になります)。助けてください。
@実在物
@Table(name = "テーブル")
パブリック クラス TableA
{
}
database - RDBMSキーの混乱
候補キー、主キー、最小スーパーキーについて混乱があります。
定義により:
主キー:1つの属性のみであるため、最小のスーパーキーである必要があり、候補キーでもあります(最小のスーパーキーであるため)
最初の結論:キーが主キーである場合、それは候補キーと最小のスーパーキーでもあります
次の点は本当だと思いますが、よくわかりません。誰かが私と一緒に確認できますか?
最小限のスーパーキーである場合、それが主キーであるという意味ではありません。しかし、それは候補キーであることを意味します。
候補キーの場合、必ずしも最小キーである必要はなく、主キーである必要もありません。
結論:
主キー:1つの値のみ、行全体を識別できます。また、候補キーと最小限
最小スーパーキー:1つの値またはフィールドの組み合わせで行全体を識別できるため、候補キーですが、プライマリである必要はありません。しかし、いずれかのフィールドを削除すると、それはもはやキーではありません
候補キー:1つの値またはフィールドの組み合わせで行全体を識別できますが、最小またはプライマリである必要はありません。
database - テーブルの候補キーが見つからない場合 (正規化) はどうすればよいですか?
正規化がどのように機能するかを正確に理解し、それを特定のプロジェクトに適用しようとしています。最初のステップは候補キーを定義することであるといくつかのビデオで見ました。
私が持っているフィールド (またはこれらのフィールドの組み合わせ) がどれも一意でない場合はどうなりますか? たとえば、Receiver というフィールドがあります。しかし、それが繰り返されることはわかっています。Time_Of_Week という名前のフィールドと組み合わせることを考えましたが、このフィールドも毎週繰り返されます。最後に、フィールド Week_Number と組み合わせることを考えましたが、このフィールドも毎年繰り返されます。
自動インクリメント主キーを定義する唯一の解決策はありますか?
ありがとうございます。
sql - Access 2007: 部分的に重複する行を削除する
Access 2007 にインポートする Excel スプレッドシートにデータがあります。候補キー (CN) があります。同じ CN を持つ行の場合、データはすべての列で異なります。以下の例 (実際のデータには 100 列があり、MsgNum はより頻繁に変化する可能性があります。他のインスタンスでこのパターンをまだ確認していないため、選択しようとしましたが、ソリューションは CN と MsgNum の組み合わせが一意である可能性があることをおそらく無視する必要があります) )。
SQL Server にアクセスできません。私が持っているのは Access 2007 だけです。取得したデータは Excel にエクスポートされる前に Access から取得されるため、Excel の重複を削除する手順を使用したくありません。
Access のクエリ デザインで SQL を使用して、CN でグループ化し、カウントが 1 のサブクエリを WHERE 句で使用しようとしましたが、すべてのインスタンスが削除され、少なくとも 1 つが保持されません。
2 つの列 (CN と MIN(MsgNum)) だけを選択してみました (CN と MIN(MsgNum)) を適切にグループ化すると、必要なものが得られますが、指定されたすべての列 (全部で 100 列) で実行すると、重複が発生します。
単一の列に対してクエリ ウィザードの重複を検索し、残りの列を返すようにしました。これは、ビューで重複を分離するのに役立ちます。主キーを設定できないため、テーブルを結合する方法がわかりません。以前の MIN クエリをすべての列で実行すると、以前と同じ問題が発生します。
2 つの列の組み合わせを比較する WHERE 句で何かを設定しようとしていましたが、それはできないと読みました。そのため、候補キーがあるが、この候補キー列の重複のレコード内の情報が異なるこの問題を解決する方法に迷っています。私がしたいのは、Excel 2007 の重複の削除手順で、1 つの列の重複を削除して他の列を保持できるようにすることです。
functional-dependencies - 機能依存性から候補キーを見つける
次の機能依存関係を持つリレーション{A、B、C、D}の場合-
サイトの1つで見つけた特定の方法を使用して、候補キーをABCDとして取得しています。そうですか?正しい候補キーは何ですか?