簡答題
1:現有如下關係:
職工(職工號,姓名,性別,職務,家庭地址,部門編號)
部門(部門編號,部門名稱,地址,電話)
保健(保健卡編號,職工號,檢查身體日期,健康狀況)
1. 用關係代數表示式寫出,查詢所有女科長的姓名和家庭地址;
2. 用關係代數表示式寫出,查詢“辦公室”的科長姓名和家庭地址;
3. 用關係代數表示式寫出,查詢“財務科”中健康狀況為“良好”的職工姓名和家庭地址。
4. 用 SQL 語句寫出,刪除職工關係表中職工號為“ 3016 ”的記錄;
5. 用 SQL 語句寫出,將職工號為“ 3061 ”的職工的健康狀況改為“一般”;
6. 用 SQL 語句寫出,建立健康狀況為“差”的職工的檢視。
2:加入在每個資料頁上有30個EMPLOYEE記錄,每個記錄屬於5000個department(department是表employee的一個int欄位),那麼需要在department上面建立索引嗎?為什麼?
3:設下列函式已經通過了除錯
bool Sort_Array(ArrayType * Pinputarray, ArrayType * Poutarray);該函式在記憶體中排序,能把位元組數最大為100M位元組的'ArrayType型別的陣列排序。其中ArrayType是一個預定義的陣列型別(細節無關緊要),Pinputarray,Poutarray分別為排序前的指標和排序後的指標。
請用c語言的偽碼風格設計一個演算法,他呼叫上面給出的函式完成下列從輸入到輸出的任務:
輸入:排序前的大檔案,名稱為char * pinoutfilename ,其內容為用分號分隔的ArrayType型別的陣列元素,可裝滿4個100M位元組的陣列。
輸出:排序後的大檔案char * poutoutfilename.
4:無符號整數乘法,乘數為32bit,結果為64bit
提示:32bit整數分解為16bit相乘
void Multiply( DWORD dwFirst, DWORD dwSecond, DWORD& dwHigh, DWORD& dwLower );