SQL概述
人與人交互必須使用某種人類的自然語言,如英語、漢語和蒙語等。人與數(shù)據(jù)庫交互就不能使用人類的自然語言了,而需要使用SQL語言。人們使用SQL語言可以告訴具體的數(shù)據(jù)庫系統(tǒng)要干什么工作,讓其返回什么數(shù)據(jù)等。
3.1.1 SQL的歷史
SQL語言是20世紀(jì)70年代由Boyce和Chamberlin提出的。1979年,IBM公司第一個開發(fā)出SQL語言,并將其作為IBM關(guān)系數(shù)據(jù)庫原型System R的關(guān)系語言,實(shí)現(xiàn)了關(guān)系數(shù)據(jù)庫中的信息檢索。20世紀(jì)80年代初,美國國家標(biāo)準(zhǔn)局(ANSI)開始著手制定SQL標(biāo)準(zhǔn),并在1986年10月公布了最早的SQL標(biāo)準(zhǔn)。標(biāo)準(zhǔn)的出臺使SQL作為標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)庫語言的地位得到加強(qiáng)。擴(kuò)展的標(biāo)準(zhǔn)版本是1989年發(fā)表的SQL-89,之后還有1992年制定的版本SQL-92和1999年ISO發(fā)布的版本SQL-99。
SQL標(biāo)準(zhǔn)幾經(jīng)修改和完善,其功能更加強(qiáng)大,但目前很多數(shù)據(jù)庫系統(tǒng)只支持SQL-99的部分特征,而大部分?jǐn)?shù)據(jù)庫系統(tǒng)都能支持1992年制定的SQL-92。
3.1.2 SQL的特點(diǎn)
目前,SQL語言已經(jīng)成為幾乎所有主流數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言,所以其魅力是可想而知的。SQL語言不僅功能強(qiáng)大,而且容易掌握。下面是其最主要的5個特點(diǎn)。
1.具有綜合統(tǒng)一性
SQL語言格式統(tǒng)一,能夠獨(dú)立完成數(shù)據(jù)庫系統(tǒng)使用過程中的數(shù)據(jù)錄入、關(guān)系模式的定義、數(shù)據(jù)庫的建立,以及數(shù)據(jù)查詢、插入、刪除、更新、數(shù)據(jù)庫重構(gòu)與數(shù)據(jù)庫安全性控制等一系列操作的要求,為用戶提供了開發(fā)數(shù)據(jù)庫應(yīng)用系統(tǒng)的良好環(huán)境。用戶在數(shù)據(jù)庫投入運(yùn)行后,還可根據(jù)需要隨時修改數(shù)據(jù)模式,而不影響數(shù)據(jù)庫的運(yùn)行,使系統(tǒng)具有良好的可擴(kuò)充性。
2.非過程化語言
SQL語言與C、COBOL、Basic等語言不同,它不是一種完全的語言。SQL語言并不能編寫通用的程序,因?yàn)樗鼪]有普通過程化語言中的IF和FOR等語句,只是一種操作數(shù)據(jù)庫的語言,屬于非過程化語言。
3.語言簡潔,用戶容易接受
SQL語言十分簡潔,完成主要功能只需使用9個動詞,如表3.1所示。雖然SQL只使用9個動詞,但其功能強(qiáng)大、設(shè)計精巧、語言語句簡潔,使用戶非常容易接受。
4.以一種語法結(jié)構(gòu)提供兩種使用方式
SQL語言既是自含式語言,又是嵌入式語言,且在兩種不同的使用方式下,SQL語言的語法結(jié)構(gòu)基本上是一致的。作為自含式語言,能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式,用戶可以在終端鍵盤上直
第3章 SQL語言基礎(chǔ)
·25·
接輸入SQL命令對數(shù)據(jù)庫進(jìn)行操作。作為嵌入式語言,SQL語句能夠嵌入到高級語言中,為程序員的程序設(shè)計提供了方便。