申論 2假設有兩個表格,EMP = (EID:int, NAME:char(60), PROJECT:int, POSITION:char(10), SALARY:float)與 PROJ = (PID:int, MANAGER:int, BUDGET:float, DUE_DATE:char(6)),int 與float 長度為8 bytes,char 為1 byte。EID 與PID 分別為EMP 的主鍵(primary key)。EMP 有10000 個tuples,而PROJ 有500 個tuples。㈠EMP 與PROJ 在每個資料頁(data pages,大小為4K bytes)各能存放多少tuples?各須多少資料頁?(8 分)㈡當EMP表格以PROJECT當作是搜索鍵(search key)時來建立B+-tree,請問這個B+-tree有多少層?每層各有多少索引頁(index page)?假設每個索引頁為4Kbytes,建立時只使用75%,每個索引與RID(record/reference ID)的大小為8bytes。並假設PROJECT的可能值為500 個,且為平均分佈。(12 分)㈢當執行以下SQL 程式SELECT e.NAMEFROM EMP e, PROJ pWHERE e.PROJECT=p.PID and p.BUDGET < 10*e.SALARY假設EMP資料頁是以EID從小到大依序儲存,並建有如㈡所述之B+-tree,而PROJ的資料頁是按照PID從小到大依序儲存,並建有以BUDGET為鍵之雜湊函數到資料頁,平均每個BUDGET的雜湊函數需要1.1 個磁碟讀取才能得到相關資料頁的RID。假設每個資料頁或索引頁的讀取需要一個磁碟讀取動作,而且系統沒有暫存(buffering)的功能。請找出一個以上SQL程式運算方式,只需最少的磁碟讀取。(15分)