Oracle里schema和database有什么区别
在Oracle中,数据库(database)和模式(schema)是两个非常重要的概念:
1. 数据库(database)是一个物理和逻辑的容器,它包含了一系列的数据表、视图、索引、函数、存储过程等数据库对象,数据库通过数据库实例来访问。在Oracle中,数据库由多个表空间组成,表空间则由多个数据文件组成,每个数据文件存储着一个表空间上的对象。
2. 模式(schema)是一组数据库对象的集合,它是一个逻辑上的容器。一个数据库可以包含多个模式,每个模式在数据库中都有一个唯一的名称,用于区分不同的用户或应用程序所创建的对象。同一个数据库中的不同模式可以具有不同的访问权限和不同的对象。
因此,数据库是物理的容器,包含多个表空间和数据文件,而模式则是逻辑的容器,包含一组数据库对象的集合。一个数据库可以包含多个不同的模式,但一个模式只能属于一个数据库。
MySQL:Schema就是database的同义词,因此,schema与database是同一样东西。 Oracle:某些对象会被存放在database中,而不是在schema中。因此,在Oracle中,它们是两个不同的东西。
SQL Server:Schema是database内的一个独立实体。因此在Sql Server中它们也是两个不同的东西。 所以,你需要知道你用的是什么RDBMS(关系型数据库管理系统 )。
1 Schema和Database是两个不同的概念,数据库中一个Database可以拥有多个Schema。
2 Database是一个逻辑容器,用于存储数据,如Oracle数据库,而Schema是逻辑上特定用户的一部分,它包含了这个用户所拥有的所有数据库对象,如表、视图、用户等等。
3 因此,可以说Schema是Database的一部分,但是Schema中的对象只属于这个Schema中的用户,其他用户无法访问,这是Schema和Database的区别所在。
mysql,Table 'user' is read only,怎么解决
修改权限 GRANTprivileges(columns)ONwhatTOuserIDENTIFIEDBY"password"WITHGRANTOPTION privileges授予用户的权限,下表列出可用于GRANT语句的权限指定符: 权限指定符权限允许的操作 Alter修改表和索引 Create创建数据库和表 Delete删除表中已有的记录 Drop抛弃(删除)数据库和表 INDEX创建或抛弃索引 Insert向表中插入新行 REFERENCE未用 Select检索表中的记录 Update修改现存表记录 FILE读或写服务器上的文件 PROCESS查看服务器中执行的线程信息或杀死线程 RELOAD重载授权表或清空日志、主机缓存或表缓存。
SHUTDOWN关闭服务器 ALL所有;ALLPRIVILEGES同义词