日韩欧乱色一区二区三区在线_久久―日本道色综合久久_欧美日本一区二区_网曝91综合精品门事件在线

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 關(guān)系型數(shù)據(jù)庫中的字段默認(rèn)值、不可為空、少數(shù)索引約束的優(yōu)缺點(diǎn)是什么?

關(guān)系型數(shù)據(jù)庫中的字段默認(rèn)值、不可為空、少數(shù)索引約束的優(yōu)缺點(diǎn)是什么?

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-13 09:43:08 1697161388

一、關(guān)系型數(shù)據(jù)庫中的字段默認(rèn)值、不可為空、少數(shù)索引約束的優(yōu)缺點(diǎn)

1.字段默認(rèn)值:針對每個(gè)字段都有自己的默認(rèn)值,較有利于進(jìn)行統(tǒng)計(jì)和分析,以及方便程序邏輯操作;

2.不可為空:若是該字段創(chuàng)建為索引情況下,且允許為NULL,則存儲多個(gè)值,若是不允許為空,可能用某一個(gè)值替代,則索引值更少,以及部分?jǐn)?shù)據(jù)庫產(chǎn)品不支持字段為NULL情況下創(chuàng)建索引(特別是早期的數(shù)據(jù)庫產(chǎn)品)。

3.少數(shù)性約束:那是指有數(shù)據(jù)少數(shù)性要求的情況下,可以借助數(shù)據(jù)庫的方式判斷是否存在重復(fù)值,而避免程序去判斷,減少事務(wù)的處理等。

六大約束:

not null 非空 :用于保障該字段的值不能為空, 比如姓名、學(xué)號等

Default 默認(rèn): 用于保證該字段有默認(rèn)值,比如性別、

PRIMARY KEY 主鍵: 用于保證該字段的值有少數(shù)性,并且 非空。是能夠少數(shù)的標(biāo)識一組數(shù)據(jù)的數(shù)據(jù)元素;比如說:學(xué)號,姓名,年齡,性別,課程號課程中學(xué)號是少數(shù)的

UNIQUE 少數(shù)約束: 用于保障該字段的值有少數(shù)性,可以為空, 比如座位號

Check 檢查約束:mysql中不支持,但不報(bào)錯(cuò)

Foreign KEY 外鍵:用于限制兩個(gè)標(biāo)的關(guān)系 用于保證該字段的值必須來自于主表關(guān)聯(lián)的值。 一組數(shù)據(jù)的主鍵是另一組數(shù)據(jù)的的元素;主鍵約束了外鍵所在表中不能存在主鍵類之外的值;外鍵用于與另一張表的關(guān)聯(lián)。比如:學(xué)生表的專業(yè)編號、員工表的部門編號。

延伸閱讀:

二、索引維護(hù)

B+樹為了維護(hù)索引有序性,在插入新值的時(shí)候需要做必要的維護(hù)。以上面這個(gè)圖為例,如果插入新的行ID值為700,則只需要在R5的記錄后面插入一個(gè)新記錄。如果新插入的ID值為400,就相對麻煩了,需要邏輯上挪動后面的數(shù)據(jù),空出位置。

而更糟的情況是,如果R5所在的數(shù)據(jù)頁已經(jīng)滿了,根據(jù)B+樹的算法,這時(shí)候需要申請一個(gè)新的數(shù)據(jù)頁,然后挪動部分?jǐn)?shù)據(jù)過去。這個(gè)過程稱為頁分裂。在這種情況下,性能自然會受影響。

除了性能外,頁分裂操作還影響數(shù)據(jù)頁的利用率。原本放在一個(gè)頁的數(shù)據(jù),現(xiàn)在分到兩個(gè)頁中,整體空間利用率降低大約50%。

當(dāng)然有分裂就有合并。當(dāng)相鄰兩個(gè)頁由于刪除了數(shù)據(jù),利用率很低之后,會將數(shù)據(jù)頁做合并。合并的過程,可以認(rèn)為是分裂過程的逆過程。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
MyBatis和jOOQ有哪些區(qū)別?

一、MyBatis和jOOQ的區(qū)別1、數(shù)據(jù)庫操作風(fēng)格不同MyBatis是一種基于XML或注解配置的SQL映射框架。它通過編寫SQL語句,并使用對象映射將結(jié)果集映射...詳情>>

2023-10-13 11:34:33
Mycat分表分庫的原理是什么?

一、Mycat分表分庫的原理1、數(shù)據(jù)分片(Sharding)Mycat將數(shù)據(jù)按照某種規(guī)則(如基于哈希、范圍、一致性哈希等)進(jìn)行分片。每個(gè)分片包含數(shù)據(jù)的一...詳情>>

2023-10-13 11:31:32
Access數(shù)據(jù)庫怎樣免費(fèi)下載?

一、Access數(shù)據(jù)庫免費(fèi)下載的方法1、Microsoft官方網(wǎng)站訪問Microsoft官方網(wǎng)站,進(jìn)入”O(jiān)ffice”或”Access”的頁面。Microsoft通常提供試用版本或...詳情>>

2023-10-13 11:29:41
千萬級用戶的實(shí)時(shí)問答網(wǎng)站用什么語言,數(shù)據(jù)庫和服務(wù)器有什么要求?

一、千萬級用戶的實(shí)時(shí)問答網(wǎng)站用什么語言,數(shù)據(jù)庫和服務(wù)器有什么要求語言方面,可以選擇像 Java、Python、Go 等支持高并發(fā)的編程語言。其中,Ja...詳情>>

2023-10-13 11:20:16
Ecoinvent數(shù)據(jù)庫中,Cut-off、Conseq和APOS三種類型的數(shù)據(jù)使用區(qū)別在哪兒?

一、Ecoinvent數(shù)據(jù)庫中,Cut-off、Conseq和APOS三種類型的數(shù)據(jù)使用區(qū)別跟系統(tǒng)邊界/分配方法有關(guān),之前看到過有人推薦使用cut-off就可以了。附以...詳情>>

2023-10-13 11:08:36
主站蜘蛛池模板: 彝良县| 古丈县| 汪清县| 彩票| 祁连县| 理塘县| 彭水| 新疆| 景泰县| 海门市| 沙坪坝区| 得荣县| 佛山市| 朝阳区| 年辖:市辖区| 陇川县| 盱眙县| 饶平县| 扎鲁特旗| 光山县| 民和| 忻州市| 宜宾县| 蓝田县| 西和县| 武夷山市| 潼南县| 乳山市| 红原县| 二连浩特市| 永胜县| 鄂伦春自治旗| 申扎县| 卢湾区| 鹿泉市| 高清| 临颍县| 武陟县| 三门峡市| 苏尼特右旗| 临潭县|