無論您剛開始學習程式設計還是已經有一些經驗,我很確定您已經問過自己(或其他人)資料庫到底是什麼,如何處理它,關聯式資料庫和資料庫之間有什麼區別?和非關聯式資料庫及其用途。
當談到程式設計時,感覺我們的疑慮無窮無盡,有時我們會在資訊的海洋中迷失。我將討論每個初學者在建立第一個資料庫時應該了解的一些概念。我希望至少能教您一些有關資料庫的知識,資料庫是軟體最重要的部分之一。
在一切之前,了解什麼是資料很重要。嗯,它是一個值,例如 21。但是除非我們對其進行組織並建立訊息,否則該資料將沒有意義。例如,這個數字可以是年齡,可以是登入您網站的總人數,甚至可以是您所在州的號碼。現在,如果我告訴你我們有資料: age = 21
,我們幾乎可以理解值 21 是某人的年齡。這就是我們所說的訊息。
知道了這一點,我可以告訴你資料庫是有組織的資訊的集合。我喜歡把資料庫想像成類似搬到新家的過程。例如,當我們搬家時,將東西裝進盒子裡是很正常的。我們會有一個盒子裝書,一個盒子裝衣服,另一個盒子裝電子產品。最後,我們把所有東西都裝進卡車,運到我們的新家。
在此範例中,我們的資料庫將是卡車,因為我們有許多特定物品的盒子 - 有組織的資訊的集合。該資訊是結構化的並且通常儲存在電腦系統中。 (我們使用資料庫來儲存、存取和維護資料。)
為了控制資料庫,我們將使用所謂的資料庫管理系統(DBMS),該軟體用於可視化資料庫的表、其訊息,以及我們還可以執行查詢(對資料庫執行操作的命令)和許多功能。其他事情。它基本上是用戶(使用資料庫的人)和資料庫本身之間的介面。
可以說,每次建立、刪除、更新和讀取等等,我們都會處理 DBMS。
資料庫管理系統範例:
MySQL
SQL伺服器
甲骨文資料庫
有很多選擇,我們應該選擇更適合我們和專案的一種。
每個初學者都應該了解的最重要的資料庫類型是:
關係型資料庫
非關係型資料庫
這種類型的資料庫是使用具有列和行的表來建構的,如下圖所示,我們使用 SQL 來處理這種結構。
在表格中,我們將有:
列,定義每條資料是什麼(ID、姓名、年齡...)及其類型;
行,保存給定的資料。
表中的每一行都是一筆具有唯一 ID 的記錄,我們稱之為鍵。例如,在這個表中,鍵是數字1、2、3…我們可以看到每筆記錄都有自己的鍵,用來標識自己。
每個初學者都應該了解至少三種類型的密鑰:
鍵:它基本上是表中的一列或多列,負責以獨佔方式辨識行。
主鍵:這種類型將確保暫存器的唯一性,將在表之間的關係上引用暫存器並對其進行索引,這提高了 DBMS 的效率。
外鍵:它是一個使用每個表的主鍵連接表的列。我們使用這種類型的鍵來建立表之間的關係。重要的是要理解,具有外鍵的表稱為引用表,而被引用的表稱為引用表或父表。
非關聯式資料庫,也稱為NoSQL(現在是Not Only SQL),是一種不使用表格及其列和行作為組織方案的資料庫。它提供了更大的靈活性,因為您不必像我們在關聯式資料庫上所做的那樣擔心建立表。
NoSQL 上的儲存經過最佳化,可以自我調整以滿足各種需求。例如,可以將資料儲存為鍵/值、JSON 文件或圖形。
NoSQL 資料庫的建立是為了解決人們直到 90 年代末期才遇到的問題,即難以設計能夠滿足使用關聯式資料庫所需的規模和敏捷性的資料庫,而當時無法做到這一點。
NoSQL 最重要的功能之一是:
更高的可擴展性
沒有複雜的關係
降低成本
非關係型資料庫也有類型,其中兩種是:
鍵值:最常見的一個。資料庫中的每個專案都將儲存為屬性名稱(或“鍵”)及其值。例如: {"name": "Maria"}
。鍵是“name”,值是“Maria”。在這些情況下最常使用的資料庫是Redis 、 DynamoDB和Berkeley DB 。
文件:將每個金鑰與其文件一起存儲,其主要特徵是將所有資訊包含在一個文件中。該文件通常是 JSON,但也可以是 XML。最著名的文件資料庫是 MongoDB
關於此類資料庫的更多資訊有很多,但這是您開始之前必須了解的基礎知識!除此之外,不要讓這個開始阻止您深入挖掘以了解更多資訊。
SQL 代表結構化查詢語言,這是一種用於處理 70 年代左右在 IBM 實驗室建立的資料庫的程式語言。一段時間後,它成為資料管理的模式。
我們使用這種程式語言在資料庫上執行查詢,並且可以使用各種參數從資料庫中檢索、建立或刪除資訊。我們只需要遵循語法,就像任何其他程式語言一樣。
SQL 有許多指令,但最重要的是:
SELECT :搜尋資料庫表中的行。
INSERT :在表中插入新行。
UPDATE :用於更新表中已存在的資料。
DELETE :刪除一個暫存器。
重要的是,我們將此命令與其他參數一起使用,以便我們可以使查詢非常具體。在 Capslock 上使用 SQL 是一種約定。
SQL 還具有一些我們可以在查詢中新增的條件,以便修改將傳回的暫存器,例如:
FROM :用於表示將查詢哪個表。
ORDER BY :用於以特定順序組織傳回的資料。
WHERE :用於指定傳回資料的條件。例如,如果我們想查看表中年齡超過 18 歲的用戶,我們將使用「where」。
SQL 中還有許多其他命令,但這是我們建立第一個表並學習建立第一個 CRUD(代表建立、讀取、更新和刪除)所需的基本命令。
透過這篇文章我們了解了資料庫的基礎知識,例如它是什麼、它的類型以及什麼是 SQL。現在,我們必須學習如何建立一個主題,該主題將在本系列的下一篇文章中介紹。
這個內容是根據我在 100 天的程式碼中的筆記建立的,在這段期間我了解了資料庫、PHP 和 Laravel,所以我真的很自豪,因為在開始挑戰之前我對此幾乎一無所知。另外,如果需要的話,請隨時向我提問!
感謝那些審查我的文章並幫助我到達這裡的人:
@danielhe4rt
@cherryramatis
@reenatoteixeira