这可能是一个类似(或更糟)的问题.但我一直将模式视为数据库中的表定义.这是错误的或不完全正确的.我对数据库课程的记忆不多.
schema : database : table :: floor plan : house : room
一个关系模式是表的逻辑定义-它定义了表的名称,以及每个列的名称和类型.这就像一个计划或蓝图.一个数据库模式是关系模式对整个数据库收集.
甲表是与一群的行(也称为"元组"),每个都具有由模式定义的属性的结构.表可能还有索引,以帮助查找某些列的值.
一个数据库是正式,数据的任何集合.在此上下文中,数据库将是表的集合.一个DBMS(数据库管理系统)是管理和运行一个数据库软件(如MySQL,SQL服务器,Oracle等).
简而言之,模式是整个数据库的定义,因此它包括表,视图,存储过程,索引,主键和外键等.
此特定帖子已显示仅与Oracle相关,并且Schema的定义在另一个DB的上下文中更改.
可能只是google up的东西,但是FYI术语似乎在定义上有所不同,这是最烦人的事情:)
在Oracle中,数据库是一个数据库.在你的脑海中将其视为数据文件和重做日志以及数据库本身磁盘上的实际物理存在(即不是实例)
Schema实际上是一个用户.更具体地说,它是用户拥有的一组表/过程/索引等.另一个用户具有不同的模式(他/她拥有的表),但是用户也可以看到他们选择了特权的任何模式.因此,数据库可以包含数百个模式,每个模式包含数百个表.您可以在不同的模式中具有相同名称的表,这些模式位于同一数据库中.
表是一个表,一组包含数据的行和列,包含在模式中.
例如,SQL Server中的定义可能不同.我不知道这个.
如OOP世界中所见,模式行为看起来像父对象.所以它不是数据库本身.也许这个链接很有用.
但是,在MySQL中,两者是等价的.关键字DATABASE或DATABASES可以用SCHEMA或SCHEMAS替换它出现的任何地方.例子:
创建数据库<=>创建模式
显示数据库<=>显示方案
MySQL的文档
SCHEMA和DATABASE术语与DBMS相关.
甲表是一组是使用垂直列和水平行(其可以通过名称来标识)的模型组织的数据元素(值)的.数据库包含一个或多个(通常)表.并将数据存储在这些表中.表格可能彼此相关(见这里).