连接到数据库中的特定表时,我可能会提供以下信息
Database: protocol://user:pass@host:port/dbname
Table: myschema.mytable
Run Code Online (Sandbox Code Playgroud)
这dbname和之间的区别是什么myschema?它们的使用对我来说似乎是多余
模式是数据库对象(表,视图等)within的分组.它是一种逻辑分区数据库中对象的方法.
假设用户具有适当的权限,他们可以使用一个数据库连接访问多个模式中的表.连接表(甚至来自多个模式)也是微不足道的.
当对象存储在多个数据库中时,每个数据库都需要连接才能访问这些对象,并且连接通常更加困难(您的RDBMS或ORM可能会隐藏其中的一些困难).每个数据库也有单独的登录.