資料庫程式設計 – PHP+MySQL :第 九章 混合查詢程式 上一頁 |
9-5 自我挑戰:暫存表運用
9-5-1 自我挑戰:查詢班級開課 (A) 系統需求:PM8_4 請在 course_db 資料庫製作一支可查詢班級這學期開了哪些課程,請依課程名稱、授課教師、必選修與學分數之順序印出,如下: n 『表單網頁』:可供下拉式選擇班級名稱,並傳送班級代碼給『執行網頁』。 n 『執行網頁』:輸出該班級這學期開了那些課程,依授課教師、課程名稱、課程代碼、必選修與學分數之順序印出。 (B) SQL 系統分析 依照 course_db 關聯圖可以觀察出所需查詢的資料表,步驟如下:
1. 『表單網頁』由 classes 表查詢出各系所名稱,提供下拉式選單,並傳送 class_ID 給『執行網頁』。 2. 利用 $class_ID 由 open_course 表查出該班級開課科目及教師代碼 {course_ID, teacher_ID} 並存入 temp1 表內。 3. 將 temp1 與 teachers 表合併 (A.teacher_ID = B.teacher_ID),擷取 {name, course_ID } 取得教師姓名,並存入 temp2 表內。 4. 將 temp2 與 all_course 表合併,取得課程相關資料。 9-5-2 自我挑戰:查詢教師開課及班級 (A) 系統需求:PM8_5 請在 course_db 資料庫製作一支可查詢教師班級這學期開了哪些課程,請依授課班級、課程名稱、必選修與學分數之順序印出,如下: n 『表單網頁』:可供下拉式選擇教師姓名,並傳送教師編碼給『執行網頁』。 n 『執行網頁』:輸出該教師這學期開了那些課程,依授課班級、課程名稱、課程代碼、必選修與學分數之順序印出。 (B) SQL 系統分析 依照 course_db 關聯圖可以觀察出所需查詢的資料表,步驟如下:
1. 『表單網頁』由 teachers 表查詢出教師姓名與編碼,提供下拉式選單,並傳送 teacher_ID 給『執行網頁』。 2. 利用 $teacher_ID 由 open_course 表查出該教師授課班級 {course_ID, class_ID} 並存入 temp1 暫存表內。 3. 將 temp1 與 classes 合併查詢 (A.class_ID = B.class_ID) 得到授課班級名稱 {class_name, course_ID} 並存入 temp2 暫存表內。 4. 將 temp2 與 classes 合併 (C.course_ID = D.course_ID) 得到授課科目的相關資料。 9-5-3 自我挑戰:查詢系所開課 (A) 系統需求:PM8_6 請在 course_db 資料庫製作一支可查詢系所這學期開了哪些課程,請依課程名稱、班級名稱、授課教師、必選修與學分數之順序印出,如下: n 『表單網頁』:可供下拉式選擇系所名稱。 n 『執行網頁』:輸出該系所這學期開了那些課程,依授課教師、班級名稱、課程名稱、必選修與學分數之順序印出。 (B) 提示:SQL 系統分析 依照 course_db 關聯圖可以觀察出所需查詢的資料表,步驟如下:
1. 『表單網頁』由 department 表查詢出各系所名稱,提供下拉式選單,並傳送 dep_ID 給『執行網頁』。 2. 利用 $dep_ID 由 teachers 查詢出該系所有那些教師的 teacher_ID,並存入 temp1 表。 3. 將 temp1 與 open_course 表合併 (A.teacher_ID = B.teacher_ID),並擷取 {course_ID, class_ID} 存入 temp2 表內。其表示該系所教師所開的課程及班級。 4. 將 temp2 與 classes 合併 (C.class_ID = D.class_ID),並擷取 {class_name, course_ID} 存入 temp3 表內。取得開課的班級名稱。 5. 將 temp3 與 all_course 表合併,取得課程相關訊息。
|
翻轉工作室:粘添壽
資料庫程式設計:
翻轉電子書系列:
|