比較資料庫
『壹』 oracle怎麼比較兩個資料庫
方法一、用PL/SQL DEVELOPER 來比較
1.登陸資料庫A.
2.打開TOOLS菜單下的Compare User Objects
3.點Target Session,登陸資料庫B
4.執行Compare
5.返回的是所有不同的對象以及更新語句[@more@]方法二、
1、對需要比較的表進行分析(可全表可抽樣,自選),否則統計信息不準;
2、通過dba_tab_col_statistics表的column_name欄位進行比較
select tz.table_name ,tz.column_name from dba_tab_col_statistics tz
WHERE tz.owner = 'BSS' AND TZ.TABLE_NAME LIKE 'BSS_%'
and (TZ.TABLE_NAME ,TZ.COLUMN_NAME) not in(
select TZT.TABLE_NAME ,TZT.COLUMN_NAME
from dba_tab_col_statistics@tz_bsstzt tzt
WHERE tzt.owner = 'BSS' AND TZT.TABLE_NAME LIKE 'BSS_%')
『貳』 如何:比較兩個資料庫的數據
比較的資料庫分別稱為「源」和「目標」。說明:資料庫項目不包含任何數據。因此,在數據比較中資料庫項目不能作為源或目標。比較數據時,會生成數據操作語言 (DML) 腳本,使用該腳本可以通過更新目標資料庫中的某些或全部數據來同步不同的資料庫。完成數據比較後,結果會出現在 Visual Studio 的「數據比較」窗口中。有關更多信息,請參見比較資料庫數據概述。說明:還可以比較兩個資料庫的架構或同一資料庫的兩個版本的架構。有關更多信息,請參見如何:比較兩個資料庫的架構。比較資料庫數據比較兩個資料庫的數據在「數據」菜單上指向「數據比較」,然後單擊「新建數據比較」。將出現「數據比較」向導。而且,會打開「數據比較」窗口,並且 Visual Studio 會自動為其指定一個名稱,如 DataCompare1。在「數據比較」向導中,確定源資料庫和目標資料庫。如果「源資料庫」列表或「目標資料庫」列表為空,請單擊「新建連接」。在「連接屬性」對話框中,確定資料庫所駐留的伺服器以及連接資料庫時將要使用的身份驗證類型。然後,單擊「確定」關閉「連接屬性」對話框並返回到「數據比較」向導。在「數據比較」向導的第一頁上,驗證每個資料庫的信息均是正確的,指定要在結果中包括的記錄,然後單擊「下一頁」。「數據比較」向導的第二頁將出現並顯示資料庫中表和視圖的層次結構列表。說明:表和視圖必須滿足兩個條件才會出現在列表中。第一個條件是,源資料庫對象和目標資料庫對象的架構必須匹配。第二個條件是,該列表中僅顯示具有主鍵或唯一鍵的表和視圖。如果沒有同時滿足這兩個條件的表或視圖,則該列表將為空。選中要比較的表和視圖所對應的復選框。或者可以展開資料庫對象的節點,然後選中要比較的對象中的列所對應的復選框。說明:要比較的每個表或視圖都必須定義匹配的主鍵、匹配的索引或唯一的鍵。否則,會從將比較的表的列表中將該表移除。對於一些對象而言,可以使用「比較鍵」列指定要作為數據比較依據的鍵。例如,可以指定使數據比較依據主鍵列還是依據其他(唯一可標識)鍵列。單擊「完成」。比較開始。說明:通過打開「數據」菜單,單擊「數據比較」,再單擊「停止數據比較」,可以停止正在進行的數據比較操作。完成比較後,可以查看兩個資料庫之間的數據差異。還可以更新目標資料庫中的部分或全部數據,以與源資料庫中的數據匹配。有關更多信息,請參見如何:查看數據差異和如何:同步資料庫數據。
『叄』 各種類型資料庫的比較
目前有許多資料庫產品,如Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等產品各以自己特有的功能,在資料庫市場上佔有一席之地。下面簡要介紹幾種常用的資料庫管理系統[7]。
① Oracle資料庫系統:Oracle是一個最早商品化的關系型資料庫管理系統,也是應用廣泛、功能強大的資料庫管理系統。Oracle作為一個通用的資料庫管理系統,不僅具有完整的數據管理功能,還是一個分布式資料庫系統,支持各種分布式功能,特別是支持Internet應用。
② Sybase資料庫系統:基於Client/Server體系結構的大型網路資料庫系統。採用單線程技術進行查詢,開銷小,利用率高,支持分布式處理。
③ MS SQL Server:是一種典型的關系型資料庫管理系統,可以在許多操作系統上運行。目前最新版本的產品為Microsoft SQL Server 2005,它具有可靠性、可伸縮性、可用性、可管理性等特點,為用戶提供完整的資料庫解決方案。
④ Microsoft Access:是在Windows環境下非常流行的桌面型資料庫管理系統。使用Microsoft Access無需編寫任何代碼,只需通過直觀的可視化操作就可以完成大部分數據管理任務。
『肆』 大學生論文聯合對比庫是什麼意思
事實上,大學生論文比較資料庫是與以往的大學生論文對比資料庫。只要大學生的論文以前已經在學校查重系統檢測過,這篇論文就會被納入大學生論文聯合對比資料庫。
在向學校提交畢業論文後,學校只提供了1-3次修改的機會。如果最終檢測仍然不合格,它只能推遲到明年的畢業申請,所以學生只能再次寫一篇新的畢業論文。此時,大學生論文聯合對比資料庫的功能將及時反映出來。事實上,大學生論文對比資料庫是與以往的大學生論文進行比較。只要大學的論文抄襲過以前學長學姐的論文,就會被檢測出來查重率。
此時第一篇論文沒有通過,推遲畢業學生注意,因為你的第一篇論文由於重復率或其他原因,只能重寫論文,因為去年的論文包含在大學生論文聯合比較庫,如果你使用以前的論文,會導致你的文章相似比例很高,結果肯定不能通過。
大學生論文的聯合對比庫也是近年來剛剛添加的。對於第一篇論文失敗的學生來說,這確實增加了很多麻煩。因此,在這里,paperfree小編提醒學生在寫論文時避免到處抄襲,認真負責地對待畢業論文。
『伍』 幾種輕量級的資料庫對比
對PHP程序員來說,SQLite可以快速的搭建資料庫開發環境,提供輕松、自容器、無配置、無獨立服務的資料庫環境,所有數據保存在一個文件里。當使用MySQL作為最終生產平台時,SQLite是不可替代的開發環境解決方案。但真的沒有其他兼容性更好的選擇了嗎?好吧,僅舉幾個原因:MySQL的兼容性和支持哈希索引,還不止這些!
當我們尋找SQLite的替代方案時,有兩個可選,分別是H2和MySQLEmbeded版本。我關注的是可像SQLite一樣方便使用,但又必須兼容MySQL。
下面我們對三個資料庫進行簡單的比較:
看似H2管理最簡單,因此我在PHP下體驗了H2後發現的一些限制:Quercus的MySQL驅動無法和H2的MySQL兼容模式良好的工作,我必須使用Quercus的PDO驅動來替代。
MySQLEmbedded則是100%兼容MySQL,我還沒有開始測試。但也有一些不確定的問題,我不清楚是否可以分發包含MySQLEmbedded的應用程序.
『陸』 多種資料庫的比較
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等系統,可支持命令和圖形化管理,對於一般的資料庫足以應付了,佔用系統資源較少,速度較快,而且是開源的。
『柒』 如何比較兩個資料庫的差異
比較資料庫可以通過以下方式:
比較的資料庫分別稱為「源」和「目標」。說明:資料庫項目不包含任何數據。因此,在數據比較中資料庫項目不能作為源或目標。
比較數據時,會生成數據操作語言 (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
『玖』 如何比較兩張資料庫表的內容
兩個表的數據循環顯示.
如果表一的和表二的相同,就加一個顏色值,在html中讓顯示的字元加上顏色就可以區分了.
如果要分部分顯示,可以用數組暫存或資料庫暫存數據,將相同的或不同的暫存下來,顯示完一樣後再顯示另一樣.