SQLAlchemy中数据库名称和模式名称之间的区别?

MRo*_*lin 5 sql sqlalchemy

连接到数据库中的特定表时,我可能会提供以下信息

Database: protocol://user:pass@host:port/dbname
Table:    myschema.mytable
Run Code Online (Sandbox Code Playgroud)

dbname和之间的区别是什么myschema?它们的使用对我来说似乎是多余

Ger*_*rat 7

模式是数据库对象(表,视图等)within的分组.它是一种逻辑分区数据库中对象的方法.

假设用户具有适当的权限,他们可以使用一个数据库连接访问多个模式中的表.连接表(甚至来自多个模式)也是微不足道的.

当对象存储在多个数据库中时,每个数据库都需要连接才能访问这些对象,并且连接通常更加困难(您的RDBMS或ORM可能会隐藏其中的一些困难).每个数据库也有单独的登录.