視圖是資料庫中一種虛擬的表格,它基於一個或多個實際表格的查詢結果而創建。它可以被視為一個預先定義的查詢,具有獨立的名稱,方便查詢和使用。通過使用視圖,可以將複雜的查詢操作簡化為單個表格,提供更清晰、更易讀的數據視圖。視圖還可以用於控制對數據的訪問權限,只提供特定的數據子集給用戶或應用程序。它提供了更高的數據安全性和隱私保護。
資料庫教學7-1:資料表視圖(View)教學 #MySQL #MariaDB
資料庫教學3-4:資料庫正規化是什麼? #MySQL #MariaDB
資料庫正規化(Database normalization)簡單的講就是讓資料庫避免重複資料、減少空間浪費、避免資料不一致、讓資料更好管理的一系列規劃方式。本篇文章屬於概念性質,對於MariaDB、MySQL、MS SQL、Oracle Database、H2 Database等各種使用SQL的關聯式資料庫都是通用的概念。
資料庫教學2:我該使用MariaDB還是MongoDB? #MySQL #MariaDB
關連式資料庫管理系統(RDBMS)存在已久,有嚴謹的資料結構檢查能力,到現在還是非常好用。NoSQL是網路迅速發展時代下的後起之秀,通常捨棄那些資料結構檢查來提高效能,也漸漸成為各種應用的優先選擇。本篇文章也可以看作是「我該使用傳統關連式資料庫還是文件式NoSQL資料庫?」,我會介紹兩者功能的差異、授權方式的考量、我自己的實務應用方式。
[2023年] 新版MongoDB的Transaction教學,讓MongoDB不再只能做「假交易」
早期的MongoDB沒辦法做Transaction,必須用要使用db.collection.findAndModify()來進行尋找合併修改的元子操作,或是透過Two Phase Commit來模擬交易行為。好消息是從MongoDB 4.0開始增加了Transaction機制,MongoDB 5.0、6.0又更完善了此功能。本文教大家如何在透過JavaScript來使用真正的MongoDB Transaction。
Java的Arrays.asList()與List.of()差別
Arrays全名是java.util.Arrays,是自Java 1.2就有的API。而List(java.util.List)雖然也是Java 1.2就開始有的API,其中的List.of()卻是Java 9才新增的方法。Arrays.asList()與List.of()兩種都是快速建立List物件的方法,但使用上有不太一樣的地方。本文講解兩種List物件的差異,以及為什麼會有這兩種方式產生串列。
資料庫教學3-2:Data Type 資料型態 #MySQL #MariaDB
從第一章看過來的各位可能已經等不及要操控資料庫了,但是先等等,必須先了解資料型態才能在建立資料表的時候知道我們需要什麼樣 […]
資料庫教學3-1:資料庫與資料表介紹 #MySQL #MariaDB
為了讓還沒有概念的人可以理解資料庫的概念,本文會以Excel來類比資料庫,這只是為了讓新手可以快速想像出資料的模樣,但資 […]
資料庫教學1:資料庫系統介紹 #MySQL #MariaDB
資料庫的用途 資料庫是一堆結構化資料的集合,由資料庫管理系統來儲存、修改、管理、查詢。通常這些資料是結構明確的數字、文字 […]
Java 8的日期時間API介紹與各種常見操作範例
在Java 8推出新的日期與時間API之前可能會使用Long型態直接紀錄Unix Timestamp,或是使用java.util.Date來紀錄一個日期時間。從Java 8開始推出更方便的java.time系列API,可以只記錄日期、只記錄時間、紀錄一段時間長度、處理各種時區問題。本文章將介紹這些好用的API,以及提供各種操作範例。
Java 17新增的sealed、non-sealed class與final class差別
一個Java Class的可用性有四種狀態,分別是public、protected、(無標示)、private,但可否被繼承的設定卻只有無標示與final兩種。從Java 17開正式推出sealed class / interface,有些人將sealed翻譯為彌封類別,或是密封類。sealed是用來限制類別繼承與介面實作做的對象,解決「都可以繼承,要不就是都不能繼承的問題。