Я только обнаружил различия между созданием базы данных и созданием схемы в MySQL. К сожалению, я не использую MySQL для своей работы. Итак, я хочу спросить о различиях в SQL Server.


В SQL Server схема представляет собой просто более детализированную группу объектов, принадлежащих одной базе данных (поэтому в реляционных терминах база данных может относиться к схемам по принципу «один ко многим»).
Схемы позволяют более гибко группировать объекты по релевантности и лучше контролировать доступ с точки зрения безопасности.
Например, у производственной компании может быть база данных для отслеживания товаров, которые они производят, продаж этих продуктов и их клиентов, которым они продают. Одна база данных может охватывать все это.
Но можно использовать схемы для разделения всех таблиц, связанных с продажами, SalesOrders, SalesLines, Shipping и т. д. в схеме Sales. Другая схема, называемая Production, может использоваться для отслеживания Inventory, QuantityOnHand, ProductionOrders, ProductionLines и т. д. Другая схема, называемая Customers, может использоваться для хранения конкретных данных о клиентах, таких как сами Customers, CustomerAddresses и т. д.
И каждая из этих схем может быть заблокирована с различным доступом к безопасности, поэтому только определенные пользователи могут получить доступ к каждой схеме или сочетанию разных схем. Например, вы можете не захотеть раскрывать конфиденциальную Customer информацию или Sales данные людям, которым нужен доступ к Production данным. Но могут быть менеджеры или определенные люди, которые должны иметь возможность видеть как Sales, так и Production данные. Схемы позволяют соответствующим образом разделить разрешения для поддержки этих вариантов использования.