2024/05/03
137

關聯式資料庫是什麼?一篇了解RDBMS的概念、組成及重要性

關聯式資料庫是什麼?一篇了解RDBMS的概念、組成及重要性
近年來人工智慧的浪潮一波波的來襲,而實現人工智慧很重要的一個環節,就是資料,因此在當今資訊爆炸的時代,資料庫和人工智慧(AI)的關聯是越來越密切。本篇文章將帶您了解資料庫的定義及類型,並且詳細介紹關聯式資料庫的組成、概念及應用。
 

什麼是資料庫呢?

資料庫不僅僅是儲存數位資料的地方,它更是AI技術的基石,在機器學習的過程中,必須仰賴海量的資料,經過整理、分析,最終轉化為有價值的資訊,這一過程正是AI實現其強大功能的關鍵,資料庫提供了學習的素材,AI透過機器學習和深度學習技術,從這些資料中學習模式和規律,進而做出智能決策。以OpenAI GPT-3 模型為例,其訓練及資料就有45TB。

想像一下,在一個大型的圖書館,有成千上萬的書籍,每本書都有它的標題、作者、出版日期等資訊,圖書館的架上會將相關的書籍放在一起,例如所有的人工智慧書放在一起,所有的歷史的書也放在一起。而資料庫就像是這個大型的圖書館,而裡頭這些書籍就是資料,至於如何擺放在架上,有規律的整理這些書,並且在需要找尋某一本書時,能快速的找到,則是資料庫的儲存技術。
資料庫就像是大型的圖書館,而裡頭這些書籍就是資料
Image by benzoix on Freepik
 
再舉個例子,相信大家都有在網路購物的經驗,當你在網路購物時,在搜尋欄輸入「iPad」。這個查詢的請求及關鍵字會被轉發到後台系統,並且從資料庫中找到有關「iPad」的商品,然後將這些商品顯示出來給你,在這個過程中,資料庫就像是一個高效能、有組織的資料儲存和檢索系統。

總的來說,資料庫能讓我們有效地儲存、管理和檢索大量的資料。無論是在購物商城、預訂機票,還是在許多其他日常活動中,資料庫都在背後發揮著重要作用。
 

資料庫的類型

當然,資料庫也有幾種不同的類型,而每一種類型都有其獨特的特點和適用場景:

關聯式資料庫(Relational Database)

這是目前最常見的資料庫類型,它使用資料表(tables)來儲存資料,並且資料表之間可以透過關聯(relations)相互連接。例如網路商城,資料庫可能會有一個資料表記錄所有的商品資料(包括品名、價格等),另一個資料表則記錄顧客資訊(例如姓名、地址、購買記錄),而再另一個資料表則記錄顧客購物資訊(例如購買日期、購買商品、價格)。這些資料表透過顧客的購買記錄相互關聯,進而可以查詢特定顧客購買的商品,或者查詢購買特定商品的所有顧客,又或是每季銷售總計等資訊。因此關聯式資料庫的特性就是從表面上看起來是一筆資料,但背後卻是多個資料表串接而成。
關聯式資料庫使用資料表(tables)儲存資料,並且資料表之間可以透過關聯(relations)相互連接
Image by rawpixel.com on Freepik


文件型資料庫 

這種資料庫是將資料儲存為一個個的文件,這些文件格式可以是JSON、XML等格式。而每一筆資料其結構也有可能是不同的或是不穩定的。這個類型的資料庫通常用於需要高效能的情境下或是用於儲放尚未經整理的原始資料(RAW DATA)


鍵值儲存資料庫(Key-Value Stores)

顧名思義,在這種資料庫中,資料以鍵值對(key-value pair)的形式儲存,每個key鍵則對應一個value值,而key鍵不會重覆。


圖形資料庫(Graph Database) 

在圖形資料庫中,資料以圖的形式進行儲存,主要用於處理複雜的關聯和網路關係。例如用於社交網路情境中,使用者是節點,而使用者與使用者間的關聯性則是這個圖形資料庫中的連接線。
 

關聯式資料庫的組成

關聯式資料庫是目前最常見的資料庫類型,以大家較熟悉的網站系統來說,其背後多數是具有關聯式資料庫存在,而關聯式資料庫的組成有:


資料庫伺服器(Database Server)

在圖形資料庫中,資料以圖的形式進行儲存,主要用於處理複雜的關聯和網路關係。例如用於社交網路情境中,使用者是節點,而使用者與使用者間的關聯性則是這個圖形資料庫中的連接線。
資料庫伺服器(Database Server)
Image by benzoix on Freepik


資料庫(Database)

用來存放及管理資料的倉庫,例如圖書館管理系統資料庫,裡頭會存放及管理書籍資料、借閱者資料等。以大家熟知的excel檔案來說,可以簡單的視為是一個excel檔案就是一個資料庫這樣的概念。


資料表(Table)

關聯式資料庫在存放資料時,是將資料依正規化方式進行拆解,因此表面上一筆完整的資料,實際上在資料庫中有可能是多個資料表的組合,就是一個excel檔案中的sheet,一個sheet就是一張資料表的概念。一個資料庫通常是由多個資料表所組成。


欄位(Column)

實際儲存資料的單位,在資料表中,每個欄位代表了資料的一個特定屬性,例如,書本資料表中可能有書本名稱、書本編號、書本出版日、書本作者等欄位。
 

關聯式資料庫中的核心概念


主鍵(Primary Key)

在資料表中,主鍵是唯一識別每筆資料的特定欄位或特定欄位的組合。一個資料表中只能有一個主鍵,且主鍵的值在資料表中必須是唯一的,不允許空白或重複。假設有一個學生資料表,其中包括學生編號、姓名、年齡等欄位。在這個學生資料表中,學生編號可以作為主鍵,因為每位學生的編號都是獨一無二的。


關聯鍵(Foreign Key) 

關聯鍵是資料表中的特定欄位,它用於來與另一個資料表的主鍵建立關聯性。透過關聯鍵,可以在不同的表格之間建立關聯,進而可以實現資料的完整性和一致性。


索引鍵(Index Key)

索引鍵是用於優化資料庫查詢速度的一種機制。透過在一個或多個欄位上建立索引,可以加快資料查詢的速度。例如在學生資料表中,如果經常根據學生的姓名進行查詢,則可以在姓名欄位上建立索引,進而提高查詢效率。
 
學習資料庫的重要性在於它不僅提供了有效管理和檢索龐大資料集的能力,更是當前許多熱門議題或當代技術的基礎,如人工智慧、ESG、淨零碳排、大數據分析和雲計算。了解資料庫,有助於我們能夠更好地組織資料,洞察背後的真實數據,並為決策提供有力支持,進而在這個數位驅動的世界中保持競爭力。
資料庫提供了有效管理和檢索龐大資料集的能力,更是當代技術的基礎
Image by rawpixel.com on Freepik
 
陳葵懋 老師
巨匠電腦 - 程式設計、資料庫、雲端及人工智慧講師
專長:微軟.NET、Azure雲端、MS SQL資料庫,並連續12年獲選微軟最有價值技術專家。

 

免費學習資源不漏接

加巨匠電腦LINE好友
近期文章你可能有興趣的文章
×
提醒鈴鐺
【官網限定好禮】
免費體驗課程,熱門主題任你選!
熱門課程任選 免費體驗!
體驗課程
arrow_upward