简述数据库系统
一、數(shù)據(jù)庫系統(tǒng)
數(shù)據(jù)庫系統(tǒng)是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序和數(shù)據(jù)庫管理員組成的存儲(chǔ)、管理、處理和維護(hù)數(shù)據(jù)的系統(tǒng)。
以上這句話是對(duì)數(shù)據(jù)庫系統(tǒng)非常嚴(yán)謹(jǐn)?shù)亩x。我這篇博客是想從自己的角度來重新認(rèn)識(shí)一下數(shù)據(jù)庫系統(tǒng)。在逐個(gè)剖析以上這些名詞的含義之前先考慮一個(gè)問題:我們?yōu)槭裁匆霐?shù)據(jù)庫系統(tǒng)?換句話說,引入數(shù)據(jù)庫系統(tǒng)可以幫助我們解決什么問題?
二、引入數(shù)據(jù)庫系統(tǒng)的必要性
數(shù)據(jù),也叫做信息資源,已經(jīng)成為各個(gè)組織最寶貴的無形財(cái)產(chǎn),因此各個(gè)組織機(jī)構(gòu)也都十分需要一個(gè)可以存儲(chǔ)和處理數(shù)據(jù)的技術(shù)。尤其是進(jìn)入互聯(lián)網(wǎng)時(shí)代以來,數(shù)據(jù)量大幅度的增長(zhǎng),用戶每天用各種終端訪問各種服務(wù)器里的數(shù)據(jù),那么數(shù)據(jù)的存儲(chǔ)和處理技術(shù)就顯得更為重要了。數(shù)據(jù)庫系統(tǒng)由此產(chǎn)生,數(shù)據(jù)庫系統(tǒng)就是存儲(chǔ)、管理、處理和維護(hù)數(shù)據(jù)的系統(tǒng)。介紹完這個(gè)后就接著聊一下數(shù)據(jù)庫系統(tǒng)的組成部分。
三、數(shù)據(jù)庫系統(tǒng)的組成部分
數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序、數(shù)據(jù)庫管理員四部分組成。
1.數(shù)據(jù)庫
顧名思義,數(shù)據(jù)庫就是存放數(shù)據(jù)的倉庫,只不過這個(gè)倉庫是在計(jì)算機(jī)的存儲(chǔ)設(shè)備上,類似于我們會(huì)將現(xiàn)實(shí)中的倉庫中的貨物按一定規(guī)律存放,數(shù)據(jù)也是按一定的格式存放在數(shù)據(jù)庫中的。
2.數(shù)據(jù)庫管理系統(tǒng)
我們有了數(shù)據(jù)庫這個(gè)倉庫來存放我們的數(shù)據(jù)了,那么,是不是就需要一個(gè)有效組織管理數(shù)據(jù)的工具?完成這個(gè)任務(wù)的就是數(shù)據(jù)庫管理系統(tǒng)。
3.應(yīng)用程序
用與數(shù)據(jù)庫接口的高級(jí)語言開發(fā)出的應(yīng)用程序。
4.數(shù)據(jù)庫管理員
人員也算是數(shù)據(jù)庫系統(tǒng)的一部分。數(shù)據(jù)庫管理員負(fù)責(zé)管理和控制數(shù)據(jù)庫系統(tǒng)。
?
到此,數(shù)據(jù)庫系統(tǒng)是個(gè)什么東西我們就理解了。接下來,我們聊一聊數(shù)據(jù)庫系統(tǒng)在計(jì)算機(jī)中處于什么位置。我們從底層往上層說,首先最底層的一定是硬件,接下來硬件上面有計(jì)算機(jī)的操作系統(tǒng),然后是數(shù)據(jù)庫管理系統(tǒng),接下來是應(yīng)用開發(fā)工具,最后是應(yīng)用程序。也就是:硬件->計(jì)算機(jī)操作系統(tǒng)->數(shù)據(jù)庫管理系統(tǒng)->應(yīng)用開發(fā)工具->應(yīng)用程序。
看到這里,我就會(huì)想起另一種數(shù)據(jù)集合的存儲(chǔ)管理系統(tǒng):文件系統(tǒng)。相信大家會(huì)有一個(gè)疑問產(chǎn)生:文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)之間有什么區(qū)別?這里我先暫不詳述,留待以后討論。現(xiàn)在先討論一下數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)。
?
四、數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)
1.數(shù)據(jù)結(jié)構(gòu)化
???
如圖,這里我創(chuàng)建了兩個(gè)表,一個(gè)表用于存儲(chǔ)學(xué)生的基本信息,另一個(gè)表用于存儲(chǔ)學(xué)生的詳細(xì)情況。有些學(xué)生的經(jīng)歷比較豐富,詳細(xì)情況的敘述也比較長(zhǎng),有些同學(xué)沒有詳細(xì)情況的敘述。表創(chuàng)建好之后,直接可以用insert into插入數(shù)據(jù)。然后使用select就可以查詢出我們需要的信息??雌饋肀容^簡(jiǎn)潔明了。
如若該系統(tǒng)比較復(fù)雜,也是可以創(chuàng)建這種表與表之間的關(guān)系。那么,什么是數(shù)據(jù)結(jié)構(gòu)化呢?
數(shù)據(jù)結(jié)構(gòu)化是指數(shù)據(jù)庫中的數(shù)據(jù)不再僅僅是面向應(yīng)用的,而是面向整個(gè)組織的。不僅數(shù)據(jù)的內(nèi)部具有結(jié)構(gòu),數(shù)據(jù)之間也具有聯(lián)系。數(shù)據(jù)庫整體是結(jié)構(gòu)化的。
2.數(shù)據(jù)的高共享性、低冗余性且易于擴(kuò)充
數(shù)據(jù)庫數(shù)據(jù)是面向組織的,所以它可以被多個(gè)用戶、多個(gè)應(yīng)用使用。
數(shù)據(jù)的共享可以減少冗余,節(jié)約存儲(chǔ)空間。
數(shù)據(jù)的共享不僅僅可以讓多個(gè)應(yīng)用同時(shí)使用數(shù)據(jù)庫,而且可以增加新的應(yīng)用。我們可以使用數(shù)據(jù)庫整體的各種子集用于不同的應(yīng)用系統(tǒng),當(dāng)需求改變,只需重新選取不同子集,或者加上一部分?jǐn)?shù)據(jù)便可滿足新的需求。
3.數(shù)據(jù)獨(dú)立性高
數(shù)據(jù)獨(dú)立性又分為物理獨(dú)立性與邏輯獨(dú)立性。這里不詳述。好處在于減少了應(yīng)用程序的維護(hù)與修改。
4.數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制
數(shù)據(jù)庫的共享會(huì)帶來數(shù)據(jù)的安全隱患,所以數(shù)據(jù)庫管理系統(tǒng)必須提供一些管理控制功能。
?
五、文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的本質(zhì)區(qū)別
分析完數(shù)據(jù)庫系統(tǒng)的特點(diǎn),想必文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)之間的區(qū)別就出來了。實(shí)際上,它們的本質(zhì)區(qū)別在于數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)有結(jié)構(gòu)化的特點(diǎn),而文件系統(tǒng)數(shù)據(jù)內(nèi)部是有結(jié)構(gòu)化的,但數(shù)據(jù)整體不具備這一特點(diǎn)。我們可以考慮一下上面的例子,如果用文件系統(tǒng)來做這樣的學(xué)生信息管理系統(tǒng)該如何做呢?顯然也是可以的,不過程序員的許多精力要放在不同文件中記錄之間的聯(lián)系,使用fopen、fread、fwrite、fseek、fclose等調(diào)用來操作,會(huì)特別麻煩。而用擁有數(shù)據(jù)結(jié)構(gòu)化特點(diǎn)的數(shù)據(jù)庫系統(tǒng)只需要一個(gè)語句就可以實(shí)現(xiàn)這些功能。
???
總結(jié)
- 上一篇: Symantec Endpoint Pr
- 下一篇: otg模拟器_全能模拟器 RetroAr