數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫。它的存儲(chǔ)空間很大,可以存放百萬條、千萬條、上億條數(shù)據(jù)。但是數(shù)據(jù)庫并不是隨意地將數(shù)據(jù)進(jìn)行存放,是有一定的規(guī)則的,否則查詢的效率會(huì)很低。當(dāng)今世界是一個(gè)充滿著數(shù)據(jù)的互聯(lián)網(wǎng)世界,充斥著大量的數(shù)據(jù)。即這個(gè)互聯(lián)網(wǎng)世界就是數(shù)據(jù)世界。數(shù)據(jù)的來源有很多,比如出行記錄、消費(fèi)記錄、瀏覽的網(wǎng)頁、發(fā)送的消息等等。除了文本類型的數(shù)據(jù),圖像、音樂、聲音都是數(shù)據(jù)。下面就有小編為您帶來數(shù)據(jù)庫基礎(chǔ)知識(shí)的相關(guān)介紹。
在數(shù)據(jù)庫的發(fā)展歷史上,數(shù)據(jù)庫先后經(jīng)歷了層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫等各個(gè)階段的發(fā)展,數(shù)據(jù)庫技術(shù)在各個(gè)方面的快速的發(fā)展。特別是關(guān)系型數(shù)據(jù)庫已經(jīng)成為目前數(shù)據(jù)庫產(chǎn)品中最重要的一員,80年代以來, 幾乎所有的數(shù)據(jù)庫廠商新出的數(shù)據(jù)庫產(chǎn)品都支持關(guān)系型數(shù)據(jù)庫,即使一些非關(guān)系數(shù)據(jù)庫產(chǎn)品也幾乎都有支持關(guān)系數(shù)據(jù)庫的接口。這主要是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫可以比較好的解決管理和存儲(chǔ)關(guān)系型數(shù)據(jù)的問題。
數(shù)據(jù)保存在內(nèi)存
優(yōu)點(diǎn):存取速度快
缺點(diǎn):數(shù)據(jù)不能永久保存
數(shù)據(jù)保存在文件
優(yōu)點(diǎn):數(shù)據(jù)永久保存
缺點(diǎn):1)速度比內(nèi)存操作慢,頻繁的IO操作。2)查詢數(shù)據(jù)不方便
數(shù)據(jù)保存在數(shù)據(jù)庫
1)數(shù)據(jù)永久保存
2)使用SQL語句,查詢方便效率高。
3)管理數(shù)據(jù)方便
數(shù)據(jù)庫基礎(chǔ)知識(shí)
結(jié)構(gòu)化查詢語言(Structured Query Language)簡(jiǎn)稱SQL,是一種數(shù)據(jù)庫查詢語言。
作用:用于存取數(shù)據(jù)、查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng)。
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)用軟件之一。在Java企業(yè)級(jí)開發(fā)中非常常用,因?yàn)?MySQL 是開源免費(fèi)的,并且方便擴(kuò)展。
第一范式:每個(gè)列都不可以再拆分。
第二范式:在第一范式的基礎(chǔ)上,非主鍵列完全依賴于主鍵,而不能是依賴于主鍵的一部分。
第三范式:在第二范式的基礎(chǔ)上,非主鍵列只依賴于主鍵,不依賴于其他非主鍵。
在設(shè)計(jì)數(shù)據(jù)庫結(jié)構(gòu)的時(shí)候,要盡量遵守三范式,如果不遵守,必須有足夠的理由。比如性能。事實(shí)上我們經(jīng)常會(huì)為了性能而妥協(xié)數(shù)據(jù)庫的設(shè)計(jì)。
MySQL服務(wù)器通過權(quán)限表來控制用戶對(duì)數(shù)據(jù)庫的訪問,權(quán)限表存放在mysql數(shù)據(jù)庫里,由mysql_install_db腳本初始化。這些權(quán)限表分別user,db,table_priv,columns_priv和host。下面分別介紹一下這些表的結(jié)構(gòu)和內(nèi)容:
user權(quán)限表:記錄允許連接到服務(wù)器的用戶帳號(hào)信息,里面的權(quán)限是全局級(jí)的。
db權(quán)限表:記錄各個(gè)帳號(hào)在各個(gè)數(shù)據(jù)庫上的操作權(quán)限。
table_priv權(quán)限表:記錄數(shù)據(jù)表級(jí)的操作權(quán)限。
columns_priv權(quán)限表:記錄數(shù)據(jù)列級(jí)的操作權(quán)限。
host權(quán)限表:配合db權(quán)限表對(duì)給定主機(jī)上數(shù)據(jù)庫級(jí)操作權(quán)限作更細(xì)致的控制。這個(gè)權(quán)限表不受GRANT和REVOKE語句的影響。
伴隨著云計(jì)算的發(fā)展和大數(shù)據(jù)時(shí)代的到來,關(guān)系型數(shù)據(jù)庫越來越難以滿足需求,這主要是因?yàn)樾枰獙?duì)越來越多的半關(guān)系型和非關(guān)系型數(shù)據(jù)進(jìn)行存儲(chǔ)管理,作為一種方式,分布式技術(shù)等新技術(shù)的出現(xiàn)也對(duì)數(shù)據(jù)庫技術(shù)提出了新的要求,因此出現(xiàn)了越來越多的非關(guān)系型數(shù)據(jù)庫,這一類型與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在設(shè)計(jì)和數(shù)據(jù)結(jié)構(gòu)上有很大不同,它們更加強(qiáng)調(diào)數(shù)據(jù)庫數(shù)據(jù)的高并發(fā)讀寫和大數(shù)據(jù)存儲(chǔ),這一類型通常稱為NoSQL數(shù)據(jù)庫。然而,傳統(tǒng)關(guān)系型數(shù)據(jù)庫在傳統(tǒng)領(lǐng)域中仍然具有很強(qiáng)的生命力。以上就是小編為您帶來的數(shù)據(jù)庫基礎(chǔ)知識(shí)相關(guān)介紹。
[免責(zé)聲明]
文章標(biāo)題: 數(shù)據(jù)庫基礎(chǔ)知識(shí)介紹
文章內(nèi)容為網(wǎng)站編輯整理發(fā)布,僅供學(xué)習(xí)與參考,不代表本網(wǎng)站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)溝通。發(fā)送郵件至36dianping@36kr.com,我們會(huì)在3個(gè)工作日內(nèi)處理。