MTA資料庫檢定_第四章題庫解析

Download Report

Transcript MTA資料庫檢定_第四章題庫解析

第四章
SQL之資料定義語言
題庫解析:MTA資料庫檢定
授課老師:李春雄 博士
1.若要新增、移除及修改資料庫結構,應該使用哪個類別的SQL陳述
式?
(A)資料存取語言(DAL)
(B)資料控制語言(DCL)
(C)資料定義語言(DDL)
(D)資料操作語言(DML)
【解析】
SQL語言提供三種語言
1.第一種為資料定義語言(Data Definition Language; DDL)
用來「定義」資料庫的結構、欄位型態及長度。
2.第二種為資料操作語言(Data Manipulation Language; DML)
用來「操作」資料庫的新增資料、修改資料、刪除資料、查詢資料等功能。
3.第三種為資料控制語言(Data Control Language; DCL)
用來「控制」使用者對「資料庫內容」的存取權利。
2.您有一個名為Customer的資料表。您需要加入名為District的
新資料行。您應該使用哪一個陳述式?
(A)MODIFY TABLE Customer (District INTEGER)
(B)ALTER TABLE Customer ADD (District INTEGER)
(C)MODIFY TABLE Customer ADD (District INTEGER)
(D)ALTER TABEL Customer MODIFY(District INTEGER)
【解析】
ALTER TABLE(修改資料表)是用來對已存在的資料表增加欄位、修改欄位、 刪除欄位,
並且增加定義、修改定義或刪除定義等。
【格式】
3.以下哪個敘述可以擴充資料庫大小?
(A)ALTER DATABASE
(B)DATABASE RESIZE
(C)RESIZE DATABASE
(D)ALTER DATABASE SIZE
【解析】
【Alter Database 基本語法】
Use TestDB
Alter Database TestDB
MODIFY file(name=TestDB, maxsize=1GB)
4.假設有一個資料庫Employee 已不再需要使用,並想將該資料庫
刪除。請問以下哪個預存程序可以他刪除?
(A)DBCC DROPDATABASE Employee
(B)DROP DATABASE Employee
(C)DELETE DATABASE Employee
【解析】
5.哪個關鍵字可在CREATE TABLE陳述式中使用?
(A)UNIQUE
(B)DISTINCT
(C)GROUP BY
(D)ORDER BY
【解析】
CREATE TABLE(建立資料表)是用來讓使用者定義一個新的關聯(資料表),並設定關聯(
表格)的名稱、屬性及限制條件。
【格式】
6. SQL的CREATE指令可用來建立:
(A)DATABASE、TABLE
(B)PROCEDURE、TRIGGER
(C)INDEX、VIEW
(D)以上皆是
【解析】
7.在建立使用者自訂的資料型態時,可以使用哪些屬性?
(A)長度、text、real、nvarchar、允許空值
(B)基本資料型態、長度、允許空值、預設值、規則
(C)char、int、numeric、text、預設值、規則
(D)nchar、ntext、vnarchar、長度、允許空值
【解析】
8.下列哪種方法可以確保表格內某個欄位的值是唯一的?
(A)關掉重複功能
(B)加入實體完整性
(C)加入UNIQUE限制
(D)加入一個具有No Duplicate性質的欄位
【解析】
(1)PRIMARY KEY 用來定義某一欄位為主鍵,不可為空值
(2)UNIQUE 用來定義某一欄位具有唯一的索引值,可以為空值
9. UNIQUE可限制使用者,無法輸入重複的資料欄位值,請問在一個
表格中,可以定義幾個UNIQUE限制?
(A)只有一個
(B)2個
(C)一個以上
(D)最多16個
【解析】
1.在一個資料表中只能有一個主鍵(PRIMARY KEY)。
2.在一個資料表中可以有多個UNIQUE(唯一的索引值)。
10.若要將資料行加入至現有的資料表,應該使用哪個命令?
(A)ALTER
(B)CHANGE
(C)INSERT
(D)MODIFY
(E)UPDATE
【解析】
資料行是指「欄位名稱」。因此,要將資料行加入至現有的資料表,就必須要使用到
資料定義語言(DDL)中的ALTER命令來進行。
Database
Table
View
(1)CreateDatabase
(1)Create Table
(1)Create View
(2)AlterDatabase
(2)Alter Table
(2)Alter View
(3)DropDatabase
(3)Drop Table
(3)Drop View
11.以下哪些表格限制可以避免輸入重複的資料列?(請選擇兩個答案)
(A)PRIMARY KEY
(B)NULL
(C)FOREIGNKEY
(D)UNIQUE
【解析】
(1)PRIMARY KEY 用來定義某一欄位為主鍵,不可為重複及空值
(2)UNIQUE 用來定義某一欄位具有唯一的索引值,不可為重複,但可以為空值
12.「點陣圖」、「B型樹狀結構」與「雜湊」等詞彙指的是哪種類型
的資料庫結構?
(A)函式
(B)索引
(C)預存程序
(D)觸發程序
(E)檢視
【解析】
目前在SQL Server資料庫中的「索引」結構都是以「B型樹狀結構」目錄來儲存。
13.加入索引的原因之一是要:
(A)減少所使用的儲存空間
(B)增加資料庫的安全性
(C)改善INSERT陳述式的效能
(D)改善SELECT陳述式的效能
【解析】
在資料表中設定某一個欄位為「主索引」時,其主要的目的除了避免重複之外,就是
提高查詢的效能。
例如:書籍的目錄索引或圖書館之圖書的分類索引
14.若要移除外部索引鍵,應該使用哪個陳述式?
(A)ALTER TABLE
(B)DELETE TABLE
(C)ALTER FOREING KEY
(D)DELETE FOREING KEY
【解析】
當要修改資料表中的結構時,就必須要使用DDL中的ALTER TABLE指令來完成。
15.哪一個陳述式的執行結果是建立索引?
(A)CREATE TABLE Employee
{ EmployeeID INTEGER PRIMARY KEY}
(B)CREATE TABLE Employee
{ EmployeeID INTEGER INDEX}
(C)CREATE TABLE Employee
{ EmployeeID INTEGER NULL}
(D)CREATE TABLE Employee
{ EmployeeID INTEGER DISTINCT}
【解析】
16.哪個陳述式會建立複合索引鍵?
(A)CREATE TABLE Order
(OrderID INTEGER,OrderItemID INTEGER,PRIMARY KEY(OrderID,OrderItemID))
(B)CREATE TABLE Order
(OrderID
INTEGER PRIMARY KEY,OrderItemID
INTEGER PRIMARY KEY)
(C)CREATE TABLE Order
(OrderID
INTEGER,OrderItemID
INTEGER,PRIMARY KEY)
(D) CREATE TABLE Order
(OrderID INTEGER,OrderItemID
INTEGER,PRIMARY KEY OrderID,PRIMARY KEY OrderItemID)
【解析】
※複合索引鍵
是指資料表中的主鍵,它是由兩個或兩個欄位以上所組成。
17.哪個類型的索引會變更資料在資料表中的儲存順序?
(A)叢集索引
(B)非叢集索引
(C)非循序索引
(D)循序索引
【解析】SQL Server 的索引種類:(1)叢集索引:只能有一個叢集索引
(2)非叢集索引:可以有多個非叢集索引
1.叢集索引是將「資料」與「索引」儲存在一起,且資料是經過排序,速度較快。
2.非叢集索引是將「資料」與「索引」分開儲存,類似指標的概念,且資料可能未經排序。
18.您在包含資料的資料表上建立索引。資料庫中的結果是什麼?
(A)會有更多資料列加入至該被索引的資料表
(B)會有更多資料行加入至該被索引的資料表
(C)會建立個別的結構,其中包含來自該被索引資料表的資料
(D)會建立個別的結構,其中不包含來自該被索引資料表的資料
【解析】
19.請問一個表格最多可以建立多少個叢集索引?
(A)16個
(B)1個
(C)沒有限制
(D)表格中每個欄位最多可以建立一個
【解析】
SQL Server 的索引種類:
(1)叢集索引:只能有一個叢集索引
(2)非叢集索引:可以有多個非叢集索引
20.下列敘述何者可以在student表格上建立一個複合鍵索引?
(A)CREATE INDEX ind_name ON student
(B)CREATE INDEX ind_name ON student(first_name,last_name)
(C)CREATE INDEX ind_name ON student=first_name,last_name
(D)CREATE INDEX ind_name ON student. first_name,last_name
【解析】
※複合鍵索引(Composite index)
是指資料表中的主鍵,它是由兩個或兩個欄位以上所組成的索引。
CREATE INDEX 語法
CREATE INDEX index_name
ON table_name (column_name);
您也可以建立多欄位索引
CREATE INDEX index_name
ON table_name (column_name1, column_name2•••);
21.假設有一個不常更新的表格(資料大約20,000筆),但經常被使用其中
兩個欄位的組合來搜尋資料,請問下列何種索引可以提高此表格的查詢
速率?
(A)一個非叢集索引
(B)一個複合的非叢集索引
(C)一個叢集的複合索引
(D)一個唯一複合索引
【解析】
1.叢集的複合索引
利用CREATE TABLE建立資料表時,將「兩個欄位」設定為PRIMARY KEY 的複合索
引,系統會自動產生一個叢集的唯一性索引。
2.唯一性索引(Unique index):
以CREATE TABLE建立資料表,將欄位定義成UNIQUE 唯一值的條件約束,系統會
自動產生一個非叢集的唯一性索引,以確保此欄位資料的唯一性,且系統會替它自動
建立唯一性索引。