關(guān)系模型由哪幾部分組成
由關(guān)系數(shù)據(jù)結(jié)構(gòu),關(guān)系操作集合和關(guān)系完整性約束三部分組成。
1)單一的數(shù)據(jù)結(jié)構(gòu)—關(guān)系:關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)非常單一。在關(guān)系模型中,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來表示,在用戶看來關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。
2)關(guān)系操作:關(guān)系操作采用集合操作方式,即操作的對象和結(jié)構(gòu)都是集合。關(guān)系模型給出了關(guān)系操作能力,但不對RDBMS語言給出具體的語法要求。
3)關(guān)系的三類完整性約束:關(guān)系模型提供了豐富的完整性控制機(jī)構(gòu),允許定義三類完整性約束:實(shí)體完整性,參照完整性和定義用戶的完整性。其中實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,應(yīng)該由關(guān)系系統(tǒng)自動支持。用戶定義的完整性是應(yīng)用領(lǐng)域需要遵循的約束條件,體現(xiàn)了具體領(lǐng)域中語義約束。
關(guān)系的類型
關(guān)系可分為三種類型:基本關(guān)系(通常又稱為基本表或基表)、查詢表和視圖表;颈硎菍(shí)際存在的表,它是實(shí)際存儲數(shù)據(jù)的邏輯表示,查詢表是查詢結(jié)果對應(yīng)的表。視圖表則是基本表或其他視圖表導(dǎo)出的表,是虛表,不對應(yīng)實(shí)際存儲的數(shù)據(jù)。
如何區(qū)別主鍵和外鍵
主鍵是定義一個表中起主要作用的數(shù)據(jù)項(xiàng),這些數(shù)據(jù)項(xiàng)的數(shù)據(jù)在表中是唯一的,同時系統(tǒng)按主鍵為表建立索引。
外鍵是定義一個表中的某數(shù)據(jù)項(xiàng)的數(shù)據(jù),要參照另一個表的主鍵數(shù)據(jù)。既沒有在另一個表的主鍵數(shù)據(jù)中出現(xiàn)數(shù)據(jù),不允許在這個表的外鍵數(shù)據(jù)項(xiàng)中出現(xiàn)。
SQL語言的特點(diǎn)
SQL語言集數(shù)據(jù)查詢,數(shù)據(jù)操控,數(shù)據(jù)定義和數(shù)據(jù)控制功能于一體,充分體現(xiàn)了關(guān)系數(shù)據(jù)語言的優(yōu)點(diǎn)和特點(diǎn)。
其主要特點(diǎn)包括:
1)綜合統(tǒng)一:SQL語言則集數(shù)據(jù)定義語言,數(shù)據(jù)操控語言,數(shù)據(jù)控制語言的功能于一體,語言風(fēng)格統(tǒng)一,可以獨(dú)立完成數(shù)據(jù)庫生命周期中的全部活動,包括定義關(guān)系模式,錄入數(shù)據(jù)以及建立數(shù)據(jù)庫,查詢,更新,維護(hù),數(shù)據(jù)庫重構(gòu),數(shù)據(jù)庫安全性控制等一系列操作的要求,這就為數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)提供良好的環(huán)境。
2)高度非過程化:非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言是面向過程的語言,用其完成某項(xiàng)請求,必須指定存儲路徑。而用SQL進(jìn)行數(shù)據(jù)操作,用戶只需提出做什么,而不必指明怎么做,因此用戶無需了解存取路徑,存取路徑的選擇以及SQL語句的操作過程由系統(tǒng)自動完成。這不但大大減輕用戶負(fù)擔(dān),而且有利于提高數(shù)據(jù)獨(dú)立性。
3)面向集合的操作方式:非關(guān)系數(shù)據(jù)模型采用的是面向記錄的操作方式,任何一個操作其對象都是一條記錄,而SQL語音采用集合操作方式,不僅查找結(jié)果可以是元組的集合,而且一次插入,刪除,更新操作的對象也可以是元組的集合。
4)以同一種語法結(jié)構(gòu)提供兩種使用方式:SQL語音既是自含式語言又是嵌入式語言。作為自含式語言,它能夠獨(dú)立的用于聯(lián)機(jī)交互的使用方式,用戶可以在終端鍵盤上直接鍵入SQL命令對數(shù)據(jù)庫進(jìn)行操作。作為嵌入式語言,SQL語句能夠嵌入到高級語言程序中,供程序員設(shè)計(jì)程序時使用。而在兩種不同的使用方式下,SQL語言的語法結(jié)構(gòu)基本上是一致的。這種以統(tǒng)一的語法結(jié)構(gòu)提供兩種不同的使用方式的做法,為用戶提供了極大的靈活性與方便性。
5)語言簡潔,易學(xué)易用:SQL語言功能極強(qiáng),但由于設(shè)計(jì)巧妙,語言十分簡潔,完成數(shù)據(jù)定義,數(shù)據(jù)操縱,數(shù)據(jù)控制的核心功能只用了9個動詞:CREATE DROP ALTER SELECT INSERT UPDATE DELETE GRANT REVOKE SQL語言語法簡單,接近英語口語,因此容易學(xué)習(xí)使用。
關(guān)系數(shù)據(jù)庫的型和值
關(guān)系數(shù)據(jù)庫的型也稱為關(guān)系數(shù)據(jù)庫模式,是對關(guān)系數(shù)據(jù)庫的描述,它包括若干域的定義以及在這些域上定義的若干關(guān)系模式。
關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在某一時刻對應(yīng)的關(guān)系集合,通常稱為關(guān)系數(shù)據(jù)庫。
關(guān)系模式的特征
關(guān)系是關(guān)系模式在某一時刻的狀態(tài)或內(nèi)容。關(guān)系模式是靜態(tài)的、穩(wěn)定的、而關(guān)系是動態(tài)的、隨時間的不斷變化的,因?yàn)殛P(guān)系操作是在不斷地更新著數(shù)據(jù)庫中的數(shù)據(jù)。但在實(shí)際當(dāng)中,人們常常把關(guān)系模式和關(guān)系都稱為關(guān)系。
>>>點(diǎn)擊查看更多 互聯(lián)網(wǎng)數(shù)據(jù)庫常考知識點(diǎn)
相關(guān)推薦: