當(dāng)前位置: 首頁(yè) > 自學(xué)考試 > 自學(xué)考試備考資料 > 自考《數(shù)據(jù)庫(kù)原理》串講-關(guān)系數(shù)據(jù)庫(kù)SQL語(yǔ)言

自考《數(shù)據(jù)庫(kù)原理》串講-關(guān)系數(shù)據(jù)庫(kù)SQL語(yǔ)言

更新時(shí)間:2012-12-10 10:11:59 來(lái)源:|0 瀏覽0收藏0

自學(xué)考試報(bào)名、考試、查分時(shí)間 免費(fèi)短信提醒

地區(qū)

獲取驗(yàn)證 立即預(yù)約

請(qǐng)?zhí)顚?xiě)圖片驗(yàn)證碼后獲取短信驗(yàn)證碼

看不清楚,換張圖片

免費(fèi)獲取短信驗(yàn)證碼

  第三章 關(guān)系數(shù)據(jù)庫(kù)SQL語(yǔ)言

  本章為重點(diǎn)章,應(yīng)熟悉和掌握SQL的數(shù)據(jù)定義、數(shù)據(jù)查詢(xún)、數(shù)據(jù)更新的句法及其應(yīng)用,特別是數(shù)據(jù)查詢(xún)的應(yīng)用。結(jié)合上機(jī)操作進(jìn)行理解和掌握。

  一、SQL概述。

  1、SQL發(fā)展歷程( 識(shí)記 )

  SQL從1970年美國(guó)IBM研究中心的E.F.Codd發(fā)表論文到1974年Boyce和Chamberlin把SQUARE語(yǔ)言改為SEQUEL語(yǔ)言,到現(xiàn)在還在不斷完善和發(fā)展之中,SQL(結(jié)構(gòu)式查詢(xún)語(yǔ)言)雖然名為查詢(xún),但實(shí)際上具有定義、查詢(xún)、更新和控制等多種功能。

  2、SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)( 領(lǐng)會(huì) )

  SQL數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)也是三級(jí)結(jié)構(gòu) ,但術(shù)語(yǔ)與傳統(tǒng)關(guān)系模型術(shù)語(yǔ)不同,在SQL中,關(guān)系模式稱(chēng)為“ 基本表 ”,存儲(chǔ)模式稱(chēng)為“ 存儲(chǔ)文件 ”,子模式稱(chēng)為“ 視圖 ”,元組稱(chēng)“ 行 ”,屬性稱(chēng)“ 列 ”。

  SQL數(shù)據(jù)庫(kù)體系的結(jié)構(gòu)要點(diǎn)如下:

  (1)一個(gè)SQL數(shù)據(jù)庫(kù)是表的匯集。

  (2)一個(gè)SQL表由行集構(gòu)成,行是列的序列,每列對(duì)應(yīng)一個(gè)數(shù)據(jù)項(xiàng)。

  (3)表或者是基本表,或者是視圖?;颈硎菍?shí)際存儲(chǔ)在數(shù)據(jù)庫(kù)中的表,視圖由是由若干基本表或其他視圖構(gòu)成的表的定義。

  (4)一個(gè)基本表可以跨一個(gè)或多個(gè)存儲(chǔ)文件,一個(gè)存儲(chǔ)文件也可存放一個(gè)或多個(gè)基本表。存儲(chǔ)文件與物理文件對(duì)應(yīng)。

  (5)用戶(hù)可以用SQL語(yǔ)句對(duì)表進(jìn)行操作,包括視圖和基本表。

  (6)SQL的用戶(hù)可以是應(yīng)用程序,也可以是終端用戶(hù)。

  3、SQL的組成( 識(shí)記 )

  SQL由四部分組成:

  (1)數(shù)據(jù)定義:SQL DDL.定義SQL模式,基本表、視圖和索引。

  (2)數(shù)據(jù)操縱:SQL DML.包括數(shù)據(jù)查詢(xún)和數(shù)據(jù)更新(增、刪、改)。

  (3)數(shù)據(jù)控制:包括對(duì)基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制等。

  (4)嵌入式SQL的使用規(guī)定。

  二、SQL的數(shù)據(jù)定義( 簡(jiǎn)單應(yīng)用 )

  1、SQL模式的創(chuàng)建和撤消:

  SQL 模式的創(chuàng)建 可簡(jiǎn)單理解為建立一個(gè)數(shù)據(jù)庫(kù),定義一個(gè)存儲(chǔ)空間,其句法是:

  CREAT SCHEMA <模式名> AUTHORIZATION <用戶(hù)名>

  撤消SQL模式的句法為:

  DROP SCHEMA <模式名> [ CASCADE | RESTRICT ]

  方括號(hào)中的選項(xiàng)參數(shù)CASCADE表示連鎖方式,執(zhí)行時(shí)將模式下所有基本表、視圖、索引等元素全部撤消。RESTRICT表示約束式,執(zhí)行時(shí)必須在SQL模式中沒(méi)有任何下屬元素時(shí)方可撤消模式。

  2、SQL提供的基本數(shù)據(jù)類(lèi)型

  數(shù)值型:包括 integer、smallint、real、double precision 、float(n),numeric(p,d)

  字符串型:char(n)、varchar(n),前者是定長(zhǎng),后者為變長(zhǎng)串

  位串型:bit(n),bit varying(n),同上。

  時(shí)間型:date、time.

  3、基本表的創(chuàng)建、修改和撤消

  基本表的創(chuàng)建:(可理解為建立表結(jié)構(gòu))

  CREAT TABLE SQL 模式名?;颈砻?/P>

  (列名,類(lèi)型,

  ……

  完整性約束……)

  完整性約束包括主鍵子句(PRIMARY KEY)、檢查子句(CHECK)和外鍵子句(Foreign KEY)。

  基本表結(jié)構(gòu)的修改

  ALTER TABLE 基本表名 ADD/ DROP (增加/刪除) 列名 類(lèi)型名(增加時(shí)寫(xiě)出)

  刪除時(shí)有子句 [CASCADE|RESTRICT],前者為連鎖刪除,后者為約束刪除,即沒(méi)有對(duì)本列的任何引用時(shí)才能刪除。

  基本表的撤消

  DROP TABLE 基本表名 [CASCADE|RESTRICT]

  4、視圖的創(chuàng)建和撤消

  創(chuàng)建: CREAT VIEW 視圖名(列名表) AS SELECT 查詢(xún)語(yǔ)句

  撤消: DROP VIEW 視圖名

  5、索引的創(chuàng)建和撤消

  創(chuàng)建: CREAT [UNIQUE] INDEX 索引名 ON 基本表名(列名表 [ASC|DESC])

  撤消: DROP INDEX 索引名

  總結(jié):凡創(chuàng)建都用 CREAT ,刪除都用 DROP ,改變用 alter ,再跟類(lèi)型和名字,附加子句很容易了。

  三、SQL的數(shù)據(jù)查詢(xún)( 綜合應(yīng)用 )

  這一段是本章的重點(diǎn)內(nèi)容,應(yīng)該熟練掌握。首先了解基本句法:

  1、 SELECT -FROM- WHERE 句型

  SELECT 列名表(逗號(hào)隔開(kāi)) FROM 基本表或視圖序列 WHERE 條件表達(dá)式

  在這里,重點(diǎn)要掌握條件表達(dá)式中各種運(yùn)算符的應(yīng)用,如=,>,<,<>等算術(shù)比較運(yùn)算符、邏輯運(yùn)算符 AND、OR、NOT 、集合成員資格運(yùn)算符: IN,NOT IN ,以及嵌套的 SELECT 語(yǔ)句的用法要特別注意理解。 針對(duì)課本的例題和課后習(xí)題進(jìn)行掌握。

  在查詢(xún)時(shí), SELECT 語(yǔ)句可以有多種寫(xiě)法,如 聯(lián)接查詢(xún)、嵌套查詢(xún)和使用存在量詞的嵌套查詢(xún) 等。最好都掌握,但是起碼應(yīng)能寫(xiě)出一種正確的查詢(xún)語(yǔ)句。

  2. SELECT 語(yǔ)句完整的句法:

  SELECT 列名表(逗號(hào)隔開(kāi))

  FROM 基本表或視圖序列

  [ WHERE 條件表達(dá)式] (此為和條件子句)

  [GROUP BY 列名序列] (分組子句)

  [HAVING 組條件表達(dá)式] (組條件子句)

  [ORDER BY列名[ASC|DESC]……] (排序子句)

  這段關(guān)于完整句法的內(nèi)容能夠理解也就問(wèn)題不大了。

  3、 SELECT 語(yǔ)句中的限定

  這一段內(nèi)容主要是對(duì) SELECT 語(yǔ)句進(jìn)一步使用進(jìn)行的深入學(xué)習(xí),領(lǐng)會(huì)下列各種限定的使用目的和方法。

  要求輸出表格中不出現(xiàn)重復(fù)元組,則在 SELECT 后加一DISTINCT

  SELECT 子句中允許出現(xiàn)加減乘除及列名,常數(shù)的算術(shù)表達(dá)式

  WHERE 子句中可以用BETWEEN……AND……來(lái)限定一個(gè)值的范圍

  同一個(gè)基本表在 SELECT 語(yǔ)句中多次引用時(shí)可用AS來(lái)增加別名

  WHERE 子句中字符串匹配用LIKE和兩個(gè)通配符,%和下劃線(xiàn)_.

  查詢(xún)結(jié)果的結(jié)構(gòu)完全一致時(shí)可將兩個(gè)查詢(xún)進(jìn)行并(UNION)交(INTERSECT)差(EXCPT)操作

  查詢(xún)空值操作不是用='null',而是用 IS NULL來(lái)測(cè)試。

  集合成員資格比較用 IN/NOT IN ,集合成員算術(shù)比較用元組θSOME/ALL

  可以用子查詢(xún)結(jié)果取名(表名(列名序列))來(lái)作為導(dǎo)出表使用

  基本表的自然聯(lián)接操作是用 NATURAL INNER JOIN來(lái)實(shí)現(xiàn)的。

  四、SQL的數(shù)據(jù)更新( 簡(jiǎn)單應(yīng)用 )

  簡(jiǎn)單應(yīng)用就是掌握基本的句型并能套用在一些簡(jiǎn)單的查詢(xún)要求上。

  1、數(shù)據(jù)插入:

  INSERT INTO 基本表名(列名表)

  valueS (元組值)

  或

  INSERT INTO 基本表名(列名表)

  SELECT 查詢(xún)語(yǔ)句

  其中元組值可以連續(xù)插入。用查詢(xún)語(yǔ)句可以按要求插入所需數(shù)據(jù)。

  2、數(shù)據(jù)刪除:

  DELETE FROM 基本表名 [ WHERE 條件表達(dá)式]

  3、數(shù)據(jù)修改:

  UPDATE 基本表名

  SET 列名=值表達(dá)式,[列名=值表達(dá)式……]

  [ WHERE 條件表達(dá)式]

  4、對(duì)視圖的更新:

  我們知道,對(duì)視圖的查詢(xún)是和基本表相同的,但是更新操作則受到下列三條規(guī)則的限制:(領(lǐng)會(huì)一下)

  如果視圖是從多個(gè)基本表使用聯(lián)接操作導(dǎo)出的,則不允許更新。

  如果導(dǎo)出的視圖使用了分組和聚合操作,也不允許更新。

  如果視圖是從單個(gè)基本表使用選擇和投影操作導(dǎo)出的,并且包括了基本表的主鍵或某個(gè)候選鍵,則可以執(zhí)行操作。(這就相當(dāng)于在基本表上操作)。

  這一節(jié)的關(guān)于增刪改的操作要和前面關(guān)于數(shù)據(jù)庫(kù)模式、表的增刪改操作進(jìn)行對(duì)比學(xué)習(xí),以加深理解。不要忘記上機(jī)實(shí)踐 .

?2013年高教自考網(wǎng)絡(luò)輔導(dǎo)課程招生簡(jiǎn)章

?2013年1月自考報(bào)名

更多信息請(qǐng)?jiān)L問(wèn):自學(xué)考試頻道    自學(xué)考試論壇

分享到: 編輯:環(huán)球網(wǎng)校

資料下載 精選課程 老師直播 真題練習(xí)

自學(xué)考試資格查詢(xún)

自學(xué)考試歷年真題下載 更多

自學(xué)考試每日一練 打卡日歷

0
累計(jì)打卡
0
打卡人數(shù)
去打卡

預(yù)計(jì)用時(shí)3分鐘

環(huán)球網(wǎng)校移動(dòng)課堂APP 直播、聽(tīng)課。職達(dá)未來(lái)!

安卓版

下載

iPhone版

下載

返回頂部