1.什么是數(shù)據(jù)庫?
簡單的說,數(shù)據(jù)庫(英文Database)就是一個(gè)存放數(shù)據(jù)的倉庫,這個(gè)倉庫是按照一定的數(shù)據(jù)結(jié)果(數(shù)據(jù)結(jié)構(gòu)是指數(shù)據(jù)的組織形式或數(shù)據(jù)之間的聯(lián)系)來組織、存儲(chǔ)的、我們可以通過數(shù)據(jù)庫提供的多種方法來管理數(shù)據(jù)庫里的數(shù)據(jù)更簡單的形象理解,數(shù)據(jù)庫和我們生活中存放雜物的倉庫性質(zhì)一樣,區(qū)別只是存放的東西不同。
2.MySQL,Mssql,Oracle三種數(shù)據(jù)庫性能優(yōu)缺點(diǎn):
①M(fèi)ySQL優(yōu)點(diǎn)
MySql是一個(gè)快速、多線程、多用戶的SQL數(shù)據(jù)庫服務(wù)器。幾乎是免費(fèi)的,支持正規(guī)的SQL查詢語言和采用多種數(shù)據(jù)類型,能對(duì)數(shù)據(jù)進(jìn)行各種詳細(xì)的查詢等。
MySql的核心程序采用完全的多線程編程。線程是輕量級(jí)的進(jìn)程,它可以靈活地為用戶提供服務(wù),而不過多的系統(tǒng)資源。用多線程和C語言實(shí)現(xiàn)的MySql能很容易充分利用CPU。
MySql可運(yùn)行在不同的操作系統(tǒng)下。簡單地說,MySql可以支持windows95/98/NT/2000以及UNIX、linux和SUN OS等多種操作系統(tǒng)平臺(tái)。這意味著在一個(gè)操作系統(tǒng)中實(shí)現(xiàn)的應(yīng)用可以很方便地移植到其他的操作系統(tǒng)下。
MySql有一個(gè)非常靈活而且安全的權(quán)限和口令系統(tǒng)。當(dāng)客戶與MySql服務(wù)器連接時(shí),他們之間所有的口令傳送被加密,而且MySql支持主機(jī)認(rèn)證。
MySql支持ODBC for Windows。MySql支持所有的ODBC 2.5函數(shù)和其他許多函數(shù),這樣就可以用Access連接MySql服務(wù)器,從而使得MySql的應(yīng)用被大大擴(kuò)展。
MySql支持大型的數(shù)據(jù)庫。雖然對(duì)于用php編寫的網(wǎng)頁來說只要能夠存放上百條以上的記錄數(shù)據(jù)就足夠了,但MySql可以方便地支持上千萬條記錄的數(shù)據(jù)庫。作為一個(gè)開放源代碼的數(shù)據(jù)庫,MySql可以針對(duì)不同的應(yīng)用進(jìn)行相應(yīng)的修改。
MySql擁有一個(gè)非常快速而且穩(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以持續(xù)使用面不必?fù)?dān)心其穩(wěn)定性。事實(shí)上,MySql的穩(wěn)定性足以應(yīng)付一個(gè)超大規(guī)模的數(shù)據(jù)庫。
強(qiáng)大的查詢功能。MySql支持查詢的SELECT和WHERE語句的全部運(yùn)算符和函數(shù),并且可以在同一查詢中混用來自不同數(shù)據(jù)庫的表,從而使得查詢變得快捷和方便。
PHP為MySql提供了強(qiáng)力支持,PHP中提供了一整套的MySql函數(shù),對(duì)MySql進(jìn)行了全方位的支持。
缺點(diǎn)
比較的難學(xué);
MySQL不完全支持陌生的關(guān)鍵詞;
MySQL也缺乏一些存儲(chǔ)程序的功能;
使用缺省的ip端口,但是有時(shí)候這些ip也會(huì)被一些黑客闖入;
使用myisam配置,如果你不慎損壞數(shù)據(jù)庫,結(jié)果可能會(huì)導(dǎo)致所有的數(shù)據(jù)丟失;
②MsSql優(yōu)點(diǎn)
上手容易
大多數(shù)的中小企業(yè)日常的數(shù)據(jù)應(yīng)用是建立在Windows平臺(tái)上的。由于SQL Server與Windows界面風(fēng)格完全一致,具有字符界面和圖形界面,且有許多"向?qū)?Wizard)"幫助,因此易于安裝和學(xué)習(xí),有關(guān)SQL Server的資料、培訓(xùn)隨處可得,并且目前國內(nèi)具有MCDBA認(rèn)證的工程師不在少數(shù)。
從另一個(gè)角度來講,學(xué)習(xí)SQL Server是掌握其他平臺(tái)及大型數(shù)據(jù),如Oracle, Sybase,DB/2的基礎(chǔ)。因?yàn)檫@些大型數(shù)據(jù)庫對(duì)于設(shè)備、平臺(tái)、人員知識(shí)的要求往往較高。但有了SQL Server的基礎(chǔ),再去學(xué)習(xí)和使用它們就容易多了。
兼容性良好
由于今天Windows操作系統(tǒng)占領(lǐng)著主導(dǎo)地的位,選擇SQL Server一定會(huì)在兼容性方面取得一些優(yōu)勢(shì)。另外,SQL Server 2000 除了具有擴(kuò)展性,可靠性以外,還具有可以迅速開發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存貯 XML 數(shù)據(jù),可以將搜索結(jié)果以 XML格式輸出等特點(diǎn),有利于構(gòu)建了異構(gòu)系統(tǒng)的互操作性,奠定了面向互聯(lián)網(wǎng)的企業(yè)應(yīng)用和服務(wù)的基石。這些特點(diǎn)在.NET 戰(zhàn)略中發(fā)揮著重要的作用。
2000相對(duì)于7.0的優(yōu)越性
Microsoft SQL Server 2000是在SQL Server 7.0的基礎(chǔ)上對(duì)性能、可靠性、質(zhì)量以及易用性進(jìn)行了擴(kuò)展。SQL Server 2000中包含許多新特性,這些特性使其成為針對(duì)電子商務(wù)、數(shù)據(jù)倉庫和在線商務(wù)解決方案的卓越的數(shù)據(jù)庫平臺(tái)。其增強(qiáng)的特性包括對(duì)豐富的擴(kuò)展標(biāo)記語言(XML)的支持、綜合分析服務(wù)以及便捷的數(shù)據(jù)庫管理。
電子商務(wù)
在使用由Microsoft SQL Server 2000關(guān)系數(shù)據(jù)庫引擎的情況下,XML數(shù)據(jù)可在關(guān)系表中進(jìn)行存儲(chǔ),而查詢則能以XML格式將有關(guān)結(jié)果返回。此外,XML支持還簡化了后端系統(tǒng)集成,并實(shí)現(xiàn)了跨防火墻的無縫數(shù)據(jù)傳輸。你還可以使用Hypertext Transfer Protocol(超文本傳輸協(xié)議,HTTP)來訪問SQL Server 2000,以實(shí)現(xiàn)面向SQL Server 2000數(shù)據(jù)庫的安全Web連接和無須額外編程的聯(lián)機(jī)分析處理(OLAP)多維數(shù)據(jù)集。
數(shù)據(jù)倉庫
Microsoft SQL Server 2000非常明顯的改進(jìn)就是增加了OLAP(聯(lián)機(jī)分析處理)功能,這可以讓很多中小企業(yè)用戶也可以使用數(shù)據(jù)倉庫的一些特性進(jìn)行分析。OLAP可以通過多維存儲(chǔ)技術(shù)對(duì)大型、復(fù)雜數(shù)據(jù)集執(zhí)行快速、高級(jí)的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢(shì),它允許組織或機(jī)構(gòu)最大限度的從數(shù)據(jù)中獲取價(jià)值。通過對(duì)現(xiàn)有數(shù)據(jù)進(jìn)行有效分析,這一功能可以對(duì)未來的趨勢(shì)進(jìn)行預(yù)測。
增強(qiáng)的在線商務(wù)
Microsoft SQL Server 2000簡化了管理、優(yōu)化工作,并且增強(qiáng)了迅速、成功的部署在線商務(wù)應(yīng)用程序所需的可靠性和伸縮性。其中,用以提高可靠性的特性包括日志傳送、在線備份和故障切換群集。在伸縮性方面的改進(jìn)包括對(duì)多達(dá)32顆CPU和64 GB RAM的支持。通過自動(dòng)優(yōu)化和改進(jìn)后的管理特性--諸如數(shù)據(jù)文件尺寸的自動(dòng)管理、基于向?qū)У臄?shù)據(jù)庫拷貝、自動(dòng)內(nèi)存管理和簡化的故障切換群集安裝與管理,在線商務(wù)應(yīng)用程序能夠被迅速部署并有效管理。
利于構(gòu)筑"敏捷性商務(wù)"
所謂"敏捷性商務(wù)" 就是能夠打破內(nèi)部和外部的商業(yè)界限,對(duì)迅速改變的環(huán)境做出快速反應(yīng)。。微軟已經(jīng)與關(guān)鍵的合作伙伴建立起了戰(zhàn)略關(guān)系,創(chuàng)造出了能夠與許多供應(yīng)商的產(chǎn)品實(shí)現(xiàn)整合的解決方案,因而企業(yè)用戶并不需要做出"要么完全接受,要么全部不要"的承諾。在部署解決方案的過程中,企業(yè)用戶不一定要拆除原有的設(shè)備從頭。敏捷商務(wù)讓企業(yè)用戶能夠充分利用現(xiàn)有的系統(tǒng),自主決定所需的硬件和軟件解決方案以及由誰來提供,伸縮自如、游刃有余 。
缺點(diǎn)
只能在windows 上運(yùn)行,沒有絲毫的開放性,操作系統(tǒng)的系統(tǒng)的穩(wěn)定對(duì)數(shù)據(jù)庫是十分重要的。Windows9X系列產(chǎn)品是偏重于桌面應(yīng)用,NT server只適合中小型企業(yè)。而且windows平臺(tái)的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經(jīng)考驗(yàn),尤其是在處理大數(shù)據(jù)量的關(guān)鍵業(yè)務(wù)時(shí);
并行實(shí)施和共存模型并不成熟。很難處理日益增多的用戶數(shù)和數(shù)據(jù)卷。伸縮性有限;
安全性方面,沒有獲得任何安全證書;
客戶端支持及應(yīng)用模式 ,是C/S結(jié)構(gòu),只支持windows客戶,可以用ADO, DAO,OLEDB,
ODBC連接;
不是免費(fèi)的;
數(shù)據(jù)不容易恢復(fù);
③Oracle
優(yōu)點(diǎn)
能在所有主流平臺(tái)上運(yùn)行(包括 windows)。完全支持所有的工業(yè)標(biāo)準(zhǔn)。采用完全開放策略。可以使客戶選擇最適合的解決方案。對(duì)開發(fā)商全力支持。
平行服務(wù)器通過使一組結(jié)點(diǎn)共享同一簇中的工作來擴(kuò)展windownt的能力,提供高可用性和高伸縮性的簇的解決方案。
如果windowsNT不能滿足需要, 用戶可以把數(shù)據(jù)庫移到UNIX中。
安全性方面,性能最高。
客戶端支持及應(yīng)用模式 ,多層次網(wǎng)絡(luò)計(jì)算,支持多種工業(yè)標(biāo)準(zhǔn),可以用ODBC,JDBC,OCI等網(wǎng)絡(luò)客戶連接式要求,可根據(jù)實(shí)際系統(tǒng)需求構(gòu)造數(shù)據(jù)庫。
采用標(biāo)準(zhǔn)的SQL結(jié)構(gòu)化查詢語言。
具有豐富的開發(fā)工具,覆蓋開發(fā)周期的各階段。
支持大型數(shù)據(jù)庫,數(shù)據(jù)類型支持?jǐn)?shù)字、字符、大至2GB的二進(jìn)制數(shù)據(jù),為數(shù)據(jù)庫的面向?qū)ο蟠鎯?chǔ)提供數(shù)據(jù)支持。
具有第四代語言的開發(fā)工具(SQL*FORMS、SQL*REPORTS、SQL*MENU等)。
具有字符界面和圖形界面,易于開發(fā)。
通過SQL*DBA控制用戶權(quán)限,提供數(shù)據(jù)保護(hù)功能,監(jiān)控?cái)?shù)據(jù)庫的運(yùn)行狀態(tài),調(diào)整數(shù)據(jù)緩沖區(qū)的大小。
分布優(yōu)化查詢功能。
具有數(shù)據(jù)透明、網(wǎng)絡(luò)透明,支持異種網(wǎng)絡(luò)、異構(gòu)數(shù)據(jù)庫系統(tǒng)。并行處理采用動(dòng)態(tài)數(shù)據(jù)分片技術(shù)。
支持客戶機(jī)/服務(wù)器體系結(jié)構(gòu)及混合的體系結(jié)構(gòu)(集中式、分布式、客戶機(jī)/服務(wù)器)。
實(shí)現(xiàn)了兩階段提交、多線索查詢手段。
數(shù)據(jù)安全保護(hù)措施:沒有讀鎖,采取快照SNAP方式完全消除了分布讀寫沖突。自動(dòng)檢測死鎖和沖突并解決。
數(shù)據(jù)安全級(jí)別為C2級(jí)(最高級(jí))。
數(shù)據(jù)庫內(nèi)模支持多字節(jié)碼制,支持多種語言文字編碼。
具有面向制造系統(tǒng)的管理信息系統(tǒng)和財(cái)務(wù)系統(tǒng)應(yīng)用系統(tǒng)。
WORKGROUP/2000具有ORACLE7WORKGROUP服務(wù)器,POWER OBJECTS(圖形開發(fā)環(huán)境,支持OS/2、UNIX、WINDOWS/NT平臺(tái)。
在中國的銷售份額占50%以上。
缺點(diǎn)
管理維護(hù)麻煩一些;
數(shù)據(jù)庫崩潰后回復(fù)很麻煩,因?yàn)樗押芏鄸|西放在內(nèi)存里;
數(shù)據(jù)庫連接要慢些,最好用連接池;
大對(duì)象不好用,vchar2字段太短,不夠用;
管理員的工作煩,且經(jīng)驗(yàn)非常重要;
對(duì)硬件的要求很高;