Microsoft PowerPoint - EMDBCh08SQL1.ppt

Size: px
Start display at page:

Download "Microsoft PowerPoint - EMDBCh08SQL1.ppt"

Transcription

1 第 8 章 SQL-99: 綱要定義 基本限制與查詢 學習重點 CREATE TABLE DROP TABLE ALTER TABLE CREATE SCHEMA 參考完整性限制的選項 SQL2 與 SQL-99 的新增資料型態 SQL 中的基本查詢語法 SELECT-FROM-WHERE 結構 簡單的 SQL 查詢 別名 * 和 DISTINCT 的用法 未指定的 WHERE 子句 集合運算 巢狀查詢與相互關聯的巢狀查詢 2

2 學習重點 EXISTS 函數 明確指定的集合 SQL 查詢中的 NULL SQL2 的合併表格功能 聚合函數 分組與 HAVING 子句 子字串比對與算術運算 ORDER BY SQL 查詢語法總整理 INSERT DELETE UPDATE 3 變更資料定義 限制或綱要 用來建立 (CREATE) 刪除 (DROP) 和修改 (ALTER) 資料庫中表格 ( 關聯 ) 的描述 4

3 CREATE TABLE 用來建立一個新的關聯, 其方式為指定關聯的名稱 每個屬性即它們的資料型態 (INTEGER FLOAT DECIMAL(i,j) CHAR(n) VARCHAR(n)) 在屬性上還可能會指定限制 ( 如 NOT NULL) CREATE TABLE DEPARTMENT ( DNAME VARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9) ); 5 CREATE TABLE 在 SQL2 可使用 CREATE TABLE 命令來指定主鍵屬性 替代鍵和參考完整性限制 ( 外來鍵 ) 鍵值屬性是使用 PRIMARY KEY 和 UNIQUE 子句來指定 CREATE TABLE DEPT ( DNAMEVARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9), PRIMARY KEY (DNUMBER), UNIQUE (DNAME), FOREIGN KEY (MGRSSN) REFERENCES EMP ); 6

4 DROP TABLE 用來刪除綱要裡的關聯 ( 基底表格 ) 及其定義 之後在任何查詢或其他命令中就不能再用到這個關聯, 因為它的定義資訊已經不存在了 範例 : DROP TABLE DEPENDENT; 7 ALTER TABLE 用來變更基底關聯的定義 假如是新增一個屬性, 則在剛執行完此命令時, 關聯中所有值組的這個新屬性其值都是 NULL, 因此這時不允許有 NOT NULL 限制 範例 : ALTER TABLE EMPLOYEE ADD JOB VARCHAR(12); 之後資料庫使用者還是必須替每筆 EMPLOYEE 值組輸入新的屬性 JOB 的值 這可以使用 UPDATE 命令來做 8

5 SQL2 與 SQL-99 的新增功能 CREATE SCHEMA REFERENTIAL INTEGRITY OPTIONS 9 CREATE SCHEMA 指定名稱建立一個新的資料庫綱要 10

6 參考完整性限制的選項 可針對參考完整性限制 ( 外來鍵 ) 指定 RESTRICT CASCADE SET NULL 或 SET DEFAULT CREATE TABLE DEPT ( DNAME VARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9), PRIMARY KEY (DNUMBER), UNIQUE (DNAME), FOREIGN KEY (MGRSSN) REFERENCES EMP ON DELETE SET DEFAULT ON UPDATE CASCADE ); 11 參考完整性限制的選項 ( 續 ) CREATE TABLE EMP ( ENAME VARCHAR(30) NOT NULL, ESSN CHAR(9), BDATE DATE, DNO INTEGER DEFAULT 1, SUPERSSN CHAR(9), PRIMARY KEY (ESSN), FOREIGN KEY (DNO) REFERENCES DEPT ON DELETE SET DEFAULT ON UPDATE CASCADE, FOREIGN KEY (SUPERSSN) REFERENCES EMP ON DELETE SET NULL ON UPDATE CASCADE ); 12

7 SQL2 與 SQL-99 的新增資料型態 包括 DATE TIME 和 TIMESTAMP 資料型態 DATE: 由年 - 月 - 日所組成, 格式為 yyyy-mm-dd TIME: 由時 : 分 : 秒所組成, 格式為 hh:mm:ss TIME(i): 由時 : 分 : 秒加上代表幾分之一秒的數字 i 所組成 格式為 hh:mm:ss:ii...i 13 SQL2 與 SQL-99 的新增資料型態 TIMESTAMP ( 時間戳記 ): 由 DATE 和 TIME 元件所組成 INTERVAL ( 期間 ): 指定一個相對值, 而不是絕對值 可能是 YEAR/MONTH 期間或 DAY/TIME 期間 當它相加或相減另一個絕對值, 結果可能是正數或負數, 結果也會是絕對值 14

8 SQL 中的基本查詢語法 SQL 有個很重要的基本敘述, 可以讓我們從資料庫中擷取資訊, 也就是 SELECT 敘述 它與第 6 章所討論的關聯式代數的 SELECT 運算是不一樣的 SQL 與關聯式模型之間有個很重要的差異 :SQL 允許表格 ( 即關聯 ) 中存在兩筆或多筆所有屬性值完全相同的值組 因此, 通常 SQL 表格並非一個值組的集合, 因為集合不允許有重複的值組 SQL 表格是值組的多重集合 (multiset, 或稱為 bag) 不過 SQL 關聯如果有指定 PRIMARY KEY 或 UNIQUE 屬性, 或是在 SELECT 命令中加上 DISTINCT 選項, 此時的 SQL 關聯就必須是值組的集合 15 SELECT-FROM-WHERE 結構 基本的 SELECT 敘述, 有時也稱為 SELECT-FROM- WHERE 區塊 (block) SELECT FROM WHERE <attribute list> <table list> <condition> <attribute list> 是屬性名稱的列表, 在查詢時需要參考這些屬性的值 <table list> 列出處裡查詢時會用到的關聯 <condition> 是條件 ( 布林 ) 運算式, 用來識別查詢時所要擷取的值組 16

9 範例關聯式資料庫綱要 ( 圖 5.5) 17 範例資料庫的某個狀態 ( 圖 5.6) 18

10 簡單的 SQL 查詢 基本的 SQL 查詢是對應關聯式代數中的 SELECT PROJECT 和 JOIN 運算 接下來所有的範例都是使用 COMPANY 資料庫 每個簡單查詢範例是針對一個關聯 查詢範例 0: 擷取名叫 'John B. Smith' 員工的生日與住址 Q0: SELECT BDATE, ADDRESS FROM EMPLOYEE WHERE FNAME='John' AND MINIT='B AND LNAME='Smith 類似於關聯式代數的 SELECT-PROJECT 運算配對, 其中 SELECT 子句負責指定投影屬性, 而 WHERE 子句則負責指定選擇條件 不過, 查詢的結果可能會有重複的值組 19 簡單的 SQL 查詢 ( 續 ) 查詢範例 1: 擷取所有在 'Research' 部門工作的員工的姓名與住址 Q1:SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DNAME='Research' AND DNUMBER=DNO 類似關聯式代數運算中的 SELECT-PROJECT-JOIN (DNAME= Research ) 是選擇條件 ( 相當於關聯式代數的 SELECT 運算 ) (DNUMBER=DNO) 則是合併條件 ( 相當於在關聯式代數的 JOIN 運算 ) 20

11 簡單的 SQL 查詢 ( 續 ) 查詢範例 2: 列出所有位在 'Stafford' 地點的計畫其計畫編號 控管部門編號, 以及部門經理的姓氏 住址和生日 Q2:SELECT ADDRESS FROM WHERE AND PNUMBER, DNUM, LNAME, BDATE, PROJECT, DEPARTMENT, EMPLOYEE DNUM=DNUMBER AND MGRSSN=SSN PLOCATION='Stafford' 在 Q2 裡有兩個合併條件 合併條件 DNUM=DNUMBER 使得計劃與其控管部門產生關聯 合併條件 MGRSSN=SSN 則讓控管部門與管理此部門的員工產生關聯 21 別名 * 和 DISTINCT 空的 WHERE 子句 在 SQL 中, 只要屬性是屬於不同的關聯, 就可以讓兩個或多個屬性使用同樣的名稱 若查詢會參考到兩個或多個同名的屬性, 就必須用關聯名稱來修飾 (qualify) 屬性名稱, 做法是將關聯名稱放在屬性名稱之前, 並用英文的句點 (.) 來分隔範例 : EMPLOYEE.LNAME DEPARTMENT.DNAME 22

12 別名 有些查詢需要對同一個關聯參考兩次 在這類情況要對關聯名稱 aliases are given to the relation name 查詢範例 8: 擷取每一位員工的姓名與其直屬上司的姓名 Q8: SELECT E.FNAME, E.LNAME, S.FNAME, S.LNAME FROM EMPLOYEE E S WHERE E.SUPERSSN=S.SSN 在 Q8 中的替代關聯名稱 E 和 S 被稱作 EMPLOYEE 關聯的別名 (alias) 或值組變數 (tuple) 23 別名 ( 續 ) 我們可以將 E 和 S 想像成 EMPLOYEE 的兩份不同的副本 ; 是代表扮演部屬角色的員工, 而 S 則是代表扮演上司角色的員工 別名可以用在任何 SQL 查詢中 也可以使用 AS 關鍵字來指定別名 Q8: SELECT E.FNAME, E.LNAME, S.FNAME, S.LNAME FROM EMPLOYEE AS E, EMPLOYEE AS S WHERE E.SUPERSSN=S.SSN 24

13 未指定的 WHERE 子句 假如沒有 WHERE 的子句, 代表沒有選擇條件, 因此 FROM 子句裡所指定關聯的所有值組都會被選取 這就相當於條件是 WHERE TRUE 查詢範例 9: 在資料庫中選擇所有員工的 SSN 資料 Q9: SELECT SSN FROM EMPLOYEE 假如在 FROM 子句中指定一個以上的關聯, 而且沒有 WHERE 子句, 則表示結果等於這些關聯的 CROSS PRODUCT, 也就是所有可能的值組組合都會被選取 25 未指定的 WHERE 子句 ( 續 ) 查詢範例 10: 選擇 EMPLOYEE SSN 與 DEPARTMENT DNAME 的所有組合 Q10:SELECT SSN, DNAME FROM EMPLOYEE, DEPARTMENT 在 WHERE 子句中確實指定每一個選擇條件與合併條件是非常重要的, 否則可能會產生不正確或者是相當龐大的關聯 26

14 * 的用法 在 SQL 中, 假如要擷取所選值組的所有屬性值, 只需要用一個星號 (*) 即可, 這個星號就代表所有的屬性, 例如 : Q1C: SELECT * FROM EMPLOYEE WHERE DNO=5 Q1D: SELECT * FROM EMPLOYEE, DEPARTMENT WHERE DNAME='Research' AND DNO=DNUMBER 27 DISTINCT 的用法 SQL 通常不會將關聯視為集合, 因此可以出現重複的值組 為了消除查詢結果中的重複值組, 可使用關鍵字 DISTINCT 例如 Q11 的結果可能會有重複的 SALARY 值, 而 Q11A 則不會有任何重複值 Q11:SELECT SALARY FROM EMPLOYEE Q11A: SELECT DISTINCT SALARY FROM EMPLOYEE 28

15 集合運算 SQL 已經直接整合關聯式代數的某些集合運算 通常都會有聯集運算 (UNION), 有些 SQL 版本還會有差集 (MINUS) 和交集 (INTERSECT) 運算 這些集合運算所產生的關聯是值組的集合 ; 也就是說, 重複的值組會在結果中被除去 集合運算只能應用在聯集相容的關聯上, 所以必須先確定要運算的兩個關聯具有相同的屬性, 而且這些屬性出現在兩個關聯的順序也相同 29 集合運算 ( 續 ) 查詢範例 4: 列出姓氏為 'Smith' 的員工所參與的所有計畫, 不論該員工是計畫的工作人員或是管理此計畫的部門經理 Q4: (SELECT PNAME FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE DNUM=DNUMBER AND MGRSSN=SSN AND LNAME='Smith') UNION (SELECT PNAME FROM PROJECT, WORKS_ON, EMPLOYEE WHERE PNUMBER=PNO AND ESSN=SSN AND LNAME='Smith') 30

16 巢狀查詢 所謂的巢狀查詢 (nested query) 是指在一個查詢的 WHERE 子句內, 含有完整的 SELECT-FROM- WHERE 區塊 此時這個外部的 WHERE 查詢被稱為外部查詢 (outer query) 很多之前的查詢範例都可以使用巢狀查詢來改寫 查詢範例 1: 擷取所有在 'Research' 部門工作的員工的姓名與住址 Q1: SELECT FNAME, LNAME, ADDRESS FROM EMPLOYEE WHERE DNO IN (SELECT DNUMBER FROM DEPARTMENT WHERE DNAME='Research' ) 31 巢狀查詢 ( 續 ) 由巢狀查詢先選出 Research 部門的編號 外部查詢來選擇其 DNO 值屬於巢狀查詢結果中的 EMPLOYEE 值組 這裡的比較運算子 IN 是 v 值與由 V 值所組成的集合 ( 或多重集合 ), 若 v 隸屬於 V 則結果為 TRUE 通常可以使用好幾層巢狀查詢 假如屬性沒有明確指定是哪個關聯, 那麼就以最內層 (innermost) 的查詢所宣告的關聯為準 此例的巢狀查詢與外部查詢沒有關聯 32

17 相互關聯的巢狀查詢 假如巢狀查詢中 WHERE 子句中的條件, 會參考到宣告在外部查詢的關聯裡的某些屬性, 就稱這兩個查詢是相互關聯的 (correlated) 相互關聯的巢狀查詢其結果與外部查詢關聯的每個值組 ( 或值組組合 ) 不同 查詢範例 16: 擷取眷屬的名字和性別與員工本人相同的員工姓名 Q16: SELECT E.FNAME, E.LNAME FROM EMPLOYEE AS E WHERE E.SSN IN (SELECT ESSN FROM DEPENDENT WHERE E.FNAME=DEPENDENT_NAME AND E.SEX=D.SEX); 33 相互關聯的巢狀查詢 ( 續 ) 在 Q16 中, 巢狀查詢其結果與外部查詢關聯的結果值組不同 以巢狀 SELECT-FROM-WHERE 區塊所撰寫, 而且使用 = 或 IN 比較運算子的查詢, 一定可以改寫成單一區塊的查詢 例如 Q16 可以改寫成 Q16A: Q16A: SELECT E.FNAME, E.LNAME FROM EMPLOYEE AS E, DEPENDENT AS D WHERE E.SSN=D.ESSN AND E.SEX=D.SEX AND E.FNAME=D.DEPENDENT_NAME 34

18 EXISTS 函數 EXISTS 函數, 是用來檢查相互關聯的巢狀查詢的結果是否為空的 ( 沒有任何值組 ) 將查詢範例 16 用 EXISTS 改寫成 Q16B 如下 : Q16B: SELECT E.FNAME, E.LNAME FROM EMPLOYEE AS E WHERE EXISTS (SELECT * FROM DEPENDENT WHERE E.SSN=ESSN AND E.SEX=SEX AND E.FNAME=DEPENDENT_NAME 35 EXISTS 函數 ( 續 ) 查詢範例 6: 擷取沒有眷屬的員工姓名 Q6: SELECT FNAME, LNAME FROM EMPLOYEE WHERE NOT EXISTS (SELECT * FROM DEPENDENT WHERE SSN=ESSN) 在 Q6 中, 相互關聯的巢狀查詢會擷取所有與 EMPLOYEE 值組相關聯的 DEPENDENT 值組, 如果不存在則此 EMPLOYEE 值組會被選取 對於 SQL 的表達能力而言,EXISTS 是必要的 36

19 明確指定的集合 也可以在 WHERE 子句中, 使用明確數值的集合來取代巢狀查詢 查詢範例 17: 擷取所有在 1 2 或 3 號計畫工作的員工的社會安全號碼 Q13: SELECT DISTINCT ESSN FROM WORKS_ON WHERE PNO IN (1, 2, 3) 37 SQL 查詢中的 NULL SQL 可以檢查某個值是否為 NULL ( 未知或無法取得或不適用 ) SQL 是使用 IS 或 IS NOT 來比較 NULL, 因為 SQL 將每一個空值都視為與其他的空值不同, 所以不應該比較是否相等 查詢範例 18: 擷取所有沒有上司的員工姓名 Q14: SELECT FNAME, LNAME FROMEMPLOYEE WHERE SUPERSSN IS NULL 注意 : 在指定合併條件時, 合併屬性為空值的值組不會被包含在結果內 38

20 SQL2 的合併表格功能 可以在 FROM 子句中指定合併運算所得結果的表格 看起來和其他關聯一樣, 不過它是合併運算的結果 使用者可以指定各種不同類型的合併運算 ( 一般的 theta JOIN NATURAL JOIN LEFT OUTER JOIN RIGHT OUTER JOIN CROSS JOIN 等 ) 39 SQL2 的合併表格功能 ( 續 ) 範例 : Q8: SELECTE.FNAME, E.LNAME, S.FNAME, S.LNAME FROM EMPLOYEE E S WHERE E.SUPERSSN=S.SSN 可以改寫成 : Q8: SELECTE.FNAME, E.LNAME, S.FNAME, S.LNAME FROM (EMPLOYEE E LEFT OUTER JOIN EMPLOYEES ON E.SUPERSSN=S.SSN) 40

21 SQL2 的合併表格功能 ( 續 ) Q1: SELECTFNAME, LNAME, ADDRESS FROM EMPLOYEE, DEPARTMENT WHERE DNAME='Research' AND DNUMBER=DNO 可以改寫成 : Q1A:SELECT FNAME, LNAME, ADDRESS FROM (EMPLOYEE JOIN DEPARTMENT ON DNUMBER=DNO) WHERE DNAME= Research 或者是 : Q1B:SELECT FNAME, LNAME, ADDRESS FROM (EMPLOYEE NATURAL JOIN DEPARTMENT AS DEPT(DNAME, DNO, MSSN, MSDATE) WHERE DNAME='Research 41 SQL2 的合併表格功能 ( 續 ) 另一個範例 : Q2 可以改寫如下 合併條件也可能是巢狀的 ; 也就是說, 要合併的表格本身就是一個已合併的表格 Q2A: SELECT PNUMBER, DNUM, LNAME, BDATE, ADDRESS FROM (PROJECT JOIN DEPARTMENT ON DNUM=DNUMBER) JOIN EMPLOYEE ON MGRSSN=SSN) ) WHERE PLOCATION='Stafford 42

22 聚合函數 包括 COUNT SUM MAX MIN 和 AVG 查詢範例 19: 計算出所有員工薪資的總和 最高薪資 最低薪資和平均薪資 Q19: SELECT MAX(SALARY), MIN(SALARY), AVG(SALARY) FROMEMPLOYEE 有些 SQL 版本可能不允許在 SELECT 子句中有一個以上的函數 43 聚合函數 ( 續 ) 查詢範例 20: 計算出所有在 'Research' 部門工作的員工其薪資總和, 以及此部門員工的最高薪資 最低薪資與平均薪資 Q20: SELECT MAX(SALARY), MIN(SALARY), AVG(SALARY) FROMEMPLOYEE, DEPARTMENT WHERE DNO=DNUMBER AND DNAME='Research' 44

23 聚合函數 ( 續 ) 查詢範例 21 和 22: 計算公司裡員工的總數 (Q21), 以及在 Research 部門工作的員工總數 (Q22) Q21: SELECT COUNT (*) FROM EMPLOYEE Q22: SELECT COUNT (*) FROM EMPLOYEE, DEPARTMENT WHERE DNO=DNUMBER AND DNAME='Research 45 分組 在很多時候會需要將聚合函數應用在關聯中, 根據某些屬性值分類的值組子群組上 每個子群組是由指定的群組化屬性 (grouping attribute) 分組而成, 每一組的群組化屬性值是相同的 真對每個子群組分別使用函數 SQL 提供 GROUP BY 子句用來指定群組化屬性, 它一定要出現在 SELECT 子句中 46

24 分組 ( 續 ) 查詢範例 24: 列出每個部門的編號, 以及此部門的工作員工人數和平均薪資 Q24:SELECT DNO, COUNT (*), AVG (SALARY) FROM EMPLOYEE GROUP BY DNO 在 Q24 將 EMPLOYEE 值組分成數個群組, 每個群組都有相同的群組化屬性 DNO 值 而在每個值組群組中分別執行 COUNT 與 AVG 函數 SELECT 子句只包含群組化屬性及在每個值組群組上執行的函數 合併條件可與分組功能搭配使用 47 分組 ( 續 ) 查詢範例 25: 擷取每一個計畫的計畫編號 計畫名稱 以及在此計畫裡工作的員工人數 Q25:SELECT PNUMBER, PNAME, COUNT (*) FROM PROJECT, WORKS_ON WHERE PNUMBER=PNO GROUP BY PNUMBER, PNAME 此例的分組與函數要等到兩個關聯合併之後才會執行 48

25 HAVING 子句 有時候會只需要擷取滿足特定條件群組的函數值 此時可使用 HAVING 子句在群組 ( 而不是個別值組 ) 上指定選擇條件 49 HAVING 子句 ( 續 ) 查詢範例 26: 對工作員工在兩人以上的每個計畫, 擷取其計畫編號 計畫名稱以及計畫中的工作員工人數 Q26: SELECT PNUMBER, PNAME, COUNT (*) FROM PROJECT, WORKS_ON WHERE PNUMBER=PNO GROUP BY PNUMBER, PNAME HAVING COUNT (*) > 2 50

26 子字串比對 LIKE 比較運算子可用來比對子字串 部份字串的指定方式是藉由兩個保留字元 : 百分比 % 字元可取代任意數目的字元, 底線 _ 字元則可取代單一字元 51 子字串比對 ( 續 ) 查詢範例 12: 擷取所有住址在 Houston, Texas 的員工 也就是說 ADDRESS 屬性的值必須包含子字串 'Houston,TX Q12: SELECT FNAME, LNAME FROM EMPLOYEE WHERE ADDRESS LIKE '%Houston,TX% 52

27 子字串比對 ( 續 ) 查詢範例 12A: 擷取所有在 1950 年代出生的員工 根據日期的格式, 此例 5 必須是字串的第 3 個字元, 因此 BDATE 值是 5 _, 這裡的底線字元可以是任何一個字元 Q12A: SELECT FNAME, LNAME FROM EMPLOYEE WHERE BDATE LIKE 5 _ 53 算術運算 在數值的資料或屬性上可使用一般的標準四則運算 (+ - * /) 查詢範例 13: 顯示出所有工作於 'ProductX' 計畫的員工加薪 10% 後的薪資結果 Q13: SELECT FNAME, LNAME, 1.1*SALARY FROMEMPLOYEE, WORKS_ON, PROJECT WHERE SSN=ESSN AND PNO=PNUMBER AND PNAME='ProductX 54

28 ORDER BY ORDER BY 子句是用來針對值組內的一或多個屬性值, 將查詢結果的值組加以排序 查詢範例 15: 擷取員工與他們所工作計畫的清單, 在清單中先針對部門號碼排序, 每個部門內再依員工姓名的字母順序排序 Q15: SELECT DNAME, LNAME, FNAME, PNAME FROM DEPARTMENT, EMPLOYEE, WORKS_ON, PROJECT WHERE DNUMBER=DNO AND SSN=ESSN AND PNO=PNUMBER ORDER BY DNAME, LNAME 55 ORDER BY ( 續 ) 預設的順序是遞增排序 使用關鍵字 DESC 可變成遞減排序, 而關鍵字 ASC 則是用來更明確的指定遞增排序 56

29 SQL 查詢語法總整理 SQL 的查詢最多可包含 6 個子句, 但只有前兩個 SELECT 與 FROM 子句是必要的 子句是以下列的順序來指定 : SELECT FROM [WHERE <attribute list> <table list> <condition>] [GROUP BY <grouping attribute(s)>] [HAVING <group condition>] [ORDER BY <attribute list>] 57 SQL 查詢語法總整理 ( 續 ) SELECT 子句中列出被擷取的屬性或函數 FROM 子句是指定所有在查詢時需要的關聯 ( 表格 ), 包括合併的關聯, 但不包括巢狀查詢所需的關聯 WHERE 子句是指定從這些關聯裡選取值組的條件, 同時視需要加入合併條件 GROUP BY 子句中指定群組化屬性 HAVING 子句所指定的是群組的選取條件 ORDER BY 用來指定查詢結果的顯示順序 理論上查詢最早執行的會是 FROM 子句, 接著是 WHERE 子句, 然後是 GROUP BY 和 HAVING 子句, 最後是 ORDER BY 子句用來將查詢結果排序 58

30 SQL 的修改命令 在 SQL 中有 3 個命令可以用來修改資料庫 : INSERT DELETE 和 UPDATE 59 INSERT 最簡單的 INSERT 形式是在關聯中加入一筆值組 在指定值組內欄位的值時, 必須以 CREATE TABLE 命令指定的屬性順序來排列 60

31 INSERT ( 續 ) 範例 : U1: INSERT INTO EMPLOYEE VALUES ('Richard','K','Marini', ' ', '30-DEC-52', '98 Oak Forest,Katy,TX', 'M', 37000,' ', 4 ) 另一種形式是允許使用者明確的指定對應到 INSERT 命令裡的數值的屬性名稱 可以有 NULL 或 DEFAULT 值的屬性則可以不指定資料值 範例 : 輸入一筆只指定 FNAME LNAME 和 SSN 屬性的新 EMPLOYEE 值組 U1A: INSERT INTO EMPLOYEE (FNAME, LNAME, SSN) VALUES ('Richard', 'Marini', ' ') 61 INSERT ( 續 ) 注意 : 只有以 DDL 命令指定的限制,DBMS 才會在變 更資料庫時自動遵守 INSERT 命令有種變化形式, 就是在一個查詢中插入多個值組到關聯 62

32 INSERT ( 續 ) 範例 : 假設要建立具有每個部門的名稱 員工人數與總薪資的暫存表格 首先使用 U3A 建立 DEPTS_INFO 表格, 然後再使用 U3B 從資料庫中擷取摘要資訊 U3A: CREATE TABLE DEPTS_INFO (DEPT_NAME VARCHAR(10), NO_OF_EMPSINTEGER, TOTAL_SAL INTEGER); U3B: INSERT INTO DEPTS_INFO (DEPT_NAME, NO_OF_EMPS, TOTAL_SAL) SELECT DNAME, COUNT (*), SUM (SALARY) FROM DEPARTMENT, EMPLOYEE WHERE DNUMBER=DNO GROUP BY DNAME ; 63 INSERT ( 續 ) 注意 :DEPTS_INFO 表格可能不是最新的 ; 也就是 說, 假如在執行過 U3B 之後才更新 DEPARTMENT 或 EMPLOYEE 關聯, 則 DEPTS_INFO 內的資訊就會變 成過時的資訊 因此最好是建立所謂的視界 (view), 才能讓表格的資料維持最新 64

33 DELETE 用來將值組從關聯中移除 包括 WHERE 子句來選取要被刪除的值組 一次只能從一個表格中刪除值組 ( 除非在參考完整性限制上有指定 CASCADE) 假如沒有指定 WHERE 子句, 則會將值組全部刪除, 最後把這個表格當作一個空的表格留在資料庫中 被刪除的值組個數是根據符合 WHERE 子句條件的個數 一定會遵守參考完整性限制 65 DELETE ( 續 ) 範例 : U4A: DELETE FROM EMPLOYEE WHERE LNAME='Brown U4B: DELETE FROM EMPLOYEE WHERE SSN=' U4C: DELETE FROM EMPLOYEE WHERE DNO IN (SELECT DNUMBER FROM DEPARTMENT WHERE DNAME='Research') U4D: DELETE FROM EMPLOYEE 66

34 UPDATE 用來修改一或多個被選取值組的屬性值 WHERE 子句從關聯中選取要修改的值組 SET 子句是用來指定被修改的屬性和它的新數值 每個命令修改同一個關聯裡的值組 一定會遵守參考完整性限制 67 UPDATE ( 續 ) 範例 : 將 10 號計劃的位置與控管部門編號分別改成 'Bellaire' 和 5 U5: UPDATE PROJECT SET PLOCATION = 'Bellaire', DNUM = 5 WHERE PNUMBER=10 68

35 UPDATE ( 續 ) 範例 : 將所有在 'Research' 部門工作的員工加薪 10% U6: UPDATE EMPLOYEE SET SALARY = SALARY *1.1 WHERE DNO IN (SELECT DNUMBER FROM DEPARTMENT WHERE DNAME='Research') 因為修改後的薪資值是依據每個值組原先的薪資值, 所以需要參考 SALARY 屬性兩次 U6 中右邊的 SALARY 屬性的參考動作是參考在修改前的舊 SALARY 值 左邊的是參考在修改之後的新 SALARY 值 69 學習評量 請列出 SQL 所允許的合法的屬性資料型態 請描述 SQL 查詢中的 6 個子句的語法? 並分別說明這 6 個子句中分別可以指定什麼種類的元件? 這 6 個子句中哪些是必要的? 那些是選用的? 請說明在理論上 SQL 查詢的 6 個子句的執行順序 請說明 SQL 在執行比較運算時如何處理 NULL 值 假如在 SQL 查詢中有用到聚合函數時, 又是如何處理 NULL 值? 如果在群組化屬性中有 NULL 時又是如何處理? 70

36 學習評量 以圖 1.2 的資料庫為例, 其綱要如圖 2.1 在此綱要中哪一個是必須保持的參考完整性限制? 請撰寫適當的 SQL DDL 敘述來定義資料庫 請以 SQL 語言來撰寫下列關於圖 5.5 資料庫的查詢, 假設每個查詢都應用在圖 5.6 的資料庫上 請分別說明查詢的結果 a. 對員工平均薪資超過 $30,000 的每個部門, 擷取其部門名稱與此部門的工作員工人數 b. 假設想要擷取在每個部門工作的男性員工人數, 而不是如習題 (a) 的全部員工人數 請問能夠用 SQL 來寫出這樣的查詢嗎? 理由為何? 71

Chapter 8

Chapter 8 第 8 章 Part I SQL 查詢 第 8 章 SQL 查詢 SQL 簡介 結構化查詢語言 SQL (Structured Query Language) 關連式資料庫系統的標準語言 SQL 功能包括 資料定義 查詢與更新敘述 既是 DDL, 也是 DML 定義資料庫視界 安全性與權限 完整性及交易控制 具備嵌入 Java COBOL 或 C/C++ 等語言的機制 第 8 章 SQL 查詢 2

More information

Chapter 8

Chapter 8 第 8 章 SQL-99: 綱要定義 限制 查詢與視界 1 CONTENTS Create Table Drop Table Alter Table SQL 的修改命令 INSERT, DELETE, UPDATE CREAT ASSERTION VIEW 2 變更資料定義 限制或綱要 用來建立 (CREATE) 刪除 (DROP) 和修改 (ALTER) 資料庫中表格 ( 關聯 ) 的描述 3 CREATE

More information

untitled

untitled Database System Principle Database System Principle 1 SQL 3.1 SQL 3.2-3.3 3.4 3.5 3.6 Database System Principle 2 3.1 SQL SQL Structured Query Language SQL Database System Principle 3 SQL 3.1.1 SQL 3.1.2

More information

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S

DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( ) SQL ( ) DB2 SQL DB2 DB2 SQL DB2 DB2 SQL DB2 ( DB2 ) DB2 DB2 DB2 SQL DB2 (1) SQL (2) S 9 DB2 优化器 DB2 SQL select c1 c2 from ( DB2 )??? DB2?!?, no no DB2 I/O ( transrate overhead ) SQL DML (INSERT UPDATE DELETE) DB2 (access plan) DB2 (join) SQL DB2 11 SQL DB2 SQL 9.1 DB2 DB2 ( 728 747 ) SQL

More information

untitled

untitled OO 1 SQL Server 2000 2 SQL Server 2000 3 SQL Server 2000 DDL 1 2 3 DML 1 INSERT 2 DELETE 3 UPDATE SELECT DCL 1 SQL Server 2 3 GRANT REVOKE 1 2 1 2 3 4 5 6 1 SQL Server 2000 SQL Server SQL / Microsoft SQL

More information

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护 数 据 库 系 统 基 础 1/54 数 据 库 系 统 基 础 哈 尔 滨 工 业 大 学 2011.~2012. 数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护 数 据 库 系 统 基 础 3/54 第 6 章 数 据 库 管 理 与 维 护 6.1 数 据 库 管 理 员 的 基 本 职 责 6.2 数 据 库 存 储 与 性 能 管 理 6.3 数 据 库

More information

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘 ITE 資 訊 專 業 人 員 鑑 定 資 料 庫 系 統 開 發 與 設 計 實 務 試 卷 編 號 :IDS101 注 意 事 項 一 本 測 驗 為 單 面 印 刷 試 題, 共 計 十 三 頁 第 二 至 十 三 頁 為 四 十 道 學 科 試 題, 測 驗 時 間 90 分 鐘 : 每 題 2.5 分, 總 測 驗 時 間 為 90 分 鐘 二 執 行 CSF 測 驗 系 統 -Client

More information

Microsoft PowerPoint - Ch6

Microsoft PowerPoint - Ch6 第 六 章 基 本 的 SQL 目 的 SQL 的 關 聯 模 式 SQL 的 資 料 定 義 語 言 CREATE TABLE DROP TABLE ALTER TABLE 基 本 的 SQL 查 詢 SELECT FROM WHERE SQL 的 更 新 INSERT UPDATE DELETE 6-1 目 的 關 聯 模 式 定 義 嚴 謹 簡 潔, 但 好 用 性 和 執 行 效 率 必 須

More information

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1 0 0 = 1 0 = 0 1 = 0 1 1 = 1 1 = 0 0 = 1 : = {0, 1} : 3 (,, ) = + (,, ) = + + (, ) = + (,,, ) = ( + )( + ) + ( + )( + ) + = + = = + + = + = ( + ) + = + ( + ) () = () ( + ) = + + = ( + )( + ) + = = + 0

More information

(Microsoft PowerPoint - EMDBCh10\245\277\263W\244\306.ppt)

(Microsoft PowerPoint - EMDBCh10\245\277\263W\244\306.ppt) 第 10 章 關聯式資料庫的功能相依性與正規化 學習重點 關聯綱要的非正式設計原則 關聯屬性的語意 值組中的資料重複和更新異常情況 值組中的空值 假值組 功能相依性 正規化的一般程序 關聯的正規化 2 學習重點 正規化的實際使用 鍵值與屬性的定義 第一正規化形式 第二正規化形式 第三正規化形式 第三正規化的一般化定義 BCNF (Boyce-Codd Normal Form) 藉由分解動作達到 BCNF

More information

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM CHAPTER 6 SQL SQL SQL 6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM 3. 1986 10 ANSI SQL ANSI X3. 135-1986

More information

MySQL資料庫教學

MySQL資料庫教學 SQL: 結 構 化 查 詢 語 言 國 立 聯 合 大 學 資 訊 管 理 學 系 陳 士 杰 老 師 Outlines Database Languages SQL 資 料 型 態 Data Query Language, DQL ( 資 料 查 詢 語 言 ) Data Definition Language, DDL ( 資 料 定 義 語 言 ) Data Manipulation Language,

More information

目錄

目錄 資 訊 素 養 線 上 教 材 單 元 五 資 料 庫 概 論 及 Access 5.1 資 料 庫 概 論 5.1.1 為 什 麼 需 要 資 料 庫? 日 常 生 活 裡 我 們 常 常 需 要 記 錄 一 些 事 物, 以 便 有 朝 一 日 所 記 錄 的 事 物 能 夠 派 得 上 用 場 我 們 能 藉 由 記 錄 每 天 的 生 活 開 銷, 就 可 以 在 每 個 月 的 月 底 知

More information

SQL: Interactive Queries (2)

SQL: Interactive Queries (2) SQL: Interactive Queries (2) Prof. Weining Zhang Cs.utsa.edu Aggregate Functions Functions that take a set of tuples and compute an aggregated value. Five standard functions: count, min, max, avg, sum

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

ebook 165-5

ebook 165-5 3 5 6 7 8 9 [ 3. 3 ] 3. 3 S Q L S Q 4. 21 S Q L S Q L 4 S Q 5 5.1 3 ( ) 78 5-1 3-8 - r e l a t i o n t u p l e c a r d i n a l i t y a t t r i b u t e d e g r e e d o m a i n primary key 5-1 3 5-1 S #

More information

习题1

习题1 习 题 1 数 据 库 系 统 基 本 概 念 1.1 名 词 解 释 DB DB 是 长 期 存 储 在 计 算 机 内 有 组 织 的 统 一 管 理 的 相 关 数 据 的 集 合 DB 能 为 各 种 用 户 共 享, 具 有 较 小 冗 余 度 数 据 间 联 系 紧 密 而 又 有 较 高 的 数 据 独 立 性 等 特 点 DBMS 是 位 于 用 户 与 操 作 系 统 之 间 的

More information

untitled

untitled -JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP

More information

123

123 資 訊 管 理 系 資 料 庫 教 學 帄 台 MTA 資 料 庫 國 際 證 照 題 庫 分 析 指 導 教 授 : 馮 曼 琳 教 授 組 員 名 單 : 陳 雅 紋 學 號 998C030 蔡 宥 為 學 號 998C114 陳 韋 婷 學 號 998C168 中 華 民 國 一 零 三 年 五 月 I 誌 謝 本 專 題 報 告 得 以 順 利 完 成, 首 先 要 感 謝 恩 師 馮 曼

More information

PowerPoint Presentation

PowerPoint Presentation 第四章關聯式資料模型 資料庫系統設計理論李紹綸著 本章內容 關聯式資料模型的資料結構 關聯表綱目 (Relation Schema) 關聯表案例 (Relation Instance) 關聯表的特性 關聯表的種類 關聯式資料模型的完整性限制 實體完整性限制 (Entity Integrity Constraints) 外鍵 (Foreign Keys) 外鍵參考圖 (Referential Diagram)

More information

HTML網頁基礎語言

HTML網頁基礎語言 第 12 章 SQL 合併查詢與子查詢 12-1 SQL 合併查詢的基礎 12-2 交叉合併查詢 12-3 θ 合併與 EquiJoins 合併查詢 12-4 自然合併查詢 12-5 外部合併查詢 12-6 集合運算的查詢 12-7 SQL 子查詢 12-8 合併更新與刪除 1 12-1 SQL 合併查詢的基礎 - 說明 SQL 合併查詢 (Join) 是使用在多個資料表的查詢, 其主要的目的是將關聯式資料庫正規化分析分割的資料表,

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

untitled

untitled http://idc.hust.edu.cn/~rxli/ 1.1 1.2 1.3 1.4 1.5 1.6 2 1.1 1.1.1 1.1.2 1.1.3 3 1.1.1 Data (0005794, 601,, 1, 1948.03.26, 01) (,,,,,) 4 1.1.1 Database DB 5 1.1.1 (DBMS) DDL ( Create, Drop, Alter) DML(

More information

Microsoft PowerPoint - MIS_Lec03.ppt [相容模式]

Microsoft PowerPoint - MIS_Lec03.ppt [相容模式] 關聯性與限制條件之 管理 Constraint Type Add, Rename, Drop Constraints Constraint Information Integrity Constraints 限制條件 Entity Integrity Constraints 配合主鍵限制 Referential Integrity Constraints 配合外來鍵限制 Domain Integrity

More information

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 Excel - - Excel - -4-5 840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00 ( 0 ) 智慧標籤 相關說明提示 -5 -- Excel 4 5 6 7 8 + - * / % ^ = < >= & 9 0 (:) (,) ( ) Chapter - :,

More information

Microsoft PowerPoint - 資料庫-08 [相容模式]

Microsoft PowerPoint - 資料庫-08 [相容模式] 第八單元 建立資料庫 1 本章重點 本章介紹在 MySQL 中建立資料庫 修改資料庫屬性 刪除資料庫... 等功能 操作的方法主要有兩種 : 一是利用 Workbench 功能和命令來進行 另一種則是執行 SQL 敘述來達成 如何建立資料庫 各種修改資料庫屬性與設定的方法 如何刪除資料庫 2 8-1 使用 workbench 建立資料庫 3 SQL 指令的種類 : 資料定義語言 (Data Definition

More information

PowerPoint Presentation

PowerPoint Presentation 数 据 库 培 训 项 目 研 究 Oracle 索 引 探 究 B*tree 索 引 与 位 图 索 引 的 特 点 作 者 : 赵 超 2008 年 12 月 18 日 实 验 环 境 Windows-server2003 内 存 :2G Oracle 10.2.0 ORACLE_SID=orcl 索 引 类 型 B*tree 索 引 ( 默 认 方 式 ) 位 图 索 引 (bitmap) 反

More information

Microsoft Word - ACL chapter02-5ed.docx

Microsoft Word - ACL chapter02-5ed.docx 第 2 章神奇的質數 2.1.1 什麼是質數 1 1 1 打下好基礎 - 程式設計必修的數學思維與邏輯訓練 1 1 0 10 2 3 5 7 4 6 8 9 10 4 10000 1229 1000 168 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131

More information

数据库系统概论

数据库系统概论 信息学院 2015 级,2017-2~6, 教 2221 数据库系统概论 孟小峰中国人民大学 [email protected] http://idke.ruc.edu.cn 数据库系统概论 An Introduction to Database Systems 第三章 SQL 语言 ( 之高级查询部分 ) 2017, 3, 21 Replay Time SELECT 语句结构 SELECT FROM

More information

作业参考答案

作业参考答案 本章的知识点了解 SQL 语言发展史掌握关系数据库体系结构 三层结构在关系数据库体现 ) 掌握基本表定义 包括修改 删除定义 ) 掌握视图的概念与定义 删除定义理解索引的概念与定义 删除定义总结 SQL 数据定义的特点总结用户数据查询的基本结构掌握 SELECT 子句重复元组的处理掌握 FROM 子句掌握 WHERE 子句理解更名 属性 列 ) 运算理解字符串操作理解元组显示顺序理解分组掌握聚集函数掌握空值处理理解嵌套子查询的概念

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-007 Title : Introduction to Oracle9i: SQL Version : DEMO 1 / 10 1. What does the FORCE option for creating a view do? A.creates a view

More information

未命名

未命名 附录三 ADS- MySQL 基础语法偏表 类别语法偏类 MySQL 语法 ADS 语法备注 型 Utility DESCRIBE {DESCRIBE DESC} tbl_name [col_name wild] {DESCRIBE DESC} dbname.tbl_name EXPLAIN 负偏 {EXPLAIN} [explain_type] explainable_stmt {EXPLAIN}

More information

PowerPoint Presentation

PowerPoint Presentation Skill-building Courses Intro to SQL Lesson 2 More Functions in SQL 通配符 :LIKE SELECT * FROM Products WHERE PName LIKE %gizmo% PName Price Category Manufacturer Gizmo $19.99 Gadgets GizmoWorks Powergizmo

More information

ebook4-14

ebook4-14 14 SQL S Q L S Q L I n t e r n e t S Q L 7 S Q L S Q L i n s e r t u p d a t e s e l e c t d e l e t e c r e a t e a l t e r d r o p S Q L S Q L 14.1 S Q L Ti t l e A u t h o r Number of Pages P u b l

More information

ASP.NET 2.0網頁設計範例教本

ASP.NET 2.0網頁設計範例教本 第 8 章 SQL 結構化查詢語言 8-1 SQL 結構化查詢語言的基礎 8-2 資料庫的實體資料模型 8-3 資料定義語言 8-4 資料操作語言 8-5 資料控制語言 8-6 產生 SQL Server 指令碼精靈 8-1 SQL 語言的基礎 8-1-1 SQL 結構化查詢語言 8-1-2 關聯式資料庫管理系統的查詢最佳化 8-1-1 SQL 結構化查詢語言 - 說明 SQL (Structured

More information

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w 1 1.1 D B M S To w e r C D 1. 1 968 I B M I M S 2 0 70 Cullinet Software I D M S I M S C O D A S Y L 1971 I D M S containing hierarchy I M S I D M S I M S I B M I M S I D M S 2 2. 18 R D B M S O R D B

More information

46 2011 11 467 數位遊戲式學習系統 7 2011 11 467 47 3 DBGameSys 48 2011 11 467 正規化資料模組 如何配置並儲存電子化資料 以 便減少資料被重覆儲存的程序 DBGameSys的主要功能模組包 學習者 審核評分模組 含 正規化資料模組 審核評分 模組 高分列表模組3大區塊 系統資料庫 在正規化資料模組的執行 高分列表模組 過程中 先要求學習者瀏覽遊戲

More information

幻灯片 1

幻灯片 1 沈 阳 工 业 大 学 2014 年 6 月 第 7 章 数 据 库 技 术 基 础 主 要 内 容 : 7.1 数 据 库 概 述 数 据 库 基 本 概 念 数 据 模 型 逻 辑 数 据 模 型 数 据 库 系 统 的 产 生 和 发 展 常 用 的 数 据 库 管 理 系 统 7.2 Access 2010 数 据 库 创 建 及 维 护 创 建 Access 2010 数 据 库 创 建

More information

数据库系统概论

数据库系统概论 数据库系统概论 An Introduction to Database Systems 第三章 SQL 语言 ( 之基本查询部分 ) 2016, 3, 17 上节课 SQL: SQL86,SQL89,SQL92,SQL99 DDL,DML,DCL DDL 基本表, 索引, 视图 CREATE TABLE,CREATE INDEX ALTER TABLE, DROP TABLE, DROP INDEX

More information

RUN_PC連載_12_.doc

RUN_PC連載_12_.doc PowerBuilder 8 (12) PowerBuilder 8.0 PowerBuilder PowerBuilder 8 PowerBuilder 8 / IDE PowerBuilder PowerBuilder 8.0 PowerBuilder PowerBuilder PowerBuilder PowerBuilder 8.0 PowerBuilder 6 PowerBuilder 7

More information

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089

Chapter 3 Camera Raw Step negative clarity +25 ] P / Step 4 0 ( 下一頁 ) Camera Raw Chapter 3 089 Photoshop CC Camera Raw Photoshop Camera Raw Step 1 3 1 2 3 SCOTT KELBY Step 2 B Camera Raw 088 Chapter 3 Camera Raw Chapter 3 Camera Raw Step 3-4 -100 negative clarity +25 ] P / -75-50 Step 4 0 ( 下一頁

More information

理性真的普遍嗎 注意力的爭奪戰 科學發展 2012 年 12 月,480 期 13

理性真的普遍嗎 注意力的爭奪戰 科學發展 2012 年 12 月,480 期 13 12 科學發展 2012 年 12 月,480 期 你可能不知道的媒體影響 劉正山若用 選戰 的角度來看選舉和參與選舉, 你大腦裡情感的作用一定大過理性的作用, 便會很習慣地拿各種媒體或別人的觀點來使自己的選擇合理化 2012 理性真的普遍嗎 注意力的爭奪戰 科學發展 2012 年 12 月,480 期 13 14 科學發展 2012 年 12 月,480 期 agendasetting 報紙和網路新聞的頭版空間有限,

More information

Microsoft PowerPoint - 008_第八章 合併理論與實作(ccchen).ppt

Microsoft PowerPoint - 008_第八章  合併理論與實作(ccchen).ppt 合併理論 限制 (Restrict) 定義定義 是指是指在關聯表中在關聯表中選取符合某些條件的值組 ( 記錄 ), 然後另 成一個新的關聯 代表符號代表符號 σ( 唸成 sigma) 假設假設 P 為選取的條件, 則以 σ p (R) 代表此運算 其結果為原關聯表 R 記錄的 水平 子集合 水平 子集合 關聯式代數關聯式代數 σ 條件 ( 關聯 ) SQL 語法 關聯 Where 條件 其中條件條件可用可用邏輯運算子

More information

基于UML建模的管理管理信息系统项目案例导航——VB篇

基于UML建模的管理管理信息系统项目案例导航——VB篇 PowerBuilder 8.0 PowerBuilder 8.0 12 PowerBuilder 8.0 PowerScript PowerBuilder CIP PowerBuilder 8.0 /. 2004 21 ISBN 7-03-014600-X.P.. -,PowerBuilder 8.0 - -.TP311.56 CIP 2004 117494 / / 16 100717 http://www.sciencep.com

More information

第六章 SQL 進階查詢

第六章 SQL 進階查詢 第六章 SQL 進階查詢 黃仁鵬 2009/3/26 資料庫系統理論與實務 - 使用 Oracle 1 6-1 關聯查詢 因為資料庫設計與正規化的原因, 單一資料庫表格的查詢似乎比較少, 反而因為正規化把在單一表格分割成兩個或兩個以上的表格, 所以原本可以在原單一表格中查詢到的資料, 現在必須透過兩個或兩個以上的表格查詢才能得到, 這種跨表格的查詢稱為關聯查詢 2009/3/26 資料庫系統理論與實務

More information

Microsoft Word - ¸ê®Æ®w¨t²Î±MÃDÁ¿¸q2002F.doc

Microsoft Word - ¸ê®Æ®w¨t²Î±MÃDÁ¿¸q2002F.doc 國立中山大學資訊管理研究所 資料庫系統專題 課程講義 ( 中文註釋版 ) * 國立中山大學資管系黃三益教授 9/19/2002 * Copyrights 2002, All Rights Reserved 一 Overview(Chapter 1 and 2) ( 一 )What is Database? A database represents some aspect of the real world,

More information

第二章  概念設計與關聯式資料模式

第二章     概念設計與關聯式資料模式 第二章 概念設計與關聯式資料模式 黃仁鵬 2009/3/26 資料庫系統理論與實務 - 使用 Oracle 1 2-1 個體 - 關係模式 (E-R Model) 資料庫結構包括 : 1. 資料型態 (Data Types) 2. 資料關係 (Relationships) 3. 整合限制 (Integrity Constraints) 4. 運算 (Operations) 2009/3/26 資料庫系統理論與實務

More information

ACI pdf

ACI pdf 09 9.1 -...9-2 9.1.1...9-2 9.1.2...9-3 9.2 -...9-4 9.2.1 PMT - ()...9-4 9.2.2...9-6 9.3 -...9-8 9.3.1 PMT - ()...9-8 9.4...9-10 9.4.1... 9-11 9.4.2...9-12 9.4.3...9-14 9.5 -...9-17 9.5.1...9-18 1 Excel...9-21

More information

3 Driver do Microsoft Access (*.mdb) hisdata IFIX 1.4

3 Driver do Microsoft Access (*.mdb) hisdata IFIX 1.4 IFix3.5 ACCESS ACCESS hisdata D:\Dynamics\SampleSystem\HistoricalData ODBC DSN hisdata 1 ODBC 1.1 2 1.2 3 Driver do Microsoft Access (*.mdb) 1.3 4 hisdata IFIX 1.4 1.4 5 Access 1.5 6 ODBC ifix3.5 1.6 1.6

More information

数据库系统概论

数据库系统概论 第五章数据库完整性 孟小峰 [email protected] 信息学院 2014/4/8 Replay Time 身份认证 自主访问控制 GRANT & REVOKE 强制访问控制 敏感度标记 主体和客体 视图机制, 审计 数据安全与隐私 数据库完整性 什么是数据库的完整性 数据库的完整性是指数据的正确性和相容性, 防止不合语义的数据进入数据库 例如, 学生的年龄必须是整数, 取值范围为 14--29;

More information

SQL 书写规范

SQL 书写规范 SQL 书 写 规 范 1 SQL 书 写 规 范... 2 1.1 选 择 最 有 效 率 的 表 名 顺 序 ( 只 在 基 于 规 则 的 优 化 器 中 有 效 )... 2 1.2 where 子 句 中 的 连 接 顺 序... 3 1.3 @Select 子 句 中 避 免 使 用 '*'... 4 1.4 减 少 访 问 数 据 库 的 次 数... 4 1.5 使 用 decode

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

PowerPoint Presentation

PowerPoint Presentation 第十章結構化查詢語言 SQL- 資料操作語言 (DML) 資料庫系統設計理論李紹綸著 本章內容 SQL 的資料異動部份 新增資料 修改資料 刪除資料 SQL 的資料查詢部份 查詢所有的欄位 :* 指定查詢欄位名稱 去除重複列錄 :DISTINCT 聯集運算 :UNION 差集運算 :EXCEPT 交叉聯結 :CROSS JOIN 使用查詢結果建立新資料表 :SELECT INTO 2 內部聯結 :INNER

More information

11.2 overview

11.2 overview 1 < 在 此 处 插 入 图 片 > Explain Plan 命 令 说 明 Maria Colgan 免 责 声 明 本 讲 座 旨 在 为 您 提 供 有 关 如 何 阅 读 SQL 执 行 计 划 的 说 明, 并 帮 助 您 确 定 该 计 划 是 否 满 足 您 的 要 求 本 讲 座 并 不 能 使 您 一 举 成 为 优 化 器 专 家, 也 无 法 使 您 具 备 轻 松 调 整

More information

封面-12

封面-12 第十二章 701Client TECHNOLOGY CO.,LTD. 701Client 701Server 701Client "701Client", 12-1 :supervisor :supervisor : 1. : 00~99 100 2. : 00~63 ( 63 / / ) 3. : 18 9 4. : 18 9 5. 12-2 TECHNOLOGY CO.,LTD. 701Client

More information

Oracle高级复制冲突解决机制的研究

Oracle高级复制冲突解决机制的研究 Oracle dbms_rectifier_diff Oracle : eygle ([email protected] dbms_rectifier_diff Oracle dbms_rectifier_diff : http://www.eygle.com/archives/2005/01/eoadbms_rectifi.html DIFFERENCES Oracle dbms_rectifier_diff.differences

More information

PowerPoint 簡報

PowerPoint 簡報 資料庫管理 Database Management 建立銀行資料庫及查詢範例 系級 : 物理四學號 :49814201 姓名 : 吳嘉峰授課老師 : 楊維邦教授 主題說明 利用 phpmyadmin 在 MySQL 中建立簡單的銀行資料庫 依照範例情境, 練習對銀行資料庫作查詢 目錄 Primary Key Foreign Key Schema Diagram 建立 Banking Database

More information

Excel VBA Excel Visual Basic for Application

Excel VBA  Excel Visual Basic for Application Excel VBA Jun5,00 Sub 分頁 () Dim i As Integer Dim Cname As String Dim Code As Variant Set score=thisworkbook.sheets("sheet") Code=Array(" 專北一 "," 專北二 "," 專北三 "," 專桃園 "," 專桃竹 "," 專中苗 ", " 專台中 "," 專台南 ","

More information

untitled

untitled 1 Access 料 (1) 立 料 [] [] [ 料 ] 立 料 Access 料 (2) 料 [ 立 料 ] Access 料 (3) 料 料 料 料 料 料 欄 ADO.NET ADO.NET.NET Framework 類 來 料 料 料 料 料 Ex MSSQL Access Excel XML ADO.NET 連 .NET 料.NET 料 料來 類.NET Data Provider

More information

目錄... ivv...vii Chapter DETECT

目錄... ivv...vii Chapter DETECT ... ivv...vii Chapter 1 1.1... 5 1.2... 6 1.3 DETECT... 11 1.3.1... 12 1.3.1.1...12 1.3.1.2...13 1.3.1.3...14 1.3.1.4...15 1.3.1.5...15 1.3.1.6...16 1.3.2 DETECT... 17 1.3.3... 19 1.3.4... 20... 22 Chapter

More information

ebook 96-16

ebook 96-16 16 13 / ( ) 16-1 SQL*Net/Net8 SQL*Net/Net8 SQL*Net/Net8 16-1 / S Q L SQL*Net V2 N e t 8 S Q L * N e t N e t ( ) 16.1 S Q L O r a c l e S Q L 16 401 ) ( H R _ L I N K create database link p u b l i c (

More information

Microsoft Word - _m30.doc

Microsoft Word - _m30.doc 1 2 3 4 5 6 7 8 公式 2 4 2 1 能 整除 因此後玩 者贏 且關鍵數 字為3 的倍數 3 0 3 1 不能整除 所 以先拿餘數 2 關鍵數字是 4的倍 數 2 先玩者贏 4 0 4 1 能整除 因此 後玩者贏 且 關鍵數字為 5 的倍數 5 0 5 1 不能整除 所 以先拿餘數 2 關鍵 數字是 6的倍 數 2 先玩者贏 7 0 6 1 能整除 因此 後玩者贏 且 關鍵數字為7

More information

Microsoft PowerPoint - ASP_NET_09

Microsoft PowerPoint - ASP_NET_09 第 9 章 T-SQL 語法與參數的 SQL 查詢 大綱 SQL 語言的基礎 SELECT 敘述的基本查詢 建立參數的 SQL 查詢 新增 更新與刪除記錄 2 SQL 語言的基礎 SQL (Structured Query Language) 的全名是結構化查詢語言, 本書簡稱 SQL 語言 SQL 語言是 ANSI (American National Standards Institute) 制定的標準資料庫語言,

More information

Oracle Database 10g: SQL (OCE) 的第一堂課

Oracle Database 10g: SQL (OCE) 的第一堂課 商 用 資 料 庫 的 第 一 堂 課 中 華 大 學 資 訊 管 理 系 助 理 教 授 李 之 中 http://www.chu.edu.tw/~leecc 甲 骨 文 俱 樂 部 @Taiwan Facebook 社 團 https://www.facebook.com/groups/365923576787041/ 2014/09/15 問 題 一 大 三 了, 你 為 什 麼 還 在 這

More information

Microsoft PowerPoint - ch04.ppt [相容模式]

Microsoft PowerPoint - ch04.ppt [相容模式] 第 4 章關聯式資料庫模型 4 1 關聯式資料庫模型的基礎 4 2 關聯式資料庫模型的資料結構 4 3 關聯式資料庫模型的完整性限制條件 4 4 關聯式資料庫模型的數學理論 4 5 關聯式資料庫 1 4 1 關聯式資料庫模型的基礎 關聯式資料庫模型 (Relational lti ldtb Database Model) 是 1969 年 E. F. Codd 博士在 IBM 公司的研究成果 發表著名的關聯式資料庫

More information

Microsoft PowerPoint - ch10.ppt [相容模式]

Microsoft PowerPoint - ch10.ppt [相容模式] 第 10 章 SQL 定義 操作與控制指令 *10 1 SQL 語言的基礎 *10 2 SQL 查詢工具 10 3 資料庫的實體資料模型 10 4 資料定義語言 10 5 資料操作語言 10 6 資料控制語言 *10 7 產生 SQL Server 指令碼精靈 1 10 11 SQL 語言的基礎 10 1 1 SQL 結構化查詢語言 10 1 2 1 關聯式資料庫管理系統的查詢最佳化 2 10 1

More information

前 言 学 习 计 算 机 的 我 们 无 时 无 刻 不 在 和 数 据 打 交 道, 怎 么 有 效 的 管 理 这 些 数 据 变 成 我 们 必 须 要 谈 论 的 话 题 这 个 问 题 也 正 是 本 书 需 要 探 讨 的 问 题 : 数 据 库 技 术, 目 前 的 数 据 技 术

前 言 学 习 计 算 机 的 我 们 无 时 无 刻 不 在 和 数 据 打 交 道, 怎 么 有 效 的 管 理 这 些 数 据 变 成 我 们 必 须 要 谈 论 的 话 题 这 个 问 题 也 正 是 本 书 需 要 探 讨 的 问 题 : 数 据 库 技 术, 目 前 的 数 据 技 术 2010 开 发 者 智 慧 之 mysql 数 据 库 作 者 :TelesLi 思 想 有 多 远 就 可 以 走 多 远 2010 前 言 学 习 计 算 机 的 我 们 无 时 无 刻 不 在 和 数 据 打 交 道, 怎 么 有 效 的 管 理 这 些 数 据 变 成 我 们 必 须 要 谈 论 的 话 题 这 个 问 题 也 正 是 本 书 需 要 探 讨 的 问 题 : 数 据 库 技

More information

¦ÛµM¬ì²Ä3¦¸²Õ¨÷-¾Ç´ú¤ºŁ¶«Êٱ.prn, page Normalize ( <4D F736F F D20A6DBB54DACECB2C433A6B8B2D5A8F72DBEC7B4FAA4BAADB6ABCAADB12E646F63> )

¦ÛµM¬ì²Ä3¦¸²Õ¨÷-¾Ç´ú¤ºŁ¶«Êٱ.prn, page Normalize ( <4D F736F F D20A6DBB54DACECB2C433A6B8B2D5A8F72DBEC7B4FAA4BAADB6ABCAADB12E646F63> ) 100 40 28 2B c 3 10 8 m s h 6.63 10 34 J s e 1.6 10 19 C hc 1240 E hf ev λ λ nm 1 ev 1.6 10-19 J 1 mol 6.02 10 23 ph 8 10 N 14 O 16 Fe 56 Ag 108 NO.99341003 103-E3 第壹部分 ( 占 80 分 ) 56 1 說明 : 第 1 題至第 k

More information

epub 61-6

epub 61-6 6 We b 6.1 6.1.1 R e c o r d s e t 6-1 6-1 6.1.2 166 Dreamweaver UltraDev 6-2 6-2 6-3 3 6-3 I I S 6 167 Tr a i n M i s 6-4 6-4 6.1.3 10 000 1 K 10 000K 10 M 6-5 Dreamweaver UltraDev Repeat Region 6-5 168

More information

数据库系统概论

数据库系统概论 第 2 章 关 系 数 据 库 孟 小 峰 [email protected] 信 息 学 院 2014/3/4 上 节 课 关 系 完 整 性 实 体 完 整 性 / 主 码 完 整 性 参 照 完 整 性 / 外 码 完 整 性 函 数 依 赖 用 户 定 义 完 整 性 关 系 代 数 基 本 运 算 : 选 择, 投 影, 笛 卡 尔 积, 并, 差 导 出 运 算 : 交, 连 接, 除

More information

Microsoft PowerPoint - SQL 的查詢語言(ccchen).ppt

Microsoft PowerPoint - SQL 的查詢語言(ccchen).ppt SQL 的查詢語言 查詢的基本語法 SELECT SELECT [* [* DISTINCT DISTINCT Top Top n] n] < 欄位串列欄位串列 > FROM FROM ( 資料表名稱 ( 資料表名稱 {< {< 別名別名 >} >} JOIN JOIN 資料表名稱資料表名稱 )) [WHERE [WHERE < 條件式條件式 >] >] [GROUP [GROUP BY BY

More information

使用SQL Developer

使用SQL Developer 使 用 SQL Developer 达 成 的 目 标 / 方 案 1 创 建 一 个 新 的 数 据 库 连 接 ; 2 在 SQL Developer 中 查 看 数 据 库 对 象 的 信 息 修 改 数 据 ; 3 在 SQL Developer 中 创 建 表 ; 4 在 SQL Developer 中 创 建 索 引 ; 5 在 SQL Developer 中 创 建 函 数 ; 6 在

More information

jQuery 實戰手冊(第二版)

jQuery 實戰手冊(第二版) 資料維護 5 在瞭解資料庫查詢的各種應用以後, 這一章說明資料庫的新增 修改與刪除 包含新增資料的 INSERT 與 REPLACE 敘述, 修改資料的 UPDATE 敘述, 還有刪除資料的 DELETE 與 TRUNCATE 敘述 5.1 取得表格資訊 在執行資料維護的時候, 例如新增一筆資料到指定的表格, 應該要清楚知道表格的詳細資訊, 包含表格欄位的名稱 型態 順序和預設值, 還有表格的主索引鍵

More information

2 3 13 17 22 26 1 2 8 100738 +86 (10) 8508 5000 +86 (10) 8518 5111 www.kpmg.com.cn 2006 4 2002 2006 1 28% 2006 17 8 500 2006 2006 2006 7 2.5 2 1 500 500 40% 500 10 16 14 12 10 8 6 4 2 2002-2006 5.1 5.9

More information

Microsoft PowerPoint - 資料庫程式設計教材.pptx

Microsoft PowerPoint - 資料庫程式設計教材.pptx 第三章 SQL 查詢指令 一 SELECT 指令設定查詢範圍 二 WHERE 子句的比較運算子 三 WHERE 子句的邏輯運算子 四 ORDER BY 排序子句 五 SQL 聚合函數 一 SELECT 指令設定查詢範圍 (1)SQL 查詢指令只有一個 SELECT 指令, 其基本語法如下所示 : SELECT 欄位 1, 欄位 2, 欄位 N FROM 資料表或檢視表 WHERE 查詢條件 上述 SELECT

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

Microsoft Word - 序+目錄.doc

Microsoft Word - 序+目錄.doc ORACLE 公 司 的 專 業 認 證 是 當 今 市 場 上 公 認 價 值 最 高, 最 具 鑑 別 力 的 認 證 目 前 全 球 有 超 過 50 萬 以 上 人 已 透 過 Oracle Certification Program 取 得 專 業 認 證, 成 為 職 場 新 鮮 人 的 首 選 認 證, 它 具 有 以 下 三 大 優 勢 : 一 更 多 的 工 作 機 會, 二 更

More information

AutoCAD 用戶如何使用 ArchiCAD

AutoCAD 用戶如何使用 ArchiCAD AutoCAD 用戶如何使用 ArchiCAD AutoCAD用戶如何使用ArchiCAD ( 中文版 ) 由 Scott MacKenzie, Simon Gilbert, Geoffrey Moore Langdon, David Byrnes, Ralph Grabowski 編寫 龍庭資訊有限公司 1/73 - 2. 3. 4. -

More information

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S 一 個 SQL Injection 實 例 的 啟 示 頁 1 / 6 你 的 網 站 在 裸 奔 嗎? 一 個 SQL Injection 實 例 的 啟 示 作 者 : 李 明 儒 SQL Injection( 資 料 隱 碼 攻 擊 ) 問 題 早 就 不 是 什 麼 新 聞, 但 前 陣 子 在 一 個 頗 具 知 名 度 的 活 動 網 站 上, 赫 然 發 現 它 大 刺 刺 地 現 身!

More information