web-dev-qa-db-fra.com

Différence entre la base de données et le schéma

Quelle est la différence entre une base de données et un schéma dans SQL Server? Les deux sont les conteneurs de tables et de données.

Si un schéma est supprimé, toutes les tables contenues dans ce schéma sont également supprimées automatiquement ou sont-elles supprimées lors de la suppression de la base de données?

144
sqlchild

Une base de données est le conteneur principal. Elle contient les fichiers de données et de journalisation, ainsi que tous les schémas qu’elle contient. Vous sauvegardez toujours une base de données, il s’agit d’une unité distincte.

Les schémas ressemblent aux dossiers d'une base de données et sont principalement utilisés pour regrouper des objets logiques, ce qui facilite la définition des autorisations par schéma.

EDIT pour question supplémentaire

drop schema test1

Msg 3729, Niveau 16, Etat 1, Ligne 1
Impossible de supprimer le schéma 'test1' car il est référencé par l'objet 'copyme'.

Vous ne pouvez pas supprimer un schéma lorsqu'il est utilisé. Vous devez d'abord supprimer tous les objets du schéma.

Lecture connexe:

  1. A quoi servent les schémas SQL Server?
  2. MSDN: User-Schema Separation
159
RichardTheKiwi

Le schéma est un moyen de catégoriser les objets d'une base de données. Cela peut être utile si plusieurs applications partagent une même base de données et qu’il existe un ensemble de données commun auquel toutes les applications ont accès.

18
demas

La base de données est comme un conteneur de données avec schéma, et les schémas sont la mise en forme des tables, types de données, relations et autres éléments.

12
Saghir A. Khatri

Schéma indique quelles tables se trouvent dans la base de données, quelles sont leurs colonnes et comment elles sont liées. Chaque base de données a son propre schéma.

7
Robert

Le schéma dans SQL Server est un objet qui contient conceptuellement des définitions pour d'autres objets de base de données tels que des tables, des vues, des procédures stockées, etc.

4
Hardik Mishra