數據庫理論基本彙總

數據的時代特徵:

涉及的數據量大

數據不隨程序的結束而消失

數據被多個應用程序共享

大數據

數據庫的發展史

萌芽階段————文件系統

使用磁盤文件來存儲數據

初級階段————第一代數據庫

出現了網狀模型、層次模型的數據庫

中級階段————第二代數據庫

關係型數據庫和結構化查詢語言

高級階段————新一代數據庫

“關係—對象”型數據庫

文件管理系統的缺點

編寫應用程序不方便

數據冗餘不可避免

應用程序依賴性

不支持對文件的並以訪問

數據間聯繫弱

難以按用戶視圖表示數據

無安全控制功能

數據庫管理系統的優點:

相互關聯的數據的集合

較少的數據冗餘

程序與數據相互獨立

保證數據的安全、可靠

最大限度地保證數據的正確性

數據可以併發使用並能同時保證一致性

數據庫管理系統:

數據庫是數據的彙集,它以一定的組織形式存於存儲介質上

DBMS是管理數據庫的系統軟件,它實現數據庫系統的各種功能。是數據庫系統的核心

DBA:負責數據庫的規劃、設計、協調、維護和管理等工作

應用程序指以數據庫爲基礎的應用程序

數據庫管理系統的基本功能:

數據定義

數據處理

數據安全

數據備份

數據庫系統的架構:

單機架構

大型主機/終端架構

主從式架構(C/S

分佈式架構

關係型數據庫:

關係:關係就是二維表。並滿足如下性質:

表中的行、列次序並不重要

row:表中的每一行,又稱爲一條記錄

column:表中的每一列,稱爲屬性,字段

主鍵(Primary key):用於惟一確定一個記錄的字段

domain:屬性的取值範圍,如,性別只能是‘男’和‘女’兩個值

關係數據庫:

RDBMS

MySQL:MySQL, MariaDB, Percona Server

PostgreSQL: 簡稱爲pgsql, EnterpriseDB

Oracle:

MSSQL:

DB2:

`事務transaction:多個操作被當作一個整體對待

ACID

A:原子性

C:一致性

I:隔離性

D:持久性

實體—聯繫模型ER

實體Entity

客觀存在並可以相互區分的客觀事物或抽象事件稱爲實體

ER圖中用矩形框表示實體,把實體名寫在框內

屬性:

實體所具有的特性或性質

聯繫

聯繫是數據之間的關聯集合,是客觀存在的應用語義鏈

實體內部的聯繫:指組成實體的各屬性之間的聯繫。如職工實體中,職工號和部門經理號之間有一種關聯關係

實體之間的聯繫:指不同實體之間聯繫。例學生選課實體和學生基本信息實體之間

實體之間的聯繫用菱形框表示

聯繫類型:

聯繫的類型:
一對一聯繫(1:1

一對多聯繫(1:n

多對多聯繫(m:n

數據三要素:

數據結構:

包括兩類,一類是與數據類型、內容、性質有關的對象,比如關係模型中的域、屬性和關係等;另一類是與數據之間聯繫有關的對象,它從數據組織層表達數據記錄與字段的結構

數據的操作:

數據提取:在數據集合中提取感興趣的內容。(SELECT

數據更新:變更數據庫中的數據。(INSERT, DELETE, UPDATE

數據的約束條件:是一組完整性規則的集合

實體(行)完整性Entity integrity

域(列)完整性Domain Integrity

參考完整性Referential Integrity

簡易數據規劃流程:
第一階段:收集數據,得到字段

收集必要且完整的數據項

轉換成數據表的字段

第二階段:把字段分類,歸入表,建立表的關聯

關聯:表和表間的關係

分割數據表並建立關聯的優點

節省空間

減少輸入錯誤

方便數據修改

第三階段:

規範化數據庫

數據庫的正規化分析:

RDMBS設計範式基礎概念:

設計關係數據庫時,遵從不同的規範要求,設計出合理的關係型數據庫,這些不同的規範要求被稱爲不同的範式,各種範式呈遞次規範,越高的範式數據庫冗餘越小

目前關係數據庫有六種範式,一般來說,數據庫只需滿足第三範式(3NF)即可

範式:

1NF:無重複的列,第一列都是不可分割的基本數據項,同一列中不能有多個值,即實體中的某個屬性不能有多個值或者不能有重複的屬性。除去同類型的字段,就是無重複的列

說明:第一範式(1NF)是對關係模式的基本要求,不滿足第一範式(1NF)的數據庫就不是關係數據庫

2NF:屬性完全依賴於主鍵,第二範式必須先滿足第一範式,要求表中的每個行必須可以被唯一地區分。通常爲表加上一個列,以存儲各個實例的唯一標識PK,非PK的字段需要與整個PK有直接相關性

3NF:屬性不依賴於其它非主屬性,滿足第三範式必須先滿足第二範式。第三範式要求一個數據庫表中不包含已在其它表中已包含的非主關鍵字信息,非PK的字段間不能有從屬關係

SQL概念:

SQLStructure Query Language

結構化查詢語言

SQL解釋器:

數據存儲協議:應用層協議,C/S

Sserver,監聽於套接字,接收並處理客戶端的應用請求

Cclient

程序接口

CLI

GUI

應用編程接口

ODBC: Open Database Connectivity

JDBC: Java Data Base Connectivity

約束:

約束:constraint,表中的數據要遵守的限制

主鍵:一個或多個字段的組合,填入的數據必須能在本表中唯一標識本行;必須提供數據,即不能爲空(NOT NULL),一個表只能有一個

惟一鍵:一個或多個字段的組合,填入的數據必須能在本表中唯一標識本行;允許爲NULL,一個表可以存在多個

外鍵:一個表中的某字段可填入的數據取決於另一個表的主鍵或唯一鍵已有的數據

檢查:字段值在一定範圍內

基本概念:

索引:將表中的一個或多個字段中的數據複製一份另存,並且此些需要按特定次序排序存儲

關係運算:

選擇:挑選出符合條件的行

投影:挑選出需要的字段

連接:表間字段的關聯

數據模型:

數據抽象:

物理層:決定數據的存儲格式,即RDBMS在磁盤上如何組織文件

邏輯層:描述存儲什麼數據,以及數據間存在什麼樣的關係

視圖層:描述DB中的部分數據

關係模型的分類:

關係模型

基於對象的關係模型

半結構化的關係模型:XML數據

MariaDB的特性:

MariaDB的特性:

單進程,多線程

插件式存儲引擎:存儲管理器有多種實現版本,功能和特性可能均略有差別;用戶可根據需要靈活選擇

存儲引擎也稱之爲“表類型”

(1)更多的存儲的存儲引擎

 MyISAM ==> Aria

 InnoDB ==> XtraDB

 Mysql5.5.8開始innoDB引擎是MYSQL默認引擎

 InnoDB對比MyISAM的最大特點就是InnoDB支持事務

(2)諸多擴展和新特性

(3)提供了較多測試組件

(4)開源

 


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