『壹』 幾大主流資料庫對比
oracle,安全性比較高,性能穩定,但是價格相對來說較其他要貴,一般用來做安全性比較高的企業資料庫,如銀行,電信系統等
ms-sql,中文操作界面,安全性不如oracle,是一個免費的資料庫,所以服務肯定是不如oracle的,ms-sql適合做廠礦企業的資料庫,初學者比較容易上手
db2是IBM的資料庫,沒太用過,也就知道這些了
『貳』 資料庫之間的區別
Oracle 適用於較大型系統,但上手比較困難,即便上手後也很難提高。需要有長期的實踐和摸索,但確實比較適合大系統。備份與恢復比較完善,但必需很有經驗才能做的比較好。數據量不超過1T,可以用它
SqlServer:個人認為MS平台下最好用的資料庫。界面簡單友好,操作方便,備份與恢復都比較容易學會。而且學會SqlServer後與SYBASE也比較接近的。
MYSQL以前學PHP用的,感覺比較簡單,無論是上手還是其本身的功能。
DB2我在AS/400上和MS平台都用過,感覺就是非常嚴謹,必須有非常規范的操作。如果數據量超過百G,建議用它。
SQL Server微軟的東西,用起來感覺還不錯,但是因為不能使用在UNIX上,所以企業,電信,政府都不是很願意用。如果不是做ERP最好不要用這個東西,否則產品可能會買不出去
『叄』 多種資料庫的比較
Orcale資料庫
美國Orcale公司研製的一種關系型資料庫管理系統,是一個協調伺服器和用於支持任務決定型應用程序的開放型RDBMS。它可以支持多種不同的硬體和操作系統平台,從台式機到大型和超級計算機,為各種硬體結構提供高度的可伸縮性,支持對稱多處理器、群集多處理器、大規模處理器等,並提供廣泛的國際語言支持。 Orcale是一個多用戶系統,能自動從批處理或在線環境的系統故障中恢復運行。系統提供了一個完整的軟體開發工具Developer2000,包括互動式應用程序生成器、報表列印軟體、字處理軟體以及集中式數據字典,用戶可以利用這些工具生成自己的應用程序。Orcale以二維表的形式表示數據,並提供了SQL(結構式查詢語言),可完成數據查詢、操作、定義和控制等基本資料庫管理功能。Orcale具有很好的可移植性,通過它的通信功能,微型計算機上的程序可以同小型乃至大型計算機上的Orcale,並且能相互傳遞數據。另外Orcale還具有與C語言的接電子表格、圖形處理等軟體。 Orcale屬於大型資料庫系統,主要適用於大、中小型應用系統,或作為客戶機/伺服器系統中伺服器端的資料庫系統。
DB2資料庫
IBM公司研製的一種關系型資料庫系統。DB2主要應用於大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境,應用於OS/2、Windows等平台下。 DB2提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模應用程序的執行能力,具有與平台無關的基本功能和SQL命令。DB2採用了數據分級技術,能夠使大型機數據很方便地下載到LAN資料庫伺服器,使得客戶機/伺服器用戶和基於LAN的應用程序可以訪問大型機數據,並使資料庫本地化及遠程連接透明化。 它以擁有一個非常完備的查詢優化器而著稱,其外部連接改善了查詢性能,並支持多任務並行查詢。 DB2具有很好的網路支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統尤為適用。
SQL Server資料庫
美國Microsoft公司推出的一種關系型資料庫系統。SQLServer是一個可擴展的、高性能的、為分布式客戶機/伺服器計算所設計的資料庫管理系統,實現了與WindowsNT的有機結合,提供了基於事務的企業級信息管理系統方案。
其主要特點如下:
(1)高性能設計,可充分利用WindowsNT的優勢。
(2)系統管理先進,支持Windows圖形化管理工具,支持本地和遠程的系統管理和配置。
(3)強壯的事務處理功能,採用各種方法保證數據的完整性。
(4)支持對稱多處理器結構、存儲過程、ODBC,並具有自主的SQL語言。 SQLServer以其內置的數據復制功能、強大的管理工具、與Internet的緊密集成和開放的系統結構為廣大的用戶、開發人員和系統集成商提供了一個出眾的資料庫平台。
Sybase資料庫
美國Sybase公司研製的一種關系型資料庫系統,是一種典型的UNIX或WindowsNT平台上客戶機/伺服器環境下的大型資料庫系統。 Sybase提供了一套應用程序編程介面和庫,可以與非Sybase數據源及伺服器集成,允許在多個資料庫之間復制數據,適於創建多層應用。系統具有完備的觸發器、存儲過程、規則以及完整性定義,支持優化查詢,具有較好的數據安全性。Sybase通常與SybaseSQLAnywhere用於客戶機/伺服器環境,前者作為伺服器資料庫,後者為客戶機資料庫,採用該公司研製的PowerBuilder為開發工具,在我國大中型系統中具有廣泛的應用。美國Sybase公司研製的一種關系型資料庫系統,是一種典型的UNIX或WindowsNT平台上客戶機/伺服器環境下的大型資料庫系統。 Sybase提供了一套應用程序編程介面和庫,可以與非Sybase數據源及伺服器集成,允許在多個資料庫之間復制數據,適於創建多層應用。系統具有完備的觸發器、存儲過程、規則以及完整性定義,支持優化查詢,具有較好的數據安全性。Sybase通常與SybaseSQLAnywhere用於客戶機/伺服器環境,前者作為伺服器資料庫,後者為客戶機資料庫,採用該公司研製的PowerBuilder為開發工具,在我國大中型系統中具有廣泛的應用。
MySql
短小精悍,象access一樣的文件型資料庫,但比access強百倍,是真正多用戶多任務的資料庫系統,從Linux上移植過來的,安全性非常好,不過大部分操作是在dos下進行,雖然也有第三方開發的圖形界面但並不好用。MySQL是跨多平台的資料庫管理軟體,可運行於LINUX、NT、UNIX等系統,可支持命令和圖形化管理,對於一般的資料庫足以應付了,佔用系統資源較少,速度較快,而且是開源的。
『肆』 如何進行資料庫對比
哦。最簡單的辦法是把資料庫(應該是表吧),變成文本,然後找個版本比較工具,比如Visual Strudio里帶的,或者是winmerge,將兩個數據表合並,合並完了後,再重新導進資料庫。這個方法最好。不需要編程。
如果你通過編程的方式做,那更簡單了。先一個臨時表,把另一個庫里的表存進來,然後用一個SELECT就搞定。
『伍』 幾種資料庫軟體的比較
四大主流資料庫比較
一、開放性
1. SQL Server
只能在windows上運行,沒有絲毫的開放性,操作系統的系統的穩定對資料庫是十分重要的。Windows9X系列產品是偏重於桌面應用,NT server只適合中小型企業。而且windows平台的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經考驗,尤其是在處理大資料庫。
2. Oracle
能在所有主流平台上運行(包括 windows)。完全支持所有的工業標准。採用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支持。
3. Sybase ASE
能在所有主流平台上運行(包括 windows)。 但由於早期Sybase與OS集成度不高,因此VERSION11.9.2以下版本需要較多OS和DB級補丁。在多平台的混合環境中,會有一定問題。
4. DB2
能在所有主流平台上運行(包括windows)。最適於海量數據。DB2在企業級的應用最為廣泛,在全球的500家最大的企業中,幾乎85%以上用DB2資料庫伺服器,而國內到97年約佔5%。
二、可伸縮性,並行性
1. SQL server
並行實施和共存模型並不成熟,很難處理日益增多的用戶數和數據卷,伸縮性有限。
2. Oracle
並行伺服器通過使一組結點共享同一簇中的工作來擴展windownt的能力,提供高可用性和高伸縮性的簇的解決方案。如果windowsNT不能滿足需要,用戶可以把資料庫移到UNIX中。Oracle的並行伺服器對各種UNIX平台的集群機制都有著相當高的集成度。
3. Sybase ASE
雖然有DB SWITCH來支持其並行伺服器,但DB SWITCH在技術層面還未成熟,且只支持版本12.5以上的ASE SERVER。DB SWITCH技術需要一台伺服器充當SWITCH,從而在硬體上帶來一些麻煩。
4. DB2
具有很好的並行性。DB2把資料庫管理擴充到了並行的、多節點的環境。資料庫分區是資料庫的一部分,包含自己的數據、索引、配置文件、和事務日誌。資料庫分區有時被稱為節點安全性。
三、安全認證
1. SQL server
沒有獲得任何安全證書。
2. Oracle Server
獲得最高認證級別的ISO標准認證。
3. Sybase ASE
獲得最高認證級別的ISO標准認證。
4. DB2
獲得最高認證級別的ISO標准認證。
四、性能
1. SQL Server
多用戶時性能不佳
2. Oracle
性能最高, 保持開放平台下的TPC-D和TPC-C的世界記錄。
3. Sybase ASE
性能接近於SQL Server,但在UNIX平台下的並發性要優與 SQL Server。
4. DB2
性能較高適用於數據倉庫和在線事物處理。
五、客戶端支持及應用模式
1. SQL Server
C/S結構,只支持windows客戶,可以用ADO、DAO、OLEDB、ODBC連接。
2. Oracle
多層次網路計算,支持多種工業標准,可以用ODBC、JDBC、OCI等網路客戶連接。
3. Sybase ASE
C/S結構,可以用ODBC、Jconnect、Ct-library等網路客戶連接。
4. DB2
跨平台,多層結構,支持ODBC、JDBC等客戶。
六、操作簡便
1. SQL Server
操作簡單,但只有圖形界面。
2. Oracle
較復雜,同時提供GUI和命令行,在windowsNT和unix下操作相同。
3. Sybase ASE
較復雜,同時提供GUI和命令行。但GUI較差,常常無法及時狀態,建議使用命令行。
4. DB2
操作簡單,同時提供GUI和命令行,在windowsNT和unix下操作相同。
七、使用風險
1. SQL server
完全重寫的代碼,經歷了長期的測試,不斷延遲,許多功能需要時間來證明。並不十分兼容。
2. Oracle
長時間的開發經驗,完全向下兼容。得到廣泛的應用。完全沒有風險。
3. Sybase ASE
向下兼容, 但是ct-library 程序不益移植。
4. DB2
在巨型企業得到廣泛的應用,向下兼容性好。風險小
『陸』 如何比較兩個資料庫的差異
比較資料庫可以通過以下方式:
比較的資料庫分別稱為「源」和「目標」。說明:資料庫項目不包含任何數據。因此,在數據比較中資料庫項目不能作為源或目標。
比較數據時,會生成數據操作語言 (DML) 腳本,使用該腳本可以通過更新目標資料庫中的某些或全部數據來同步不同的資料庫。完成數據比較後,結果會出現在 Visual Studio 的「數據比較」窗口中。有關更多信息,請參見比較資料庫數據概述。說明:還可以比較兩個資料庫的架構或同一資料庫的兩個版本的架構。
比較兩個資料庫的架構。比較資料庫數據比較兩個資料庫的數據在「數據」菜單上指向「數據比較」,然後單擊「新建數據比較」。將出現「數據比較」向導。而且,會打開「數據比較」窗口,並且 Visual Studio 會自動為其指定一個名稱,如 DataCompare1。在「數據比較」向導中,確定源資料庫和目標資料庫。如果「源資料庫」列表或「目標資料庫」列表為空,請單擊「新建連接」。在「連接屬性」對話框中,確定資料庫所駐留的伺服器以及連接資料庫時將要使用的身份驗證類型。然後,單擊「確定」關閉「連接屬性」對話框並返回到「數據比較」向導。在「數據比較」向導的第一頁上,驗證每個資料庫的信息均是正確的,指定要在結果中包括的記錄,然後單擊「下一頁」。「數據比較」向導的第二頁將出現並顯示資料庫中表和視圖的層次結構列表。說明:表和視圖必須滿足兩個條件才會出現在列表中。第一個條件是,源資料庫對象和目標資料庫對象的架構必須匹配。第二個條件是,該列表中僅顯示具有主鍵或唯一鍵的表和視圖。
還可以更新目標資料庫中的部分或全部數據,以與源資料庫中的數據匹配。有關更多信息,請參見如何:查看數據差異和如何:同步資料庫數據。
『柒』 如何比較兩個資料庫的差異
構建兩個臨時表,將兩個資料庫結構信息導入。
create Table #t1
(
ID Int Identity(1,1) Not Null Primary Key,
tablename nvarchar(50) NULL,
columnName nvarchar(50) NULL,
columnIndex int null,
columnType nvarchar(50) NULL
)
use 資料庫1
insert into #t1
create Table #t2
(
ID Int Identity(1,1) Not Null Primary Key,
tablename nvarchar(50) NULL,
columnName nvarchar(50) NULL,
columnIndex int null,
columnType nvarchar(50) NULL
)
//開始比較
use 資料庫2
insert into #t2
SELECT
SO.name as '表名',
SC.name as '表列名',
SC.colid as '索引',
ST.name as '類型'
FROM
sysobjects SO, -- 對象表
syscolumns SC, -- 列名表
systypes ST -- 數據類型表
WHERE
SO.id = SC.id
AND SO.xtype = 'U' -- 類型U表示表,V表示視圖
AND SO.status >= 0 --加一個條件:SO.status >= 0,否則會將系統的臨時表顯示出來
AND SC.xtype = ST.xusertype
ORDER BY
SO.name, SC.colorder
go
//查詢出 在t1 里有, t2 里沒有的欄位,查詢列出來。
select * from
(
select tablename,columnName,columnType from #t1 where tablename like '%EMS_%'
EXCEPT
select tablename,columnName,columnType from #t2 where tablename like '%EMS_%'
) as c
order by tablename
比較兩個資料庫中表和欄位的差異
-- 比較兩個資料庫中表的差異
-- u表,p存儲過程,v視圖
-- INTFSIMSNEW新庫,INTFSIMS舊庫
SELECT NTABLE = A.NAME, OTABLE = B.NAME
FROM INTFSIMSNEW..SYSOBJECTS A
LEFT JOIN INTFSIMS..SYSOBJECTS B
ON A.NAME = B.NAME
WHERE ISNULL(B.NAME, '') = ''
AND A.XTYPE = 'U'
UNION ALL
SELECT NTABLE = B.NAME, OTABLE = A.NAME
FROM INTFSIMS..SYSOBJECTS A
LEFT JOIN INTFSIMSNEW..SYSOBJECTS B
ON A.NAME = B.NAME
WHERE ISNULL(B.NAME, '') = ''
AND A.XTYPE = 'U'
ORDER BY 1, 2
-- 比較兩個資料庫中每個表欄位的差異
SELECT
表名A = CASE WHEN ISNULL(A.TABLENAME, '') <> '' THEN A.TABLENAME ELSE B.TABLENAME END,
欄位名A = A.FIELDNAME,
欄位名B = B.FIELDNAME,
順序= A.FIELDSNO,
說明= CASE WHEN A.FIELDTYPE <> B.FIELDTYPE THEN '類型: ' + A.FIELDTYPE + '-->' + B.FIELDTYPE
WHEN A.FIELDSNO <> B.FIELDSNO THEN '順序: ' + str(A.FIELDSNO) + '-->' + str(B.FIELDSNO)
WHEN A.LENGTH <> B.LENGTH THEN '長度: ' + str(A.LENGTH) + '-->' + str(B.LENGTH)
WHEN A.LENSEC <> B.LENSEC THEN '小數位: ' + str(A.LENSEC) + '-->' + str(B.LENSEC)
WHEN A.ALLOWNULL <> B.ALLOWNULL THEN '允許空值: ' + str(A.ALLOWNULL) + '-->' + str(B.ALLOWNULL)
END
FROM (SELECT
TABLENAME = B.NAME,
FIELDNAME = A.NAME,
FIELDSNO = A.COLID,
FIELDTYPE = C.NAME,
LENGTH = A.LENGTH,
LENSEC = A.XSCALE,
ALLOWNULL = A.ISNULLABLE
FROM INTFSIMSNEW..SYSCOLUMNS A
LEFT JOIN INTFSIMSNEW..SYSOBJECTS B
ON A.ID = B.ID
LEFT JOIN INTFSIMSNEW..SYSTYPES C
ON A.XUSERTYPE = C.XUSERTYPE
WHERE B.XTYPE = 'U') A
FULL JOIN (SELECT
TABLENAME = B.NAME,
FIELDNAME = A.NAME,
FIELDSNO = A.COLID,
FIELDTYPE = C.NAME,
LENGTH = A.LENGTH,
LENSEC = A.XSCALE,
ALLOWNULL = A.ISNULLABLE
FROM INTFSIMS..SYSCOLUMNS A
LEFT JOIN INTFSIMS..SYSOBJECTS B
ON A.ID = B.ID
LEFT JOIN INTFSIMS..SYSTYPES C
ON A.XUSERTYPE = C.XUSERTYPE
WHERE B.XTYPE = 'U') B
ON A.TABLENAME = B.TABLENAME
AND A.FIELDNAME = B.FIELDNAME
WHERE ISNULL(A.TABLENAME, '') = ''
OR ISNULL(B.TABLENAME, '') = ''
OR A.FIELDTYPE <> B.FIELDTYPE
OR A.FIELDSNO <> B.FIELDSNO
OR A.LENGTH <> B.LENGTH
OR A.LENSEC <> B.LENSEC
OR A.ALLOWNULL <> B.ALLOWNULL
ORDER by 1, 4
『捌』 幾種輕量級的資料庫對比
對PHP程序員來說,SQLite可以快速的搭建資料庫開發環境,提供輕松、自容器、無配置、無獨立服務的資料庫環境,所有數據保存在一個文件里。當使用MySQL作為最終生產平台時,SQLite是不可替代的開發環境解決方案。但真的沒有其他兼容性更好的選擇了嗎?好吧,僅舉幾個原因:MySQL的兼容性和支持哈希索引,還不止這些!
當我們尋找SQLite的替代方案時,有兩個可選,分別是H2和MySQLEmbeded版本。我關注的是可像SQLite一樣方便使用,但又必須兼容MySQL。
下面我們對三個資料庫進行簡單的比較:
看似H2管理最簡單,因此我在PHP下體驗了H2後發現的一些限制:Quercus的MySQL驅動無法和H2的MySQL兼容模式良好的工作,我必須使用Quercus的PDO驅動來替代。
MySQLEmbedded則是100%兼容MySQL,我還沒有開始測試。但也有一些不確定的問題,我不清楚是否可以分發包含MySQLEmbedded的應用程序.
『玖』 如何:比較兩個資料庫的數據
比較的資料庫分別稱為「源」和「目標」。說明:資料庫項目不包含任何數據。因此,在數據比較中資料庫項目不能作為源或目標。比較數據時,會生成數據操作語言 (DML) 腳本,使用該腳本可以通過更新目標資料庫中的某些或全部數據來同步不同的資料庫。完成數據比較後,結果會出現在 Visual Studio 的「數據比較」窗口中。有關更多信息,請參見比較資料庫數據概述。說明:還可以比較兩個資料庫的架構或同一資料庫的兩個版本的架構。有關更多信息,請參見如何:比較兩個資料庫的架構。比較資料庫數據比較兩個資料庫的數據在「數據」菜單上指向「數據比較」,然後單擊「新建數據比較」。將出現「數據比較」向導。而且,會打開「數據比較」窗口,並且 Visual Studio 會自動為其指定一個名稱,如 DataCompare1。在「數據比較」向導中,確定源資料庫和目標資料庫。如果「源資料庫」列表或「目標資料庫」列表為空,請單擊「新建連接」。在「連接屬性」對話框中,確定資料庫所駐留的伺服器以及連接資料庫時將要使用的身份驗證類型。然後,單擊「確定」關閉「連接屬性」對話框並返回到「數據比較」向導。在「數據比較」向導的第一頁上,驗證每個資料庫的信息均是正確的,指定要在結果中包括的記錄,然後單擊「下一頁」。「數據比較」向導的第二頁將出現並顯示資料庫中表和視圖的層次結構列表。說明:表和視圖必須滿足兩個條件才會出現在列表中。第一個條件是,源資料庫對象和目標資料庫對象的架構必須匹配。第二個條件是,該列表中僅顯示具有主鍵或唯一鍵的表和視圖。如果沒有同時滿足這兩個條件的表或視圖,則該列表將為空。選中要比較的表和視圖所對應的復選框。或者可以展開資料庫對象的節點,然後選中要比較的對象中的列所對應的復選框。說明:要比較的每個表或視圖都必須定義匹配的主鍵、匹配的索引或唯一的鍵。否則,會從將比較的表的列表中將該表移除。對於一些對象而言,可以使用「比較鍵」列指定要作為數據比較依據的鍵。例如,可以指定使數據比較依據主鍵列還是依據其他(唯一可標識)鍵列。單擊「完成」。比較開始。說明:通過打開「數據」菜單,單擊「數據比較」,再單擊「停止數據比較」,可以停止正在進行的數據比較操作。完成比較後,可以查看兩個資料庫之間的數據差異。還可以更新目標資料庫中的部分或全部數據,以與源資料庫中的數據匹配。有關更多信息,請參見如何:查看數據差異和如何:同步資料庫數據。