mins Dream

PostgreSQL - 第 25 天 - 安全性管理

課程簡介 安全性管理是確保 PostgreSQL 數據庫免受未授權訪問和操作的重要步驟。今天我們將學習如何管理數據庫用戶與權限控制,包括用戶創建、角色分配、權限管理及數據庫加密等內容,提升數據庫的安全性。 基本安全性概念 在 PostgreSQL 中,用戶和角色的概念是緊密相關的: 用戶 (User):能夠登入數據庫並執行操作的個體。 角色 (Role):授予用戶權限的一...

PostgreSQL - 第 23 天 - 視圖管理與物化視圖

課程簡介 視圖和物化視圖都是將查詢結果儲存在數據庫中的方法,讓我們能夠更方便地處理複雜查詢。視圖能夠節省查詢代碼,提高代碼可讀性,而物化視圖則能加快查詢速度,特別適合大型數據量的操作。 視圖 (View) 1. 視圖的作用 視圖是基於查詢語句創建的虛擬表,並不真正儲存數據。使用視圖可以簡化查詢操作、提高代碼重用性,並在一定程度上加強數據安全性,因為我們可以根據需要限制視圖返回的欄位和...

PostgreSQL - 第 22 天 - 觸發器 (Triggers)

課程簡介 觸發器是一種自動執行的數據庫機制,當特定事件 (如插入、更新或刪除操作) 發生時,會自動執行指定的操作。觸發器可用於維護數據完整性、紀錄變更歷史、以及執行自動化數據處理流程。 觸發器的組成 觸發器主要由兩部分組成: 觸發條件:指定在何時觸發,包括執行的動作 (INSERT、UPDATE、DELETE)、觸發的時間點 (BEFORE 或 AFTER)。 觸發動作:一...

PostgreSQL - 第 21 天 - 存儲過程與函數 (Stored Procedures and Functions)

課程簡介 存儲過程和函數可以將一組操作封裝在一起,使其成為獨立的執行單位,這樣不僅能減少重複代碼,還能提高數據庫操作的效率和安全性。存儲過程和函數適合用於實現較複雜的業務邏輯、數據檢查以及自動化處理。 存儲過程與函數的差異 存儲過程:可以使用 CALL 語句執行,不一定有返回值;支援 COMMIT 和 ROLLBACK 等控制交易。 函數:使用 SELECT 或作為表達式的...

PostgreSQL - 第 16 天 - 高級索引

課程簡介 高級索引能進一步提高數據庫查詢效率,特別是在大型數據集上。今天我們將介紹不同的索引類型,包括 B-tree 索引、Hash 索引、GIN 索引和 GiST 索引等,以及如何選擇和使用合適的索引以最佳化查詢。 索引概述 索引是數據庫中的一種數據結構,旨在快速定位和檢索數據。雖然索引可以大幅提高查詢性能,但也會佔用存儲空間,並在數據更新時引發額外的維護成本。因此,選擇適當的索引...