iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0

什麼是資料庫(database)?

想必大家都對資料有一定的認識,以我們生活中常看的電影為例,電影名稱、發行年份、導演、演員等等都是有關這部電影的資料,當這些具有屬性的資料集合起來,就會變成資料表(table)。當很多資料表組合起來,就會形成資料庫(database)。

圖一的資料表是電影的資訊,圖二的資料表是每部電影對應到的演員id,圖三則是所有演員id對應到名字的資料表,三張資料表合起來就可以稱作一個資料庫。


圖一

圖二

圖三

資料來源:https://www.imdb.com/chart/top

資料庫的類型

1. 關聯式資料庫(Relational Database)也可以叫做(SQL)

那先來看怎麼判讀關聯式資料庫中的資料表,會對關聯式資料庫有更明確的瞭解

  • 如何判讀一張資料表(table)

    儲存在關聯式資料庫中的資料結構是兩個維度的,是由欄和列所組成,以圖一解釋:

    • 列 (row):

      稱為觀測值(observations),完整呈現一筆資料的內容

      如 id 為1, title為 "The Shawshank Redemption", release_year為1994,就是id為1這筆資料的觀測值。

    • 欄(column) :

      稱為變數(variables),代表同一種資料屬性

      "1994","1972","2008"等等年份的值就是屬於“release_year"欄位

    • 格子(cell):

      存放一筆資料內,某個變數下的觀測值(value)

  • 在知道怎麼看懂一張table後,我們就可以來看什麼是關聯式資料庫了

    關聯式資料庫主要是儲存結構化的資料,資料是被包裝在由row跟column組成的表格內,而每個row都需要特定的key去辨別該筆資料,我們常見的excel表格就是最廣為人知的關聯式資料庫

    在資料與資料之間都具有一定程度的關聯。像是圖一的電影id就可以對應到圖二的該電影出演的演員id,而演員id又可以對應到演員的名稱。所以我們當我們想知道哪部電視有哪個演員出演,就可以透過關聯式資料庫,藉由三張表的關聯性找到出演的演員姓名。

2. 非關連式資料庫(NoSQL)

除了關聯式資料庫以外的都可以稱作是NoSQL

有以下幾種例子

  1. 利用關鍵字去儲存資料
  2. JSON、XML等檔案
  3. 圖表

隨著應用程式的飛快發展,許多數據已經不像以往需要如此結構化的處理,

關聯式資料庫通常是著重在精準同步的處理被結構化處理過後的數據

但現在facebook, instagram上的使用者的需求反而不再要求精準與同步

以Kylie發布一則instagram的貼文舉例,隨隨便便就會有近一千萬人按愛心

幾秒內也會湧入數十萬筆的留言,留言中又會有其他留言

使用者不會在意有沒有及時知道幾個人留言

也不需要知道有誰按了愛心有誰又取消

instagram不用再去著重在即時的精準同步資料,

反而需要處理如何管理爆炸式出現的資訊量

非關連式資料庫就會派上用場

關聯式資料庫管理系統(Relational DataBase Management System, RDBMS)

  • DBMS並不是儲存資料的場所,是作為是作為使用者和資料庫的中間溝通管道,

    方便使用者創造、維護、更新、刪除在真實資料庫的龐大資料。

    舉例來說momo購物網站上若是要管理背後的資料庫,

    並不是直接去取用資料庫,

    而是告訴資料庫管理系統去間接操作,

    簡化操作數據的流程。

  • DBMS有以下幾種特色

    1. 方便管理相當大量的資訊
    2. 方便維護安全性
    3. 方便備份,減少資料消失的危險
    4. 方便輸出和輸入數據
    5. 和網頁或是軟體程式溝通
  • 關聯式資料庫管理系統為目前市面上最常見的也最廣為接受的,目前主流的有


在這次的計畫裡我選擇SQLite為自學的主題

簡介資料庫的操作方法CRUD:

  1. Create增加數據
  2. Read 查詢數據
  3. Update 更新數據
  4. Delete 刪除數據

今天的資料庫簡介就到這裡~~~

之後就會開始操作資料庫了!


上一篇
{DAY 3}如何處理一筆數據?(下)
下一篇
{DAY5} SQLite操作練習
系列文
從資料庫到資料分析視覺化30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言