Je suis vraiment confus avec les termes base de données, utilisateur et schéma. Quelqu'un peut-il expliquer en quoi ils sont différents les uns des autres (s'ils le sont)?
S'ils sont identiques, quelles sont les similitudes entre eux? Comment les utilisons-nous? Et comment les crée-t-on?
Réponses:
Dans Oracle, les utilisateurs et les schémas sont essentiellement la même chose. Vous pouvez considérer qu'un utilisateur est le compte que vous utilisez pour vous connecter à une base de données et qu'un schéma correspond à l'ensemble des objets (tables, vues, etc.) appartenant à ce compte.
Voir ce post sur Stack Overflow: différence entre un utilisateur et un schéma dans Oracle? pour plus de détails et des liens supplémentaires.
Vous créez des utilisateurs avec l'
create user
instruction. Cela "crée" également le schéma (initialement vide) - vous ne pouvez pas créer de schéma en tant que tel, il est lié à l'utilisateur. Une fois l'utilisateur créé, un administrateur peut lui octroyer des privilèges, ce qui lui permet de créer des tables, d'exécuter desselect
requêtesinsert
et tout le reste.La base de données contient tous les utilisateurs que vous avez créés, ainsi que leurs données (et un ensemble d’utilisateurs système prédéfinis, de tables, de vues, etc. qui font fonctionner l’ensemble). Vous devriez consulter la documentation relative à l’ architecture de la base de données Oracle dans le Guide des concepts (en fait, cette page vaut la peine d’être lue - il existe une section sur les utilisateurs et les schémas plus haut dans cette page) pour obtenir une introduction à ce qu’est une base de données et ce qu’elle est. instance de base de données est - deux concepts importants.
Vous pouvez créer une base de données avec l'
create database
instruction, une fois que vous avez installé la pile de logiciels Oracle. Mais utiliserdbca
(assistant de création de base de données) est plus facile à utiliser.la source
Selon la façon dont la terminologie est parfois utilisée , a
USER
et aSCHEMA
sont assez similaires. Mais il y a aussi une différence majeure. UnUSER
peut être appelé unSCHEMA
si le "USER
" possède un objet, sinon il ne restera qu'un "USER
". Une fois que leUSER
possède au moins un objet puis en vertu de toutes vos définitions ci-dessus ... leUSER
peut maintenant être appelé unSCHEMA
.la source
Pour commencer à comprendre la différence, je pense que nous devons commencer par dire que cette nomenclature était une erreur d'Oracle.
Je suppose que si vous avez un ERP appelé TRITON, vous voulez que votre base de données s'appelle TRITON, ou si mon entreprise s'appelle JENNY EXPORT, je pourrais décider que ma base de données s'appelle JENNYEXP ou quelque chose du genre, aucun utilisateur du même nom n'est nécessaire. .
Dans Oracle, vous devez créer un utilisateur avant de créer les tables et assez bizarre cette collection de tables est appelée SCHEMA.
Ensuite, vous pouvez créer les utilisateurs réels et accorder les autorisations appropriées pour utiliser une base de données telle que TRITON, comme dans cet exemple. En passant, si vous vous connectez via SQL DEVELOPER, vous devez nommer une connexion.
Je sais que je suis un peu frustré, mais la convention de dénomination MS SQL SERVER est plus logique et je pourrais ajouter que j’ai travaillé avec Oracle plus tôt que SQL SERVER.
la source
Base de données.
La base de données est une collection de données, où réellement les données stockées. C’est un composant physique de mémoire connecté à un ordinateur Installé avec le logiciel SGBD pour manipuler les données de ce composant, l’ordinateur installé avec le logiciel dbms s’appelle serveur ou serveur de base de données. Le serveur (ordinateur) et la base de données (composant mémoire) La plupart du temps, référé comme identique en fonction de la situation.
UTILISATEUR et SCHEMA
Les deux mots, utilisateur et schéma, sont interchangeables, c'est pourquoi la plupart des gens s'embrouillent avec ces mots.
Utilisateur
L'utilisateur est un compte pour connecter la base de données (serveur). nous pouvons créer un utilisateur en utilisant CREATE USER IDENTIFIED BY.
Schéma
En fait, Oracle Database contient une structure logique et physique pour traiter les données. La structure logique également de schéma pour traiter les données dans la base de données (composant de mémoire). Il est créé automatiquement par Oracle lors de la création de l'utilisateur. Il contient tous les objets créés par l'utilisateur associé à ce schéma.Par exemple, si je crée un utilisateur avec un nom,
santhosh
puis Oracle crée un schéma appelésanthosh
, Oracle stocke tous les objets créés par l'utilisateursanthosh
dans lesanthosh
schéma.Nous pouvons créer un schéma à l'aide de l'
CREATE SCHEMA
instruction, mais Oracle crée automatiquement un utilisateur pour ce schéma.Nous pouvons supprimer le schéma à l'aide de l'
DROP SCHEMA <name> RESTRICT
instruction, mais elle ne peut pas supprimer les objets contenus dans le schéma. Par conséquent, pour supprimer le schéma, il doit être vide. Ici, le mot restreint vous oblige à spécifier ce schéma sans objets.Si nous essayons de supprimer un utilisateur contenant des objets dans son schéma, nous devons spécifier
CASCADE
mot car Oracle ne vous permet pas de supprimer un utilisateur contenant des objets.DROP USER <name> CASCADE
de sorte que Oracle supprime les objets du schéma, puis supprime automatiquement l'utilisateur. Les objets référencés à ces objets de schéma à partir d'un autre schéma, comme les vues et les synonymes privés, passent à l'état non valide.
la source
J'ajouterais que les instructions ci-dessus s'appliquent à la mise en œuvre d'Oracle, mais que d'autres bases de données, notamment SQL Server et PostgreSQL, utilisent le schéma comme un simple espace de noms, c'est-à-dire un moyen de regrouper des objets. Par exemple, le schéma de stockage intermédiaire peut regrouper tous les objets utilisés dans les données de stockage intermédiaire, le schéma de comptabilité peut regrouper tous les objets liés à la comptabilité.
la source
User! = Schema, User et Schema ne sont pas identiques mais ils sont utilisés de manière interchangeable
la source
Je vous dis selon des concepts qui ne sont basés sur aucun type de système de gestion de base de données que vous utilisez.
Conceptuellement: Base de données: Il s’agit simplement d’une pile de données, principalement des données associées non gérées ou non gérées .
Schéma: Schéma fait référence à la structuration formelle des données liées / non liées non gérées de sorte qu'elles puissent être gérées par un système de gestion qui comprend la définition formelle fournie par le schéma. Schema est fondamentalement un schéma pour fournir une vue d'ensemble. Par exemple, vous avez XSD qui définit le schéma pour créer du XML. Vous avez un SGBDR qui définit ses propres schémas basés sur des règles de codd qui définissent en principe des schémas permettant de créer un SGBDR.
Maintenant, si vous voulez en savoir plus sur, référez-vous à ce lien .
L'utilisateur utilise le langage formel spécifié par le schéma pour accéder à la base de données.
la source