Answers:
模式:数据库:表::平面图:房子:房间
一个关系模式是表的逻辑定义-它定义了表的名称,以及每个列的名称和类型。就像计划或蓝图。一个数据库模式是关系模式对整个数据库收集。
甲表是与一群行(又名“元组”)的结构,其中的每一个具有由模式定义的属性。表可能还具有索引,以帮助查找某些列上的值。
一个数据库是正式,数据的任何集合。在这种情况下,数据库将是表的集合。一个DBMS(数据库管理系统)是管理和运行一个数据库软件(如MySQL,SQL服务器,Oracle等)。
已显示此特定发布仅与Oracle有关,并且在另一个DB的上下文中,Schema的定义也会更改。
可能只是谷歌搜索,但FYI术语的定义确实有所不同,这是最令人讨厌的事情:)
在Oracle中,数据库是数据库。在您的脑海中,您可以将其视为数据文件和重做日志以及数据库本身(而不是实例)磁盘上的实际物理状态。
模式实际上是用户。更具体地说,它是用户拥有的一组表/过程/索引等。另一个用户具有不同的架构(他/她拥有的表),但是该用户还可以看到他们具有选择特权的任何架构。因此,一个数据库可以包含数百个模式,每个模式包含数百个表。您可以在同一数据库中的不同架构中使用具有相同名称的表。
表是表,包含数据的行和列的集合,包含在模式中。
例如,SQL Server中的定义可能不同。我不知道这一点。
与上述某些答案相反,这是我根据对每个答案的经验得出的理解:
database/schema :: table
database :: (schema/namespace ::) table
database/schema/user :: (tablespace ::) table
请更正我关于表空间对于Oracle是否可选的要求,因为我记得使用它们已经很长时间了。
数据库包含一个或多个命名模式,而这些命名模式又包含表。模式还包含其他种类的命名对象,包括数据类型,函数和运算符。相同的对象名称可以在不同的模式中使用,而不会发生冲突。例如,schema1和myschema都可以包含名为mytable的表。与数据库不同,架构不是严格分开的:用户有权访问所连接数据库中任何架构中的对象。
人们可能要使用模式的原因有几个:
允许许多用户使用一个数据库而不会互相干扰。
将数据库对象组织成逻辑组以使其更易于管理。
第三方应用程序可以放在单独的架构中,这样它们就不会与其他对象的名称冲突。
架构类似于操作系统级别的目录,不同之处在于架构不能嵌套。
官方文档可以参考 https://www.postgresql.org/docs/9.1/ddl-schemas.html
数据库模式是一种对表,视图,存储过程等对象进行逻辑分组的方法。可以将模式视为对象的容器。表是行和列的集合。所有表的组合使数据库。