一男图、SQL概述
結(jié)構(gòu)化查詢語言(Structured Query Language)是關系數(shù)據(jù)庫的標準語言呆万,也是通用的西雀、功能極強的關系數(shù)據(jù)庫語言思犁。
1.特點
- 綜合統(tǒng)一
SQL集數(shù)據(jù)定義語言代虾、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言的功能于一體激蹲,語言風格統(tǒng)一褐着,可以獨立完成數(shù)據(jù)庫生命周期中的全部活動。這就為數(shù)據(jù)庫應用系統(tǒng)的開發(fā)提供了良好的環(huán)境托呕。特別是用戶在數(shù)據(jù)庫系統(tǒng)投入運行后還可根據(jù)需要隨時地含蓉、逐步地修改模式频敛,并不影響數(shù)據(jù)庫的運行,從而使系統(tǒng)具有良好的可拓展性馅扣。
- 高度非過程化
只要提出“做什么”斟赚,而無須指明“怎么做”,因此無須了解存取路徑差油。存取路徑的選擇以及SQL的操作過程由系統(tǒng)自動完成拗军。
- 面向集合的操作方式
采用集合操作方式,不僅操作對象蓄喇、查找結(jié)果可以是元組的集合发侵,而且一次插入、刪除妆偏、更新操作的對象也可以是元組的集合刃鳄。
- 以同一種語法結(jié)構(gòu)提供多種使用方式
SQL既是獨立的語言,又是嵌入式語言钱骂。作為獨立的語言叔锐,能夠獨立地用于聯(lián)機交互的方式,用戶在終端鍵盤上直接鍵入SQL命令對數(shù)據(jù)庫進行操作见秽;作為嵌入式語言愉烙,SQL語句能夠嵌入到高級語言(如C、C++解取、Java)程序中步责,供程序員設計程序時使用。
- 語言簡潔禀苦,易學易用
完成核心功能只用了9個動詞:數(shù)據(jù)查詢(SELECT)蔓肯,數(shù)據(jù)定義(CREATE、DROP伦忠、ALTER),數(shù)據(jù)操縱(INSERT稿辙、UPDATE昆码、DELETE),數(shù)據(jù)控制(GRANT邻储、REVOKE)
2.基本概念
支持SQL的關系數(shù)據(jù)庫管理系統(tǒng)同樣支持關系數(shù)據(jù)庫三級模式結(jié)構(gòu)赋咽。
- 外模式:若干視圖+部分基本表
- 模式:若干基本表
- 內(nèi)模式:若干存儲文件
基本表是本身獨立存在的表,一個關系對應一個基本表吨娜;
一個或多個基本表對應一個存儲文件脓匿,一個表可以帶若干索引,索引也存放在存儲文件中宦赠;存儲文件的邏輯結(jié)構(gòu)組成了關系數(shù)據(jù)庫的內(nèi)模式陪毡。存儲文件的物理結(jié)構(gòu)對最終用戶是隱蔽的米母;
視圖是一個虛表,是從一個或幾個基本表導出的表毡琉,本身不獨立存儲在數(shù)據(jù)庫中铁瞒,即數(shù)據(jù)庫中只存放視圖的定義而不存放視圖對應的數(shù)據(jù)。視圖在概念上與基本表等同桅滋,用戶可以在視圖上再定義視圖慧耍;