為自己Coding
為自己Coding

YO~~ 剛跨入AI人工智慧領域的小小工程師, 熱愛自學, 熱愛分享, 下班後的我想為自己Coding, 積極撰寫教學文, 想將自學的程式知識分享給大家, 不斷追求進步的自己, 希望有一天能回饋社會,幫助需要幫助的人, 如果您有什麼很酷的想法,也覺得我還行,歡迎您找我合作~~ IG: https://www.instagram.com/coding_4_me/

MySQL 學習筆記(一) - 在了解資料庫前,先徹底了解資料庫是什麼?如何運作?它與SQL的關係是什麼?

Github連結


攝影師:Rakicevic Nenad,連結:Pexels


1. 什麼是資料庫?


核心定義

  • Collection Data: 數據集合
  • Methods for accessing and manipulating that data: 存取和操作數據的方法

為什麼要存取或操作數據?

舉例: 因為如果手邊有非常大量的客戶數據,我們今天要查詢Jack的顧客資訊,我們不可能一個一個找,所以就要對數據進行訪問和操作



2. 資料庫的操作流程


  • 透過應用程式與DBMS(資料庫管理系統)進行溝通,然後DBMS會幫助我們與Database進行溝通並存取與操作數據,並一路傳回我們所需的數據
  • 通常會把整個DBMS -> Database稱為Database



3. SQL是什麼?


  • SQL全名為Structured Query Language,直翻就是結構化的查詢語言
  • 用來和資料庫Database進行溝通,根據ANSI(American National Standards Institute),它是關聯式資料庫管理系統(Relational Database management Systems)所使用的標準語言
  • 簡單來說,它就是我們與資料庫間進行溝通的語言,包括資料插入、查詢、更新和刪除,資料庫模式的建立和修改,和數據的存取控制
  • 以下圖來說,SQL在整個資料庫的操作流程會在App與整個Database之間進行溝通的語言


觀念: SQL是使用者對關聯式資料庫進行溝通的語言




4. 為什麼要選擇MySQL?


MySQL開源而且它的使用率排名根調查位居第二,第一的Oracle是需要收費的

參考網址: https://db-engines.com/en/ranking




5. SQL與MySQL的關係?

剛剛我們已經討論過SQL是什麼了,接著我們聊聊MySQL跟SQL的關係




圖片說明了,SQL是我們用來對關聯式資料庫管理系統進行操作的語言,而MySQL就是關聯式資料庫管理系統的其中一個代表軟體,當然也包括SQLite、Oracle等

補充: NoSQL與其對應的非傳統關聯式資料庫系統

重要觀念:

  • 我非常喜歡WIKI上所表達的NoSQL,過去表示的是Non-SQL也就是應用於非關聯式資料庫管理系統的統稱,但現在被轉解成Not only SQL,我的理解跟我查詢到的相關資料,就是指現在的NoSQL不能說它一定就是非關聯式資料庫管理系統的語言,因為它可能還是具有一些關聯,所以這個定義: NoSQL是應用於非傳統關聯式資料庫系統的統稱,就表達的非常的好
  • 雖然NoSQL應用於非關聯式資料庫,但是不能說一定沒有關聯,而只是這種關聯是用另外的形式來表達呈現

參考網址: https://zh.wikipedia.org/wiki/NoSQL



圖片說明了,MySQL是我們用來對非傳統關聯式資料庫系統的統稱,而mongoDB就是關聯式資料庫管理系統的其中一個代表軟體,當然也包括CouchDB等

如果大家想知道更多關於SQL與NoSQL的差別,可以參考這篇(https://read01.com/GPnEx.html#.YQ4zgYgzaUk),我覺得寫得很詳細,包括他們的優勢、劣勢、使用原因等等



共同作者:

https://matters.news/@Queena Su


Reference

https://kuochingsouthen.com/what-is-sql/

https://zh.wikipedia.org/wiki/SQL

https://zh.wikipedia.org/wiki/NoSQL

https://read01.com/GPnEx.html#.YQ4zgYgzaUk

CC BY-NC-ND 2.0

Like my work?
Don't forget to support or like, so I know you are with me..

Loading...

Comment