IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Différence entre USER et SCHEMA ?


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 14
    Points
    14
    Par défaut Différence entre USER et SCHEMA ?
    Bonjour à tous,

    J'aurais souhaité savoir quelle était la différence entre ces 2 notions USER et SCHEMA.
    Est ce que l'une dépend de l'autre ?
    SCHEMA va rassembler des objets (table, proc ....) mais USER ?

    Merci

    Bounty

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Dans Oracle il n'y a pas de différence.

    Créer un utilisateur avec CREATE USER revient à créer un schéma de même nom dans la base.

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE AUTHORIZATION SCHEMA
    existe mais (selon mon expérience) est peu utilisée.

  3. #3
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    On parle de USER quand il s'agit de l'authentification et de SHEMA lorsqu'il s'agit des objets mais cela fait référence à la même chose. En effet, un utilisateur est un shéma

  4. #4
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 077
    Points
    8 077
    Par défaut
    Citation Envoyé par Fred_D
    On parle de USER quand il s'agit de l'authentification et de SHEMA lorsqu'il s'agit des objets mais cela fait référence à la même chose. En effet, un utilisateur est un shéma
    A strictement parler, un utilisateur n'est pas un schéma, mais possède un schéma (éventuellement vide) qui porte son nom.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  5. #5
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 077
    Points
    8 077
    Par défaut
    Citation Envoyé par pifor
    Dans Oracle il n'y a pas de différence.

    Créer un utilisateur avec CREATE USER revient à créer un schéma de même nom dans la base.

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE AUTHORIZATION SCHEMA
    existe mais (selon mon expérience) est peu utilisée.
    J'aime bien préciser que la commande CREATE SCHEMA existe, mais sa fonction n'a rien à voir avec la création d'un compte utilisateur.
    Elle permet de créer, en une seule transaction, un ensemble de tables qui constituent un ensemble logique.
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  6. #6
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    Citation Envoyé par Pomalaix
    A strictement parler, un utilisateur n'est pas un schéma, mais possède un schéma (éventuellement vide) qui porte son nom.
    en effet

  7. #7
    Membre éprouvé Avatar de Yorglaa
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    845
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2004
    Messages : 845
    Points : 931
    Points
    931
    Par défaut
    Citation Envoyé par Pomalaix
    J'aime bien préciser que la commande CREATE SCHEMA existe, mais sa fonction n'a rien à voir avec la création d'un compte utilisateur.
    Elle permet de créer, en une seule transaction, un ensemble de tables qui constituent un ensemble logique.
    dans quels genres de cas cette commande est utilisée ?

    est-ce que vous en avez déjà eu l'utilité ?
    Il est plus facile de voir les signes avant-coureurs après coup que l'inverse !

    Yorglaa

  8. #8
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    pour info :
    http://download-west.oracle.com/docs...htm#SQLRF01313

    j'avoue que j'ai du mal à voir l'intérêt de cette commande

  9. #9
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Points : 121
    Points
    121
    Par défaut
    USER et SCHEMA est sensiblement la meme chose.

    Un SCHEMA est l'ensemble logique de tout les objets appartenant au meme USER.

    Cepandant un objet appartient a un propriétaire (OWER), c'est donc l'utilisateur.

    En règle général, un USER a un SCHEMA (qui porte le meme nom), et le SCHEMA contient tout les objets.

    Exemple : Pour supprimer tout les objet d'un schéma, on supprime l'utilisateur !


  10. #10
    Rédacteur

    Homme Profil pro
    Consultant / formateur Oracle et SQL Server
    Inscrit en
    Décembre 2002
    Messages
    3 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant / formateur Oracle et SQL Server

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 460
    Points : 8 077
    Points
    8 077
    Par défaut
    Citation Envoyé par guigui_cwoco
    USER et SCHEMA est sensiblement la meme chose.

    Un SCHEMA est l'ensemble logique de tout les objets appartenant au meme USER.

    Cepandant un objet appartient a un propriétaire (OWER), c'est donc l'utilisateur.

    En règle général, un USER a un SCHEMA (qui porte le meme nom), et le SCHEMA contient tout les objets.

    Exemple : Pour supprimer tout les objet d'un schéma, on supprime l'utilisateur !

    sans ajouter CASCADE, ça ne supprimera rien...

    C'est normal, le boulet est connu pour s'incruster !
    Consultant / formateur Oracle indépendant
    Certifié OCP 12c, 11g, 10g ; sécurité 11g

    Ma dernière formation Oracle 19c publiée sur Linkedin : https://fr.linkedin.com/learning/oracle-19c-l-administration

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Citation Envoyé par Pomalaix
    sans ajouter CASCADE, ça ne supprimera rien...

    C'est normal, le boulet est connu pour s'incruster !

  12. #12
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    le mieux est de ne jamais employer le terme SCHEMA, comme ça on est tranquille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    SQL> select count(*) from dba_users;
      COUNT(*)
    ----------
            18
    SQL> show user
    USER is "SCOTT"
    SQL> select count(*) from dba_schemas;
    select count(*) from dba_schemas
                         *
    ERROR at line 1:
    ORA-00942: table or view does not exist
     
    SQL> show schema
    SP2-0158: unknown SHOW option "schema"
    je suis assez d'ac avec la première réponse de fred

  13. #13
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SQL> create schema authorization "SCOTT";
    Schema created.
    je crois que c'est la seule commande de sql que je connaisse qui ne fasse rien

  14. #14
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut
    elle affiche "Schema created." ça peut être utile

  15. #15
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Points : 14
    Points
    14
    Par défaut Compris
    Je vous remercie pour toutes ces réponses.

  16. #16
    Rédacteur

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 320
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 320
    Points : 3 798
    Points
    3 798
    Par défaut
    Ce matin , par hasard voial ce que je trouve dans :
    $ORACLE_HOME\assistants\ifa\doc\help_fr\ifaasstschema.htm

    Un schéma est un ensemble d'objets, qui sont les structures logiques renvoyant directement aux données de la base. Ces structures peuvent être des tables, des vues, des séquences, des procédures stockées, des synonymes, des index, des clusters et des liens de base de données. A chaque utilisateur de la base de données est associé un schéma de même nom. Par défaut, chaque utilisateur crée tous les objets dans le schéma correspondant et peut y accéder.
    PS : le client est un 8174

  17. #17
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Schema
    Salut à tous; (débute sur l'oracle je suis à l’étape connexion Lol) (SQL > c-Onnect-usystem-poracle) : mrgreen:

    si je résume contrairement a SQL Serveur ici pour créer une nouvelle base de données on crée un schéma et ensuite on lui attribue différents users avec différents niveaux de connexion (Écriture, L’écure ....) Ensuite on se connect avec l'user principal du schéma (superuser du nouveau schéma) pour faire les manipulations souhaitées !

    Merci de votre correction et du reste

  18. #18
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut döbutant!
    schema = user = login

    c'est kif kif bourricot

    la seule commande c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create user u001 identified by pw001
    .

    par contre pour créer la base de donnée, on employe mais j'imagine que pour ceux qui sont plus habitués au mulot qu'au piano, on employe le database creation assistant (dbca)

  19. #19
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 075
    Points
    19 075
    Par défaut Mouais
    En fait la notion de database n'existe pas sous Oracle. Et contrairement à SQL Server, Oracle ne fait pas la différence entre login et user tout simplement parce que la database n'existe pas (dans SQL Server, un user est un login affecté à une ou plusieurs db).
    Quant au schema, c'est la même chose pour Oracle que SQL Server à ceci prêt que la création d'un user crée un schema du même nom et qu'il n'y a pas de schema commun par défaut (le dbo de SQL Server)

    La seule chose à comprendre c'est que le server de SQL Server est la database d'Oracle soit un service Windows, d'ailleurs le server link devient le database link sous Oracle

  20. #20
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Points : 4 926
    Points
    4 926
    Par défaut
    Bon, une base conténaire pour contenir plusieurs base Plugin, mais ça ne fais pas avancer le schmilblik

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/03/2014, 13h25
  2. Différence entre tab.schema tab@schema
    Par Tonii dans le forum SQL
    Réponses: 8
    Dernier message: 05/08/2011, 11h25
  3. Quelle est la différence entre User et Current_user?
    Par kaouane dans le forum Firebird
    Réponses: 5
    Dernier message: 27/12/2010, 19h29
  4. Différence entre DATABASE et SCHEMA
    Par lightstring4 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/12/2009, 11h21
  5. quelle différence entre mondrian et mondrian schema workbench
    Par helene0618 dans le forum Autres outils décisionnels
    Réponses: 3
    Dernier message: 19/03/2009, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo