1 數據庫原理
1.1 數據的時代
涉及的數據量大 數據不隨程序的結束而消失 數據被多個應用程序共享 大數據
數據的分類:
- 結構化的數據:即有固定格式和有限長度的數據。例如填的表格就是結構化的數據,國籍:中華人民共和國,民族:漢,性別:男,這都叫結構化數據
- 非結構化的數據:非結構化的數據越來越多,就是不定長、無固定格式的數據,例如網頁,有時候非常長,有時候幾句話就沒了;例如語音,視頻都是非結構化的數據
- 半結構化數據:比如:XML或者HTML的格式的數據
1.2 數據庫的發展史
萌芽階段:文件系統 使用磁盤文件來存儲數據 初級階段:第一代數據庫 出現了網狀模型、層次模型的數據庫 中級階段:第二代數據庫 關系型數據庫和結構化查詢語言 高級階段:新一代數據庫 “關系-對象”型數據庫
文件管理系統的缺點
編寫應用程序不方便 數據冗余不可避免 應用程序依賴性 不支持對文件的并發訪問 數據間聯系弱 難以按用戶視圖表示數據 無安全控制功能
1.3 DBMS 數據庫管理系統
數據庫是數據的匯集,它以一定的組織形式存于存儲介質上 DBMS是管理數據庫的系統軟件,它實現數據庫系統的各種功能。是數據庫系統的核心 DBA:負責數據庫的規劃、設計、協調、維護和管理等工作 應用程序指以數據庫為基礎的應用程序
1.4 數據庫管理系統的優點
相互關聯的數據的集合 較少的數據冗余 程序與數據相互獨立 保證數據的安全、可靠 最大限度地保證數據的正確性 數據可以并發使用并能同時保證一致性
1.5 數據庫管理系統的基本功能
數據定義 數據處理 數據安全 數據備份
1.6 數據庫系統的架構
單機架構 大型主機/終端架構 主從式架構(C/S) 分布式架構
1.7 各種數據庫管理系統
1.7.1 網狀數據庫
最早出現的是網狀DBMS,1964年通用電氣公司的Charles Bachman成功地開發出世界上第一個網狀IDS,也是第一個數據庫管理系統,IDS 具有數據模式和日志的特征,只能在GE主機運行
1.7.2 層次數據庫
以樹型結構表示實體及其之間聯系,關系只支持一對多
代表數據庫:IBM IMS
1.7.3 RDBMS 關系型數據庫
1.7.3.1 關系統型數據庫相關概念
- 關系 :關系就是二維表,其中:表中的行、列次序并不重要
- 行row:表中的每一行,又稱為一條記錄record
- 列column:表中的每一列,稱為屬性,字段,域field
- 主鍵PK Primary key:用于惟一確定一個記錄的字段,一張表只有一個主鍵
- 域domain:屬性的取值范圍,如,性別只能是‘男’和‘女’兩個值,人類的年齡只能0-150
1.7.3.2 常用關系數據庫
MySQL: MySQL, MariaDB, Percona Server ? PostgreSQL: 簡稱為pgsql,EnterpriseDB ? Oracle ? MSSQL ? DB2
1.7.3.3 數據庫排名
https://db-engines.com/en/ranking
1.8 關系型數據庫理論
1.8.1 實體-聯系模型E-R
實體Entity:客觀存在并可以相互區分的客觀事物或抽象事件稱為實體 ? 在E-R圖中用矩形框表示實體,把實體名寫在框內 屬性:實體所具有的特征或性質 聯系:聯系是數據之間的關聯集合,是客觀存在的應用語義鏈 ? 實體內部的聯系:指組成實體的各屬性之間的聯系。如職工實體中,職工號和部門經理號之間有一種關聯關系 ? 實體之間的聯系:指不同實體之間聯系。例:學生選課實體和學生基本信息實體之間 ? 實體之間的聯系用菱形框表示
1.8.2 聯系類型
- 一對一聯系(1:1)
- 一對多聯系(1:n):外鍵
- 多對多聯系(m:n):增加第三張表
1.8.3 數據的操作
數據提?。涸跀祿现刑崛「信d趣的內容。SELECT 數據更新:變更數據庫中的數據。INSERT、DELETE、UPDATE
1.8.4 數據庫規劃流程
-
收集數據,得到字段
收集必要且完整的數據項
轉換成數據表的字段
-
把字段分類,歸入表,建立表的關聯
關聯:表和表間的關系
分割數據表并建立關聯的優點
節省空間
減少輸入錯誤
方便數據修改
-
規范化數據庫
1.8.5 數據庫的正規化分析
數據庫規范化,又稱數據庫或資料庫的正規化、標準化,是數據庫設計中的一系列原理和技術,以減少數據庫中數據冗余,增進數據的一致性。關系模型的發明者埃德加·科德最早提出這一概念,并于1970年代初定義了第一范式、第二范式和第三范式的概念 設計關系數據庫時,遵從不同的規范要求,設計出合理的關系型數據庫,不同的規范要求被稱為不同范式,各種范式呈遞次規范,越高的范式數據庫冗余越小 目前關系數據庫有六種范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴德斯科范式(BCNF)、第四范式(4NF)和第五范式(5NF,又稱完美范式)。滿足最低要求的范式是第一范式(1NF)。在第一范式的基礎上進一步滿足更多規范要求的稱為第二范式(2NF),其余范式以次類推。一般數據庫只需滿足第三范式(3NF)即可
1.8.5.1 第一范式:1NF
無重復的列,每一列都是不可分割的基本數據項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重復的屬性,確保每一列的原子性。除去同類型的字段,就是無重復的列 說明:第一范式(1NF)是對關系模式的基本要求,不滿足第一范式(1NF)的數據庫就不是關系數據庫
1.8.5.2 第二范式:2NF
屬性完全依賴于主鍵,第二范式必須先滿足第一范式,要求表中的每個行必須可以被唯一地區分,通常為表加上每行的唯一標識PK,非PK的字段需要與整個PK有直接相關性
1.8.5.3 第三范式:3NF
屬性不依賴于其它非主屬性,滿足第三范式必須先滿足第二范式。第三范式要求一個數據表中不包含已在其它表中已包含的非主關鍵字信息,非PK的字段間不能有從屬關系
1.8.6 SQL 結構化查詢語言簡介
SQL:結構化查詢語言,Structure Query Language SQL解釋器: 數據存儲協議:應用層協議,C/S S:server, 監聽于套接字,接收并處理客戶端的應用請求 C:Client 客戶端程序接口 CLI GUI 應用編程接口 ODBC:Open Database Connectivity JDBC:Java Data Base Connectivity
1.8.7 SQL 基本概念
約束:constraint,表中的數據要遵守的限制 主鍵:一個或多個字段的組合,填入的數據必須能在本表中唯一標識本行;必須提供數據,即NOT NULL,一個表只能有一個 惟一鍵:一個或多個字段的組合,填入的數據必須能在本表中唯一標識本行;允許為NULL,一個表可以存在多個 外鍵:一個表中的某字段可填入的數據取決于另一個表的主鍵或唯一鍵已有的數據 檢查:字段值在一定范圍內 索引:將表中的一個或多個字段中的數據復制一份另存,并且按特定次序排序存儲
1.8.8 關系運算
- 選擇:挑選出符合條件的行
- 投影:挑選出需要的字段
- 連接:表間字段的關聯
1.8.9 數據抽象
物理層:數據存儲格式,即RDBMS在磁盤上如何組織文件 邏輯層:DBA角度,描述存儲什么數據,以及數據間存在什么樣的關系 視圖層:用戶角度,描述DB中的部分數據
1.8.10 關系模型的分類
關系模型 基于對象的關系模型 半結構化的關系模型:XML數據
本文鏈接:http://www.royaladd.com/34217.html
網友評論comments