MYSQL (关系型数据库管理系统)的基础知识详解
一、什么是數據庫?
數據庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數據進行新增、查詢、更新、刪除等操作
所謂“數據庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數據集合
二、什么是數據庫管理系統?
數據庫管理系統(英語:Database Management System,簡稱DBMS)是為管理數據庫而設計的電腦軟件系統
一般具有存儲、截取、安全保障、備份等基礎功能。
數據庫管理系統可以依據它所支持的數據庫模型來作分類,例如關系式、XML;
或依據所支持的計算機類型來作分類,例如服務器群集、移動電話;
或依據所用查詢語言來作分類,例如SQL、XQuery;
或依據性能沖量重點來作分類,例如最大規模、最高運行速度;
亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能夠跨類別,例如,同時支持多種查詢語言。
三、數據庫的分類
(1)關系數據庫
關系型數據庫,存儲的格式可以直觀地反映實體間的關系。關系型數據庫和常見的表格比較相似,關系型數據庫中表與表之間是有很多復雜的關聯關系的。 常見的關系型數據庫有Mysql,SqlServer等。在輕量或者小型的應用中,使用不同的關系型數據庫對系統的性能影響不大,但是在構建大型應用時,則需要根據應用的業務需求和性能需求,選擇合適的關系型數據庫。
標準SQL語句
雖然關系型數據庫有很多,但是大多數都遵循SQL(結構化查詢語言,Structured Query Language)標準。 常見的操作有查詢,新增,更新,刪除,求和,排序等。
(2)非關系型數據庫(NoSQL)
隨著近些年技術方向的不斷拓展,大量的NoSql數據庫如MongoDB、Redis、Memcache出于簡化數據庫結構、避免冗余、影響性能的表連接、摒棄復雜分布式的目的被設計。 [5]
指的是分布式的、非關系型的、不保證遵循ACID原則的數據存儲系統。NoSQL數據庫技術與CAP理論、一致性哈希算法有密切關系。所謂CAP理論,簡單來說就是一個分布式系統不可能滿足可用性、一致性與分區容錯性這三個要求,一次性滿足兩種要求是該系統的上限。而一致性哈希算則指的是NoSQL數據庫在應用過程中,為滿足工作需求而在通常情況下產生的一種數據算法,該算法能有效解決工作方面的諸多問題但也存在弊端,即工作完成質量會隨著節點的變化而產生波動,當節點過多時,相關工作結果就無法那么準確。這一問題使整個系統的工作效率受到影響,導致整個數據庫系統的數據亂碼與出錯率大大提高,甚至會出現數據節點的內容遷移,產生錯誤的代碼信息。但盡管如此,NoSQL數據庫技術還是具有非常明顯的應用優勢,如數據庫結構相對簡單,在大數據量下的讀寫性能好;能滿足隨時存儲自定義數據格式需求,非常適用于大數據處理工作。 [6]
NoSQL數據庫適合追求速度和可擴展性、業務多變的應用場景。 [5] 對于非結構化數據的處理更合適,如文章、評論,這些數據如全文搜索、機器學習通常只用于模糊處理,并不需要像結構化數據一樣,進行精確查詢,而且這類數據的數據規模往往是海量的,數據規模的增長往往也是不可能預期的,而NoSQL數據庫的擴展能力幾乎也是無限的,所以NoSQL數據庫可以很好的滿足這一類數據的存儲。NoSQL數據庫利用key-value可以大量的獲取大量的非結構化數據,并且數據的獲取效率很高,但用它查詢結構化數據效果就比較差。
目前NoSQL數據庫仍然沒有一個統一的標準,它現在有四種大的分類:
(1)鍵值對存儲(key-value):代表軟件Redis,它的優點能夠進行數據的快速查詢,而缺點是需要存儲數據之間的關系。
(2)列存儲:代表軟件Hbase,它的優點是對數據能快速查詢,數據存儲的擴展性強。而缺點是數據庫的功能有局限性。
(3)文檔數據庫存儲:代表軟件MongoDB,它的優點是對數據結構要求不特別的嚴格。而缺點是查詢性的性能不好,同時缺少一種統一查詢語言。
(4)圖形數據庫存儲:代表軟件InfoGrid,它的優點可以方便的利用圖結構相關算法進行計算。而缺點是要想得到結果必須進行整個圖的計算,而且遇到不適合的數據模型時,圖形數據庫很難使用。
四、數據庫模型
對象模型
層次模型(輕量級數據訪問協議)
網狀模型(大型數據儲存)
關系模型
面向對象模型
半結構化模型
平面模型(表格模型,一般在形式上是一個二維數組。如表格模型數據Excel)
五、數據庫架構
數據庫的架構可以大致區分為三個概括層次:內層、概念層和外層。
內層:最接近實際存儲體,亦即有關數據的實際存儲方式。 外層:最接近用戶,即有關個別用戶觀看數據的方式。 概念層:介于兩者之間的間接層。六、數據庫索引
數據索引的觀念由來已久,像是一本書前面幾頁都有目錄,目錄也算是索引的一種,只是它的分類較廣,例如車牌、身份證字號、條碼等,都是一個索引的號碼,當我們看到號碼時,可以從號碼中看出其中的端倪,若是要找的人、車或物品,也只要提供相關的號碼,即可迅速查到正確的人事物。另外,索引跟字段有著相應的關系,索引即是由字段而來,其中字段有所謂的關鍵字段(Key Field),該字段具有唯一性,即其值不可重復,且不可為"空值(null)"。例如:在合并數據時,索引便是扮演欲附加字段數據之指向性用途的角色。故此索引為不可重復性且不可為空。 數據庫操作:事務七、數據庫事務
事務(transaction)是用戶定義的一個數據庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位。
事務的ACID特性:
原子性(atomicity)
一致性(consistency)
隔離性(isolation)
持續性(durability)
八、什么是mysql?
MySQL是一個關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下產品
MySQL 是最流行的關系型數據庫管理系統之一
在 WEB 應用方面,MySQL是最好的 RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一
MySQL是一種關系數據庫管理系統,關系數據庫將數據保存在不同的表中
而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性
MySQL所使用的 SQL 語言是用于訪問數據庫的最常用標準化語言
MySQL 軟件采用了雙授權政策,分為社區版和商業版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點
一般中小型網站的開發都選擇 MySQL 作為網站數據庫
由于其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境
總結
以上是生活随笔為你收集整理的MYSQL (关系型数据库管理系统)的基础知识详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unified Functional T
- 下一篇: HTML 媒体(Media)