天天看點

資料庫的演變史

目錄

  • 一:資料庫演變史
    • 1.什麼是資料庫?
    • 2.資料庫的作用
  • 二:資料庫的演變方向
    • 1.檔案操作階段(儲存資料(讀寫方式))
    • 2.軟體開發目錄規範(儲存資料分類不同(檔案夾))
    • 3.存儲位置和格式(解決程式之間無法相容)
    • 4.隻儲存本地自己資料,彼此不共享(單機模式)
    • 5.資料存儲全部統一在相同的地方完成(聯機模式)
    • 6.叢集的概念
  • 三:資料庫基本概念
    • 1.什麼是資料(Data)?
    • 2.什麼是記錄?
    • 3.什麼是表?
    • 4.什麼是庫?
    • 5.什麼是資料庫管理系統(DataBase Management System 簡稱DBMS)
    • 6.什麼是資料庫伺服器?
  • 四;軟體開發架構
    • 1.c/s架構
    • 2.b/s架構
  • 五:資料庫的分類(兩大類)
    • 1.關系型資料庫(簡稱RDBMS)
    • 2.非關系型資料庫
    • 3.關系型資料庫與非關系型資料庫語句
    • 4.資料庫可以指代的
  • 六:SQL語句的由來
    • 1.什麼是SQL語句?
    • 2.為什麼要有SQL語句?
  • 七:資料庫的本質

1、顧名思義,資料庫(DB,database)是按照資料結構來組織、存儲和管理資料的“倉庫”。

2、資料庫指的是以一定方式儲存在一起、能為多個使用者共享、具有盡可能小的備援度的特點的、與應用程式彼此獨立的資料集合。

3、資料庫可以通過統一的一些指令對資料進行增、删、改、查(Create,Retrive,Updata,Delete)等操作。

4,看作是冰箱,可以存取物品的地方

資料庫的演變史

1.實作資料共享:

資料共享包含所有使用者可同時存取資料庫中的資料,也包括使用者可以用各種方式通過接口使用資料庫,并提供資料共享。

2.減少資料的備援度:

同檔案系統相比,由于資料庫實作了資料共享,進而避免了使用者各自建立應用檔案。減少了大量重複資料,減少了資料備援,維護了資料的一緻性。

3.保持資料的獨立性:

資料的獨立性包括邏輯獨立性(資料庫中資料庫的邏輯結構和應用程式互相獨立)和實體獨立性(資料實體結構的變化不影響資料的邏輯結構)。

4.資料實作集中控制:

檔案管理方式中,資料處于一種分散的狀态,不同的使用者或同一使用者在不同進行中其檔案之間毫無關系。利用資料庫可對資料進行集中控制和管理,并通過資料模型表示各種資料的組織以及資料間的聯系。

5.資料一緻性和可維護性:

以確定資料的安全性和可靠性:主要包括:安全性控制、完整性控制、并發控制,使在同一時間周期内,允許對資料實作多路存取,又能防止使用者之間的不正常互動作用。

6.故障恢複:

由資料庫管理系統提供一套方法,可及時發現故障和修複故障,進而防止資料被破壞。資料庫系統能盡快恢複資料庫系統運作時出現的故障,可能是實體上或是邏輯上的錯誤。比如對系統的誤操作造成的資料錯誤等。

資料庫的演變史

jason|123|read
           

缺點:

每個人資料格式都不相同 程式之間無法相容

db		資料存儲檔案
           

雖然存儲目錄相同了,但是每個人資料格式都不相同 程式之間無法相容

使用資料庫的目的就是為了解決資料不相容的問題,基于網絡使資料在某一個地方以相同的格式統一儲存,實作資料共享(完成資料之間的格式與存儲位置統一)

  • 實列
單機遊戲: 不需要連接配接網絡就可以玩,在本機儲存資料,你的通關記錄,賬号密碼,都存儲在本機
    優點:不需要連結網絡
    缺點:限制于在一台計算機玩,如果你計算機壞掉了,在換一台,那這些記錄都沒有。你注冊的賬号換一台電腦登入也是沒有記錄的,還是初始化狀态。(其實單機好像不需要新增賬號)
           
資料庫的演變史
聯機遊戲:不在本地儲存資料。所有人基于網絡把自己的資料存儲到相同的位置,資料存儲的格式都相同,通路的格式也相同,是以不管在那台計算機上,登入賬号密碼就可以通路到我們存儲在資料庫的資訊,這樣就實作了相容問題。
           
資料庫的演變史

如果資料庫機房内,伺服器着火了,地震了,海嘯了。那這樣是不是所有使用者的資料都會流失,是以我們用到了叢集。 多台計算機從事相同的工作内容

  • 叢集的作用:
叢集一般由兩個或兩個以上的伺服器組建而成,每個伺服器被稱為一個叢集節點,叢集節點之間可以互相通信。通信方式有兩種,一種是基于RS232線的心跳監控,另一種是一塊單獨的網卡 來跑心跳。因而,叢集具有節點服務狀态監控功能,同時還必須具有服務實體擴充功能,可以靈活地增加和剔除某個服務實體。

叢集中,同樣的服務可以由多個服務實體提供。是以,當一個節點出現故障時,叢集的另一個節點,可以自動接管故障節點的資源,進而保證服務持久、不間斷地運作。因而叢集具有故障
自動轉移功能。


一個叢集系統必須擁有共享的資料存儲,因為叢集對外提供的服務是一緻的,任何一個叢集節點運作一個應用時,應用的資料集中存儲在節點共享空間内,而每個節點的作業系統上僅運作應用的服務,同時存儲應用程式檔案。
           
資料庫的演變史

事物的狀态

一組資料結構成一條記錄,相當于檔案中的一行内容,如1,tanke,male,18

檔案

檔案夾

管理資料的套接字軟體,CS架構

運作有DBMS伺服器的計算機,該計算機對記憶體和硬體要求都很高

用戶端 服務端
           
浏覽器 服務端
           

本質:bs架構本質也是cs架構

具有固定的表結構 并且表與表之間可以通過外鍵建立關系

MySQL、MariaDB、Oracle、PostgreSQL、sqlserver、sqlite、db2

  • 簡介
sql server
    微軟公司的産品,主要應用于大中型企業,如聯想、方正等。
    
    oracle
    主要用于銀行、鐵路、飛機場等。該資料庫功能強大,軟體費用高。
    也是甲骨文公司的産品。
    
    MySQL
    主要用于大型門戶,例如搜狗、新浪等,它主要的優勢就是開放源代碼
    因為開放源代碼這個資料庫是免費的,他現在是甲骨文公司的産品。
    
    MariaDB
    SUN被甲骨文收購後,MySQL 的原創人員有拉出另外一個分支,
    命名MariaDB 。該資料庫被維基百科,Facebook 甚至 Google 
    等技術巨頭使用。 MariaDB 是一種可為 MySQL 提供插件替換功能的
    資料庫伺服器。開發人員的首要關注點是安全性,在每個版本釋出時,
    開發人員還會合并所有 MySQL 的安全修補程式,
    并在需要時對其進行增強。
           

注意: sql語句通用

沒有固定的表結構 資料存儲采用K:V鍵值對的形式

redis、mongoDB、memcache

mongodb(可用來作為後端資料庫管理軟體)
    redis(多用來作為緩存)
    memcache(多用來作為緩存)
           

我們通常将操作關系型資料庫的語句稱為:SQL語句

我們通常将操作非關系型資料庫的語句稱為:NoSQL語句

有時候甚至使用NoSQL指代非關系型資料庫

  • 可以了解為:

    關系型資料庫需要有表結構

    非關系型資料庫是key-value存儲的,沒有表結構

1.程式

2.資料庫管理軟體

3.存放資料的某個'檔案夾'

就是操作資料庫軟體的指令
           
是因為資料庫能夠支援的語言非常的多 為了避免識别問題 
發明了SQL語句 規定隻要想使用資料庫就統一使用SQL語句操作
           
資料庫的演變史

資料庫本質其實就是一款cs架構的軟體

是以我們所有人其實都可以寫一款資料庫軟體

在市面上确實有很多資料庫軟體

繼續閱讀