## 數據庫簡介
* 人類在進化的過程中,創造了數字、文字、符號等來進行數據的記錄,但是承受著認知能力和創造能力的提升,數據量越來越大,對于數據的記錄和準確查找,成為了一個重大難題
* 計算機誕生后,數據開始在計算機中存儲并計算,并設計出了數據庫系統
* 數據庫系統解決的問題:持久化存儲,優化讀寫,保證數據的有效性
* 當前使用的數據庫,主要分為兩類
* 文檔型,如sqlite,就是一個文件,通過對文件的復制完成數據庫的復制
* 服務型,如mysql、postgre,數據存儲在一個物理文件中,但是需要使用終端以tcp/ip協議連接,進行數據庫的讀寫操作
## E-R模型
* 當前物理的數據庫都是按照E-R模型進行設計的
* E表示entry,實體
* R表示relationship,關系
* 一個實體轉換為數據庫中的一個表
* 關系描述兩個實體之間的對應規則,包括
* 一對一
* 一對多
* 多對多
* 關系轉換為數據庫表中的一個列
* 在關系型數據庫中一行就是一個對象
## 三范式
* 經過研究和對使用中問題的總結,對于設計數據庫提出了一些規范,這些規范被稱為范式
* 第一范式(1NF):列不可拆分
* 第二范式(2NF):唯一標識
* 第三范式(3NF):引用主鍵
* 說明:后一個范式,都是在前一個范式的基礎上建立的
- mysql
- 1.創建庫和表
- 1.1.數據庫簡介
- 1.2.安裝管理
- 1.3.數據完整性
- 1.4.命令腳本操作
- 2.查詢
- 2.1.條件
- 2.2.聚合
- 2.3.分組
- 2.4.排序
- 2.5.分頁
- 3.高級
- 3.1.關系
- 3.2.連接
- 3.3.自關聯
- 3.4.子查詢
- 3.5.內置函數
- 3.6.視圖
- 3.7.事務
- 4.與python交互
- 4.1.交互類型
- 4.2.增改刪
- 4.3.查詢
- 4.4.封裝
- 4.5.用戶登錄
- Nosql簡介
- mongodb
- 1.基本操作
- 1.1.環境安裝
- 1.2.數據庫操作
- 1.3.集合操作
- 1.4.數據類型
- 1.5.數據操作
- 1.6.數據查詢
- 1.6.1.Limit與Skip
- 1.6.2.投影
- 1.6.3.排序
- 1.6.4.統計個數
- 1.6.5.消除重復
- 2.高級操作
- 2.1.聚合aggregate
- 2.1.1.$group
- 2.1.2.$match
- 2.1.3.$project
- 2.1.4.$sort
- 2.1.5.$limit,$skip
- 2.1.6.$unwind
- 2.2.安全
- 2.3.復制(副本集)
- 2.4.備份和恢復
- 2.5.與python交互
- redis
- 1.基本配置
- 2.數據操作
- 2.1.string
- 2.2.鍵命令
- 2.3.hash
- 2.4.list
- 2.5.set
- 2.6.zset
- 4.高級
- 4.1.發布訂閱
- 4.2.主從配置
- 5.與python交互
- 6.login登陸完善