1. 程式人生 > >MySQL學習之一

MySQL學習之一

前言

學習的本質就是學習已有的事物,進而通過某種規律去創造出新的事物,之前也零零散散的對資料庫進行過學習。此次,通過寫部落格的方式對資料知識進行溫習,也方便以後的檢視。

  如本文對你有所幫助,那是我的榮幸,如本文寫的有錯的地方,望君指出,定改正。
  • 資料庫的概念

資料庫就是儲存資料的倉庫,它是按照資料結構來組織、儲存和管理資料。使用者可以對倉庫中的資料進行新增、擷取、更新、刪除等操作。
倉庫的儲存介質是一些磁碟之類等,能夠儲存二進位制資料的結構單元。

  • 資料庫的分類
    資料庫大體上分為三類:網狀資料庫、層次資料庫和關係資料庫。目前,最常用的資料庫主要有兩種,即關係型資料庫和非關係型資料庫。

    • 網狀資料庫

    網狀資料庫是指把資料庫技術引入到計算機網路系統中,藉助於網路技術將儲存與資料庫中的大量資訊及時釋出出去。計算機網路藉助於成熟的資料庫技術對網路中的各種資料進行有效管理,並實現使用者與網路中的資料庫進行實時動態資料的互動。

    • 層次資料庫

    層次資料庫的基本資料結構是層次結構,即資料之間的聯絡表現為分層的樹狀結構。層次結構模型的實質是一種有根節點的定向有序樹。

    • 關係資料庫

    關係資料庫,是建立在關係模型基礎上的資料庫,藉助於集合代數等數學概念和方法來處理資料庫中的資料。

關係型資料庫和非關係型資料庫基於儲存介質:

關係型資料庫:儲存在磁碟中
非關係型資料庫:儲存在記憶體中

關係型資料庫

  • 基本概念

關係資料庫,是建立在關係模型基礎上的資料庫,藉助於集合代數等概念和方法來處理資料庫中的資料。主流的關係資料庫有oracle、db2、sqlserver、sybase、mysql 等。

關係資料庫分為兩類:一類是桌面資料庫,例如Access、FoxPro和dBase等;另一類是客戶/伺服器資料庫,例如SQL Server、Oracle和Sybase等。一般而言,桌面資料庫用於小型的、單機的應用程式,它不需要網路和伺服器,實現起來比較方便,但它只提供資料的存取功能。客戶/伺服器資料庫主要適用於大型的、多使用者的資料庫管理系統,應用程式包括兩部分:一部分駐留在客戶機上,用於向用戶顯示資訊及實現與使用者的互動;另一部分駐留在伺服器中,主要用來實現對資料庫的操作和對資料的計算處理。

  • 關係結構模型

關係(表文件): 關係資料庫的表採用二維表格來儲存資料,是一種按行與列排列的具有相關資訊的邏輯組,它類似於Excle工作表。一個數據庫可以包含任意多個數據表。
元組(記錄): 二維表中的一行即為一個元組,稱為一條記錄。
屬性(欄位): 資料表中的每一列稱為一個欄位,表是由其包含的各種欄位定義的,每個欄位描述了它所含有的資料的意義,資料表的設計實際上就是對欄位的設計。
屬性值: 行和列交叉位置表示某個屬性值。
主碼(也稱主鍵或者關鍵字): 表中唯一用於確定一個元組的資料。確保表中欄位的唯一性,可以是一個欄位或多個欄位。每條記錄的關鍵字都是不同的,因而可以唯一的標識一個記錄。
域: 屬性的取值範圍,資料庫中某一列的取值限制。
關係模式: 關係的描述稱為關係模式。對關係的描述,表示:關係名(屬性1,屬性2…屬性n)

 關係模型的這種簡單的資料結構能夠表達豐富的語義,描述出現實世界的實體以及實體間
 的各種關係。

關係資料結構:指資料用什麼方式來儲存,是一種二維表形式來儲存
本質:二維表

姓名 年齡 身高 (cm) 體重(kg)
王二 18 187 72
李麗 21 167 63

關係操作集合:如何來關聯和管理對應的儲存資料,SQL指令

獲取王二的年齡:已知的條件為姓名

Select 年齡 from 二維表 where 姓名 = 王二

關係完整性約束:資料內部有對應的關聯關係,以及資料與資料之間也有對應的關聯的關係

姓名 年齡 身高 (cm) 體重(kg)
王二 18 187 72
李麗 21 167 63

表內約束:對應列只能放對應的資料。
表間約束:各實體間都是有著對應的關聯的關係。