資料的分類:
-
結構化資料:有固定的格式,例如一個表格里面的資訊
-
非結構化資料:無固定格式,例如圖片、網頁、語音、視頻
-
半結構化資料:html、xml格式的資料
資料庫:存放資料的一個集合,可以是檔案的方式,也可以是其他的方式,
資料庫的發展:
- 萌芽階段:檔案系統
使用磁盤檔案來存盤資料,比如一個檔案里面存了很多資料內容,
缺點:管理不方便,且容易造成檔案的損壞、安全性差,
- 初級階段:第一代資料庫
出現了網狀模型、層次模型的資料庫
- 中級階段:第二代資料庫
關系型資料庫和結構化查詢語言
- 高級階段:新一代資料庫
"關系-物件"型資料庫
相關概念
-
DBMS:Database Management System,資料庫管理系統,就是一個應用軟體,實作對資料的管理,例如mysql、orcler、redis等,
-
Database:資料庫
-
DBA:Database Administrator(DBA)資料庫管理員
-
Application:應用程式,用戶訪問資料不是直接通過DBMS來進行訪問的,通過一些圖形界面軟體等來訪問這些資料,例如京東、淘寶等,
DBMS作業邏輯:資料放在磁盤上,用戶通過工具訪問DBMS,然后DBMS訪問到對應的資料,
資料庫結構:
-
單機架構:資料庫就在一個機器上,只能通過這個機器來操作資料庫,例如access
-
主從架構(C/s):客戶端-服務器,將要客戶端和服務器區分開,通過客戶端發送請求來和服務器互動,
-
分布式架構:把資料分散在多個地方,不是集中在一起,
各種資料庫管理系統:
-
層次結構:按層(樹狀結構)組織資料,容易產生冗余
-
網狀結構:關系復雜,不容易管理
-
關系型資料庫:RDBMS,
關系型資料庫相關概念:把所有資料放在一張二維表里面
-
關系:就是一張二維表,
-
行:row,稱為記錄,每一行稱為一條記錄(record)
-
列:column,稱為屬性、欄位或者域(field)
-
主鍵:Primary key,一個或者多個欄位的組合,主鍵不能為空且不能重復
-
唯一鍵:Unique key, 一個或多個欄位的組合,不能重復但可以為空
-
域:domain,屬性的取值范圍,
常用的關系型資料據:
-
mysql: MySQL, MariaDB, Percona Server
-
oracle
-
DB2
-
PostgreSQL
物體-聯系模型E-R:
-
E-R:描述資料庫存盤資料的結構模型
-
物體Entity:用矩形表示,例如課程、班級、學生等
-
屬性Attribute:用橢圓形表示,描述物體的特征
-
聯系Relationship:物體的屬性之間的關聯規則
E-R模型的聯系型別:
- 一對一: 假設有兩張表,一張存姓名,另一個存身份證,一個人只能有一個身份證,
- 一對多:假設兩張表部門和員工,一個部門能有多個員工資訊,
- 多對多:假設兩張表課程和學上,一個學生能擁有多門課程,一個課程也能被多個學生選擇,
資料庫的操作:
- 增加:Insert
- 洗掉:Delete
- 查找:Select
- 修改:Update
資料庫的規范化:
作用:減少資料的冗余,增進資料的一致性,越高的范式資料庫冗余越小
-
第一范式(1NF):無重復列、一列不能有多個值
-
第二范式(2NF):表中的每一條記錄都能被唯一區分(通過主鍵區分),某一個非主鍵的欄位要依賴整個組件,而不能只依賴部分主鍵(多個欄位組成一個逐漸),
-
第三范式(3NF):非主鍵的欄位之間不能有從屬關系
注意:滿足第一范式的資料庫才能稱為關系資料庫,
SQL
-
SQL:Structure Query Language,結構化查詢語言,SQL配套關系型資料庫使用的,
-
SQL解釋器:將SQL陳述句解釋成機器語言
-
資料存盤協議:應用層協議,C/S
S:server, 監聽于套接字,接收并處理客戶端的應用請求
C:Client
資料約束:
- 約束:constraint,需要遵守的限制
常見的約束:
-
主鍵:primary key,一個或多個欄位的組合,非空且唯一,
-
唯一鍵:unique key, 一個或者多個欄位的組合
-
非空:not null
-
外鍵:foreign key,用來建立表和表之間的關系,外鍵的欄位依賴于另一張表的欄位,
-
默認:default,默認值
-
檢查:欄位值的一個范圍
主鍵和外鍵的區別:
-
主鍵:primary key
作用:用于惟一地標識表中的某一條記錄,確保每列的原子性,
形式:主鍵可以由一個欄位,也可以由多個欄位組成,分別成為單欄位主鍵或多欄位主鍵
其他:建立主鍵會生成唯一索引,一個表只能建一個主鍵, -
外鍵:foreign key
作用:保持資料一致性,完整性,主要目的是使兩張表形成關聯,并控制存盤在外鍵表中的資料,
形式:建立外鍵的表為“從表”,外鍵依賴的表為“主表”,主表是從表的“外表”
其他:外鍵只能參考外表中的列的值!一個表只能建一個外鍵,
建立外鍵的列,必須是外表的主鍵,并且欄位型別必須一致,
關系運算:
-
選擇:篩選行(記錄)
-
投影;(cut)篩選列
-
連接:表和表之間的關系,比如外鍵,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504768.html
標籤:MySQL
上一篇:VSCode-測驗資源管理器不再顯示任何測驗。錯誤:“無法讀取null的屬性”
下一篇:Oracle 表空間常用操作
