这可能是一个非常糟糕的问题。但我一直将模式视为数据库中的表定义。这是错误的或不完全正确的。我不太记得我的数据库课程了。


当前回答

架构->平面图

数据库->房子

桌子->房间

其他回答

简而言之,模式是整个数据库的定义,因此它包括表、视图、存储过程、索引、主键和外键等。

与上面的一些答案相反,以下是我对他们每个人的经验的理解:

MySQL: database/schema:: table SQL Server: database::(schema/namespace::)表 Oracle: database/schema/user::(表空间::)

请纠正我关于表空间是否是可选的Oracle,这是很长一段时间以来,我记得使用他们。

数据库模式是对表、视图、存储过程等对象进行逻辑分组的一种方式。把模式看作是对象的容器。 表是行和列的集合。 所有表的组合构成一个db。

架构->平面图

数据库->房子

桌子->房间

A schema is not a plan for the entire database. It is a plan/container for a subset of objects (ex.tables) inside a a database. This goes to say that you can have multiple objects(ex. tables) inside one database which don't neccessarily fall under the same functional category. So you can group them under various schemas and give them different user access permissions. That said, I am unsure whether you can have one table under multiple schemas. The Management Studio UI gives a dropdown to assign a schema to a table, and hence making it possible to choose only one schema. I guess if you do it with TSQL, it might create 2 (or multiple) different objects with different object Ids.