一個"收納箱"帶你走進數據庫的世界

一個"收納箱"帶你走進數據庫的世界

一、前言

1.1時勢造英雄——數據時代,未來已來

​ 如今,我們已然“從IT時代邁入DT時代”,馬雲也說過:未來的資源不是石油,不是天然氣,而是“數據”。這是因爲,在信息技術迭代如此之快的時代,會產生各種各樣的大量數據、信息,那麼伴隨而來的問題就是:我們應該如何實現安全、有效地存儲、檢索以及管理數據?

​ 數據時代,對數據的有效存儲、高效訪問、方便共享和安全控制已經成爲目前亟待解決的問題。

1.2問題引出——如何解決上述問題呢?

​ 我們使用生活中的一個例子來引出該問題的解決方法。

​ 一般來說,家家戶戶都會有非常多的雜物,其可能種類諸多,數量也多,那麼我們可以想到使用一個或多個庫房,或者說是儲物室,哪怕是收納箱來存放這些物品。由此,我們可以聯想到,對於越來越多,愈加複雜的數據,也可以爲它們建立自己的存儲空間,並且使之管理高效方便,而這樣的存儲空間我們將之可以定義爲“數據庫”。

​ 數據庫就是用來存放各種各樣、繁多冗雜的“數據”的。下面我們具體介紹一下數據庫的基本概念以及數據的定義,數據庫的結構與種類。

二、數據庫的基本概念

2.1數據庫的概念

​ 數據庫,從簡單來講,可以認爲是表的集合。而表是由不同的記錄組織在一起形成的,而記錄則是以“行”爲單位的數據結構,一條記錄則對應一個“行記錄”,我們也可以稱之爲實體;而表中的每一列就是這個表中的某個屬性,或者稱之爲一個數據項,也叫字段。

2.2數據庫的結構

​ 上面說到,數據庫其實就是表的集合,而表就是記錄的組合,記錄由字段和實體組成。

(表:將不同的記錄組織在一起,就形成了“表”,是用來存儲數據的)

2.3數據的定義

​ 數據:是描述事物的符號記錄,包括數字,文字、圖形、圖像、聲音、檔案記錄等;以“行記錄”的形式按統一的格式進行存儲。

​ 其實我們可以將數據簡單地理解爲“有必要價值或特殊意義的信息”。

三、數據庫的特點

​ 我們可以繼續結合上面收納箱的例子引出數據庫的特點。收納箱,主要就是用來整理收納物品的,我們可以將一個比較大的收納箱分爲多個區間,其中一個存放文具用品,其中一個存放生活用品等等,這樣可以在一定程度上使我們在需要時快速獲取,方便使用。

​ 那麼結合到數據庫上,這個大收納箱就是數據庫,各個不同的區間就是各種不一樣的表,而其中的物品就是表裏面各種各樣的數據。

​ 而這樣的結構和存儲方式也可以提現出數據庫的特點:

  1. 結構化存儲大量的數據信息,方便進行有效的檢索與訪問;
  2. 有效保持數據信息的一致性、完整性,降低數據冗餘;
  3. 滿足應用的共享與安全要求(收納箱可以上鎖,只有擁有鑰匙的可以使用)

四、數據庫的類型

4.1數據庫的發展歷程

數據庫的發展歷史算是比較久的了,有興趣可以瞭解一下。

數據庫的發展是由經典數據模型(網狀——層次——關係)發展而來的。

一般會按照下面的方式區分:

4.2數據庫按存儲類型分爲:關係型數據庫、非關係型數據庫

  1. 關係型數據庫:存儲的是數值、字符、字符串、布爾值等;
  2. 非關係型數據庫:存儲的是圖片,視頻,語音等;

4.3主流數據庫清單

關係型數據庫:mysql(oracle公司),sql server(微軟公司) access(微軟) oracle(Oracle公司) db2(IBM公司) sybase(sybase)——(支持億級別併發量,春晚活動) 其典型特點在於是:一種 "實體—關係"("E-R")的模型

非關係型數據庫(NoSQL):MongoDB Redis(內存數據庫/緩存數據庫)以{K-V key-value 變量—值}存儲memcache(內存數據庫/緩存數據庫) HBase(K-V —— 鍵值對)

4.2.2非關係數據庫的優點:
  • 滿足數據庫高併發讀寫;
  • 對海量數據高效存儲與訪問;
  • 高擴展高可用性

4.3淺談Redis和memcache的異同(大家作爲簡單瞭解即可)

  1. 相同點:存儲高熱數據庫(反覆使用頻率高)

  2. 不同點:Redis可以做持久化保存,可以存儲對象(存儲Java中對象的信息),而memcache緩存的內容在內存中數據容易丟失

補充點:

  • redis數據庫的日誌文件主要就是用於數據恢復的

  • Oracle數據庫的日誌:重做日誌組(輪循寫入並且有同步備份數據庫服務器)

五、關係數據庫

​ 關係數據庫系統是基於關係模型的數據庫系統,是關係模型應用到數據庫領域的實例化。

5.1什麼是關係模型?

​ 關係模型建立在關係代數的理論基礎上,也就是什麼所說的"實體—關係"(E-R)圖來直接表示,其包含了實體、關係和屬性三個要素。

​ 實體:也就是實例,對應於現實世界中可以區別於其他對象的“事件”或“事物”;

​ 屬性:實體所具有的某種特性,一個實體可以有多個屬性;

​ 聯繫:多個相同類型及共享相同性質的實體組成的集合之間的對應關係。

可能不是特別好理解,咱們還是來簡單舉個例子:

實體——銀行客戶或者銀行賬戶;

屬性——銀行客戶中的姓名、住址、聯繫方式等;

聯繫——銀行客戶和銀行賬戶之間存在着“儲蓄”的關係。

5.2主鍵和外鍵

數據表中的每行記錄都必須是唯一的,而不允許出現完全相同的記錄,通過定義主鍵(主關鍵字,Primary Key)可以保證記錄的唯一性。

鍵,即關鍵字,它是關係模型中一個非常重要的元素。

5.2.1主鍵

主鍵唯一標識表中的行數據,一個主鍵對應一行數據。主鍵由一個或多個字段組成,其值具有唯一性,且不允許取null值。一個表只能有一個主鍵。

5.2.2外鍵

外鍵,就是以表裏唯一一個和其他表有關聯的字段,起到約束作用。外鍵一般在定義字段的時候創建。

一張表中的外鍵一定是另外一張表中的主鍵,主鍵不可以重複、外鍵可以重複;

補充:候選鍵:除了主鍵和外鍵以外的鍵

六、總結

​ 本文主要是通過生活中簡單的一個收納箱的例子來了解數據庫的概念、分類、結構、作用以及特性等方面的知識。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章