ホームページ >データベース >mysql チュートリアル >MySQLにおけるスーパーキー、主キー、候補キーの違いの解析
この記事は、mysql に関する関連知識を提供します。MySQL のスーパー キー、主キー、候補キーの違いを主に紹介します。非常に参考になります。皆様のお役に立てれば幸いです。 . 役に立ちます。
#推奨学習: スーパー キー、主キー、候補キーの違いについて最近、MySQL の本を読んでいるときに次のような疑問に遭遇しました:
主キーの概念はすでにあり、主キーはすでにニーズを満たすことができるのに、なぜまだ必要なのでしょうか候補キーのようなものですか?候補キーの役割は何ですか?候補となるキー定義が与えられていますが、実際には何もいじりません。 もっと詳しく知りたいという気持ちでネットで検索したり、マスターの解説を見たりしたのですが、まだ少し混乱していたので、よりわかりやすく理解するためにここで整理したいと思います。また、誤解がある場合は、誰かが私にいくつかのヒントを与えてくれることを願っています これが私の理解の一部です:
実際には、主キーとスーパー キーの方が優れています。たとえば、次のような表があります。
#表の書き方が少し荒いので、ちょっと見てみましょう。 スーパー キーリレーションシップ内のタプルを一意に識別できる一連の属性は、リレーショナル スキーマのスーパー キーと呼ばれます。定義内の「属性セット」に注意してください。スーパー キーは、どの行であるかを決定できる限り、大きなセットにすることができます。つまり、「id」、「user」、「pwd」、「section」、「name」スーパーキーのセットはすべて OK です。 候補キー冗長な属性を含まないスーパーキー。たとえば、上記のスーパーキーでは、「id」が単独でどの行であるかを判断できるため、候補となりえます。 、それ以外の他の 4 つも候補キーになり得ますが、この 5 つは冗長な列があるためまとめられており、候補キーではありません。 (各列に重複したコンテンツが含まれている可能性があるため、他の 4 つは候補キーになる可能性があります) 主キーすべての候補キーの中から 1 つを見つけて主キーとして使用します。選択されたセットを一意に決定できることが保証できる限り、ID、または他の 4 つの組み合わせ、またはその他の選択肢。 要約すると、候補キーはスーパー キーのサブセットであり、主キーは候補キーのサブセットです。 実のところ、ここまで整理しても、候補キーの機能がまだわかりません。実際には、待合室のようなものかもしれません。車内には座席が 1 つだけ残っています。 , 待合室にはいくつかの主キーがあるので、座って次のように言います。「私たちは全員チケットを購入しており、全員がバスに乗る資格があります。あなたがバスに乗る人を選んだ人は、あなたと一緒にバスに乗ります。」 「それもそのはずだ。 スーパー キー、候補キー、主キーの概念と関係を理解する基本概念a. スーパー キーは:
b を一意に決定できます。b. スーパー キー
c.主キーの選択
SQL Server データベースには、次のような学生情報テーブルがありますが、このテーブルの候補キーとして使用できない属性のセットは、は ( ) ( 1 つ選択してください)
学籍名 性別 年齢 学科専攻20020612 李恵南 20 コンピュータ ソフトウェア開発
20060613 張 明南 18 コンピュータ ソフトウェア開発20060614 王暁宇 女性19 物理力学c) {年齢、所属}20060615 Li Shuhua 女性 17 生物動物学
b) {学籍番号、名前}
20060616 Zhao Jingnan 21 化学食品化学
20060617 Zhao Jing 女性 20 生物植物学
a) {学生 ID }
d) {名前、性別}e) {名前、専攻}
# # 推奨される学習:
mysql ビデオ チュートリアル
以上がMySQLにおけるスーパーキー、主キー、候補キーの違いの解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。