mysql官网的database对应Oracle的用户的概念吗

一个数据库服务器上可以装几个數据库它们都是用sid来标志例如orcl1,orcl2,orcl3等等,一个数据库如orcl1中可以有多个实例吗

Oracle数据库,实际上应该是说我们使用的是Oracle服务server。

一个部分是数據库实例instance

实例(instance):一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享这里可以维护易失的、非歭久性内容(有些可以刷新输出到磁盘)。就算没有磁盘存储数据库实例也能存在。也许实例不能算是世界上最有用的事物不过你完全可鉯把它想成是最有用的事物,这有助于对实例和数据库划清界线

这两个词有时可互换使用,不过二者的概念完全不同实例和数据库之間的关系是:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库实际上,准确地讲实例在其整个生存期中最多能装载和打开一个数据库!

Oracle数据库database,包括有数据文件、控制文件、重做日志文件都是一些物理上的文件。

严格的说:一个Oracle服務只包括一个Oracle实例和一个数据库(不考虑双机并行等这样的情况)。但是一个实例只能对应一个数据库一个数据库有可能对应多个实例。除非使用并行O r a c l e服务器选项否则每个O r a c l e数据库都有一个实例与之相关,一个数据库被唯一的一个实例装载

数据库与实例之间是1对1/n的关系,茬非并行的数据库系统中每个Oracle数据库与一个实例相对应;在并行的数据库系统中一个数据库会对应多个实例,同一时间用户只与一个实唎相联系当某一个实例出现故障时,其他实例自动服务保证数据库正常运行。在任何情况下每个实例都只可以对应一个数据库。

我经常对oracle的几个概念感到困惑與公司的pl/sql同事讨论之后,我搜索了Internet现在记下了我对这些概念的个人理解:

首先以一种流行的方式解释数据库的概念。数据库是存储在磁盘仩的文件并且这些文件中存储的数据具有一定的物理结构和逻辑结构。

数据库名称是数据库的名称例如myOracle,此名称通常仅适用于独立服務器;

全局数据库名称是网络中数据库的名称标识例如,数据库主机的域是mydomain

数据库的全局数据库名称为.tw,则可以在初始参数中设置以丅两个参数档案:

DB_NAME必须是文本字符串并且不能超过8个字符。在创建数据库的过程中DB_NAME设置值将记录在数据文件,控制文件和重置日志文件Φ如果激活Oracle9i实例,则开始参数文件中设置的DB_NAME与控制文件中的记录不同那么将不会激活数据库。

DB_DOMAIN通常是数据库主机所在的域名如果要將要构建的数据库添加到分布式数据库计算环境中,请特别注意此参数的设置

SID是Oracle实例的唯一名称标识符,

用户访问数据库时实际上是姠Oracle实例发送请求,并且oracle实例负责从数据库获取数据

Oracle实例=内存结构+后台进程,因此Oracle实例是临时的;

您可以通过启动nomount来启动实例但是请注意,此时Oracle数据库尚未启动您需要使用open来启动数据库。

一个实例只能对应一个数据库一个数据库中可以使用多个实例。

命名空间定义了┅组对象类型在名称空间中,对象名称必须是唯一的当然,在不同的名称空间中可以使用相同的名称。

以下对象类型共享相同的名稱空间:

因此如果数据库中存在一个名为myObject1的表,那么您将无法再创建名为myObject1的视图至少,在模式中这种现象是不可能的;

以下对象类型具有自己的名称空间:

因此,即使在相同的架构中您也可以创建一个名为myObject1的索引。

不受Schema限制的非模式对象具有自己的名称空间如下所示:

?参数文件(PFILE)和服务器参数文件(SPFILE)

因此两个非模式对象可以使用相同的名称。

模式是基于用户的在数据库中创建用户时,将使用楿同的用户名创建Shema

mysql官网 和Oracle 在开发中的使用是随处可見的那就简单去了解一下这俩款火的不行的数据库,

Oracle数据库是一个对象关系数据库管理系统(收费)

mysql官网是一个开源的关系数据库管理系统(免费)

mysql官网使用三个参数来验证用户即用户名,密码和位置

Oracle使用了更多的安全功能如用户名,密码配置文件,本地身份验证外部身份验证,高级安全增强功能等

mysql官网的权限系统是通过继承形成的分层结构权限授于高层时,其他低层隐式继承被授于的权限当然低层吔可改写这些权限。

按授权范围不同mysql官网有以下种授权方式:

每一级在数据库中都有一个授权表。当进行权限检查时mysql官网从高到低检查每一张表,低范围授权优先于高范围授权

与Oracle不同,mysql官网没有角色的概念也就是说,如果对一组用户授于同样的权限需要对每一个鼡户分别授权。

模式包含表、视图、索引、用户、约束、存储过程、触发器和其他数据库相关的概念多数关系型数据库都有相似的概念。

1、模式对象的相似性;

3、表设计时的关注点;

5、mysql官网模式整合的关注点

就模式对象,Oracle和mysql官网存储诸多的相似但也有一些不同

Oracle是大小寫不敏感的,并且模式对象是以在写时行存储在Oracle的世界中,列、索引、存储过程、触发器以及列别名都是大小写不敏感并且在所有平囼都是如此。mysql官网是大小写敏感的如数据库相对的存储路径、表对应的文件都是如此

当把关键字用引号引起来时,Oracle和mysql官网都允许把这些關键字用于模式对象但mysql官网对于一些关键字,不加引号也行

mysql官网会处理列默认值,不允许他为空这点和Oracle不同。在Oracle中如果向表插入数據需要对有所有不允许为NULL列的值。

如果多个mysql官网数据库位于同一个数据库服务上支持迁移。

mysql官网的数据库对应于服务器上数据目录内嘚了目录这一数据存储方式与多数据数据库不同,也包括Oracle数据库中的表对应一个或者多个数据库目录下的文件,并取表存储时的存储引擎

一个Oracle数据库包含一个或者多个表空间。表空间对应数据在磁盘上的物理存储表空间是从一个或者多个数据文件开始构建的。数据攵件是文件系统中的文件或者原始存储的一块空间

mysql官网一般使用自动增长类型,在创建表的时候指定表的主键为auto increment主键就会自动增长。

OracleΦ没有自动增长主键一般使用序列,插值时依次赋值即可

Oracle不使用双引号会报错

mysql官网则对引号没有限制

mysql官网分页查询使用关键字limit来实现

Oracle沒有实现分页查询的关键字,实现起来较复杂在每个结果集中只有一个rownum字段标明它的位置,并且只能用rownum<=某个数不能用rownum>=某个数,因为ROWNUM是偽列在使用时所以需要为ROWNUM取一个别名,变成逻辑列然后来操作

我要回帖

更多关于 mysql官网 的文章

 

随机推荐