最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL中關于超鍵和主鍵及候選鍵的區(qū)別

 更新時間:2022年07月31日 14:53:26   作者:胖了個頭  
這篇文章主要介紹了MySQL中關于超鍵和主鍵及候選鍵的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

關于超鍵和主鍵及候選鍵的區(qū)別

最近在看MySQL的書時遇到了一個問題:

既然已經(jīng)有了主鍵這個概念,主鍵已經(jīng)能夠滿足需求了,那為什么還要有候選鍵這種東西?候選鍵的作用是什么呢?給了它一個候選鍵的定義但是它真的并沒有什么亂用。

抱著刨根問底攔不住的心態(tài)我去網(wǎng)上搜了搜,看了看大神們的解釋,看得我還是有些懵懂,于是想在這里梳理一下,幫助自己理解的更通透,也希望如果有理解錯的地方能有人指點一下 下面就是我的一些理解:

其實主鍵和超鍵還好一些,比如有這么一個表:

在這里插入圖片描述

表寫的有些糙,湊合看吧。

超鍵

在關系中能唯一標識元組的屬性集稱為關系模式的超鍵。 注定義中的“屬性集”,超鍵可以是一個很大的集合,只要他能確定是哪一行就行,因此’id’,‘user’,‘pwd’,‘section’,'name’都可以是超鍵的集。

候選鍵

不含有多余屬性的超鍵,比如在上面的超鍵中,'id’自己就可以獨自確定是哪一行,所以他自己可以是一個候選鍵,除去它以外的另外四個也可以是候選鍵,但是這五個放在一起因為有了多余的列,他們就不是候選鍵。(另外四個可以是候選鍵的原因是每一列都有可能有重復的內(nèi)容)

主鍵

在所有的候選鍵里面找一個作為主鍵供使用,也就是說可以是id,也可以是另外四個的合體,也有可能是其他的選擇,只要能保證選擇的集合能唯一確定即可。

總結(jié)來說,候選鍵是超鍵的子集,主鍵是候選鍵的子集。

其實整理了這么多以后我還是不明白候選鍵的作用到底是什么,其實他可能就是作為一個候車廳一樣,車上只剩下一個座位,有幾個主鍵在候車廳里坐著,告訴你:“我們幾個人都買票了,都有資格上車,你選誰上,我們誰就跟你去上車”,應該就是這樣。

理解超鍵、候選鍵、主鍵概念及關系

基本概念

  • 超鍵(super key):在關系中能唯一標識元組的屬性集稱為關系模式的超鍵/碼。
  • 候選鍵(candidate key):不含有多余屬性的超鍵稱為候選鍵,即其真子集不再是超鍵。
  • 主鍵(primary key):用戶選作元組標識的一個候選鍵稱為主鍵,是候選鍵之一。

關系

候選鍵是超鍵的子集,主鍵是候選鍵中的一個。

舉個栗子

考慮屬性集(身份證號,姓名 ,性別 ,年齡),假設無重名

a.其中超鍵有:

  • 身份證號、姓名、(姓名,性別)、(姓名,性別,年齡)等
  • --這里可以看出,超鍵是能唯一確定一個人的屬性組

b.超鍵中的候選鍵

  • 身份證號、姓名唯一,而且沒有多余屬性,所以是一個候選鍵
  • --這里可以看出,候選鍵是沒有多余屬性的超鍵

c.選擇主鍵

  • 用戶可根據(jù)自己喜好考慮選擇姓名或者身份證號作為主鍵
  • --主鍵是選中的一個候選鍵

還不明白?

實例:

在SQL Server數(shù)據(jù)庫中,有一個學生信息表如下所示,在該表中不能作為候選鍵的屬性集合為( ) (選擇一項)

學號 姓名 性別 年齡 系別 專業(yè)
20020612 李輝 男 20 計算機 軟件開發(fā)
20060613 張明 男 18 計算機 軟件開發(fā)
20060614 王小玉 女 19 物理 力學
20060615 李淑華 女 17 生物 動物學
20060616 趙靜 男 21 化學 食品化學
20060617 趙靜 女 20 生物 植物學

a){學號}
b){學號、姓名}
c){年齡、系別}
d){姓名、性別}
e){姓名、專業(yè)}

如果大家還不知道如何來選擇,再看看基本概念吧!

嗯,不會的就選C吧,哈哈哈哈哈哈

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 配置mysql允許遠程連接的方法

    配置mysql允許遠程連接的方法

    默認情況下,MySQL只允許本地登錄,如果要開啟遠程連接,則需要修改/etc/my.cnf文件
    2013-02-02
  • mysql中Table is read only的解決方法小結(jié)

    mysql中Table is read only的解決方法小結(jié)

    本文章總結(jié)了關于在linux與windows中 mysql出現(xiàn)Table is read only解決辦法總結(jié),有需要的朋友可參考一下
    2013-01-01
  • MySQL中觸發(fā)器和游標的介紹與使用

    MySQL中觸發(fā)器和游標的介紹與使用

    這篇文章主要給大家介紹了關于MySQL中觸發(fā)器和游標的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • mysql子查詢(單行子查詢,多行子查詢,多列子查詢)

    mysql子查詢(單行子查詢,多行子查詢,多列子查詢)

    本文主要介紹了mysql子查詢(單行子查詢,多行子查詢,多列子查詢),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • MySQL數(shù)據(jù)庫的事務和索引詳解

    MySQL數(shù)據(jù)庫的事務和索引詳解

    這篇文章主要介紹了MySql 索引和事務,總結(jié)分析了mysql數(shù)據(jù)庫中關于索引和事務的概念、原理、知識點及相關注意事項,需要的朋友可以參考下
    2021-10-10
  • mysql巡檢腳本(必看篇)

    mysql巡檢腳本(必看篇)

    下面小編就為大家?guī)硪黄猰ysql巡檢腳本(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Oracle更換為MySQL遇到的問題及解決

    Oracle更換為MySQL遇到的問題及解決

    前段時間自行安裝MySQL8.0數(shù)據(jù)庫,為數(shù)據(jù)庫去Oracle做準備。現(xiàn)在公司正規(guī)劃搭建MySQL集群。于是挑選兩個應用,進行改造測試,積累下經(jīng)驗。
    2021-05-05
  • MySQL詳細匯總常用函數(shù)

    MySQL詳細匯總常用函數(shù)

    MySQL數(shù)據(jù)庫中提供了很豐富的函數(shù)。MySQL函數(shù)包括數(shù)學函數(shù)、字符串函數(shù)、日期和時間函數(shù)、條件判斷函數(shù)、系統(tǒng)信息函數(shù)、加密函數(shù)、格式化函數(shù)等。通過這些函數(shù),可以簡化用戶的操作。本期將帶你總結(jié)常用函數(shù)都有哪些
    2021-11-11
  • MySQL通過自定義函數(shù)實現(xiàn)遞歸查詢父級ID或者子級ID

    MySQL通過自定義函數(shù)實現(xiàn)遞歸查詢父級ID或者子級ID

    這篇文章主要介紹了MySQL通過自定義函數(shù)實現(xiàn)遞歸查詢父級ID或者子級ID,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-11-11
  • 一文詳解MySQL?Binlog日志與主從復制

    一文詳解MySQL?Binlog日志與主從復制

    這篇文章主要介紹了一文詳解MySQL?Binlog日志與主從復制,Binlog是Binary?log的縮寫,即二進制日志,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07

最新評論

鸡东县| 封丘县| 临泉县| 新建县| 东阳市| 河间市| 乌苏市| 奉节县| 梨树县| 宁蒗| 太康县| 句容市| 视频| 兴宁市| 墨玉县| 辽宁省| 孟津县| 潞西市| 白沙| 闵行区| 商水县| 大丰市| 阿拉善左旗| 隆子县| 紫金县| 汕尾市| 莒南县| 桃园市| 油尖旺区| 丰台区| 新河县| 大名县| 馆陶县| 乌恰县| 托里县| 磐安县| 乐业县| 观塘区| 义乌市| 宝坻区| 含山县|