我只发现了MySQL中创建数据库和创建模式的区别。不幸的是,我没有使用MySQL来工作。所以我想问一下SQL Server中的区别。
vaqhlq811#
在SQL Server中,架构只是属于单个数据库的对象的更细粒度的分组(因此,在关系术语中,数据库可以是架构的一对多)。架构允许更灵活地按相关性对对象进行分组,并从安全Angular 更好地控制访问。例如,一家制造公司可能有一个数据库来跟踪他们生产的产品、这些产品的销售额以及他们的客户。一个数据库可以涵盖所有这些内容。但是,可以使用模式来划分Sales模式中的所有销售相关表,SalesOrders、SalesLines、Shipping等。另一个称为Production的模式可以用于跟踪Inventory、QuantityOnHand、ProductionOrdersProductionLines等。另一个称为Customers的模式可用于存储客户特定的数据,例如Customers本身、CustomerAddresses等。并且这些模式中的每一个都可以通过各种安全访问来锁定,您可能不希望将敏感的Customer信息或Sales数据暴露给需要访问Production数据的人员。但是可能有管理者或某些人应该能够同时看到Sales和Production数据。模式使得相应地划分权限以支持这些用例成为可能。
Sales
SalesOrders
SalesLines
Shipping
Production
Inventory
QuantityOnHand
ProductionOrders
ProductionLines
Customers
CustomerAddresses
Customer
1条答案
按热度按时间vaqhlq811#
在SQL Server中,架构只是属于单个数据库的对象的更细粒度的分组(因此,在关系术语中,数据库可以是架构的一对多)。
架构允许更灵活地按相关性对对象进行分组,并从安全Angular 更好地控制访问。
例如,一家制造公司可能有一个数据库来跟踪他们生产的产品、这些产品的销售额以及他们的客户。一个数据库可以涵盖所有这些内容。
但是,可以使用模式来划分
Sales
模式中的所有销售相关表,SalesOrders
、SalesLines
、Shipping
等。另一个称为Production
的模式可以用于跟踪Inventory
、QuantityOnHand
、ProductionOrders
ProductionLines
等。另一个称为Customers
的模式可用于存储客户特定的数据,例如Customers
本身、CustomerAddresses
等。并且这些模式中的每一个都可以通过各种安全访问来锁定,您可能不希望将敏感的
Customer
信息或Sales
数据暴露给需要访问Production
数据的人员。但是可能有管理者或某些人应该能够同时看到Sales
和Production
数据。模式使得相应地划分权限以支持这些用例成为可能。