数据库之间的区别

首先这句话有点道理:教学用sqlserver,自己玩用mysql,想玩高端大气就db2,想花钱买放心家省心就用oracle!
在学校里学习的是sqlserver,然后自己学习开发的时候,用的是mysql,操作简单,安装简单,部署一个简单项目很适用,然后工作的时候用的都是DB2和Oracle了,当然我的项目设计到的都是银行金融行业的。
 性能对比

      平台:
      Mysql、oracle、DB2都是可以在当下几乎所有主流平台上使用的;
      而sql server只能在windows平台,没有丝毫的开放性;

      安全性:
      sql server没有获得任何的安全认证;
      oracle、DB2都获得了最高级别的ISO标准认证;

      性能:
      sql server在多用户时性能不佳
      DB2适用于数据仓库和在线事物处理性能较高
      oracle性能最高

      可操作性:
     sql server操作简便,但只有GUI;
     oracle操作比较复杂,同时有GUI与命令行操作,windows.NT及unix下一样;
     DB2及mysql操作比较简单,同时有GUI与命令行,windows.NT及unix下一样;


table操作
1,增加列:相同
  alter table test add mail varchar(128);
2,删除列:
  oracle 与mysql相同:alter table test drop column mail;
  db2 :alter table test drop column mail 删除列后需要reorg table(重组表)
3,更改列名
  oracle : alter table test rename column mail to mail2;
  mysql : alter talbe test change mail mail2 varchar(128);
  db2 : 不提供更改列名功能(解决办法同删除,或者通过建立一个新视图解决)
4,更改列类型
  oracle :alter table test modify column (mail2 integer);
  mysql :alter table test modify column mail2 integer;
  db2 :alter table test alter mail varchar(256) 只可以加宽,不能更改类型
5,更改列的限制(主键、非空)
  db2 :alter table test alter mail null/not null;
  mysql :alter table test modify mail2 varchar(29) not null;
  oracle:alter table test modify mail2 null/not null;
 

1.oracle和db2在大多数的语法的使用上兼容性是比较好的,最大的区别还是在存储函数(存储过程)上有些不同;而MYSQL个人主要有自己的函数,并且数据库的表名区分大小写,而其他两个是不区分大小写的。

2.其次说下数据库就下的schema:

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。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值