程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Mysql、Oracle、Db2的比較

Mysql、Oracle、Db2的比較

編輯:Oracle教程

Process - - - database - Object

Process - Server - User - Object

Process - database - User - Schema - Object

依次是Mysql、Oracle、Db2

沒做過oracle多實例,db2也是剛剛接觸,淺顯的理解

Mysql這種方式很初級最容易被人想到,Database與User分開是跟其他兩個的區別,用授權來關聯用戶和數據庫。

jdbc的連接地址裡面,三者分別指定了Database、User、User(&Schema),Db2如果不單獨創建Schema則形式是跟Oracle一樣的。Db2的User只能是操作系統的用戶,數據庫本身不能創建用戶,這點好像不太好,對於不同的應用系統,Mysql是創建不同的Database,Oracle是創建不同的User,這時Db2有兩種方法,一是創建不同的操作系統用戶,二是在User下創建不同的Schema,然後jdbc連接地址聲明這個Schema。

就應用劃分層面來說,三種數據庫的Database、User、Schema在一個層面。Oracle相比Mysql可以新建多個實例,一個實例等同於Mysql的一個進程,我的理解Oracle的創建實例就是創建database,會新建出一個oracleserver。Db2的Database跟Oracle實例在一個層面,區別是Oracle創建實例比較麻煩,Db2一句話就執行完了。Oracle的兩個實例之間獨立,Db2也是。訪問需要通過特定方式。

統一說來,

1:Oracle的實例與Db2的數據庫是一回事,應該被統一稱作實例比較合適,而Mysql便是單實例模式

2:應用劃分層,三者分別是database、user、schema,統一稱作database比較合適,真正的數據都在這一層。

從這裡理解於是:用戶名與密碼的作用只是用來登陸,以及賦予對database的訪問權限。

mysql中這兩者是無關的。

oracle這裡本沒有database的概念,user就是database,可以理解為創建一個user時同時創建一個同名的database。有幾個user就有幾個database。

db2創建一個user會同時創建一個同名的database作為schema,另外還能再創建其他多個schema。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved