日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MYSQL (关系型数据库管理系统)的基础知识详解

發(fā)布時(shí)間:2024/3/13 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MYSQL (关系型数据库管理系统)的基础知识详解 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、什么是數(shù)據(jù)庫?

數(shù)據(jù)庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數(shù)據(jù)進(jìn)行新增、查詢、更新、刪除等操作
所謂“數(shù)據(jù)庫”是以一定方式儲存在一起、能與多個(gè)用戶共享、具有盡可能小的冗余度、與應(yīng)用程序彼此獨(dú)立的數(shù)據(jù)集合

二、什么是數(shù)據(jù)庫管理系統(tǒng)?

數(shù)據(jù)庫管理系統(tǒng)(英語:Database Management System,簡稱DBMS)是為管理數(shù)據(jù)庫而設(shè)計(jì)的電腦軟件系統(tǒng)

一般具有存儲、截取、安全保障、備份等基礎(chǔ)功能。
數(shù)據(jù)庫管理系統(tǒng)可以依據(jù)它所支持的數(shù)據(jù)庫模型來作分類,例如關(guān)系式、XML;
或依據(jù)所支持的計(jì)算機(jī)類型來作分類,例如服務(wù)器群集、移動電話;
或依據(jù)所用查詢語言來作分類,例如SQL、XQuery;
或依據(jù)性能沖量重點(diǎn)來作分類,例如最大規(guī)模、最高運(yùn)行速度;
亦或其他的分類方式。不論使用哪種分類方式,一些DBMS能夠跨類別,例如,同時(shí)支持多種查詢語言。

三、數(shù)據(jù)庫的分類

(1)關(guān)系數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫,存儲的格式可以直觀地反映實(shí)體間的關(guān)系。關(guān)系型數(shù)據(jù)庫和常見的表格比較相似,關(guān)系型數(shù)據(jù)庫中表與表之間是有很多復(fù)雜的關(guān)聯(lián)關(guān)系的。 常見的關(guān)系型數(shù)據(jù)庫有Mysql,SqlServer等。在輕量或者小型的應(yīng)用中,使用不同的關(guān)系型數(shù)據(jù)庫對系統(tǒng)的性能影響不大,但是在構(gòu)建大型應(yīng)用時(shí),則需要根據(jù)應(yīng)用的業(yè)務(wù)需求和性能需求,選擇合適的關(guān)系型數(shù)據(jù)庫。
標(biāo)準(zhǔn)SQL語句
雖然關(guān)系型數(shù)據(jù)庫有很多,但是大多數(shù)都遵循SQL(結(jié)構(gòu)化查詢語言,Structured Query Language)標(biāo)準(zhǔn)。 常見的操作有查詢,新增,更新,刪除,求和,排序等。
(2)非關(guān)系型數(shù)據(jù)庫(NoSQL)
隨著近些年技術(shù)方向的不斷拓展,大量的NoSql數(shù)據(jù)庫如MongoDB、Redis、Memcache出于簡化數(shù)據(jù)庫結(jié)構(gòu)、避免冗余、影響性能的表連接、摒棄復(fù)雜分布式的目的被設(shè)計(jì)。 [5]
指的是分布式的、非關(guān)系型的、不保證遵循ACID原則的數(shù)據(jù)存儲系統(tǒng)。NoSQL數(shù)據(jù)庫技術(shù)與CAP理論、一致性哈希算法有密切關(guān)系。所謂CAP理論,簡單來說就是一個(gè)分布式系統(tǒng)不可能滿足可用性、一致性與分區(qū)容錯(cuò)性這三個(gè)要求,一次性滿足兩種要求是該系統(tǒng)的上限。而一致性哈希算則指的是NoSQL數(shù)據(jù)庫在應(yīng)用過程中,為滿足工作需求而在通常情況下產(chǎn)生的一種數(shù)據(jù)算法,該算法能有效解決工作方面的諸多問題但也存在弊端,即工作完成質(zhì)量會隨著節(jié)點(diǎn)的變化而產(chǎn)生波動,當(dāng)節(jié)點(diǎn)過多時(shí),相關(guān)工作結(jié)果就無法那么準(zhǔn)確。這一問題使整個(gè)系統(tǒng)的工作效率受到影響,導(dǎo)致整個(gè)數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)亂碼與出錯(cuò)率大大提高,甚至?xí)霈F(xiàn)數(shù)據(jù)節(jié)點(diǎn)的內(nèi)容遷移,產(chǎn)生錯(cuò)誤的代碼信息。但盡管如此,NoSQL數(shù)據(jù)庫技術(shù)還是具有非常明顯的應(yīng)用優(yōu)勢,如數(shù)據(jù)庫結(jié)構(gòu)相對簡單,在大數(shù)據(jù)量下的讀寫性能好;能滿足隨時(shí)存儲自定義數(shù)據(jù)格式需求,非常適用于大數(shù)據(jù)處理工作。 [6]
NoSQL數(shù)據(jù)庫適合追求速度和可擴(kuò)展性、業(yè)務(wù)多變的應(yīng)用場景。 [5] 對于非結(jié)構(gòu)化數(shù)據(jù)的處理更合適,如文章、評論,這些數(shù)據(jù)如全文搜索、機(jī)器學(xué)習(xí)通常只用于模糊處理,并不需要像結(jié)構(gòu)化數(shù)據(jù)一樣,進(jìn)行精確查詢,而且這類數(shù)據(jù)的數(shù)據(jù)規(guī)模往往是海量的,數(shù)據(jù)規(guī)模的增長往往也是不可能預(yù)期的,而NoSQL數(shù)據(jù)庫的擴(kuò)展能力幾乎也是無限的,所以NoSQL數(shù)據(jù)庫可以很好的滿足這一類數(shù)據(jù)的存儲。NoSQL數(shù)據(jù)庫利用key-value可以大量的獲取大量的非結(jié)構(gòu)化數(shù)據(jù),并且數(shù)據(jù)的獲取效率很高,但用它查詢結(jié)構(gòu)化數(shù)據(jù)效果就比較差。
目前NoSQL數(shù)據(jù)庫仍然沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn),它現(xiàn)在有四種大的分類:
(1)鍵值對存儲(key-value):代表軟件Redis,它的優(yōu)點(diǎn)能夠進(jìn)行數(shù)據(jù)的快速查詢,而缺點(diǎn)是需要存儲數(shù)據(jù)之間的關(guān)系。
(2)列存儲:代表軟件Hbase,它的優(yōu)點(diǎn)是對數(shù)據(jù)能快速查詢,數(shù)據(jù)存儲的擴(kuò)展性強(qiáng)。而缺點(diǎn)是數(shù)據(jù)庫的功能有局限性。
(3)文檔數(shù)據(jù)庫存儲:代表軟件MongoDB,它的優(yōu)點(diǎn)是對數(shù)據(jù)結(jié)構(gòu)要求不特別的嚴(yán)格。而缺點(diǎn)是查詢性的性能不好,同時(shí)缺少一種統(tǒng)一查詢語言。
(4)圖形數(shù)據(jù)庫存儲:代表軟件InfoGrid,它的優(yōu)點(diǎn)可以方便的利用圖結(jié)構(gòu)相關(guān)算法進(jìn)行計(jì)算。而缺點(diǎn)是要想得到結(jié)果必須進(jìn)行整個(gè)圖的計(jì)算,而且遇到不適合的數(shù)據(jù)模型時(shí),圖形數(shù)據(jù)庫很難使用。

四、數(shù)據(jù)庫模型

對象模型
層次模型(輕量級數(shù)據(jù)訪問協(xié)議)
網(wǎng)狀模型(大型數(shù)據(jù)儲存)
關(guān)系模型
面向?qū)ο竽P?br /> 半結(jié)構(gòu)化模型
平面模型(表格模型,一般在形式上是一個(gè)二維數(shù)組。如表格模型數(shù)據(jù)Excel)

五、數(shù)據(jù)庫架構(gòu)

數(shù)據(jù)庫的架構(gòu)可以大致區(qū)分為三個(gè)概括層次:內(nèi)層、概念層和外層。

內(nèi)層:最接近實(shí)際存儲體,亦即有關(guān)數(shù)據(jù)的實(shí)際存儲方式。 外層:最接近用戶,即有關(guān)個(gè)別用戶觀看數(shù)據(jù)的方式。 概念層:介于兩者之間的間接層。

六、數(shù)據(jù)庫索引

數(shù)據(jù)索引的觀念由來已久,像是一本書前面幾頁都有目錄,目錄也算是索引的一種,只是它的分類較廣,例如車牌、身份證字號、條碼等,都是一個(gè)索引的號碼,當(dāng)我們看到號碼時(shí),可以從號碼中看出其中的端倪,若是要找的人、車或物品,也只要提供相關(guān)的號碼,即可迅速查到正確的人事物。另外,索引跟字段有著相應(yīng)的關(guān)系,索引即是由字段而來,其中字段有所謂的關(guān)鍵字段(Key Field),該字段具有唯一性,即其值不可重復(fù),且不可為"空值(null)"。例如:在合并數(shù)據(jù)時(shí),索引便是扮演欲附加字段數(shù)據(jù)之指向性用途的角色。故此索引為不可重復(fù)性且不可為空。 數(shù)據(jù)庫操作:事務(wù)

七、數(shù)據(jù)庫事務(wù)

事務(wù)(transaction)是用戶定義的一個(gè)數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個(gè)不可分割的工作單位。
事務(wù)的ACID特性:

原子性(atomicity)
一致性(consistency)
隔離性(isolation)
持續(xù)性(durability)

事務(wù)的并發(fā)性是指多個(gè)事務(wù)的并行操作輪流交叉運(yùn)行,事務(wù)的并發(fā)可能會訪問和存儲不正確的數(shù)據(jù),破壞交易的隔離性和數(shù)據(jù)庫的一致性。 網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 網(wǎng)狀模型 滿足下面兩個(gè)條件的基本層次聯(lián)系的集合為網(wǎng)狀模型。 允許一個(gè)以上的結(jié)點(diǎn)無雙親;一個(gè)結(jié)點(diǎn)可以有多于一個(gè)的雙親

八、什么是mysql?

MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品
MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一
在 WEB 應(yīng)用方面,MySQL是最好的 RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件之一
MySQL是一種關(guān)系數(shù)據(jù)庫管理系統(tǒng),關(guān)系數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中
而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性
MySQL所使用的 SQL 語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言
MySQL 軟件采用了雙授權(quán)政策,分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn)
一般中小型網(wǎng)站的開發(fā)都選擇 MySQL 作為網(wǎng)站數(shù)據(jù)庫
由于其社區(qū)版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發(fā)環(huán)境

總結(jié)

以上是生活随笔為你收集整理的MYSQL (关系型数据库管理系统)的基础知识详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。