Qu'est-ce qu'un schéma de base de données ?

Table des matières:

Qu'est-ce qu'un schéma de base de données ?
Qu'est-ce qu'un schéma de base de données ?
Anonim

Un schéma de base de données est une collection de métadonnées qui décrit les relations entre les objets et les informations dans une base de données. Un moyen simple d'imaginer un schéma consiste à le considérer comme une boîte contenant des tables, des procédures stockées, des vues et des ressources de données associées. Un schéma définit l'infrastructure de cette box.

Bottom Line

À son niveau de base, un schéma sert de conteneur pour les actifs de données. Cependant, différents fournisseurs de bases de données structurent leurs schémas de différentes manières. Oracle, par exemple, traite chaque schéma comme un compte d'utilisateur. Pour créer un nouveau schéma, un administrateur de base de données crée un nouvel utilisateur de base de données avec le nom de schéma souhaité.

Pourquoi les schémas sont importants

Étant donné que les schémas constituent une caractéristique structurelle de base d'une base de données, la plupart des environnements de base de données appliquent des autorisations d'accès aux objets au niveau du schéma.

Par exemple, une base de données d'entreprise peut contenir une série d'utilisateurs. Chaque utilisateur engage un schéma, mais l'accès aux différents schémas est accordé individuellement, et avec la granularité des autorisations, aux utilisateurs en dehors du schéma d'accueil.

La plupart des outils de gestion de bases de données ne répertorient pas les schémas; à la place, ils répertorient les bases de données et les utilisateurs.

Image
Image

Par exemple, une entreprise crée des comptes d'utilisateurs (schémas) pour Bob et Jane. Il crée également des comptes pour des départements tels que les ressources humaines et le marketing. Ensuite, il permet à un analyste de chaque service d'accéder au compte de schéma de son service.

L'analyste RH crée des tables et des vues dans le schéma RH et autorise Bob à lire (mais pas à écrire) une table RH qui répertorie les noms et les numéros d'identification des employés. De plus, l'analyste RH peut accorder à Jane l'accès en lecture et en écriture à un tableau RH qui répertorie les numéros de téléphone des employés.

En autorisant l'accès de cette manière, seuls les bons rôles et utilisateurs peuvent lire, écrire ou modifier les données d'un actif de données autonome au sein de la base de données plus vaste.

Chaque moteur de base de données considère les schémas comme la méthode fondamentale de séparation des données dans un environnement multi-utilisateurs.

Les différents moteurs de base de données traitent les utilisateurs et les schémas différemment. Reportez-vous à la documentation de votre moteur de base de données pour découvrir la syntaxe et les modèles logiques entourant les utilisateurs, les schémas et les octrois d'autorisations.

Créer des schémas

Un schéma est formellement défini à l'aide du langage SQL (Structured Query Language). Par exemple, dans Oracle, vous créez un schéma en créant le compte utilisateur qui en est propriétaire:

CREATE USER bob

IDENTIFIED BY Temporary_password

DEFAULT TABLESPACE example

QUOTA 10M ON example

TEMPORARY TABLESPACE temp

QUOTA 5M ON system

PROFILE app_user

PASSWORD EXPIRE;

Les autres utilisateurs ont accès aux nouveaux schémas en vertu de leur nom d'utilisateur ou d'un ou plusieurs rôles auxquels le compte d'utilisateur a été ajouté.

Schémas contre modèles de données

Comme un modèle de données, un schéma n'est pas intrinsèquement structuré pour faire quoi que ce soit. Au lieu de cela, il s'agit d'une infrastructure permettant de prendre en charge les autorisations de segmentation dans une base de données.

Un modèle de données est une collection de tables et de vues jointes sur des clés spécifiques. Ces actifs de données, ensemble, servent un objectif commercial. Il est acceptable d'appliquer un modèle de données à un schéma - pour les modèles de données volumineux et complexes, les associer à des schémas permet une administration intelligente de la base de données. Mais il n'est pas logiquement nécessaire d'utiliser un schéma pour un modèle de données ou de traiter un modèle de données comme un schéma.

Image
Image

Par exemple, le service des ressources humaines peut inclure un modèle de données pour les évaluations des performances des employés dans son schéma. Au lieu de créer un schéma pour ces révisions, le modèle de données peut figurer dans le schéma HR (avec d'autres modèles de données) et rester logiquement distinct grâce aux préfixes de la table et aux noms de vue des objets du modèle de données.

Le modèle de données peut recevoir un nom informel, tel que évaluations des performances, puis toutes les tables et vues peuvent être préfixées par pr_ La table de liste des employés peut être référencée comme hr.pr_employee sans nécessiter un nouveau schéma pour les évaluations de performance.

FAQ

    Quelle est la différence entre un schéma de base de données et un état de base de données ?

    Un schéma de base de données décrit la base de données. Un état de base de données fait référence au contenu d'une base de données à un moment donné et peut être considéré comme une extension du schéma de la base de données.

    Qu'est-ce qu'un schéma relationnel d'une base de données ?

    Un schéma relationnel décrit les relations entre les tables et les éléments qui sont associés les uns aux autres. Un schéma peut être une illustration graphique ou un graphique, ou il peut être écrit en code SQL.

Conseillé: