{DAY4} 资料库简介

什麽是资料库(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 4 - 原型 (3): 主页的元件组合

>>:  Day4- D3选取器:Selection

D21 - 如何用 Apps Script 自动化地创造与客制 Google Slides?(二)自动化爲铁人赛的每一篇贴文生封面图

今天的目标:在简报快速标上大量客制内容 今天要教要怎麽样快速改客户名称後交出投影片。 生活中我们不时...

Unity自主学习(七):将Unity引擎与Unity Hub做连结

昨天我们通过Unity官方提供的"UnityDownloadAssistant-20xx....

[Day 26] - Gatsby feat. WordPress

今天我们要与鼎鼎大名的 WordPress 进行串接,将 WordPress 站内的资料藉由 Gra...

#2 - Button文字换起来! (CSS: 移动位置)

Day 1 介绍了用CSS 伪元素的方式放大缩小变宽去做连结特效。传送门 今天也选了几个button...

浅谈CC攻击原理和防御手段

互联网从运用以来,通过短短数十年就改变了每一个人的生活方式,像一张蜘蛛网一样将世界上每一个点紧密连...