1.數(shù)據(jù)模型
數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)是數(shù)據(jù)模型。一般來說,數(shù)據(jù)模型是嚴(yán)格定義的一組概念的集合。這些概念精確地描述了系統(tǒng)的靜態(tài)特征、動態(tài)特征和完整性約束條件。因此數(shù)據(jù)模型一般由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和完整性約束三部分組成
- 數(shù)據(jù)結(jié)構(gòu):存儲在數(shù)據(jù)庫中對象類型的集合,作用是描述數(shù)據(jù)庫組成對象以及對象之間的聯(lián)系
- 數(shù)據(jù)操作:指對數(shù)據(jù)庫中各種對象實(shí)例允許執(zhí)行的操作的集合,包括操作及其相關(guān)的操作規(guī)則
- 完整性約束:指在給定的數(shù)據(jù)模型中,數(shù)據(jù)及其聯(lián)系所遵守的一組通用的完整性規(guī)則,它能保證數(shù)據(jù)的正確性和一致性
根據(jù)模型應(yīng)用目的的不同,數(shù)據(jù)模型分為2類:
- 第一類
- 1)概念模型:也稱為信息模型。它是按用戶的觀點(diǎn)來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設(shè)計(jì)
- 第二類
- 2)邏輯模型:主要包括層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P秃蛯ο箨P(guān)系模型等
- 3)物理模型:是對數(shù)據(jù)最底層的抽象,它描述數(shù)據(jù)在系統(tǒng)內(nèi)部的表示方法和存取方法,在磁盤或磁帶上的存儲方式和存取方法,是面向計(jì)算機(jī)系統(tǒng)的
關(guān)系模型是目前最重要的一種數(shù)據(jù)類型。關(guān)系數(shù)據(jù)庫系統(tǒng)采用關(guān)系模型作為數(shù)據(jù)的組織方式
- 關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表,或者說關(guān)系的數(shù)據(jù)結(jié)構(gòu)就是一張表
- 關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操作主要包含查詢、插入、刪除和更新數(shù)據(jù)
- 關(guān)系模型的完整性約束條件包含三大類:實(shí)體完整性、參照完整性和用戶自定義的完整性
- 關(guān)系模型的實(shí)體完整性規(guī)則:若屬性(指一個(gè)或一組屬性)A是基本關(guān)系R的主屬性,則A不能取空值(由此規(guī)則可得一直接結(jié)論:主鍵不能為空)
- 關(guān)系模型的參照完整性規(guī)則:若屬性(或?qū)傩越M)F是某基本關(guān)系R的外鍵,且它與基本關(guān)系R1的主鍵相對應(yīng),則對于R中,每個(gè)F上的值或?yàn)榭罩祷蛘叩扔赗1中的主鍵值
2.主鍵與外鍵
- 候選碼:關(guān)系(二維表)中能唯一標(biāo)識一個(gè)元組的屬性組
- 主鍵:如果一張表有多個(gè)候選碼,則選定其中一個(gè)為主鍵
- 外鍵:如果關(guān)系模式R中的某屬性集不是R的主鍵,而是另一個(gè)關(guān)系R1的主鍵,則該屬性集是關(guān)系模式R的外鍵。外鍵表示了兩個(gè)關(guān)系(表)之間的聯(lián)系。以另一個(gè)關(guān)系的外鍵作主鍵的表被稱為主表,具有此外鍵的表被稱為主表的從表
- 主屬性與非主屬性:候選碼的諸屬性稱為主屬性。不包含在任何候選碼中的屬性稱為非主屬性
3.事務(wù)
事務(wù)是指用戶定義的一個(gè)數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個(gè)不可分割的工作單位
事務(wù)具有4個(gè)特性:原子性、一致性、隔離性、持續(xù)性。簡稱為ACID特性
4.索引
索引是對數(shù)據(jù)庫中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu),使用索引可快速訪問數(shù)據(jù)庫表中的特定信息
為表設(shè)置索引的好處與壞處:
- 好處
- 通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性
- 可以大大加快數(shù)據(jù)的檢索速度(創(chuàng)建索引的主要原因)
- 在使用分組(group by)和排序(order by)子句進(jìn)行數(shù)據(jù)檢索時(shí),同樣可以顯著減少查詢中分組和排序的時(shí)間
- 可以加速表和表之間的連接,特別是在實(shí)現(xiàn)數(shù)據(jù)的參照完整性方面特別有意義
- 壞處
- 一是增加了數(shù)據(jù)庫的存儲空間
- 二是插入和刪除數(shù)據(jù)時(shí)要花費(fèi)較多時(shí)間(因?yàn)樗饕惨S之變動)
索引是建立在數(shù)據(jù)庫表中的某些列的上面。在創(chuàng)建索引時(shí),應(yīng)該考慮在哪些列上可以創(chuàng)建索引,在哪些列上不能創(chuàng)建索引:
- 一般來說,應(yīng)該在這些列上創(chuàng)建索引
- 1)在經(jīng)常需要搜索的列上創(chuàng)建索引,可以加快搜索的速度
- 2)在作為主鍵的列上創(chuàng)建索引,強(qiáng)制該列的唯一性和組織表中數(shù)據(jù)的排列結(jié)構(gòu)
- 3)在經(jīng)常用在連接的列上創(chuàng)建索引,這些列主要是一些外鍵,可以加快連接的速度
- 4)在經(jīng)常需要根據(jù)范圍進(jìn)行搜索的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,其指定的范圍是連續(xù)的
- 5)在經(jīng)常需要排序的列上創(chuàng)建索引,因?yàn)樗饕呀?jīng)排序,這樣查詢可以利用索引的排序,加快排序查詢時(shí)間
- 6)在經(jīng)常使用在
WHERE
子句中的列上創(chuàng)建索引,加快條件的判斷速度
- 一般來說,不應(yīng)該創(chuàng)建索引的這些列具有下列特點(diǎn)
- 1)那些在查詢中很少使用的列不應(yīng)該創(chuàng)建索引。很少使用故而即使創(chuàng)建索引也不會帶來很大性能提升。索引又會帶來空間和維護(hù)上的負(fù)擔(dān)
- 2)只有很少數(shù)據(jù)值的列也不應(yīng)該創(chuàng)建索引。如性別,結(jié)果集的數(shù)據(jù)行占了表中數(shù)據(jù)行的很大比例,即需要在表中搜索的數(shù)據(jù)行的比例很大。增加索引并不能明顯加快檢索速度
- 3)那些定義為text和bit等數(shù)據(jù)類型的列不應(yīng)該創(chuàng)建索引。因?yàn)檫@些列的數(shù)據(jù)量要么相當(dāng)大,要么取值很少,不利于使用索引
- 4)當(dāng)修改操作遠(yuǎn)遠(yuǎn)大于檢索操作時(shí),不應(yīng)該創(chuàng)建索引。因?yàn)樾薷男阅芎蜋z索性能互相矛盾。當(dāng)增加索引時(shí),會提高檢索性能,但是會降低修改性能。當(dāng)減少索引時(shí),會提高修改的性能,降低檢索的性能
5.視圖
視圖是從一個(gè)或幾個(gè)基本表(或試圖)導(dǎo)出的表。與基本表不同,它是一個(gè)虛表
數(shù)據(jù)庫中只存放視圖的定義,而不存放視圖對應(yīng)的數(shù)據(jù),這些數(shù)據(jù)仍存放在原來的基本表中。所以基本表中的數(shù)據(jù)發(fā)生變化時(shí),視圖中查詢出的數(shù)據(jù)也就隨之改變了。從這個(gè)意義上講,視圖就像一個(gè)窗口,透過它可以看到數(shù)據(jù)庫中自己感興趣的數(shù)據(jù)及其變化文章來源:http://www.zghlxwxcb.cn/news/detail-439954.html
視圖一經(jīng)定義,就可以和基本表一樣被查詢、刪除文章來源地址http://www.zghlxwxcb.cn/news/detail-439954.html
到了這里,關(guān)于數(shù)據(jù)庫基本概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!