資料庫系統 - 收穫及反思 - 3

[教發中心]113(1)課程成長方案(高教公共性)>資料庫系統 - 收穫及反思 - 3
發佈日期:2024-12-17

黃毓峰

理工學院

資訊工程學系

經過幾次資料庫系統課輔的學習,我對資料庫設計與應用的理解以及整體能力有了大幅提升,這不僅是對課堂上理論知識的鞏固,更是一次動手實踐能力的全方位提升。透過助教的細心輔導,每次課輔都能幫助我解決現實中面臨的困惑,特別是在專案要求的實際應用和系統配置上,助教提供專業的建議和深入的解答,這對於我完成專案以及加深資料庫系統的理解有著莫大的幫助。

在課輔的幾次學習中,助教特別強調了資料庫的核心設計步驟,尤其是 ER 圖的使用,可以說徹底改變了我的設計思維。一開始我只會將需求直接轉換成資料表,沒有意識到如何從全局的角度來組織資料關聯,導致很多地方的設計效率低且易於出現問題。助教透過多個範例,教會我如何運用 ER 圖抽象地模型化需求,將實體、屬性和關聯清晰地表現出來。他還提醒我們在設計中注意實體之間的關聯性和合理性,比如當處理多對多關係時,應該學會設計中介表來實現更靈活的關係操作。這些設計方法讓我在日後的專案中能更加高效地規劃和擴展資料庫。

同時,助教針對我的專案提供了許多實用的建議。我的專案在初期設計階段,由於考慮不足而使資料表和相關功能未能很好地適配。不僅查詢效率偏低,數據的一致性也存在隱患。助教根據我的實際需求提出了改善建議,包括如何重新梳理表結構,優化部分索引的設置,並在某些重要的查詢中增加緩存機制,從而大幅提升了系統的性能表現。這些建議不僅完善了我的專案,還讓我學會思考在不同背景下使用不同的設計策略來解決問題。

另一個重點是課輔中關於 RESTful API 的講解,這部分的內容讓我的後端開發能力提升不少。助教詳細解釋了 RESTful 架構的基本原則,例如資源的表示方式、路由的規劃,以及如何合理地使用 HTTP 方法來實現 CRUD 操作。他還結合實際專案需求,教我如何設計靈活且便於維護的 API 接口。

除此之外,助教對資料庫技術在部署與整合層面的深度指導也幫助我解決了一些實際難題。在本地開發專案的過程中,我卡在了如何從 localhost 環境遷移到實際 DNS 且提供 HTTPS 服務的步驟上。這對於初學者來說是一大挑戰,但助教耐心地一步步指導我完成這些配置工作。他教我們如何在伺服器上安裝與設定資料庫(如 MySQL)和後端運行環境,還幫助我了解如何正確配置 DNS,將應用綁定到域名上,實現實際訪問的能力。對於 HTTPS 的部分,助教特別提到 SSL 的安全憑證問題,並介紹了免費 SSL 憑證服務如 Let’s Encrypt 的使用方式,從憑證申請到伺服器上的安裝配置都有條不紊地講解與指導,讓我能夠順利完成應用的安全升級工作。這些經驗對於理解如何將一個本地開發的應用真正部署到線上運行具有十分重要的價值。

此外,在處理資料庫與應用程式整合時,助教講解了如何針對不同應用場景選擇更適合的設計策略,例如簡單的 CRUD 操作如何避免多餘的資料庫連線,或者在高頻查詢的場合應如何優化資料結構和設計查詢邏輯。他還強調了資料庫備份與災難恢復的重要性,幫助我對專案部署的後續維護有了更全面的考量。

總結來說,這幾次資料庫系統課輔的經驗為我無論是在理論還是實作方面都提供了巨大幫助。從最初的 ER 圖設計、資料表結構規劃,到後來的 RESTful API 開發、 DNS 配置與 HTTPS 部署,每一個環節助教都給予了非常專業且實用的指導,這些不僅讓我明白資料庫技術的深度與廣度,也讓我具備了更全局性的系統設計與解決問題的能力。助教的建議和教學風格也讓我學會如何將理論知識應用於實際專案,而這些技能將成為我未來開發與工作中的寶貴資源。由衷感謝助教的耐心輔導與專業見解,這些經歷將在我未來的學習和應用道路上發揮至關重要的作用。