数据库的schema是什么(mysql数据库schema是什么)
老铁们,大家好,相信还有很多朋友对于数据库的schema是什么和mysql数据库schema是什么的相关问题不太懂,没关系,今天就由我来为大家分享分享数据库的schema是什么以及mysql数据库schema是什么的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
oracle schema是什么意思
Schema是Oracle中一个重要的概念,很容易跟User概念混淆。从下面多个角度来介绍:
1、首先来看一下原始的英文定义:
A schema is a collection of database objects
(used by a user). Schema objects are the logical
structures that directly refer to the database’s data.
A
user is a name defined in the database that can connect to and
access objects.
Schemas and users help database
administrators manage database
security.
2、从定义中可知Schema为数据库对象的集合,为了区分各个集合,认为的给这个集合起个名字,也就是通常在企业管理器的方案下看到的许多类似用户名的节点,节点也就是一个Schema,其包含了各种数据对象:如tables,
views, sequences, stored procedures, synonyms, indexes, clusters, and database
links。
3、Oracle里Schema几乎和user/用户是通用的。Schema是指一组数据库Object
(比如:表,视图,包,序列,等等),而这些Object是属于用户的,
属于一个用户的所有Object就叫Schema。
4、User即Oracle中的用户,是控制权限的,和所有系统的中用户概念类似,用户所持有的是系统的权限及资源;而Schema所涵盖的是各种对象,它包含了表、函数、包等等对象的“所在地”,并不包括对他们的权限控制。
5、举例说明如下:
一个房子里面放满了家具,对这些家具有支配权的是房子的主人(User),而不是房子(Schema)。你可以也是一个房子的主人(User),拥有自己的房子(Schema)。可以通过alter session的方式进入别人的房子。这个时候,你可以看到别人房子里的家具(desc)。如果你没有特别指定的话,你所做的操作都是针对你当前所在房子中的东西。
至于你是否有权限使用(select)、搬动(update)或者拿走(delete)这些家具就看这个房子的主人有没有给你这样的权限了,或者你是整个大厦(DB)的老大(DBA)。
数据库中的Schema到底是什么
MySQL官方文档指出,从概念上讲,模式是一组相互关联的数据库对象,如表,表列,列的数据类型,索引,外键等等。但是从物理层面上来说,模式与数据库是同义的。你可以在MySQL的SQL语法中用关键字SCHEMA替代DATABASE,例如使用CREATE SCHEMA来代替CREATE DATABASE。
参考:MySQL Glossary, MySQL 5.7参考手册. MySQL, Retrieved 6 June 2016。
SQL Server
The names of tables, fields, data types, and primary and foreign keys of a database.
SQL Server官方文档指出,schema中包含了数据库的表,字段,数据类型以及主键和外键的名称。参考:SQL Server Glossary. SQL Server 2016 Technical Documentation. Microsoft Developer Network. Retrieved 6 June 2016.
Oracle Database
Oracle中的schema系统与其他数据库系统大不相同,Oracle的schema与数据库用户密切相关。
A schema is a collection of logical structures of data, or schema objects. A schema is owned by a database user and has the same name as that user. Each user owns a single schema.
Oracle官方文档指出,schema是数据或模式对象的逻辑结构的集合,由数据库用户拥有,并且与该用户具有相同的名称,也就是说每个用户拥有一个独立的schema。
参考:Oracle Database Objects. Oracle Database Online Documentation 12c Release 1(12.1). Oracle Help Center. Retrieved 6 June 2016.
如果想了解更多关于schema的内容,可以参考这篇文章schema definitions by DBMS.
创建Schema
尽管上述三个DBMS在定义schema方面有所不同,还是有一个共同点,就是每一个都支持CREATE SCHEMA语句。
MySQL
在MySQL中,CREATE SCHEMA创建了一个数据库,这是因为CREATE SCHEMA是CREATE DATABASE的同义词。换句话说,你可以使用CREATE SCHEMA或者CREATE DATABASE来创建一个数据库。
Oracle Database
在Oracle中,CREATE SCHEMA语句实际上并不创建一个模式,这是因为已经为在创建用户时,数据库用户就已经创建了一个模式,也就是说在ORACLE中CREATE USER就创建了一个schema,CREATE SCHEMA语句允许你将schema同表和视图关联起来,并在这些对象上授权,从而不必在多个事务中发出多个SQL语句。
SQL Server
在SQL Server中,CREATE SCHEMA将按照名称创建一个模式,与MySQL不同,CREATE SCHEMA语句创建了一个单独定义到数据库的模式。和ORACLE也不同,CREATE SCHEMA语句实际创建了一个模式(前面说到这个语句在ORACLE中不创建一个模式),在SQL Server中,一旦创建了模式,就可以往模式中添加用户和对象。
schema这个词可以用在很多不同的环境中,在特定数据库管理系统创建一个schema时,您需要使用DBMS特定定义模式,当你切换到一个新的数据库管理系统时,一定要查看该系统是如何定义schema的。
数据库中的Schema到底是什么
标签:还需product信息developersyntaxtednbspposfonts
mysql数据库schema是什么
schema在数据库中表示的是数据库对象集合,它包含了各种对像,比如:表,视图,存储过程,索引等等。
一般情况下一个用户对应一个集合,为了区分不同的集合就需要给不同的集合起名字。用户的schema名就相当于用户名,并作为该用户缺省schema。
所以说,schema集合看上去像用户名。例如,当访问一个数据表时,如果该表没有指明属于哪个schema,系统就会自动的加上缺省的schema。
扩展资料
Schema的创建在不同的数据库中要创建的Schema方法是不一样的,但是它们有一个共同的特点就是都支持CREATE SCHEMA语句。
在MySQL数据库中,可以通过CREATE SCHEMA语句来创建一个数据库Oracle Database在Oracle中,由于数据库用户已经创建了一个模式,所以,CREATE SCHEMA语句创建的是一个schema,它允许将schema同表和视图关联起来,并在这些多个事务中发出多个SQL语句。
SQL Server在SQL Server中,CREATE SCHEMA会按照名称来创建一个模式,与MySQL不同,CREATE SCHEMA语句创建了一个单独定义到数据库的模式。和Oracle数据库也有不同,它实际上创建了一个模式,而且一旦创建了模式,就可以往模式中添加用户和对象。
数据库的模式(SCHEMA)到底是怎么用的
模式(schema)是用于在一个大项目中的各个小项目
每个小项目的表,放在各自的模式(schema)下面.
这样,遇到小项目里面.有相同名字的表的话,不会发生冲突.
例如一个公司的系统.
里面分2个子系统,分别为财务系统和人力资源系统.
这2个子系统,共用一个数据库
.
那么财务系统的表,可以放在财务的模式(schema).
人力资源系统的表,放在人力资源系统的模式里面。
这2个子系统,能够互相访问对方的表
但是又不因为表重名的问题,影响对方。
文章到此结束,如果本次分享的数据库的schema是什么和mysql数据库schema是什么的问题解决了您的问题,那么我们由衷的感到高兴!