2018年4月11日 星期三

計概B-01資料庫系統-公職試題

【選擇題】

A01.下列何種資料庫結構化查詢語言(structured query language)指令可用來排序? (A)ORDER BY (B)SELECT (C)SORT BY (D)WHERE[109地方四等電子]

SELET NAME FROM FACULTY ORDER BY CLASS

 

C02.相對於檔案處理方式,下列何者不是資料庫強調的特性? (A)具自我描述(self-describing)能力 (B)適於資料分享(sharing)能力 (C)適於資料分割(separating)能力 (D)對資料提供多視觀(views)能力。[109地方四等電子]

資料庫的特性:1.具自我描述能力,2.適於資料分享能力,3.對資料提供多視觀能力,4.隔離程式與資料,5.資料抽象化。

 

B03.在設計資料庫管理系統所運用到的「關聯式代數」(Relational Algebra)中,下列那一種運算屬於一元運算(Unary Operation) (A)Union (B)Select (C)Join (D)Difference[109身心四等]

一元運算:選擇(Select)、投影(Project)

二元運算:聯集(Union)、交集(Intersection)、差集(Difference)、乘積(Cartesian Product)、合併(Join)、除法(Divide)

 

A04.假設關聯式資料庫中的某個表格ENROLL定義了三個屬性(attribute),其中ID屬性表示某一個學生的學號,COURSE屬性表示某門課的課號,而GRADE屬性為學生在該門課所得之分數。若使用者針對該表格執行以下SQL查詢句:「select COURSE, max(GRADE) from ENROLL group by COURSE;」,則以下敘述何者最符合該位使用者所要直接查詢的資訊? (A)找出每門課程的最高分 (B)找出每個學生的最高分 (C)找出整個ENROLL表格中所記錄的最高分 (D)找出ENROLL表格記錄了幾門課的最高分。[109普考電子]

從表格(ENROLL)中找出每門課程(group by COURSE)的最高分[max(GRADE)]

 

C05.提供多人同時進行交易的資料庫管理系統,所謂交易成功,需要滿足四項基本的交易屬性,以英文字頭的縮寫為ACID交易。請問下列那一項不屬於ACID (A)單元性(Atomicity) (B)一致性(Consistency) (C)獨立性(Independence) (D)永久性(Durability)[109普考電子]

ACID:單元性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、永久性(Durability)

 

A06.關於關聯式資料庫設計正規化(normalization),下列敘述何者正確? (A)高階正規化的前提是低階正規化完成 (B)二階正規化處理遞移相依問題 (C)三階正規化處理部分相依問題 (D)四階正規化處理多值屬性問題。[109鐵路員級]

(B)二階正規化處理部分相依問題。(C)三階正規化處理遞移相依問題。(D)一階正規化處理多值屬性問題。

 

A07.關聯式資料庫中,原本已有一個關聯(relation)Employee,其屬性(attributes)包括idnamegenderaddress。屬性gender記錄員工的性別,男性員工的gender欄位標記為male,女性員工的gender欄位標記為female。對關聯表Employee使用下列那一個關聯運算,可以產生只包含男性員工元組(tuples)的資料表? (A)select (B)intersection (C)join (D)update[110地方四等]

Select * From Employee Where gender = "male"

 

C08.在關聯式資料庫(relational database)中,下列何種操作,從兩個關係結合成新關係時,其原關係屬性集合不需一致? (A)difference (B)intersection (C)join (D)union[110地方四等]

欄位需一致:(A)差集,(B)交集,(D)聯集。

欄位擴大:(C)合併。

 

D09.某國中資料庫中的資料表,記錄了所有學生的相關資料(姓名、學號、年級、修課成績、……)。如果有位老師離職後,需要收回此人對此資料庫的使用權,應該使用下列那一種語言加以回收使用權? (A)DDL(Data Definition Language數據定義語言) (B)DML(Data Manipulation Language數據操控語言) (C)DQL(Data Query Language數據查詢語言) (D)DCL(Data Control Language數據控制語言)[110身心五等]

數據控制語言:在SQL語言中,是一種可對資料存取權進行控制的指令,可以控制特定使用者帳戶對資料表、檢視表、預存程序、使用者自訂函式等資料庫物件的控制權。

 

A10.SQL中有指令:select * from dataTable1 minus select * from dataTable2

對於此指令的描述,下列何者正確? (A)此指令為Data Manipulation Language(DML) (B)此指令會進行數字減法或者正負號轉換運算 (C)此指令會進行交集運算 (D)此指令會進行刪除運算。[110身心五等]

資料操控語言(Data Manipulation Language, DML),可以進行資料的新增、修改、刪除及查詢,四種基本指令: INSERTUPDATEDELETESELECT

 

B11.下列對於目前大數據的資料庫型式(database model)描述何者正確? (A)基本上是SQL型式(Oracle, MS-SQL) (B)基本上是NoSQL型式(Apache-Cassandra) (C)基本上是階層型式(IBM-IMS) (D)基本上是網路型式(GE-IDS)[110身心五等]

SQL型式偏純文字。NoSQL屬於大數據資料庫(影音),語言較具彈性。

 

B12.某公司客戶交易資料如下,想要將此輸入到關聯式資料庫的資料表內,最少需要進行何種資料處理? (A)不必進行任何資料處理,上述資料已經是資料表可接受形式 (B)非資料表可接受形式,需要進行1NF(First normal form)處理 (C)非資料表可接受形式,需要進行1NF以及2NF(Second normal form)處理 (D)非資料表可接受形式,需要進行1NF, 2NF, 3NF, BCNF, ...等更高階處理。[110身心五等]

顧客  交易日期  交易品項

A     D1        X1, X2, X3

B     D1        X1, X4

A     D2        X4, X2

…    …         …

第一正規化(1NF):要求資料庫的每個欄位只能存放單一值,而且每筆紀錄都能利用唯一的主鍵來加以識別。

第二正規化(2NF):要求資料表裡的所有資料都要和該資料表的鍵(主鍵與候選鍵)有完全依賴關係。如果有資料只和主鍵的一部分有關,則獨立成另一個資料表。如果一個資料表的主鍵只有單個欄位,就一定符合第二正規化。

第三正規化(3NF):要求所有非主鍵屬性必須和每個候選鍵有直接相關性,也就是說非主鍵屬性之間應該是獨立無關的。

 

A13.下列那一項不是用於多筆交易同時發生時,維持資料庫系統的一致性及完整性? (A)模式設計(schema design) (B)交易記錄(transaction log) (C)上鎖協定(locking protocol) (D)提交/撤回協定(commit/rollback protocol)[110身心四等]

資料庫管理系統(DBMS)就是要確保整個交易能完成或取消。對執行失敗的交易,為了將資料庫狀態恢復到一致狀態的功能,DBMS通常需要維護交易紀錄檔,以追蹤交易中所有影響資料庫資料的操作。

  

A14.在一個關聯式資料模式中,假設π是投影運算(projection operator)σ是選擇運算(selection operator)R是關聯(relation),那一個關聯式運算可能產生下列的結果?

a

b

1

2

2

3

(A)σa<b(πa,b R) (B)πa<b(πa,b R) (C)πa<2 R (D)πa,b(σa=b R)[110初考資處]

投影(project)從資料表中只抓取部分欄位的資料πa,b R

限制(restrict)從資料表中只抓取符合條件的資料σa<b(πa,b R)。。

 

D15.如果一個關聯表格已經完成正規化,使得關聯模式中每一個功能相依(functional dependencies)決定因素都包含候選鍵(candidate keys),則此表格最高已經達到下列那個正規化形式? (A)第一正規化(1NF) (B)第二正規化(2NF) (C)第三正規化(3NF) (D)Boyce-Codd正規化(BCNF)[110初考資處]

任何一個BCNF必然滿足:

1.所有非主屬性都完全函式依賴於每個候選鍵。

2.所有主屬性都完全函式依賴於每個不包含它的候選鍵。

3.沒有任何屬性完全函式依賴於非候選鍵的任何一組屬性。

 

A16.假設有一個資料關聯表(relation)Books,其關聯表綱要(schema)定義如下:Books(ISBN, Title, CopyrightYear, Author, Publisher, PublisherURL, AuthorEmail)請問那一個資料屬性(attribute)可以做為該關聯的主鍵(primary key) (A)ISBN (B)Title (C)Author (D)PublisherURL[110初考資處]

主鍵:資料庫表中,對儲存資料物件給予唯一和完整標識的資料列或屬性的鍵。一個資料表只能有一個主鍵,且主鍵不能為空值(Null)

 

B17.下列何者是NoSQL(Not Only SQL)非關聯式資料庫系統? (A)MariaDB (B)MongoDB (C)Oracle (D)SQL Server[110初考資處]

NOSQL資料庫:不限定為「關聯式資料庫」的資料庫管理系統。如MongoDBApache CassandraRedis

 

A18.在資料庫運算中,下列何者不屬於資料庫運算的命令操作? (A)乘集運算(multiplication operation) (B)映射運算(project operation) (C)更新運算(update operation) (D)差集運算(minus operation)[110國安五等]

E.F.Codd提出:

基本運算子:限制(Restrict)、映射(Project)、聯集(Union)、卡氏積(Cartesian Product)、差集(Difference)

基本運算子:合併(Join)、交集(Intersection)、除法(Division)

 

B19.一個學校學生資料庫中,最適合作為主鍵(Primary Key)的個人資料為? (A)學生姓名 (B)學生學號 (C)學生生日 (D)學生性別。[110國安五等]

學生學號具唯一性。

 

D20.下列對於SQL語言UPDATE指令之敘述,何者有誤? (A)可以合併WHERE條件來過濾資料 (B)它不能從資料表中移除資料列 (C)它是一種資料操作語言(DML) (D)一次只能修改一個欄位值。[110國安五等資處]

UPDATE可以同時修改多個欄位值。

UPDATE "表格"

SET "欄位1" = [1], "欄位2" = [2]

WHERE "條件";

 

C21.下列何者是資料庫進行三階正規化(3NF)的目的? (A)要求每筆資料的每個欄位都是單一值 (B)每一非鍵屬性必須完全相依於主鍵 (C)非主鍵屬性之間應該是獨立無關的 (D)主鍵中的各欄位不可以相依於其他非主鍵的欄位。[110國安五等資處]

第三正規化(3NF):要求所有非主鍵屬性必須和每個候選鍵有直接相關性,也就是非主鍵屬性之間應該是獨立無關的。

 

A22.下列何者不是資料庫交易所必須符合的ACID原則? (A)Automation (B)Consistency (C)Durability (D)Isolation[110國安五等資處]

資料庫的ACID特性:不可分割性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)

 

A23.下列SQL語法目的是對一個資料表Book作查詢,但是該SQL語法有錯誤,請問該語法缺少那一個子句?SELECT title, author, year WHERE year > 2010; (A)FROM Book (B)BASED on Book (C)ORDER by Book (D)GROUP by Book[110國安五等資處]

SELECT title, author, year FROM Book WHERE year > 2010;

 

B24.給定一個資料關聯R以及其屬性間的相依性(dependences)如下

R(patient, consultant, hospital, address, date, time)

patient, consultant → hospital, address, date, time

hospital → address

請問其最高符合下列那一種正規化形式? (A)第一正規化(1NF) (B)第二正規化(2NF) (C)第三正規化(3NF) (D)Boyce-Codd正規化(BCNF)[110國安五等資處]

(A)第一正規化:處理多值屬性問題,每個欄位只能存放單一值。

(B)第二正規化:去除資料間的部分相依性,所有資料都要和該資料表的鍵(主鍵與候選鍵)有完全依賴關係。

(C)第三正規化:處理遞移相依問題,非主鍵屬性之間是獨立無關的。

(D)任何一個BCNF必然滿足:1.所有非主屬性都完全函式依賴於每個候選鍵。2.所有主屬性都完全函式依賴於每個不包含它的候選鍵。3.沒有任何屬性完全函式依賴於非候選鍵的任何一組屬性。

 

C25.在關聯式資料庫中,一個關係(relation)可以用一個二維表格代表,每一列代表某筆資料(a tuple),而每一欄代表資料的某種屬性(an attribute)。若設計以下的關聯式資料庫(表一)來記錄一個公司的員工資訊:

[表一]

員工ID

名字

地址

職稱

部門

離職日

25X15

王小明

中華路17

副理

業務

2-28-2003

25X15

王小明

中華路17

經理

業務

*

34Y70

李大海

忠孝路573

秘書

人事

*

23Y34

陳立立

大同路65

秘書

會計

*

為了避免同一個人的個人資訊重覆出現多次,可以把這個relation表格拆成如下的三個relation表格(表二~表四)

[表二]

[表三]

[表四]

 

員工ID

名字

地址

員工ID

職稱

離職日

職稱

部門

25X15

王小明

中華路17

25X15

副理

2-28-2003

副理

業務

34Y70

李大海

忠孝路573

25X15

經理

*

經理

業務

23Y34

陳立立

大同路65

34Y70

秘書

*

秘書

人事

 

 

 

23Y34

秘書

*

秘書

會計

不過這樣的拆法會失去某些資訊,有些資訊在原本單一relation表格可以查到的資訊就沒辦法查了。和原本資料庫相比,新資料庫有部分資訊消失了。下列敘述何者正確? (A)新資料庫無法查出某個員工在公司曾擔任的工作,但原資料庫可以 (B)新資料庫無法查出某個員工在公司工作多久了,但原資料庫可以 (C)新資料庫無法查出某個員工所屬的部門,但原資料庫可以 (D)新資料庫無法查出不同部門的相同工作(如秘書)的人,是住那些地方,但原資料庫可以。[110普考資處]

(A)(B)表二與表三是1對多關係,能以表二的某屬性值查詢表三的對應屬性值。

(C)表三與表四是多對多關係,無法得到表一的查詢結果。

(D)查詢所有秘書的地址,結果會重複。

 

D26.使用SQLSELECT命令作分組統計時,若須篩選分組,只對部分分組作統計,須用到下列何者? (A)ORDER BY子句 (B)WHERE子句 (C)CREATE SCHEMA (D)HAVING子句。[110普考電子]

SELECT "欄位", (函數條件)

FROM "表格名"

WHERE "欄位" operator value

GROUP BY "欄位"

HAVING (函數條件) operator value

 

A27.在關聯式資料庫(relational database)中,下列何種操作,依據關係之共同屬性而結合兩個關係? (A)join (B)project (C)select (D)union[110普考電子]

SELECT table_column1, table_column2...

FROM table_name1

JOIN table_name2;

 

A28.依一致性限制,若外來鍵的值不是它所參照的關聯主鍵中的值,則這個外來鍵的值之敘述,下列何者正確? (A)必須為虛值(Null) (B)不可以為虛值(Null) (C)可能為虛值(Null) (D)可以為任何值。[110鐵路員級]

外來鍵若無參照父表的值組,必為虛值;若有參照,一定連動父表值。

 

C29.在資料庫中同時執行多筆交易(Transactions),系統保證每一筆交易皆不知其他同步執行之交易,此特性為何? (A)不可分割性(Atomicity) (B)一致性(Consistency) (C)隔離性(Isolation) (D)持久性(Durability)[111地方四等電子]

<<維基百科>>

(A)不可分割性:一個事務(transaction)中的所有操作,或者全部完成,或者全部不完成,不會結束在中

間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。

(B)一致性:在事務開始之前和事務結束以後,資料庫的完整性沒有被破壞。

(C)隔離性:資料庫允許多個並發事務同時對其數據進行讀寫和修改的能力,隔離性可以防止多個事務並發執行時由於交叉執行而導致數據的不一致。事務隔離分為不同級別,包括未提交讀(Read uncommitted)、提交讀(read committed)、可重複讀(repeatable read)和串行化(Serializable)

(D)持久性:事務處理結束後,對數據的修改就是永久的,即便系統故障也不會丟失。

 

B30.下列何種程式語言是宣告式語言(declarative language),並最常運用在關聯式資料庫(relational database) (A)Fortran (B)SQL (C)Python (D)Java[111地方四等電子]

SQL(Structured Query Language,結構化查詢語言)是專門用來管理與查詢關聯式資料庫的程式語言。

 

A31.在三層DBMS結構中,那一層定義資料的邏輯圖(logical view) (A)概念(Conceptual) (B)外部(External) (C)內部(Internal) (D)實體(Physical)[111身心五等]

資料庫三層式資料架構:

內部層:描述資料庫實際儲存的資料結構及存取方式。

概念層:描述資料表之間的關聯性。

外部層:使用者只看到所需的資料,其他部分則隱藏起來。

 

A32.假設有一個關聯式資料表book儲存書本的資料,內含兩個屬性title以及author分別表示書本的書名以及作者資料。若想要列出所有小明撰寫的書名,請問下列的SQL指令何者正確? (A)select title from book where author='小明'; (B)select title where book from author='小明'; (C)select book from title where author='小明'; (D)select book where title from author='小明';[111身心五等]

SELECT 欄位 FROM 資料表 WHERE 條件

 

A33.假設一個關聯式資料表的一個屬性(attribute)允許多個重複值,請問這個資料表至少違反那一種正規化形式(normal form) (A)1NF (B)2NF (C)3NF (D)BCNF[111身心五等]

違反1NF,去除重複值。

 

C34.假設有兩個關聯式資料表Discount以及Orders,這兩個資料表的欄位以及內容如下。請問下列那個欄位有可能成為資料表Orders的外來鍵(foreign key) (A)Order Number (B)Person Type (C)Day/Time (D)Number[111身心五等]

Discount表係依據Day/Time欄給予折扣,Order表的Day/Time欄為外來鍵。

 

B35.給定下列兩個關係YX


執行下列語句將檢索那些值?

SELECT X.A, X.B, Y.C

FROM X, Y

WHERE X.A < Y.D

(A)1, u, 1 (B)1, u, r (C)1, u, t (D)3, z, t[111身心五等]

只有X表的A欄位1 < Y表的D欄位2檢索出X.A1X.BuY.Cr

 

A36.關於資料庫資料獨立性(Data Independence)的描述,下列何者正確? (A)資料庫內部儲存結構的改變,不會影響應用程式的存取 (B)資料檔案與資料庫管理系統(DBMS)可以分別在不同的伺服器上運行 (C)資料庫中的資料表可以獨立設計,不受其他資料表內容的影響 (D)資料庫系統與應用程式可以分別獨立設計與實作。[111初考資處]

資料獨立性:每一項資料都具有獨立性,資料結構和存取方法是固定的。

 

A37.關於資料庫正規化(Normalization)的描述,下列何者正確? (A)第一正規式去除多值屬性與複合屬性 (B)第二正規式去除遞依相依 (C)第三正規式去除部分相依 (D)BC正規式去除多值相依。[111初考資處]

第二正規式去除部分相依,第三正規式去除遞依相依,BC正規式去除其他功能相依所造成的異常,第四正規式去除多值相依,第五正規式去除剩下所有的異常。

 

D38.資料庫設計通常採用三層式資料架構,下列何者不屬於這三層? (A)內部層 (B)概念層 (C)外部層 (D)網路層。[111初考資處]

資料庫三層式資料架構:內部層、概念層、外部層

 

D39.若關聯綱要(relation schema)R(A, B, C, D, E)已符合1NF(第一正規式),但具有以下功能相依(functional dependency){B}{C}以及{D}{E}。下列敘述何者正確? (A)R拆解為R1(A, B, C)R2(D, E)可以符合2NF(第二正規式) (B)R拆解為R1(A, D, E)R2(B, C)可以符合2NF(第二正規式) (C)R拆解為R1(A, B, C, D)R2(D, E)可以符合2NF(第二正規式) (D)R拆解為R1(A, B, D, E)R2(B, C)可以符合2NF(第二正規式)[111初考資處]

{B}{C}為部分相依,將R拆成R1(A, B, D, E)R2(B, C)可符合2NF

{D}{E}為遞移相依,將R1拆成R3(A, B, D)R4(D, E)可符合3NF

 

C40.給予以下的設計:①概念設計(conceptual design)②表格設計(table design)③邏輯設計(logical design)④實體設計(physical design)。關於資料庫的設計,在需求分析階段完後,包括那些階段? (A)①②③ (B)①②④ (C)①③④ (D)②③④。[111初考資處]

資料庫設計分六個階段:1.需求分析,2.概念結構設計,3.邏輯結構設計,4.物理結構設計,5.資料庫實施,6.資料庫的運行與維護。

 

D41.SQL語言對文字欄位查詢是否包含特定字串時,使用下列那個關鍵字? (A)SIMILAR (B)NEAR (C)EQUAL (D)LIKE[111初考資處]

SELECT "欄位名" FROM "表格名" WHERE "欄位名" LIKE {模式};

 

C42.SQL語言中的ALTER指令,可以完成下列那項工作? (A)更新資料 (B)賦予使用者權限 (C)修改資料表綱目 (D)建立索引。[111初考資處]

ALTER TABLE "table_name" [改變方式];

 

D43.使用SQLSELECT命令中有HAVING子句,該命令中一定須用到下列何者? (A)ORDER BY子句 (B)WHERE子句 (C)CREATE SCHEMA (D)GROUP BY子句。[111普考電子]

SELECT "欄位", (函數條件) FROM "表格名" WHERE "欄位" operator value GROUP BY "欄位" HAVING (函數條件) operator value

 

A44.在關聯式資料庫(relational database)中,下列何種操作,可以移除一元組(tuple) (A)delete (B)insert (C)update (D)select[111普考電子]

DELETE FROM table_name WHERE column_name operator value;

DELETE [table.*] FROM table WHERE criteria

 

D45.下列何者不是資料庫管理系統要處理的主要問題? (A)維持多使用者同時存取同一筆資料時的正確性 (B)維持重複儲存同一筆資料的正確性 (C)進行資料存取的安全性控管 (D)進行資料的格式設計。[111關務四等]

使用資料庫的好處:

1.資料安全性(Security):資料庫管理者負責維護管理。

2.降低資料重複性(Redundancy):正規化(Normalization)

3.資料一致性(Consistency):利用關聯式資料庫的外來鍵(Foreign Key; FK)連結關聯表。

4.資料共享性(Sharing):透過資料庫系統的SQL(Structured Query Language)/DML(Data Manipulation Language)與同步控制(Concurrency Control)機制,來新增、更新、刪除及共享資料。

5.資料完整性(Integrity):利用整合性規則,檢查錯誤及不合法的資料值,確保資料正確。

6.資料獨立性(Independent):每一項資料都具有獨立性,資料結構和存取方法是固定的。

7.性能優越性(Superiority):以最短存取時間迅速回應各項需求。

8.標準化(Standardize):透過資料集中化及存取介面標準化來達成。

9.降低成本(Cost):無紙作業(Reduce Paper),有效利用空間。

 

B46.假設一個詐騙集團掌握一個銀行帳號,帳號中有10,001元,集團組織30個車手,約定在同一時間、在不同提款機、分別在此帳號內試圖提領10,000元。下列那一個機制,可以防止所有車手一共提領300,000元?(但仍允許某一個10,000元提取成功) (A)Map-Reduce (B)Concurrency control (C)Clustering analysis (D)Privacy protection[112地方四等資處]

(B)並行控制:讓多筆交易在並行狀況下運作,彼此互不干擾,確保交易間的隔離性,以提高效率。

 

C47.資料庫的邏輯架構(Logical structure)可藉由實體關聯圖(Entity-relationship diagram, ERD)表達,有關實體關聯圖元件的敘述,下列何者錯誤? (A)橢圓形(Ellipses)通常用於表示屬性(Attributes) (B)矩形(Rectangles)通常用於表示實體(Entities) (C)菱形(Diamonds)通常用於表示屬性之間的關聯(Relationships) (D)線段(Lines)通常用於連結屬性到實體以及實體到關聯。[112地方四等電子]

菱形通常用於表示實體之間的關聯,並以直線連接兩個實體。

 

D48.由下列資料庫的關聯表(Courses),欲得到另一個新的關聯表(Courses_Subset),須使用那種SQL查詢指令的運算? (A)刪除運算(Delete) (B)更新運算(Update) (C)差異運算(Difference) (D)映射運算(Project)[112身心五]

Courses

Courses_Subset

Course-No

Course-Name

Credits

Course-No

Credits

SEM20

Intro to C++

6

SEM20

6

SEM23

Intro to Java

3

SEM23

3

SEM56

Database

3

SEM56

3

以行(Course-No)為關聯欄位,屬於垂直分割,選(D)映射運算。

 

C49.對於關聯式資料庫的闡述,下列何者正確? (A)資料會被儲存成類似JSON的文件 (B)是最早出現的資料庫結構 (C)資料表間可透過主鍵與外鍵建立關係 (D)是以物件導向的方式來設計資料庫。[112初考資處]

關聯式資料庫:

1.以二維矩陣將資料儲存在表格的行、列之中。

2.儲存在資料表行、列會有關聯,資料表之間透過主鍵與外鍵建立關係。

3.可從一個資料表的欄位,透過資料表的關聯,找到另一個資料表的資料。

 

D50.下列SQL指令何者只能傳回不同值的結果? (A)SELECT DIFFERENCE (B)SELECT UNIQUE (C)SELECT FIRST (D)SELECT DISTINCT[112初考資處]

SELECT DISTINCT過濾重複出現的紀錄值。語法:

SELECT DISTINCT table_column1, table_column2...

FROM table_name;

 

A51.將員工資料表中,部門欄位為"財會"的所有員工"姓名"搜尋出來,其正確的SQL指令為 (A)SELECT 姓名 FROM 員工 WHERE 部門='財會'; (B)SELECT 員工.姓名 WHERE 部門='財會'; (C)FROM 員工 WHERE 部門='財會' EXTRACT 姓名; (D)EXTRACT 姓名 FROM 員工 WHERE 部門='財會';[112初考資處]

SELECT [ALL | DISTINCT] 欄位串列 FROM 資料表名稱 WHERE 條件式 GROUP BY 群組欄位 HAVING 群組條件 ORDER BY 排序欄位串列 [預設遞增ASC | 遞減DESC]

 

D52.下列指令何者屬於SQL指令中的資料操作語言(Data Manipulation Language, DML) (A)ALTER (B)ADD (C)MODIFY (D)UPDATE[112初考資處]

SQL語言中,以INSERTUPDATEDELETE三種指令為核心,分別代表插入、更新與刪除。

 

D53.下列那個SQL的關鍵詞是用來對查詢的結果進行排序? (A)SORT BY (B)SORT (C)HAVING (D)ORDER BY[112初考資處]

ORDER BY 排序欄位串列 [預設遞增ASC | 遞減DESC]

 

B54.有一個關聯表,它的所有非主鍵欄位值都必須由整個主鍵才能決定,則這個關聯表至少達到第幾正規化? (A)第一正規化 (B)第二正規化 (C)第三正規化 (D)第五正規化。[112初考資處]

第二正規化(2NF):要求資料表裡的所有資料都要和該資料表的鍵(主鍵與候選鍵)有完全依賴關係。如果有資料只和主鍵的一部分有關,則獨立成另一個資料表。如果一個資料表的主鍵只有單個欄位,就一定符合第二正規化。

※去除資料間的部分相依性。

 

A55.在關聯式資料庫中,外來鍵的作用是什麼? (A)將不同資料表之間的關聯建立起來 (B)保證資料表中每一列的唯一性 (C)設定欄位的屬性 (D)保護資料不被未經授權的使用者存取。[112國安五等]

利用關聯式資料庫的外來鍵(Foreign Key; FK)連結關聯表,確保資料的一致性(Consistency)

 

B56.關於三層式架構的資料庫管理系統,那一層是在定義對資料的邏輯觀點(logical view) (A)內部層(Internal level) (B)概念層(Conceptual level) (C)外部層(External level) (D)應用層(Application program)[112國安五等]

資料庫的三層式架構:內部層、概念層、外部層

概念層:定義資料庫的整體結構和組織,並提供對資料的邏輯觀點。

 

C57.下列表格

A

B

C

D

1

70

65

14

2

25, 32, 71

24

12, 18

3

32

6, 11

18

有四個欄位(A, B, C, D),含有三個橫列值組(Tuple),但它並沒有符合第一正規化(1NF)規範,若要將其調整,使其符合第一正規化形式,會變成有幾個橫列值組? (A)6 (B)8 (C)9 (D)12[112國安五等]

A

B

C

D

橫列值組

1

70

65

14

1

2

25

24

12

2

2

32

24

12

3

2

71

24

12

4

2

25

24

18

5

2

32

24

18

6

2

71

24

18

7

3

32

6

18

8

3

32

11

18

9

 

 

B58.假設我們有個關聯表格COURSES如下:

COURSES

No

Course-Name

Unit

CIS15

Intro to C

5

CIS17

Intro to Java

5

CIS19

UNIX

4

CIS51

Networking

5

CIS52

TCP/IP

6

那麼執行下列這個SQL指令

select No, Unit

from COURSES

where Unit = 5

會得到什麼?[112國安五等]

(A)

(B)

(C)

(D)

No

Unit

No

Unit

No

Course-Name

Unit

No

Unit

CIS15

5

CIS15

5

CIS15

Intro to C

5

CIS15

5

CIS17

5

CIS17

5

CIS17

Intro to Java

5

 

 

CIS19

4

CIS51

5

CIS51

Networking

5

 

 

CIS51

5

 

 

 

 

 

 

 

CIS52

6

 

 

 

 

 

 

 

在表格COURSESNoUnit兩個欄位,查詢符合where Unit = 5的項目。

 

C59.如果一家俱樂部要為它的所有個人會員建置一個會員資料庫,請問下列那一個欄位比較適合作為會員檔的主鍵值? (A)姓名 (B)生日 (C)身分證號 (D)性別。[112國安五等資處]

身分證號是唯一且固定的識別號碼,適合作為主鍵值。

 

B60.請問在關聯式資料庫中建立檔案跟檔案之間的關聯是透過那一種鍵值來建立的? (A)主鍵(Primary Key) (B)外來鍵(Foreign Key) (C)副鍵(Secondary Key) (D)複合鍵(Composite Key)[112國安五等資處]

在關聯式資料庫中,建立檔案跟檔案之間的關聯是透過外來鍵值來建立的。

 

A61.請問在SQL命令中,在資料建立一個在資料表中間插入一個新的記錄是使用那一種指令? (A)INSERT INTO (B)SELECT FROM (C)ADD RECORD (D)JOIN WITH[112國安五等資處]

INSERT INTO table_name (column1, column2, column3...)

VALUES (value1, value2, value3...);

 

B62.下列那一個有關BCNF(Boyce-Codd Normal Form)特性是錯誤的? (A)是資料庫正規化的一種正規形式 (B)是在第四正規化的基礎上加上稍微更嚴格約束 (C)要求每個非主鍵屬性完全依賴於主鍵,而不是部分依賴 (D)每個BCNF關係都需滿足第三正規化的要求。[112國安五等資處]

(B)BCNF是在第三正規化的基礎上加上稍微更嚴格約束。

 

C63.設計「醫療資料庫」之實體關係圖(Entity-Relationship Diagram)如下

若設計相對的資料庫表格正規化(Normalization)3NF(Normal Form),請問需要幾個資料庫表格? (A)1 (B)2 (C)3 (D)4[112國安五等資處]

 

D64.關於預存程序(Stored Procedure)之敘述,下列何者錯誤? (A)預存程序可以在資料庫中編譯和儲存,減少每次執行時的編譯時間和傳輸資料量,以提高整體效能 (B)預存程序可以執行一系列T-SQL程式指令,包括存取資料庫的SQL指令,和控制程式流程的指令 (C)可以從預存程序中呼叫另一個預存程序,或在運算式中呼叫預存程序 (D)執行預存程序時不可以傳遞參數,執行後可以傳回結果。[112國安五等資處]

預存程序允許使用者宣告變數、傳遞參數,也可以重複被呼叫、執行,執行後傳回結果。不同的預存程序可以互相呼叫,但無法在運算式中直接呼叫預存程序。

 

B65.相對於自行開發管理問題所需的資料檔案系統,使用資料庫的優勢,不包括下列何者? (A)設計複雜度較低 (B)簡單查詢時運作執行速度快 (C)容易在不同平台上運作 (D)容易尋求管理維護人力。[112普考資處]

資料庫的優點:結構化,大眾化。

(B)簡單查詢時,運作執行速度倒不一定快

 

A66.關聯式資料庫(Relational database)中有一個表格students,每個學生有唯一的一筆學籍資料列(tuple),且每個學生的學號(ID)相異。我們希望設計一個屬性ID,避免同一個學生有多筆資料的狀況,則我們在定義此表格的屬性ID時,必須利用下列那個設定來達到此目的? (A)主鍵(Primary key) (B)外部鍵(Foreign key) (C)不為空值(Not null) (D)預設值(Default)[112鐵路員級]

一個資料表只能有一個主鍵,且主鍵不能為空值(Null)

 

B67.某個關聯式資料庫中,原本已有二個關聯(relation)AB,若想產生一個新的關聯表C,包含同時存在於關聯表A和關聯表B中的元組(tuples),則該使用下列那一個關聯運算? (A)select (B)intersection (C)project (D)union[113地方四等電子]

(A)select:查詢資料。

(B)交集(intersection):將兩個關聯式(AB)中,都存在的記錄組合成為新的關聯式C

(C)投影(project):從關聯A中選出許多欄位後,再重新組成新的關聯。

(D)聯集(union):將關聯表A與關聯表B重新組合成新的關聯表C,在關聯表C中的記錄為原來兩關聯表的所有記錄,若有重複的記錄,只會出現一次。

 

C68.下列何者是目前常見的資料庫管理軟體? (A)Word (B)PowerPoint (C)MySQL (D)Clubhouse[113地方四等電子]

MySQL是開放原始碼的關聯資料庫管理系統(RDBMS),使用結構化查詢語言(SQL)來定義、操控、控管及查詢資料。

 

A69.有一資料表R(a, b, c, d),已知功能相依b->c,表示c功能相依於b,其中底線字為主鍵,斜體字為外部鍵,則將其作第二正規化(2NF)的結果為 (A)R1(b, c)R(a, b, d) (B)R1(b, c)R(a, d) (C)R1(a, d)R(a, b, c) (D)R(a, b, c, d)[113身心五等]

 

D70.一個資料表的非主鍵欄位間,存在功能相依性,稱為 (A)部分相依性 (B)非鍵關聯性 (C)多值相依性 (D)遞移相依性。[113身心五等]

遞移相依性:資料表中,有些欄位的資料內容,可以由某一個非主鍵的欄位決定。

 

D71.SQL語句中常用到FROMORDERSELECTWHERE 4個命令,若他們出現在同一句SQL語句,則其出現的先後順序為 (A)ORDERWHERESELECTFROM (B)WHEREORDERSELECTFROM (C)SELECTFROMORDERWHERE (D)SELECTFROMWHEREORDER[113身心五等]

 

B72.資料庫正規化的目的是為減少資料庫冗餘與增加資料的一致性。某學校每一門課程只會有一位教師擔任,從原始成績資料進行正規化完成後產生三個資料表分別為「學生資料表」、「課程資料表」與「成績資料表」,請問「課程資料表」最高滿足第幾正規化? (A)第一正規化(1NF) (B)第二正規化(2NF) (C)第三正規化(3NF) (D)BCNF正規化。[113身心五等]

原始成績資料

學號

姓名

性別

課程代碼

課程名稱

時數

教師編號

教師姓名

成績

001

O

C001

國語

4

T001

O

88

 

 

 

M001

數學

5

T002

O

92

 

 

 

E002

英文

3

T003

O

93

002

O

C001

國語

4

T001

O

85

 

 

 

M001

數學

5

T002

O

93

【正規化完成】

學生資料表

學號

姓名

性別

001

O

002

O

課程資料表

課程代碼

課程名稱

時數

教師編號

教師姓名

C001

國語

4

T001

O

M001

數學

5

T002

O

E002

英文

3

T003

O

成績資料表

學號

課程代碼

成績

001

C001

88

001

M001

92

001

E002

93

002

C001

85

002

M001

93

第二正規化(2NF):要求資料表裡的所有資料都要和該資料表的鍵(主鍵與候選鍵)有完全依賴關係。如果有資料只和主鍵的一部分有關,則獨立成另一個資料表。如果一個資料表的主鍵只有單個欄位,就一定符合第二正規化。※去除資料間的部分相依性。

 

A73.若要計算成績資料表中每位學生的平均成績,下列那一個SQL語法正確?

成績資料表

學號

姓名

課程

成績

001

O

國語

88

001

O

數學

91

001

O

生活

98

002

O

國語

85

002

O

數學

89

002

O

生活

99

003

O

國語

88

003

O

數學

96

003

O

生活

95

(A)SELECT 學號, 姓名, AVG(成績) AS 平均成績 FROM 成績資料 GROUP BY 學號, 姓名 (B)SELECT 學號, 姓名, AVG(成績) AS 平均成績 FROM 成績資料 WHERE AVG(成績) (C)SELECT 學號, 姓名, AVG(成績) AS 平均成績 FROM 成績資料 ORDER BY 學號, 姓名 (D)SELECT 學號, 姓名, AVG(成績) AS 平均成績 FROM 成績資料 HAVING AVG(成績)[113身心五等]

 

C74.若資料庫管理員要將刪除資料的權限給予程式設計師,需使用下列那一類語言操作? (A)資料定義語言(DDL) (B)資料操作語言(DML) (C)資料控制語言(DCL) (D)資料查詢語言(DQL)[113身心五等]

資料控制語言以控制使用者的存取權限為主,可利用DCL控制的權限有:CONNECTDELETEEXECUTEINSERTREFERENCESSELECTUPDATEUSAGE

 

B75.下列那一項不是關聯式資料庫資料表主鍵(Primary Key)的特性? (A)一定是候選鍵(Candidate Key) (B)一定是外部鍵(Foreign Key) (C)具唯一性 (D)不可為空值(Null Value)[113身心五等]

候選鍵:符合唯一性、最小性的關聯鍵。

主鍵:從候選鍵中,挑選出其中一個關聯鍵,也就是最具識別意義的關聯鍵。

關聯式資料庫資料表主鍵的特性:唯一性、非空值、不可以重複。

 

D76.DBMS(資料庫管理系統,Database Management System)可依據資料儲存架構分為不同類型,下列敘述何者正確? (A)網狀式資料庫及關聯資料庫皆採取樹狀結構 (B)網狀式資料庫中每個節點最多只具有一個父節點 (C)階層式資料庫中每個節點可以具有多個父節點 (D)關聯資料庫中,資料表(關聯)與資料表間藉由關聯模式運算來聯結。[113初考資處]

階層式資料庫,採取由上而下的樹狀結構,將資料分門別類儲存在不同的階層下。

網路式資料庫,可將每筆記錄視為一個節點,建立節點與節點間的關聯,提供多對多(MN)關係。

關聯式資料庫,以二維矩陣將資料儲存在表格的行、列之中。儲存在資料表行、列會有關聯,資料表之間也會互有關聯。

 

C77.現有一個雇員(Employee)的資料表具有雇員帳號(Employee_ID)、雇員姓名(Employee_Name)及績效奬金(Performance_Bonus)等欄位,現資料表中有500筆雇員的記錄,其中有100筆記錄的績效奬金為空值(null),其餘均為10000的數值,如現有一個SQL敘述如下,請問執行的回傳值為?SELECT COUNT (*), COUNT (Performance_Bonus) FROM Employee (A)500500 (B)400100 (C)500400 (D)語法錯誤。[113初考資處]

COUNT(*),計算資料表中有500筆雇員的記錄

COUNT (Performance_Bonus),計算非空值的記錄有400

 

C78.連結二個或多個資料表的查詢應該採用下列那一個SQL指令? (A)ALTER (B)DROP (C)JOIN (D)SET[113初考資處]

JOIN指令:將二個或多個資料表根據關聯條件連結起來,進行查詢。

 

D79.篩選資料是否符合的條件敘述例如AND, OR, NOT邏輯運算子通常寫在那一個SQL查詢子句內? (A)FROM子句 (B)GROUP BY子句 (C)ORDER BY子句 (D)WHERE子句。[113初考資處]

WHERE子句:篩選符合特定條件的資料。

 

C80.假設有一個SQL查詢包含下列四個子句,在查詢處理(query processing)過程中何者是最晚才執行的? (A)FROM子句 (B)GROUP BY子句 (C)ORDER BY子句 (D)WHERE子句。[113初考資處]

ORDER BY子句:排序結果。

 

A81.資料庫正規化(normalization)最主要的目標是希望盡量避免下列那種狀況出現? (A)資料重複 (B)欄位重複 (C)欄位太多 (D)索引太少。[113初考資處]

資料庫正規化的主要目標:避免資料重複出現,確保資料一致性。

 

D82.若要透過資料庫查詢修改某一筆客戶資料的電話欄位,應該採用下列那一個SQL指令? (A)DELETE (B)INSERT (C)SELECT (D)UPDATE[113初考資處]

UPDATE指令:修改資料表中的資料。

 

C83.下列何者不是資料庫管理系統相對於檔案管理系統的優點? (A)避免不一致(inconsistency) (B)資料整合性(integrity) (C)介面友善度(friendliness) (D)減少重複性(redundancy)[113初考資處]

資料庫管理系統:使用者與資料庫間的溝通介面,提供資料安全性、一致性、共享性、完整性,降低資料重複性。

 

A84.下列何者是關聯式資料庫中,常見的二元運算子(binary operator),其運作需要二個關聯(relation)表? (A)difference (B)select (C)update (D)project[113原民四等]

(A)difference:差集運算需要兩個表,從第一個表中移除第二個表中存在的資料,是二元運算子。

(B)select:選擇運算只作用於一個表,用來選取符合條件的資料,是一元運算子。

(C)update:更新一個表中的資料,是一元運算。

(D)project:投影運算只作用於一個表,用來選取表中的某些欄位,是一元運算子。

 

B85.有關DBMS是指 (A)資料庫 (B)資料庫管理系統 (C)資料庫管理師 (D)管理資訊系統。[113原民四等]

(A)資料庫(DatabaseDB)

(B)資料庫管理系統(Database Management SystemDBMS)

(C)資料庫管理者(Database AdministratorDBA)

(D)管理資訊系統(Management Information SystemMIS)

 

C86.某個關聯式資料庫中,已有一個關聯(relation)Student1,其屬性(attributes)包括reg_nonamescoreaddress。對Student1使用下列那一種關聯運算,可以產生一個新的關聯表Student2,其屬性只包括reg_nonameaddress (A)Join (B)Union (C)Project (D)Intersection[113普考電子]

(A)Join(連接):橫向結合,根據指定的條件,合併多個資料表的各欄位。

(B)Union(聯集):垂直結合,合併多個資料表中的紀錄,並去除重複的紀錄。

(D)Intersection(交集):找出兩個資料表相同的紀錄,且重複的紀錄只會顯示一筆。

 

B87.在關聯式資料庫中,一種關係(relation)可以用二維表格表示,每一列(row)代表某筆資料(tuple),而每一欄(column)代表這個關係表格中每一筆資料的某種屬性(attribute)。下列那一種關聯式資料庫的運算,可以抽取出在一個關係中所有資料的某種屬性? (A)選擇運算(SELECT) (B)投影運算(PROJECT) (C)關聯運算(JOIN) (D)聯集運算(UNION)[113關務四等]

投影運算之目的:依照條件選取所需欄位,刪除不必要的欄位。