時間:2022-11-09 10:30:01 | 來源:信息時代
時間:2022-11-09 10:30:01 來源:信息時代
SQL信息和定義模式 : 對SQL系統(tǒng)所有對象、信息及模式的一個規(guī)范化說明。在SQL系列標(biāo)準(zhǔn)中SQL信息和定義模式是系列標(biāo)準(zhǔn)的第十一部分,國際標(biāo)準(zhǔn)的命名是Information Technology—Database Languages—SQL—Part 11:Information and Definition Schemas,通常縮寫為SQL/Schemata,其標(biāo)準(zhǔn)編號為ISO/IEC 9075-11。
在SQL標(biāo)準(zhǔn)中,SQL信息和定義模式似乎是一個單獨的部分,但又是SQL語言整體的一個重要組成部分。在這部分從整體上定義了所有SQL描述的對象、SQL數(shù)據(jù)的完整性限制、SQL數(shù)據(jù)安全和授權(quán)、SQL實現(xiàn)的一致性信息以及描述SQL實現(xiàn)支持的特定值的信息模式和定義模式。
在SQL 99及以前的版本中,SQL信息和定義模式還包含在SQL/基礎(chǔ)部分中。而從SQL 2003開始,SQL信息和定義模式開始作為標(biāo)準(zhǔn)的一個正式部分單獨存在。
SQL信息和定義模式分為定義模式和信息模式兩個部分。
1. 定義模式
定義模式DEFINITION SCHEMA,包含所有SQL要求的定義模式基表。
定義模式的目的是提供一個數(shù)據(jù)模型,以支持信息模式和協(xié)助理解。定義模式不能在SQL語句中被正常地訪問。但是,信息模式中的視圖定義假定定義模式存在,并引用模式名為DEFINITION SCHEMA的基表。它們使用定義模式去定義信息模式的內(nèi)容。SQL中主要的定義模式基表有:
(1) CHECK_CONSTRAINTS基表:表中每一行對應(yīng)一個域約束、表檢驗約束或斷言。
(2) COLUMNS基表: 表中每一行對應(yīng)一列,包含了這個列的描述符。
(3) KEY_COLUMN_USAGE 基表: 對于TABLE CONSTRAINTS 表 中 CONSTRAINT TYPE 為 “UNIQUE”、“PRIMARY KEY”或“FOREIGN KEY”的每一行,KEY COLUMN USAGE表中都有相對應(yīng)的一行或多行,這些行列出了構(gòu)成每個唯一性約束的列和每個外鍵約束中的引用列。
(4) SCHEMATA基表:表中每一行對應(yīng)一個模式。
(5) TABLE_CONSTRAINTS基表:表中每一行對應(yīng)一個與表關(guān)聯(lián)的表約束,包含表約束的描述符。
(6) TABLES基表:表中每一行對應(yīng)一個表或視圖,包含表的描述符。
(7) VIEW COLUMN_USAGE基表: 表中每一行對應(yīng)一個所描述視圖的查詢表達式中顯式或隱含引用的表的每一列。
(8) VIEWS 基表: 表中每一行對應(yīng)一個TABLES表中TABLE TYPE為‘VIEW’的每一行,描述定義視圖的查詢表達式,包含視圖的描述符。
(9) VIEW_TABLE_USAGE基表: 表中每一行對應(yīng)一個包含于視圖的查詢表達式中表引用中的表名。
2.信息模式
信息模式INFORMATION SCHEMA,包含所有SQL要求的、根據(jù)定義模式的基表定義的信息模式視圖。
信息模式視圖能夠與其他表一樣被用戶訪問,但這些視圖不能被更新。SQL實現(xiàn)可以自定義與INFORMATION SCHEMA相關(guān)的對象,或把某些自定義的列添加到某個視圖表中。
SQL中主要的信息模式視圖有:
(1) CHECK CONSTRAINTS視圖:標(biāo)識給定用戶或角色所擁有的本目錄中定義的檢驗約束。
(2) COLUMNS視圖: 標(biāo)識某個給定用戶或角色可訪問的本目錄中所定義的表中的列。
(3) CONSTRAINT_COLUMN_USAGE視圖:標(biāo)識某個給定用戶或角色所擁有的目錄中定義的引用約束、唯一性約束、檢驗約束和斷言所使用的列。
(4) CONSTRAINT_TABLE_USAGE視圖: 標(biāo)識某個給定用戶或角色所擁有的本目錄中定義的引用約束、唯一性約束、檢驗約束和斷言所使用的表。
(5) KEY_COLUMN_USAGE視圖:標(biāo)識本目錄中定義的作為鍵約束的列,并且這些列對于某個給定用戶或角色是可訪問的。
(6) TABLE_CONSTRAINTS視圖:標(biāo)識某個給定用戶或角色可訪問的本目錄中的表上所定義的表約束。
(7) TABLES視圖:標(biāo)識某個給定用戶或角色可訪問的本目錄中所定義的表。
(8) VIEW_COLUMN_USAGE視圖: 標(biāo)識本目錄中定義的給定用戶或角色擁有的視圖表所依賴的列。
(9) VIEWS視圖: 標(biāo)識本目錄中定義的給定用戶或角色可訪問的視圖表。
(10) VIEW_TABLE_USAGE視圖:標(biāo)識本目錄中定義的給定用戶或角色所擁有的視圖表所依賴的表。
微信公眾號
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。