數(shù)據(jù)庫原理第三章關(guān)系數(shù)據(jù)庫SQL語言
第三章 關(guān)系數(shù)據(jù)庫SQL語言
32. SQL數(shù)據(jù)庫的體系結(jié)構(gòu)及術(shù)語:
SQL數(shù)據(jù)庫的體系結(jié)構(gòu)也是三級,但術(shù)語與傳統(tǒng)的關(guān)系模型不同。
關(guān)系模式稱為“基本表”,存儲模式稱為“存儲文件”,子模式稱為“視圖”,元組稱為“行”,屬性稱為“列”。
33. SQL數(shù)據(jù)庫的體系結(jié)構(gòu)要點是什么:轉(zhuǎn)自環(huán) 球 網(wǎng) 校edu24ol.com
(1) 一個SQL數(shù)據(jù)庫是表(table)的匯集,它用一個或多個SQL模式定義。一個SQL模式是表和授權(quán)的表態(tài)定義。
(2) 一個SQL表由行集構(gòu)成,一行是列的序列,每列對應(yīng)一個數(shù)據(jù)項。
(3) 一個表或者是一個基本表,或者是一個視圖。(視圖只保存定義,不保存數(shù)據(jù))
(4) 一個基本表可跨一個或多個存儲文件,一個存儲文件也可存放一個或多個基本表。每個存儲文件與外部存儲器上一個物理文件對應(yīng)。
(5) 用戶可用SQL語句對視圖和基本表進行查詢等操作。
(6) SQL用戶可以是應(yīng)用程序,也可以是終端用戶。
34. SQL的組成分成幾部分:
SQL主要分成四部分:
(1) 數(shù)據(jù)定義。(SQL DDL)用于定義SQL模式、基本表、視圖和索引的創(chuàng)建和撤消操作。
(2) 數(shù)據(jù)操縱。(SQL DML)數(shù)據(jù)操縱分成數(shù)據(jù)查詢和數(shù)據(jù)更新兩類。數(shù)據(jù)更新又分成插入、刪除、和修改三種操作。
(3) 數(shù)據(jù)控制。包括對基本表和視圖的授權(quán),完整性規(guī)則的描述,事務(wù)控制等內(nèi)容。
(4) 嵌入式SQL的使用規(guī)定。涉及到SQL語句嵌入在宿主語言程序中使用的規(guī)則。
35. SQL模式的撤消有哪兩種方式:
CASCADE(連鎖式)方式:執(zhí)行DROP語句時,把SQL模式及其下屬的基本表、視圖、索引等所有元素全部撤消。
RESTRICT(約束式)方式:執(zhí)行DROP語句時,只有當(dāng)SQL模式中沒有任何下屬元素時,才能撤消SQL模式,否則拒絕執(zhí)行DROP語句。
36. SQL提供的基本數(shù)據(jù)類型有哪些?每種舉兩個例子:
(1) 數(shù)值型:INTEGER長整數(shù)、SMALLINT短整數(shù)
(2) 字符串型:CHAR(N)長度為N的定長字符串、VARCHAR(N)具有最大長度為N的變長字符串。
(3) 位串型:BIT(N)長度為N的二進制位串、BIT VARYING(N)最大長度為N的變長二進制位串
(4) 時間型:DATE日期、TIME時間
SQL2允許用戶使用“CREATE DOMAIN”語句定義新的域。
37. 完整性約束主要有哪三種子句:
完整性約束主要有三種子句:主鍵子句(PRIMARY KEY),檢查子句(CHECK)和外鍵子句(FOREIGN KEY)
38. 什么是視圖,它與表的區(qū)別是什么:轉(zhuǎn)自環(huán) 球 網(wǎng) 校edu24ol.com
在SQL中,外模式一級數(shù)據(jù)結(jié)構(gòu)的基本單位是視圖,視圖是從若干基本表和(或)其他視圖構(gòu)造出來的表。我們創(chuàng)建一個視圖時,只是把其視圖的定義存放在數(shù)據(jù)字典中,而不存儲視圖對應(yīng)的數(shù)據(jù),因此,視圖被稱為“虛表”,這是它與表的主要區(qū)別。
39. 對于視圖元組的更新操作(INSERT、DELETE、UPDATE)有哪三條規(guī)則:
(1) 如果一個視圖是從多個基本表使用聯(lián)接操作導(dǎo)出的,那么不允許對這個視圖執(zhí)行更新操作。
(2) 如果在導(dǎo)出視圖的過程中,使用了分組和聚合操作,也不允許對這個視圖執(zhí)行更新操作。
(3) 如果視圖是從單個基本表使用選擇、投影操作導(dǎo)出的,并且包含了基本表的主鍵或某個候選鍵,那么這樣的視圖稱為“行列子集視圖”,并且可以被執(zhí)行更新操作。
SQL2中,允許更新的視圖在定義時,必須加上“WITH CHECK OPTION”短語。
40. SQL語言有哪兩種使用方式:
一種是在終端交互方式下使用,稱為交互式SQL;
另一種是嵌入在高級語言的程序中使用,稱為嵌入式SQL,而這些高級語言可以是C、PASCAL、COBOL等,稱為宿主語言。
41. 嵌入式SQL的實現(xiàn)有哪兩種處理方式:
一種是擴充宿主語言的編譯程序,使之能處理SQL語句;
另一種是采用預(yù)處理方式。目前多數(shù)系統(tǒng)采用后一種。
42. 在宿主語言的程序中使用SQL語句有哪些規(guī)定:
(1) 在程序中要區(qū)分SQL語言與宿主語句。所有SQL語句前必須加上前綴標(biāo)識“EXEC SQL”,并以“END_EXEC”作為語句的結(jié)束標(biāo)志。(結(jié)束標(biāo)志在不同的宿主語言中不同)
(2) 允許嵌入的SQL語句引用宿主語言的程序變量(共享變量),但有兩條規(guī)定:
1) 引用時,這些變量前必須加冒號“:”作為前綴,以示與數(shù)據(jù)庫中變量有區(qū)別。
2) 這些變量由宿主語言的程序定義,并用SQL的DECLARE語句說明。
43. 用游標(biāo)機制協(xié)調(diào)SQL的集合處理方式所用的SQL語句有哪些:
與游標(biāo)有關(guān)的SQL語句有下列四個:
(1) 游標(biāo)定義語句(DECLARE)
(2) 游標(biāo)打開語句(OPEN)
(3) 游標(biāo)推進語句(FETCH)
(4) 游標(biāo)關(guān)閉語句(CLOSE)
44. SQL DML的嵌入使用技術(shù):
(1) 若是INSERT、DELETE、UPDATE語句,則不必涉及游標(biāo),只要加上前綴標(biāo)識和結(jié)束標(biāo)志就能嵌入宿主語言程序中使用。
(2) 若是已知查詢結(jié)果肯定是單元組的SELECT語句,則不必涉及游標(biāo),也可加上前綴標(biāo)識和結(jié)束標(biāo)志后嵌入宿主語言程序中使用,但此時應(yīng)該在SELECT語句中增加一個INTO子句,指出找到的值應(yīng)送到相應(yīng)的共享變量中去。
(3) 若是已知查詢結(jié)果為多個元組的SELECT語句,則必須涉及到游標(biāo),用游標(biāo)機制把多個元組一次一個地傳送給宿主程序處理。
更多信息請訪問:自學(xué)考試頻道 自學(xué)考試論壇 自學(xué)考試博客圈
最新資訊
- 考前必背!自學(xué)考試《中國近現(xiàn)代史綱要》論述題高頻考點2024-10-19
- 自考報考策略:科學(xué)搭配科目,加速畢業(yè)進程2024-07-20
- 2025年考研考生五一假期,英語科目應(yīng)該如何復(fù)習(xí)?2024-05-03
- 備考指南!2024年4月自學(xué)考試考前要做哪些準(zhǔn)備?2024-03-31
- 考前備考沖刺!自考如何一次就過?2024-03-30
- 考點匯總:《中國近現(xiàn)代史綱要》論述題2024-03-25
- 備考資料:《中國近現(xiàn)代史綱要》簡答題考點匯總2024-03-25
- 自考可以從哪些維度進行備考?2024-02-17
- @自考生,這里有備考技巧2024-02-17
- 自學(xué)考試備考復(fù)習(xí)方法!建議收藏2024-02-16