lawpalyer logo

高等資料庫設計考古題|歷屆國考試題彙整

橫跨多種國家考試的高等資料庫設計歷屆試題(選擇題 + 申論題)

年份:

資訊處理 66 題

假設我們要為某政府機關設計一個資料庫系統,以管理該機關發包的各 項工程與相關資訊,經分析後得到下列需求: 每項工程案需要記錄其工程編號、工程名稱、發包日期與施作地點, 而且工程編號不可重複,以用來辨識不同的工程案。 每個廠商皆須登記其統一編號、公司名稱、聯絡人姓名與電話。 一個工程案只能由一位廠商承包,但一位廠商可以承包多個工程案。 每個工程案只會由機關內的一位員工負責,但一位員工可以負責多 件工程案。每位員工需記錄其員工編號、員工姓名、職稱與部門名稱, 且每位員工的編號皆不同。 有些工程在執行過程中可能會進行多次查核,每次查核需記錄查核 日期與查核結果,且查核紀錄的唯一識別方式是「工程編號」和「查 核日期」的組合。 請根據上述所有需求畫出一個實體關係圖(Entity-Relationship Diagram, ER Diagram),注意圖中必須標明實體集合(Entity Set)、關係集合 (Relationship Set)、屬性(Attribute)、主鍵(Primary Key)和對應數量 限制(Mapping Cardinality)等。另外,請特別使用弱實體集合(Weak Entity Set)來表示查核資料,並詳述弱實體和一般實體的不同之處為何, 以及你的表示法傳遞了什麼特別的資料限制或意義。(25 分)
假設在某關聯式資料庫中定義了一個BOOK 表格,其中包含三個字串型 態的屬性,分別為ISBN、Title、Author。若資料庫管理者為該表格的 Author 屬性建立了一個索引(Index),且該索引是依照B+-tree 的結構所 建立。首先請列舉數筆範例資料,然後描繪出對應的索引結構。接著, 請說明此索引有助於提升下述那個查詢句的查詢效率,並詳述你的理由: (25 分) 查詢句一:select Author from BOOK where Title = ‘相對論’; 查詢句二:select Title from BOOK where Author = ‘Einstein’;
假設資料庫系統中定義了下列兩個表格,其中屬性Bid 代表書籍編號, 屬性Uid 代表使用者編號,且表格中的所有屬性皆為字串(varchar)型態: BOOK(Bid, Title, Author) BORROWER(Uid, Bid, Date) 另外觀察到本系統的使用者經常需要執行下述SQL 查詢句: select Uid, Title from BOOK, BORROWER where BOOK.Bid = BORROWER.Bid; 假設系統中原本並沒有定義任何索引,而我們希望利用樹狀結構的索引 (如B+-tree 或B-tree)來提升上述SQL 的查詢處理效率。首先,請以 SQL 標準語法為上述的一個或兩個表格的特定屬性定義索引,並詳述你 選擇為那些屬性定義索引的理由。其次,請自行設計合適的資料範例, 針對你所定義的一個或數個索引具體畫出對應的樹狀結構,並以該實例 說明你所設計的索引結構如何提升上述SQL 句的查詢效率。(25 分)
關聯式資料庫雖然被廣為使用,但是不同類型的資料庫也日漸受到重 視,其中包含文件資料庫(Document Database)和圖形資料庫(Graph Database)。請針對此兩種類型,分別提供一個代表性的系統軟體,並詳 述該軟體處理的資料型態為何,以及舉例說明合適的應用場景。(25 分)
開發一個資料庫的二個主要步驟為邏輯資料庫設計(logical database design)和實體資料庫設計(physical database design)。 請說明邏輯資料庫設計時的輸入和輸出各為何,並描述執行此步驟時 的主要考量。(15 分) 請說明實體資料庫設計時的輸入和輸出各為何,並描述執行此步驟時 的主要考量。(15 分)
若有一檔案的架構如下圖所示,其中各個箭頭是用來標示各個欄位間的 功能相關(functional dependency)。 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 依據此檔案的架構,請分別論述是否會發生新增異常(insertion anomaly)、修改異常(modification anomaly)和刪除異常(deletion anomaly)。(12 分) 請分別論述此檔案的架構是否符合第一正規化(first normal form)、第 二正規化(second normal form)和第三正規化(third normal form)的 要求,並請將其轉換成符合第三正規化要求的檔案架構。(18 分)
在建置資料庫時,請說明啟動器(trigger)的用途,並分別列出使用啟動 器的一個優點和一個缺點,然後對此優缺點進行論述。(15 分)
針對產品資料檔Product_T 和訂單明細檔OrderLine_T,用結構化查詢語 言(structured query language, SQL)所撰寫之指令如下所示,其中OrderID 為訂單編號,ProductID 為產品編號,ProductFinish 表示產品的生產地。 假設產品資料檔的主索引(primary index)為產品編號,訂單明細檔的主 索引為訂單編號和產品編號的組合。 SELECT DISTINCT OrderID FROM OrderLine_T WHERE EXISTS (SELECT * FROM Product_T WHERE ProductID = OrderLine_T.ProductID AND ProductFinish = ‘Taipei’); 請說明此指令所要完成的工作,並論述應如何設定這二個檔案的次要 索引(secondary index),才能讓這個指令有較好的執行效率。(10 分) 請在不使用子查詢(subquery)的條件下,重新撰寫這個指令以完成同 樣的工作,並論述這二種寫法的優缺點。(15 分)
假設你想記載太平洋颱風資訊,並設計一個簡易資料庫,以下為其實體 型態(Entity Type)和相關資訊: 國家(Nation):需記載國名(nName)、人口(population)、區域(region), 其中國名為唯一。 颱風(Typhoon):需記載年(year)、編號(num)、中文名(cName)、 英文名(eName)、生成日期(startDate)、路徑(path)。其中沒有任 何一個屬性是唯一,但不同颱風的年和編號不會完全一樣,此外路徑 裡要記載多個時間點(time)的中心點緯度(latitude)、中心點經度 (longitude)和暴風半徑(radius)。此外,颱風影響(impact)的國 家,以及造成的死亡人數(casualty)和經濟損失(loss)也要記載。 預測單位(Bureau):需記載單位名稱(bName)、成立日期(startDate), 其中單位名稱是唯一,且預測單位所屬國家也需記載。 預測路徑(PredictedPath):需記載預測時間(pTime)和預測路徑 (pPath),其中預測路徑裡要記載多個時間點(time)的中心點緯度 (latitude)、中心點經度(longitude)和暴風半徑(radius)。請注意預 測路徑是由某一個預測單位針對某一個颱風所做的預測,因此預測 單位、針對的颱風和預測時間合起來為唯一。 請根據以上說明畫出實體關係圖(Entity Relationship Diagram),題目 沒有說明處可自行假設,但要說明清楚。(20 分) 請轉成關聯綱目(Relational Schema),每一關聯的主鍵(Primary key) 和外鍵(Foreign key)要標示清楚。(10 分)
參考Youtube 上的影片資訊的一個資料表VideoClip,考慮以下屬性: URL 標題 發布者 訂閱數 評論次序 評論者 評論內容 評論推數 評論噓數 評論回覆次序 回覆者 回覆內容 回覆推數 回覆噓數 有以下的函數相依(Functional Dependencies): URL標題 URL發布者 發布者訂閱數 {URL, 評論次序}{評論者, 評論內容, 評論推數, 評論噓數} {URL, 評論次序, 評論回覆次序}{回覆者, 回覆內容, 回覆推數, 回覆噓數} 請推導出VideoClip 的關聯鍵(key)。(7 分) 將VideoClip 關聯綱目(Relation schema)分解成滿足第二正規式 (Second Normal Form)但不滿足第三正規式(Third Normal Form)的 綱目,請列出分解後每一關聯綱目之主鍵(Primary key)和外鍵(Foreign key)並說明之。(10 分) 進一步將VideoClip 關聯綱目(Relation schema)分解成滿足第三正規 式(Third Normal Form)的綱目,請列出分解後每一關聯綱目之主鍵 (Primary key)和外鍵(Foreign key)並說明之。(10 分)
考慮以下的商品資料庫綱目(Database Schema): User(uId, name, date) //使用者編號,姓名,加入日期 Product(pId, seller, name, category, star, sale) //商品編號,賣家名稱,商品名稱,類別,星等,售出數量 Opinion(uId, pId, seller, time, comment, star) //使用者編號,商品編號,賣家名稱,評論日期,意見,星等 各資料表的主鍵(Primary key)以底線表示。此外,並有以下的外鍵 (Foreign key): Opinion(uId) 參考到User 的主鍵 Opinion(pId, seller) 參考到Product 的主鍵 請寫出下列問題的結構化查詢語言(SQL): 列出2023 年加入的使用者編號和姓名(5 分) 列出商品名稱為「掃地機器人」在2023 年的總評論數(8 分) 找出在2023 年對於「掃地機器人」做出最多評論的使用者之編號和姓 名。(10 分)
請簡要說明以下非關聯式資料庫,並各舉一個真實系統範例。 (每小題5 分,共20 分) 鍵值資料庫(Key-value database) 文件資料庫(Document database) 圖資料庫(Graph database) NoSQL 資料庫
在某個圖書館的關聯式資料庫系統中,定義了如下的BORROWER 表格: BORROWER(ID, ISBN, Date) 該表格所記錄的借閱資料,包含借書者編號(ID)、書號(ISBN)和借 閱日期(Date)三個屬性,且這些屬性皆為字串(varchar)型態。假設 我們希望查詢出那些借書者所借閱的書籍數量,比借書者編號“A001”所 借閱的書籍多。請根據以下兩小題的指示,分別利用不同的方法達到所 求。若非使用SQL 標準語法,請註明所使用的語法為那個軟體所支援。 撰寫一個SQL 查詢句,直接利用標準的“count”函數輸出所需的資料。 (10 分) 首先設計一個函數稱為“BookCount”,該函數定義一個名為“id”的參數 對應到借書者編號,然後根據該參數回傳其所借閱的書籍數目。接著 利用BookCount 函數撰寫一個SQL 查詢句來輸出題目所需求之資訊。 (15 分)
假設在某關聯式資料庫中定義了一個USER 表格,其中包含三個字串型 態的屬性,分別為ID、Name 和Address。若資料庫管理者以下述之SQL 指令為該表格建立了一個索引(Index),且該索引是依照B+-tree 的結構 所建立: create index fastindex on USER (Name); 首先請描述此索引的葉節點和內部節點所存放的資料分別為何?以及 其結構的主要特性。接著,請說明此索引有助於提昇下述那個查詢句的 查詢效率,並詳述你的理由:  查詢句一:select ID from USER where Name = ‘Mary’;  查詢句二:select Name from USER where ID = ‘B001’;(25 分)
資料庫軟體在實作交易處理(Transaction Processing)時,都會遵循特定 原則來維護資料庫內容的正確性,而目前最常見的是ACID 和BASE 這 兩種類型。首先請分別解釋ACID 和BASE 這兩個英文縮寫(Acronym) 分別對應到的英文全名為何?以及詳述各自所代表的特性和要求。接 著,針對目前常被用來實作大數據的NoSQL 類資料庫,請說明它們大 多是支援ACID 還是BASE?並解釋你的看法。(25 分)
某家網路書店保留了過去20 年來顧客於該網站購買書籍的交易紀錄, 另外也記錄了顧客的基本資料,如年齡、性別等,以及所購買書籍的種 類,如科幻類、文學類等。假設該書店欲利用資料倉儲(Data Warehousing) 的技術建立一個專門用以進行資料分析的系統,請根據星狀綱要(Star Schema)的精神,替此系統設計出合理的綱要。你可以自行假設合理的 屬性,但請說明其各自代表的意義。由於資料倉儲內存放大量的歷史資 料,該類系統大多採用以欄為主(Column-Oriented)的資料儲存方式。 請以你設計的表格舉例說明資料會如何儲存於硬碟中,並說明此種方式 的主要優點為何。(25 分)
假設你想替臺灣COVID-19 的公費疫苗接種設計一個簡易資料庫,有以 下幾種實體(Entity Type): 疫苗(Vaccine):屬性包括名稱(name)、臨床試驗階段(phase)、 製造國(madeBy),剩餘數量(amount),其中名稱和製造國合起 來是唯一。 施打輪(Round):屬性包括輪數(num)、預約開始日期(rBdate)、 預約結束日期(rEdate)、施打劑量(dose),其中輪數是唯一。 登記人(Person):屬性包括識別號(pId)、姓名(name)、出生年 月日(bDate)、性別(gender),其中識別號是唯一。 接種站(Station):屬性包括識別號(sId)、名稱(name)、容納人 數(capacity),其中識別號是唯一。 其中登記人在那一個施打輪的那一個接種站的接種日期都需記載,此外 每一施打輪所用的疫苗、有那些接種站也需記載。 請根據以上說明畫出實體關係圖(Entity Relationship Diagram),題 目沒有說明處可自行假設,但要說明清楚。(20 分) 請轉成關聯綱目(Relational schema),每一關聯的主鍵(Primary key) 和外鍵(Foreign key)要標示清楚。(10 分)
假設有一個記載討論版文章的資料表Article,包括以下欄位: dateTime //評論記載時間 author //發表人 school //學校 forum //討論版 title //標題 owner //版主 content //內容 reply //回答 相依(Dependency)如下: {dateTime, author}{forum, title, content} {forum}{owner} {author}{school} {dateTime, author}{reply} 其中為函數相依(Functional Dependency),為多值相依 (Multi-valued Dependency)。 請推導出Article 資料表的關聯鍵(key)。(7 分) 將Article 關聯綱目(Relational schema)分解成滿足第三正規式(Third Normal Form)的綱目,請列出分解後每一關聯綱目之主鍵(Primary key)和外鍵(Foreign key)並說明之。(10 分) 用SQL CREATE TABLE 語法表達出上一小題的資料庫綱目 (Database schema),屬性的型態請自訂。(8 分)
考慮以下的商品交易資料庫綱目(Database schema): User(uId, name, rdate) //使用者編號,姓名,加入日期 Product(pId, seller, name, category, star) //商品編號,賣家名稱,商品名稱,類別,星等 Transaction(uId, pId, seller, date, amount, star) //使用者編號,商品編號,賣家名稱,日期,數量,星等 各資料表的主鍵(Primary key)以底線表示。此外,並有以下的外鍵 (Foreign key): Transaction(uId)參考到User 的主鍵 Transaction(pId, seller)參考到Product 的主鍵 將每一個商品和其賣家的星等star 值改成Transaction 裡對於該商品和 其賣家的星等(star)之平均值。(7 分) 列出藍芽耳機(Product.category = ‘Bluetooth earphone’)的所有賣家名 稱和商品名稱。(4 分) 對於每一個總購買量超過(含)1000 的藍芽耳機(Product.category = ‘Bluetooth earphone’)商品和其賣家,列出賣家名稱、商品名稱和星等。 (8 分) 對於每一位賣家,列出其賣家名稱和2021 年有賣出的商品名稱。(6 分)
考慮以下的商品交易資料庫綱目(Database schema): User(uId, name, rdate) //使用者編號,姓名,加入日期 Product(pId, seller, name, category, star) //商品編號,賣家名稱,名稱,類別,星等 Transaction(uId, pId, seller, date, amount, star) //使用者編號,商品編號,賣家名稱,日期,數量,星等 各資料表的主鍵(Primary key)以底線表示。此外,並有以下的外鍵 (Foreign key): Transaction(uId)參考到User 的主鍵 Transaction(pId, seller)參考到Product 的主鍵 若我們有以下的SQL 敘述: SELECT uId, name FROM User AS U WHERE YEAR(rdate)>= ‘2020’ AND uId IN (SELECT uId FROM Transaction AS T WHERE T.uId = U.uId AND star = 5 AND EXISTS (SELECT * FROM Product WHERE pId = T.pId AND category = ‘Bluetooth earphone’)); 請說明以上查詢句的意義。(5 分) 以上查詢句的執行效率可能不佳,請指出造成其效率不佳的語法,並 改寫成一個效率較佳的敘述。(10 分) 針對你所改寫的查詢句,若想進一步提升其執行效率,請問可以建置 那些索引(Index)?請寫出建置這些索引的SQL 敘述並說明原因。 (5 分)
某航空公司的一趟飛機(Airplane)飛行(Fly)會有多個機組員(Crew) 以不同角色(Role)參與,飛行記錄有起飛地點名(Origin)、起飛時間 (DepTime)、到達時間(ArrTime)、到達目的地(Destination)、里程 (Miles)。時間均精確到「秒」。機組員團隊有不同的編號(CID)、姓名 (CName),飛機有不同的編號(ANO)、型號(Model)。下圖是某設計 師所繪製的實體關係圖(ER 圖,Entity-Relationship Diagram),其中每一 實體(矩形)鄰近某關係(菱形)間均有一對(min,max)的限制,代表 該實體參與該關係之min(至少)、max(至多)次數限制,*代表沒有限 制。屬性劃實底線者(有CID、ANO、DepTime)為Primary Key(主鍵) 的一部分。 下面答題,除了原圖中所示的英文屬性外,不得再假設任何其他屬性。 要求: 請先寫出上面敘述所隱含的所有功能相依(Functional Dependency)。 (2分) 請將此ER 圖轉化成關聯式資料庫綱要(Schema)。(6分) 上述的Schema,若不是在第三正規化(3rd Normal Form),請將其 轉為符合第三正規化關聯式資料庫綱要。(6分) 請評估此設計師的ER 圖是否正確?如不是,請說明其問題,並請另 繪出你建議的ER 圖。(10分) 請將上述的你自己「建議的ER 圖」轉為符合第三正規化關聯式資 料庫綱要。並與所得到的答案相比較。(6分) ArrTime Origin
下圖是某實體關係圖(Entity-Relationship Diagram),其中每一實體(矩 形)或弱實體(雙矩形)鄰近某關係(菱形)間均有一對(min,max)的 限制,代表該實體參與該關係之min(至少)、max(至多)次數限制, *代表沒有限制。屬性劃實底線者(如FK)為Primary Key(主鍵)的一 部分、劃虛底線者(如GK)為Partial Key。箭頭is-a 代表某實體(如S) 為另一實體(如H)的特殊化(Specialization)。請在同時兼顧日後運作 效率與語意正確的原則,寫出其對應的關聯(Relation)式資料庫綱要 (Schema): 做為下一子題的草稿,請以「關聯(屬性1, 屬性2,…)」方式先寫出應 有的所有關聯表格;同時,必須標示出每個關聯的主鍵。(16分) 進一步,請針對實體關係圖中G、H、S、R5四者應有的關聯表格,以 SQL 語法寫出其綱要,欄位的資料型態均假設為固定字串,長度可自 行假設。但重點是:每一關聯均需以SQL 語法註明其主鍵、所有的候 選鍵(Candidate Key),以及標註應有的參考完整性限制(Referential Integrity Constraints),為求簡化,違反參考完整性限制時行動均假設 為RESTRICT。(14分) F G E R1 R2 (0,*) (1,1) (1,*) (1,*) FK GK R5 (1,*) (0,*) EK D R3 H S is-a HK SK B C A (0,*) (1,1) A1 J is-a
當設計資料庫管理軟體(DBMS)時,同時接取的管理(Concurrency Control)是重要議題。假設某段期間,資料庫運作環境只有T1、T2兩個 交易,他們遵守basic two-phrase locking(基本的兩階段鎖定協定)。下 圖表示若從頭到尾執行結束時,T1、T2原先想完成的operation。 T1原預定交易內容 T2原預定交易內容 read_lock( β ); read_item( β ); write_lock( γ ); read_item( γ ); γ: = 110β-101001; write_item( γ ); write_lock( α ); read_item( α ); α: = α+105γ; read_lock( α ); read_item( α ); write_lock( β ); β: = α+β; write_item( β ); unlock( α ); unlock( β ); commit; write_item( α ); unlock( α ); unlock( β ); unlock( γ ); commit; 隨著時間軸往下,兩交易前面一些operation 的進行交織如下: T1 T2 read_lock( β ); read_item( β ); write_lock( γ ); read_item( γ ); γ: = 110β-101001; write_item( γ ); write_lock( α ); … … read_lock( α ); read_item( α ); write_lock( β ); … … 若DBMS 的deadlock 預防機制分別如下,會發生什麼情況?請分別說 明(a)在該機制下,兩個交易中間因某些operation 的衝突狀況,以及(b)整 體而言,隨著時間的進行,兩個交易最後的狀況;尤其說明還會有 deadlock 嗎?(每小題10分,共20分) deadlock 預防機制採Wait-die deadlock 預防機制採Wound-wait 時 間 進 行
假設我們要設計關聯式資料庫,採用由下而上的合成法的設計作法,其 Universal Relation 綱要包含10個屬性為R(A,B,C,D,E,F,G,H,I,J)。已知的 功能相依為: {I,J}H {I,G}{E,F} {G,J}{C,D} {G,J}A JB CA 請以功能相依的推導、封閉(Closure)的概念,找出R 所有的候選鍵 (請呈現你的功能相依推導)。(6分) 請分解R 為滿足第三正規化的關聯資料庫綱要。(14分)
因應大數據時代的來臨,日前各大學紛紛成立校務行政辦公室,以整合 校內各式各樣的資料,其中一所大學的校務行政電腦化中的「教務資料 庫」,經系統分析後,得到如下需求: 此大學由幾個學院(SCHOOL)如文學院、工學院與資電學院等學院 組成,每個學院有學院代碼(sch-id)與學院名稱(sch-name),學院 代碼可區別不同的學院,每一學院有一院長,由一教授擔任。 一個學院由許多學系(DEPARTMENT)組成,每一學系有系代碼 (dept-id)、系名稱(dept-name),系代碼可區別不同學系;一個學系 會開許多課程(COURSE),但一課程僅由一學系開授,每一課程有 課程代碼(crs-id)、課程名稱(crs-name)、課程說明(crs-descript) 及課程學分數(crs-credit),課程代碼可區別不同課程。 一學系有許多學生(STUDENT),每個學生有學生代碼(stud-id)、學 生姓名(stud-name)與學生電子信箱(stud-email),其中有學生可能 會有多個電子信箱,學生代碼可區別不同學生。 一學系由許多教授(PROFESSOR)組成,一教授僅隸屬於一學系, 每一教授有教職員工代碼(prof-id)、教職員工姓名(prof-name)與教 授職等(prof-rank),教職員工代碼可區別不同教授。 一教授可以開許多門課,但一門課只能由一教授開課;一教授可以指 導多個學生,但一個學生僅被一個教授指導。 一學生可以修許多的課程,一課程也可由許多學生來修,每一學生修 的課程有一成績(grade)。 請畫出此「教務資料庫」實體關聯(Entity-Relationship, ER)綱要 (Schema),包括實體型態(Entity Types)、關聯型態(Relationship Types) 與限制(Constraints)。(25 分)
請描述關聯式資料庫模 概念(Basic Constru (Operations);說明關聯 器(Query Processor Optimization)?(25
關聯式資料庫為了快速 (Indexes),在動態的 B-tree 資料結構來建立 (Insert)一筆資料,主 刪除(Delete)一筆主 
給予一關聯綱要R = (Functional Dependen {F}→{G, H}, {D}→{I 至那一正規格式(N Dependency),並請分割 模型的組成要素(Components) ucts or Concepts )、限制(Co 關聯式資料庫查詢語言SQL 如何被 r )使用何原理來進行查詢 分) 速存取,常會使用主鍵(Primary 的多層索引(Dynamic Multileve 立主鍵的索引,畫出如下圖ord 主鍵為62 的B-tree;畫出如下圖 主鍵為30 的資料後的B-tree。(2  {A, B, C, D, E, F, G, H, I, J} ncies)F = {{A, B}→{C}, {A}→ I, J}},R 的鍵值(Key)為何?將R Norm Form)可以刪除遞移依 分割至此正規格式。(25 分) ),包括基本結構或 onstraints)及運算 何被執行?查詢處理 詢最佳化(Query y Key)來建立索引 el Indexes)常使用 der 3 的B-tree 加入 order 3 的B-tree 25 分) }及一組功能依附性 →{D, E}, {B}→{F}, R 分割(Decompose) 依附性(Transitive
以下為一個直播截圖,請依據上頭的資訊,繪出其相對應的實體關係圖(Entity Relationship Diagram),並作適當的說明。(20 分)
假設有一個記載評論資料的資料表Review,包括以下欄位: 1. DateTime //評論記載時間 2. Author //評論人 3. Unit //評論人單位 4. Title //標題 5. Content //評論內容 6. Length //內容長度 7. HashTag //標籤 相依(Dependency)如下: {DateTime, Author}→{Unit, Title, Content, Length} {Content}→{Length} {Author}→{Unit} {DateTime, Author}→→{HashTag} 其中→為函數相依(Functional Dependency),→→為多值相依(Multi-valued Dependency)。 請推導出Review 資料表的關聯鍵(key)。(5 分) 將Review 關聯綱目(Relation schema)分解成滿足第二正規式(Second Normal Form)但不滿足第三正規式(Third Normal Form)的綱目,請列出分解後每一關 聯綱目之主鍵(Primary key)和外鍵(Foreign key)。(5 分) 將Review 關聯綱目分解成滿足第三正規式(Third Normal Form)的綱目,請列出 分解後每一關聯綱目之主鍵(Primary key)和外鍵(Foreign key)。(5 分) 用SQL CREATE TABLE 語法表達出上一小題的資料庫綱目(database schema), 屬性的型態請自訂。(5 分) 106年公務人員高等考試一級暨二級考試試題 全一張 (背面) 等 別:高考二級 類 科:資訊處理 科 目:高等資料庫設計
考慮以下的商家評論資料庫綱目(database schema): User(uId, name, star) //使用者編號,姓名,星等 Store(sId, name, star, address, city) // 店家編號,名稱,星等,地址,城市 Review(uId, sId, date, title, content, star, usefulness) //使用者編號,店家編號,日期,標題,內容,星等,有用性 各資料表的主鍵(Primary key)以底線表示。此外,並有以下的外鍵(Foreign key): Review(uId)參考到User 的主鍵 Review(sId)參考到Store 的主鍵 將每一家位於臺北大安區的店(也就是住址裡包括大安區且city = ‘Taipei’)的星 等star 值改成Review 裡對於該店的星等(star)之平均值。(7 分) 對於每一家臺北的店(Store.city = ‘Taipei’),列出店家編號,名稱和所有 usefulness>10 的評論所給的星等平均值。(6 分) 對於每一位寫過至少一篇usefulness>10 評論的使用者,列出其使用者編號,姓名 和2017 年所寫的評論之數量。(7 分)
考慮以下的商家評論資料庫綱目(database schema): User(uId, name, star) //使用者編號,姓名,星等 Store(sId, name, star, address, city) // 店家編號,名稱,星等,地址,城市 Review(uId, sId, date, title, content, star, usefulness) //使用者編號,店家編號,日期,標題,內容,星等,有用性 若我們有以下的SQL 敘述: SELECT sId, name FROM Store AS S WHERE city = ‘Taipei’ AND EXISTS (SELECT * FROM Review AS R WHERE R.sId = S.sId AND R.uId IN (SELECT DISTINCT uId FROM User WHERE star = 5)); 請說明以上查詢句的意義。(5 分) 以上查詢句的執行效率可能不佳,請指出造成其效率不佳的語法,並改寫成一個 效率較佳的敘述。(10 分) 針對你所改寫的查詢句,若想進一步提升其執行效率,請問可以建置那些索引 (Index)?請寫出建置這些索引的SQL 敘述並說明原因。(5 分)
NoSQL 資料庫可以大略分成三種:key-value 資料庫、文件資料庫和圖形資料庫。請 針對每一種大略敘述其特性並舉出至少一個目前常用的該資料庫系統名稱。(20 分)
若某公司業務資料庫中包含了客戶、訂單、訂單明細、品項等資料表(Tables)如下: CUSTOMER(CustNum, Name) ORDER(OrderNum, CustNum, OrderDate, Amt) ORDER_ITEM(OrderNum, ItemNum, Qty) ITEM(ItemNum, Name, UnitPrice) 各資料表中的屬性分別為: CUSTOMER:CustNum:客戶代碼、Name:客戶名稱,主鍵(Primary Key, PK):CustNum ORDER:OrderNum:訂單號碼、CustNum:客戶代碼、OrderDate:訂單日期、 Amt:訂單金額,主鍵:OrderNum ORDER_ITEM:OrderNum:訂單號碼、ItemNum:品項代碼、Qty:數量, 主鍵:(OrderNum, ItemNum) ITEM:ItemNum:品項代碼、Name:品名、UnitPrice:單價,主鍵:ItemNum 且有以下外來鍵(Foreign Key, FK)Æ主鍵(PK)的關係: ORDER.CustNumÆ CUSTOMER.CustNum ORDER_ITEM.OrderNumÆ ORDER.OrderNum ORDER_ITEM. ItemNum Æ ITEM. ItemNum 假設各屬性(attribute)之資料型態都已有適當定義。請寫出SQL-99(或Qracle、 SQL-Server、MySQL…,但須註明)命令完成以下查詢: 總購買金額超過100 萬的客戶之客戶名稱及其總購買金額。(10 分) 2016 年9 月份每種品項的總銷售量,列出各品項的品名及銷售數量(Qty)。(10 分)
若資料庫中包含下列兩個資料表(Tables): R(Rid, RA1) S(Sid, SA1, FRid) Rid 是R 的主鍵(PK),Sid 是S 的主鍵,且FRid 是S 中的外來鍵(FK),必須參照 到R 的Rid。 關於實體完全限制(Entity Integrity Constraint)及參照完全限制(Referential Integrity Constraint),請分別就對R 或S 進行資料新增(insert)、刪除(delete)、修改(update) 是否會違反這兩個限制(Constraint),以回答下列問題。作答時須針對新增、刪除、 修改分別作答,如果不會違反限制,以「不會違反」字樣作答,如果會違反,須運 用R 或S 中的屬性具體說明會違反限制的狀況。 對R 做新增(insert)、刪除(delete)、修改(update)是否會違反實體完全限制(Entity Integrity Constraint)。(3 分) 對R 做新增(insert)、刪除(delete)、修改(update)是否會違反參照完全限制 (Referential Integrity Constraint)。(7 分) 對S 做新增(insert)、刪除(delete)、修改(update)是否會違反實體完全限制(Entity Integrity Constraint)。(3 分) 對S 做新增(insert)、刪除(delete)、修改(update)是否會違反參照完全限制 (Referential Integrity Constraint)。(7 分) (請接第二頁) 105年公務人員高等考試一級暨二級考試試題 代號:22740 全三頁 第二頁 等 別:高考二級 類 科:資訊處理 科 目:高等資料庫設計
下列ER 圖(ER-Diagram)採用Chen style 表示法(ER-Diagram 最原始表示法)繪製, 實體型態 Entity Type 屬性 Attribute 關係型態 Relationship Type 多值屬性 Multivalued Attribute 部分參與 Partial Participation 完全參與 Total Participation 請改用(min, max)表示法表示其中的結構限制(Structural Constraints),以重新 繪製此ER 圖。(10 分) 若欲依據此綱目(Schema)進行邏輯設計(Logical Design),請將其轉換成最適當 (請仔細觀察ER 圖)的關聯式綱目(Relational Schema),並將轉換結果以關聯式 綱目圖(Relational Schema Diagram)繪出,圖中須表達主鍵(PK)及外來鍵(FK)。 (10 分)
正規化(Normalization)在關聯式資料庫(Relational Database)設計時是很重要的工作。 請說明未達到特定正規形式(Normal Form)的資料庫綱目(Database Schema)會 導致什麼問題?(5 分) 何謂二階正規形式(Second Normal Form, 2NF)、三階正規形式(Third Normal Form, 3NF)、 Boyce-Codd 正規形式(Boyce-Codd Normal Form, BCNF)?請用廣義定義(General Definition)說明,也就是在定義是否符合正規形式時,所有的鍵(Key)地位均等, 主鍵(PK)相較於其他的鍵並無特殊之處。(5 分) 請舉一個符合二階正規形式但不符合三階正規形式的關聯(Relation)例子,作答時 畫出關聯式綱目圖,並註明所有的功能相依(Functional Dependency)關係,各屬性 名稱用英文字母命名即可。(5 分) 請舉一個符合三階正規形式但不符合Boyce-Codd 正規形式的關聯例子,作答時畫出關 聯式綱目圖,並註明所有的功能相依關係,各屬性名稱用英文字母命名即可。(5 分) Course Department Teacher CanTeach Offer Belongs Manages Cid Name Tid Name Did Name Location M N Start N 1 N 1 1 1 (請接第三頁) 105年公務人員高等考試一級暨二級考試試題 代號:22740 全三頁 第三頁 等 別:高考二級 類 科:資訊處理 科 目:高等資料庫設計 (請接背面)
考慮下列交易(Transaction): ReadLock(X); ReadItem(X); UnLock(X); WriteLock(Y); ReadItem(Y); Y := Y + X; WriteItem(Y); UnLock(Y); 此交易不符合兩階段鎖定(Two-Phase Lock, 2PL)協定(Protocol),請在不改變交 易邏輯的條件下修改此交易,使其符合兩階段鎖定協定。(10 分) 在兩階段鎖定協定系統下,眾多交易同時(Concurrent)執行時,若有交易不遵循 兩階段鎖定協定,將導致什麼後果?(10 分)
考慮以下的學生修課資料庫綱要(database schema) 學生(學號,姓名,系別) 老師(老師代號,姓名,性別) 課程(課程代號,課名,上課地點) 修習(學號,課程代號,分數) //學號與課程代號為參考學生與課程關聯的外鍵(foreign key) 開設(老師代號,課程代號) //老師代號與課程代號為參考老師與課程關聯的外鍵 請將下列需求轉成SQL 語句(每小題5 分,共20 分) 列出修習王大明老師開授課程的所有學生學號與姓名。 列出所有資工系學生的學號與姓名。 列出平均分數大於60 分的課程代號與課名。 列出修課人數小於30 人的課程代號與課名。
在資料庫的設計時,lossless-join decomposition 與dependency preservation 是關聯 (relation)切割中兩個重要的特性,請說明這兩個特性為何,以及如何判斷。(25 分)
資料庫的正規化共可分為第一階正規化(first normal form)、第二階正規化(second normal form)、第三階正規化(third normal form)、BCNF(Boyce-Codd Normal Form)、第四階正規化以及第五階正規化等多個階段;請說明正規化的目的為何, 以及何謂第一階正規化、第二階正規化、第三階正規化與BCNF。(30 分)
請寫出nested-loop join 與block nested-loop join 的方法步驟,並比較其優缺點。(25 分)
假設我們要對一個檔案採用可擴充式雜湊(extendible hashing)方法建立索引,而 該檔案所包含的資料紀錄之搜尋鍵值如下: 2, 3, 5, 7, 11, 17, 19, 23, 29, 31 如果雜湊函數為h(x) = x mod 8,且每個bucket 可以儲存三筆紀錄,請畫出該檔案 之可擴充式雜湊結構。(25 分)
在資料庫的回復系統裡,有關檢查點技術(checkpointing): 請解釋其作用。(10 分) 執行檢查點的頻率應該根據那些因素調整?如何調整?(15 分)
考慮關聯表r1(A,B,C)、r2(C,D,E)及r3(E,F),其主鍵(primary key)分別是A、C 及E。 假設r1 有1000 筆資料,r2 有500 筆資料,而r3 有2000 筆資料,請估算r1⋈r2⋈r3 運算結果的大小。(15 分) 又假設你可以在這些關聯表裡建立索引以加速這個合併運算的計算,你會如何進 行?為什麼?(10 分)
考慮以下兩筆交易,其中A 與B 之初始值皆為0: T1: read(A); read(B); if A=0 then B:=B+1; write(B). T2: read(B); read(A); if B=0 then A:=A+1; write(A). 當此兩交易T1與T2同時執行時,請說明是否有可能產生一個序列化排程(serializable schedule)。(10 分) 請加入鎖定(lock)與解鎖(unlock)指令到交易T1 與T2 中,使其遵守兩階段鎖 定協定(two-phase locking protocol),並說明在執行上述交易時,是否會導致死 結(deadlock)發生?(15 分)
考量下列和電影資料庫相關的資料庫綱目(Schema): 表1: 電影列表MovieList(title:string, year:int) 表2: 男演員Actor(actorName:string, actedIn:string), actedIn 外鍵(foreign key)到 MovieList 表3: 女演員Actress(actressName:string, actedIn:string), actedIn 外鍵(foreign key) 到MovieList 表4: 類型Genres(title:string, genre:string), title 外鍵(foreign key)到MovieList 表5: 關鍵字Keywords(keyword:string, movieTitle:string), movieTitle 外鍵(foreign key)到MovieList 表6: 最佳電影TopMovies(distribution:char(10), votes: int, rank: float, title: string), title 外鍵(foreign key)到MovieList 表7: 最爛電影WorstMovies(distribution:char(10), votes: int, rank: float, title: string), title 外鍵(foreign key)到MovieList 將下列要求轉換成SQL 語句:(每小題4 分,共20 分) 列出每個類型的電影數量。 找出所有“哈利波特”系列電影有在2001 年演出,但是沒有在2010 年演出的男女 演員。 找出所有演過超過10 種類型電影的男演員。 找出同時屬於動作與恐怖類,但是沒有戰爭這個關鍵字的電影名稱。 找出有演出過被評為最爛電影,但是沒有演出過被評為最佳電影的男女演員。
(10)
(10)
考量一個關聯綱目(Relation Schema)R=(A,B,C,D,E,F,G),並有下列的函數相依關係 A Î B , BC Î DE , AEF Î C , AC Î DE 回答下列問題:(每小題5 分,共20 分) 請計算並說明{A,B}的泛封閉集合(Closure)。 請問R 的候選關聯鍵為何?並說明。 R 是否為BCNF?請說明。 將R 分解為滿足第三正規化(3NF)的關聯綱目。 102年公務人員高等考試一級暨二級考試試題 類 科: 資訊處理 全一張 (背面) 10 20 30 40
5 7 8 14 16 22 24 26 30 32 36 42 44 46 三、B+-tree 是常用的資料庫索引(Index)結構,請回答下列問題: 簡述B+-tree 的結構特性及優點。(6 分) 下列B+-tree 的各中間節點最大連結索引數(Fanout)為5,請加入(Insert)索引值 為9 的資料檔至下列B+-tree 中,並說明其執行節點分割(Split)的方法。(6 分) 請將下列三個索引值24、26、30 從上列結果Insert 9 之後的B+樹狀圖中,依序刪 除,並優先採用和兄弟節點(Sibling)重分配的方式滿足B+-tree 的特性。(8 分)
考量兩個關連R(x,y)與S(y,z),我們要從這兩個關連的y 屬性去做連接(Join),關 連R 占150 個記憶體區塊,關連S 則占100 個記憶體區塊,RS 這兩個關連的屬性 均未做過任何排序,回答下列問題: 假設記憶體緩衝區剩下26 個記憶體區塊(M=26),以Block-nested Loop Join 計 算在y 屬性上來連接(Join)關連R 與S 的花費(Cost),並說明之。(6 分) 同上,但是以Hash-based Join 來計算花費,並說明之。(8 分) 假設關連R 與S 的y 屬性上有排序過的叢集索引(Clustered Index),試以Merge Join 的方式計算在y 屬性上來連接(Join)關連R 與S 的花費,並說明之。(6 分)
若Wi(M)表示一個交易Ti 將名為M 的資料寫入(Write)資料庫中,Ri(M)表示一個 交易Ti 將名為M 的資料讀入(Read)程式變數中,若一個資料交易包括有三筆資 料變數X、Y、Z 和三個交易T1、T2、T3,每個交易在執行完最後一個動作就會立 刻提交(Commit),交易T1、T2、T3 如下: T1:R1(X),W1(X),R1(Y),W1(Y) T2:R2(Z),R2(X),W2(X),R2(Y),W2(Y) T3:R3(Y),R3(Z),W3(Y),W3(Z) 下列有三個和交易T1、T2、T3 的排程分別為S1、S2、S3,其執行情形如下: S1:R3(Y),R3(Z),R1(X),W3(Y),W1(X),R2(Z),W3(Z),R2(X),W2(X),R1(Y),R2(Y), W1(Y),W2(Y) S2:R1(X),W1(X),R1(Y),W1(Y),R3(Y),R3(Z), W3(Y),W3(Z),R2(Z),R2(X),W2(X), R2(Y),W2(Y) S3:R3(Y),R3(Z),R1(X),W1(X),W3(Y),W3(Z), R2(Z),R2(X),W2(X),R1(Y),W1(Y), R2(Y),W2(Y) 請分別畫出S1、S2、S3 的可順序圖(Precedence Graph)。(9 分) 請分別說明S1、S2 和S3 是否為衝突可序性(Conflict-Serializable)?若是的話, 請給一個等價可序性執行順序。(6 分) 請利用嚴格二階段鎖定法(Strict Two-Phase Locking)加入一些鎖定(Locking) 和解除鎖定(Unlocking)到交易T3,使T3 成為嚴格及可順序的交易。(5 分)
考慮以下用來記載考生到考的資訊: Exam 資料表,包括以下欄位: ExamDateTime //考試開始時間 Supervisor //監考官姓名 RoomNo //教室編號 SupervisorUnit //監考官隸屬單位 Building //所在大樓 TotalExaminee 應考人數 ActualExaminee 到考人數 函數相依(Functional dependency)如下: Supervisor→SupervisorUnit {RoomNo, ExamDateTime}→{Supervisor, TotalExaminee, ActualExaminee} RoomNo→Building 請推導出Exam 資料表的關聯鍵(key)。(5 分) 將Exam 關聯綱目分解成滿足第二正規式(Second Normal Form)但 不滿足第三正規式(Third Normal Form)的綱目,請列出分解後每一關 聯綱目之主鍵(Primary key)和外鍵(Foreign key)。(5 分) 將Exam 關聯綱目分解成滿足第三正規式(Third Normal Form)的綱 目,請列出分解後每一關聯綱目之主鍵(Primary key)和外鍵(Foreign key)。(5 分) 用SQL CREATE TABLE 語法表達出上一小題的Exam 關聯綱目, 且要滿足TotalExaminee≥ActualExaminee 的限制,屬性的形態請自 訂。(10 分)
考慮以下的討論版資料庫綱目(Database schema): Member(mId, name, bDate, gender) //會員編號,姓名,生日,性別 Article(mId, aId, title, content, postDate) //會員編號,文章編號,標題,內容,張貼日期 Reply(mId, aId, rTime, content, responder) //會員編號,文章編號,回覆日期時間,回覆內容,回覆者 若我們有以下的SQL 敘述: SELECT mId, name FROM Member AS M WHERE gender = ‘M’ AND EXISTS (SELECT * FROM Article AS A WHERE mId = M.mId AND (mId, aId) IN (SELECT DISTINCT mId, aId FROM Reply WHERE mId = A.mId AND aId = A.aId GROUP BY mId, aId HAVING COUNT(*) > 10)); 請說明以上查詢句的意義。(5 分) 以上查詢句的執行效率可能不佳,請指出造成其效率不佳的語法,並 改寫成一個效率較佳的敘述。(10 分) 針對你所改寫的查詢句,若想進一步提升其執行效率,請問可以建置 那些索引(Index)?請寫出建置這些索引的SQL 敘述並說明原因。 (10 分)
考慮以下的XML Schema: 1 2 3
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <?xml version ="1.0"?> <schema targetNamespace="http://www.acme.com.tw/items/" xmlns=http://www.w3.org/2001/XMLSchema xmlns:items=" http://www.acme.com.tw/items/"> <element name="items" type="Items"> <unique name="partNumAndName"> <selector xpath="item"/> <field xpath="partNum"/> <field xpath="productName"/> </unique> <element> <complexType name="Items"> <sequence> <element name="item" minOccurs="0" maxOccurs="unbounded"> <complexType> <attribute name="partNum" type="string" use="required"/> <sequence> <element name="productName" type="string"/> <element name="quantity" type="xsd:positiveInteger"/> </sequence> </complexType> </element> </complexType> </schema> 請列出以上XML Schema 的錯誤並修正之。(15 分) 請說明以上XML Schema 的意義。(10 分) 四、考慮以下的實體關係圖(ERD): N 1 N N 1 N M 1 Student sId Course cId Article Takes aId cName Has Board PostedIn Posts bName start content sName 請轉成最精簡的關聯式資料庫綱目(Relational database schema),每 一關聯(relation)僅需表達出其屬性(Attribute)名稱、主鍵(Primary key)、外鍵(Foreign key)和相對應的主鍵即可,屬性形態不須寫出。 (15 分) 若想表達出「PO 在一課程討論版的每一篇文章之作者必須修該課 程」,請問該如何使用SQL 語法設定。(10 分)
有一個未正規化的部門購買耗材資料庫表格,包含購買日期、金額、物品,以及購 買者,還有各部門的主管與會計人員資訊,他的主鍵(Primary Key)是由Date、 ItemNo 與ItBuyer 組合,其他屬性欄位如下: Date ItemNo ItType ItNumber ItSCost ItTCost ItBuyer Department DepManager 0990615 IN1 T1
5,000 10,000 B1 D1 M1 1000326 IN1 T1 5 5,000 25,000 B1 D1 M1 1000412 IN3 T2 1 30,000 30,000 B2 D2 M2 註:Date(購買日期)、ItemNo(購買物品)、ItType(物品類別)、ItNumber(購買 個數)、ItSCost(單一物品價格)、ItTCost(購買總價格)、ItBuyer(購買者)、 Department(經費來源部門)、DepManager(部門經理) 請進行正規化以符合第三正規化。(8 分) 請繪製實體關聯圖(ERD)描述關聯式資料庫,內容包含實體(Entities)、各實 體之屬性(Attributes)及關聯性(Relationships)。(8 分) 請用SQL(Oracle、SQL Server、MySQL 或SQL-99)敘述以下資料要求:對於 每個在99 年有購買過單品金額超過10,000 的單位,列出這些單位在100 年所有 購買過單品金額超過15,000 的主管。(8 分) 二、請描述資料庫的備份復原管理中,可能會用到那三種層次的備份,並簡單描述這三 種層次的備份意義。(16 分)
考量下列的資料庫綱目(schema),將下列的需求改寫成SQL 敘述,劃底線者代表 主鍵。 Phone(model, manufacturer, type, price) //型號, 製造者, 型態, 價格 Smartphone(model, clockrate, internalmemory, keyboard) //型號, CPU 時脈, 內含記憶體, 鍵盤 Celluarphone(model, clockrate, internalmemory) //型號, CPU 時脈, 內含記憶體 Customer(custid, email) //顧客ID, 電子郵件帳號 Purchase(model, custid, date) //型號, 顧客ID, 日期 依字母順序升序列出所有最便宜的phone 的型號(不同的型號可能會有相同的價 格)。(6 分) 由於年中慶到來,為了促銷高價位電話,請將所有價格高於20,000 元的電話價格 設定為原價8 折。(6 分) 建立一個名為Loyalcustomer 的view,內容為顧客ID(custid)及製造者(manufacturer) 所構成的紀錄且該顧客至少購買該製造者3 台以上電話。(6 分) 利用剛剛建立的view Loyalcustomer,找出尚未具有忠誠客戶的製造者。(6 分) 100 年公務人員高等考試一級暨二級考試試題 類 科: 資訊處理 全一張 (背面)
有一關聯R(a,b,c,d,e)含有5,000,000 筆紀錄,每個資料頁(data page)儲存這個 關聯的10 筆資料,關聯R 由一個已經排序好的檔案及第二索引構成。假設R.a 是 R 的一個候選鍵(candidate key),其值在0 到4,999,999 的範圍內,且R 是依照 R.a 的順序排列。對於下列三種關聯代數(relational algebra)的查詢: y 直接存取已經排序好的檔案R y 使用叢集式B+樹(clustered B+ tree)對R.a 作索引 y 使用對R.a 作的雜湊索引(hashed index) 請列出下列關聯運算應使用上述三種方式中的那一種具有最低成本及存取資料頁所 需的次數: σa<50,000 R(4 分) σa=50,000 R(4 分) σa>50,000 and a<50,010 R(4 分) σa≠50,000 R(4 分)
若Wi(M)表示一個交易Ti 將名為M 的資料寫入資料庫中,Ri(M)表示一個交易T,將名 為M 的資料庫資料讀入程式變數中,Ci 代表交易Ti 已提交(Commit)。下面此一排程 R1(X),R2(Y),W1(X),W2(Y),R3(Y),R1(Y),C2,W4(X),W3(Y),C3,W1(Y),W4(Y),C4,C1 是否具有以下性質,並說明原因: 衝突可序列性(Conflict-Serializable)(4 分) 視界可序列性(View-Serializable)(4 分) 可復原性(Recoverable)(4 分) 無連鎖中止駁回(Avoid-Cascading-Aborts)(4 分) 嚴謹性(Strict)(4 分)
1E1k1E2k2E3Rk3ab > 答案:?
有一未正規化的醫院病患資料庫表格,包含病患門診紀錄、醫護人員及所做診斷等 事實,原始表格名稱為Patient,它的主鍵(Primary Key)是由VisitNo和ProvNo組合 ,其他屬性欄位如下表所示,明顯存在許多冗餘:(20 分) Table Name: Patient VisitNo VisitDate PatNo PatAge PatCity PatZip ProvNo ProvSpecialty Diagnosis V71050 2009/6/1 P1 35 台北 10211 D1 D2 Internist Nurse Practitioner Earinection Influenza V82110 2009/6/10 P2 60 台中 40301 D3 Cardiologist Murmur V93030 2009/6/12 P3 17 台南 60101 D2 Nurse Practitioner Pregnancy 註:VisitNo(看診編號);VisitDate(看診日期);PatNo(病患編號);PatAge(病患年齡); PatCity(病患住址);PatZip(郵遞區號);ProvNo(醫師編號); ProvSpecialty(醫師 專長);Diagnosis(病徵) 檢討是否符合第一正規化型式(1’st Normal Form),請改善使符合1’st Normal Form 的要求。 請繪製功能相依圖(Functional Dependency; FD),並找出其所有相依性。 請對所繪製的初始FD,移除所有部分相依,繪製新的FD 並建立新的資料表, 使符合第二正規化型式(2’nd Normal Form),並寫出各新資料表所包含的欄位、 主鍵、外鍵及參照表格。 對所建立的資料表移除所有遞移相依,繪製新的FD 並建立新的資料表,使符 合第三正規化型式(3’rd Normal Form),並寫出各新資料表所包含的欄位、主 鍵、外鍵及參照表格。
資料庫安全(Database Security)是資料庫系統的安全機制,可以保護資料庫儲存的 資料,不讓沒有授權的使用者存取。試說明資料安全可分那些層級?安全策略是一 套強制遵守的原則,資料庫的安全策略有那幾種?請說明之。(15 分)
何謂觸發程序(Triggers)、預儲程序(Stored Procedures)?兩程序各別的作用為 何?有何差別?請就其執行方式與參數傳遞方式說明之。(15 分) 98 年公務人員高等考試一級暨二級考試試題 類 科: 資訊處理 全一張 (背面)
儲存媒體故障(Media Failure)是資料庫很嚴重的錯誤,試述儲存媒體故障的三種 資料受損情況?為何使用磁碟陣列(Redundant Arrays of Inexpensive Disk; RAID) 可降低損失?RAID 技術可分成那些等級,其個別特性為何?最常用的是那幾等級? 試說明之。(20 分)
假如你將為某研究機關的管理資訊系統設計資料庫,其作業說明如下:此機關有一 個行政部門及多個研究部門,每一研究部門會有多位不同專長的研究人員,其中一 位是部門主管。各部門有多個不同專案同時在執行,而專案是以團隊方式進行,每 一專案由一位研究人員主導及可能有多位參與人員;每位研究人員可能同時會參與 多個專案。由於業務需要必須不定期的以專案的方式向行政採購單位提出請購各種 物品,請購時必須提供採購的品項、規格、數量及供應廠商詳細資料等等。有關資 訊諸如主管與部屬、專案參與人員、需求物品、供應廠商⋯等資料可從資料庫查詢。 試以鴉爪符號(Crows Foot Notation)繪製實體關聯圖(ERD)描述關聯式資料 庫,內容包含實體(Entities)、各實體之屬性(Attributes)、關聯性(Relationships) 及關聯基數限制(Cardinality Constraints)。(20 分) 依據實體關聯圖建立資料庫關聯表(Tables)。(10 分)