结构化查询语言SQL(一).doc

上传人:rrsccc 文档编号:9830424 上传时间:2021-03-29 格式:DOC 页数:6 大小:102KB
返回 下载 相关 举报
结构化查询语言SQL(一).doc_第1页
第1页 / 共6页
结构化查询语言SQL(一).doc_第2页
第2页 / 共6页
结构化查询语言SQL(一).doc_第3页
第3页 / 共6页
结构化查询语言SQL(一).doc_第4页
第4页 / 共6页
结构化查询语言SQL(一).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《结构化查询语言SQL(一).doc》由会员分享,可在线阅读,更多相关《结构化查询语言SQL(一).doc(6页珍藏版)》请在三一文库上搜索。

1、第六章結構化查詢語言SQL(一)一、選擇題1. ( B ) 下何者對檢視表(View)的敘述是錯誤的 (A)檢視表的最底層一定是資料表 (B) 檢視表的最底層可以是檢視表 (C) 檢視表也稱為虛擬資料表 (D)檢視表的下一層可以是由資料表或檢視表所形成。2. ( D ) 一般資料庫管理系統所提供的結構化查詢語言(Structured Query Language,SQL)不包括下列哪一個 (A) DDL (B) DCL (C) DML (D) DLL。3. ( A ) 下列何者是定義資料庫或資料表的語言 (A) DDL (B) DCL (C) DML (D) DLL。4. ( C ) 下列何者

2、是對資料的新增、刪除、修改和刪除的語言 (A) DDL (B) DCL (C) DML (D) DLL。5. ( B ) 下列何者與資料庫安全相關的語言 (A) DDL (B) DCL (C) DML (D) DLL。6. ( A ) 倘若要建立兩個資料表A與B,A為父資料表,B為子資料表,則下列何者正確 (A) 必須先建立A再建立B (B) 必須先建立B再建立A (C) 沒有建立順序的限制 (D) 以上皆非。二、簡答題1. 請說明資料表(Table)與檢視表(View)之間的差異與關係。解答資料表 (Tables)是資料庫管理系統中,實際儲存資料內容的地方。檢視表 (Views)也稱為虛擬資

3、料表 (Virtual Tables),因為檢視表所呈現出來的結果和資料表非常類似,最大的差異在於資料表是真正儲存資料的地方,而檢視表本身並不儲存任何的資料內容,而查詢是自最下層的資料表,或是經由其他檢視表再自下層的資料表所取得的資料2. 請說明預存程序(Stored Procedures)與觸發器(Triggers)之間的差異。解答觸發器(Triggers)和預存程序(Stored Procedures)都是一種預先設計好的處理程序,只是觸發器會相依於資料表,觸發時機也和預存程序不同。預存程序是由使用者或是透過應用程式的呼叫而被動執行;觸發器則是相依於資料表,一旦資料表被異動 (新增、刪除或

4、修改) 時,就會依據不同的觸發時機,主動地觸發不同的觸發器來執行其工作。3. 一般在設計資料庫時,會有哪四種的完整性限制。解答。(1) 實體限制(Entity Constraint)(2) 定義域限制(Domain Constraint)(3) 參考完整性限制(Referential Integrity Constraint)(4) 使用者定義限制(User-Defined Constraint)4. 當刪除操作違反參考完整性限制時,有幾種的解決方案。解答(1) 拒絕刪除(Restrict)(2) 連鎖性刪除(Delete Cascade)(3) 將參考到被刪除紀錄之外來鍵值設成空值(Set

5、to Null Value)5. 請建立一綱要名稱為salesSchema,並授權給使用者hrSales。解答create schema salesSchema Authorization hrSales6. 請依據下列之ERD建立相關資料表。解答create table 學生資料( 學號 char(8) primary key , 姓名 varchar(10) not null , 系級代號 varchar(6) not null , 電話 varchar(20) , 地址 varchar(60)create table 老師資料( 老師代號 char(8) primary key , 老師

6、姓名 varchar(10) not null)create table 系所資料( 系級代號 varchar(6) primary key , 系級名稱 varchar(30) not null , 系級電話 varchar(20)create table 科目資料( 科目代號 char(4) primary key , 科目名稱 varchar(50) )create table 課程資料( 開課系級 varchar(6) references 系所資料(系級代號) , 科目代號 char(4) references 科目資料(科目代號) , 開課老師 char(8) references

7、 老師資料(老師代號) , 開課學分 int , primary key (開課系級, 科目代號)create table 選課資料( 學號 char(8) , 開課系級 varchar(6) , 科目代號 char(4) , 成績 int default null , primary key (學號, 開課系級, 科目代號) , foreign key (學號) references 學生資料(學號) , foreign key (開課系級, 科目代號) references 課程資料(開課系級, 科目代號)以下習題請參考圖5-1範例資料庫回答7. 請新增一筆產品類別,類別編號為10,類別名

8、稱為鮮果類,並新增以下三筆產品資料。產品編號類別編號供應商編號產品名稱建議單價庫存量安全存量1510S0005蘋果汁253001501610S0005柳丁汁302502001710S0005甘蔗汁28280200解答insert into 產品類別 (類別編號, 類別名稱) values (10, 鮮果類)insert into 產品資料(產品編號, 類別編號, 供應商編號, 產品名稱, 建議單價, 庫存量, 安全存量)values (15, 10, S0005, 蘋果汁, 25, 300, 150)insert into 產品資料(產品編號, 類別編號, 供應商編號, 產品名稱, 建議單價,

9、 庫存量, 安全存量)values (16, 10, S0005, 柳丁汁, 30, 250, 200)insert into 產品資料(產品編號, 類別編號, 供應商編號, 產品名稱, 建議單價, 庫存量, 安全存量)values (17, 10, S0005, 甘蔗汁, 28, 280, 200)8. 請類別編號為10的所有產品之建議單價調漲10%。解答update 產品資料set 建議單價 = 建議單價*1.1where 類別編號 = 109. 請將所有類別編號為10的產品類別和相關產品資料皆刪除。解答delete 產品資料where 類別編號=10delete 產品類別where 類別

10、編號=1010. 請查詢出所有產品資料。解答select * from 產品資料11. 請查詢出(1)庫存量小於200的產品資料,以及(2)庫存量小於安全存量的產品資料。解答(1) select * from 產品資料where 庫存量 200(2) select * from 產品資料where 庫存量 安全存量12. 請列出訂單資料表中的 (訂單編號, 客戶編號, 付款方式)。解答select訂單編號, 客戶編號, 付款方式from 訂單13. 請列出(1)使用支票付款的訂單資料,包括 (訂單編號, 客戶編號, 訂貨日期),以及(2)使用支票付款且利用快遞交貨的訂單資料,包括(訂單編號,

11、客戶編號, 訂貨日期)。解答。(1) select 訂單編號, 客戶編號, 訂貨日期from 訂單where 付款方式=支票(2) select 訂單編號, 客戶編號, 訂貨日期from 訂單where 付款方式=支票 AND 交貨方式=快遞14. 請列出每一種產品類別有哪些產品,包括 (類別名稱, 產品名稱)。解答select 類別名稱, 產品名稱from 產品資料, 產品類別where 產品資料.類別編號 = 產品類別.類別編號15. 請列出每一位供應商所提供的產品資料,包括(供應商編號, 供應商, 聯絡人, 產品名稱)。解答select供應商.供應商編號, 供應商, 聯絡人, 產品名稱from 產品資料, 供應商where 產品資料.供應商編號 = 供應商.供應商編號16. 請列出在訂單明細中曾被訂購過的產品資料,包括 (產品編號, 產品名稱),若有重複資料僅能出現一筆,並且依據產品編號遞增排序。解答select distinct 訂單明細.產品編號, 產品名稱from 訂單明細, 產品資料where 訂單明細.產品編號 = 產品資料.產品編號order by 訂單明細.產品編號

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1