No Oracle, usuários e esquemas são essencialmente a mesma coisa. Você pode considerar que um usuário é a conta que você usa para se conectar a um banco de dados e um esquema é o conjunto de objetos (tabelas, exibições etc.) que pertencem a essa conta.
Você cria usuários com a create userinstrução. Isso também "cria" o esquema (inicialmente vazio) - você não pode criar um esquema como tal, ele está vinculado ao usuário. Uma vez que o usuário é criado, um administrador pode conceder privilégios ao usuário, o que permitirá que ele crie tabelas, execute selectconsultas, inserte tudo mais.
O banco de dados é o que contém todos os usuários que você criou e seus dados (e um monte de usuários de sistema predefinidos, tabelas, visualizações, etc. que fazem tudo funcionar). Você deve consultar a documentação do Oracle Database Architecture no Concepts Guide (na verdade, vale a pena ler toda a página - há uma seção sobre usuários e esquemas mais acima nessa página) para obter uma introdução ao que é um banco de dados e o que é um instância de banco de dados é - dois conceitos importantes.
Você pode criar um banco de dados com a create databaseinstrução, depois de instalar a pilha de software Oracle. Mas usar dbca(assistente de criação de banco de dados) é mais fácil de começar.
Para começar a entender a diferença acho que devemos começar dizendo que essa nomenclatura foi um erro da Oracle.
Eu suponho que se você tem um ERP chamado TRITON você quer que seu banco de dados seja chamado TRITON, ou se minha empresa se chama JENNY EXPORT eu posso decidir que meu banco de dados se chama JENNYEXP ou algo assim, não há necessidade de nenhum usuário com o mesmo nome .
No Oracle, você precisa criar um USER antes de criar as tabelas e, estranhamente, essa coleção de TABLES é chamada de SCHEMA.
Em seguida, você pode criar os usuários reais e conceder as permissões adequadas para trabalhar com esse banco de dados como TRITON, conforme este exemplo, a propósito, se você se conectar através do SQL DEVELOPER, deverá NAME A CONNECTION.
Eu sei que pareço um pouco frustrado, mas faz mais sentido para mim a convenção de nomenclatura do MS SQL SERVER e posso acrescentar que trabalhei com o Oracle antes do SQL SERVER.
De acordo com a maneira como a terminologia é usada às vezes , a USERe a SCHEMAsão um pouco semelhantes. Mas também há uma grande diferença. A USERpode ser chamado de a SCHEMAse o " USER" possuir algum objeto, caso contrário ele permanecerá apenas um " USER". Uma vez que o USERpossui pelo menos um objeto, em virtude de todas as suas definições acima ... o USERagora pode ser chamado de SCHEMA.
A base de dados é uma coleção de dados, onde realmente os dados são armazenados. É um componente de memória física conectado a um computador instalado com software DBMS para manipular os dados nesse componente de memória, o computador instalado com software dbms é chamado de servidor ou servidor de banco de dados. Tanto o servidor (computador) quanto o banco de dados (componente de memória) são diferentes, mas Na maioria das vezes referido como Mesmo com base na situação.
USUÁRIO e ESQUEMA
As duas palavras, usuário e esquema, são intercambiáveis, é por isso que a maioria das pessoas se confunde com essas palavras.
Do utilizador
O usuário é uma conta para conectar o banco de dados (servidor). podemos criar usuário usando CREATE USER IDENTIFIED BY .
Esquema
Na verdade, o Oracle Database contém estrutura lógica e física para processar os dados. O Esquema Também Estrutura Lógica para processar os dados em Banco de Dados(Memory Component). Ele é criado automaticamente pelo Oracle quando o usuário é criado. Ele contém todos os objetos criados pelo usuário associados a esse esquema. Por exemplo, se eu criei um usuário com o nome santhosh, o oracle cria um esquema chamado santhosh, o Oracle armazena todos os objetos criados pelo usuário santhoshno santhoshesquema.
Podemos criar um esquema usando a CREATE SCHEMAinstrução, mas o Oracle cria automaticamente um usuário para esse esquema.
Podemos descartar o esquema usando a DROP SCHEMA <name> RESTRICTinstrução, mas ele não pode excluir objetos contidos no esquema, portanto, para descartar o esquema, ele deve estar vazio. aqui, a palavra restrita força você a especificar esse esquema sem objetos.
Se tentarmos eliminar um usuário contendo objetos em seu esquema, devemos especificar a CASCADEpalavra porque o Oracle não permite que você exclua um usuário contendo objetos.
DROP USER <name> CASCADE
assim, o Oracle exclui os objetos no esquema e, em seguida, descarta o usuário automaticamente. Objetos referidos a esses objetos de esquema de outro esquema, como exibições e sinônimos privados, vão para o estado inválido.
Eu acrescentaria que as declarações acima se aplicam à implementação do Oracle, mas outros bancos de dados, incluindo SQL Server e PostgreSQL, usam o esquema apenas como um namespace, ou seja, uma maneira de agrupar objetos. Por exemplo, o esquema Staging pode agrupar todos os objetos usados nos dados de preparação, o esquema Accounting pode agrupar todos os objetos relacionados à contabilidade.
Do meu ponto de vista alguma confusão em relação aos termos "banco de dados", "esquema" e "usuário" também vem das diferenças entre Microsoft SQL Server e Oracle.
"Dentro" do Oracle a diferença entre esquema e usuário/login não deve ser entendida sem maiores explicações. "Usuário" é uma conta para fazer login no banco de dados (geralmente sem objetos próprios como tabelas ou visualizações), pode ser chamado de "esquema" se "possuir" objetos. Mas isso já foi explicado acima.
No MS SQL Server, o termo "banco de dados" descreve um objeto que é mais comparável com "esquema" no Oracle. Ambos são uma combinação de objetos que são "qualificados" por "database/schemaowner.object", observe o "." como um separador entre a ""combinação"" e o objeto real.
BTW : Observe também o significado diferente de "instância" no Microsoft SQL Server e no Oracle.
Estou lhe dizendo de acordo com conceitos não baseados em nenhum tipo de sistema de gerenciamento de banco de dados que você esteja usando.
Conceitualmente: Banco de dados: é apenas uma pilha de dados, principalmente dados não gerenciados relacionados ou não relacionados .
Esquema: Esquema refere-se à estruturação formal dos dados relacionados/não relacionados não gerenciados para que possam ser gerenciados por algum sistema de gerenciamento que entenda a definição formal fornecida pelo esquema. O esquema é basicamente um esquema para fornecer uma visão geral. Por exemplo, você tem XSD que define o esquema para criar XML. Você tem RDBMS que define seus próprios esquemas que são baseados em Regras Codd que basicamente definem esquemas para criar RDBMS.
Agora se você quiser saber mais sobre é consulte este Link .
O usuário usa a linguagem formal especificada pelo esquema para acessar o banco de dados
No Oracle, usuários e esquemas são essencialmente a mesma coisa. Você pode considerar que um usuário é a conta que você usa para se conectar a um banco de dados e um esquema é o conjunto de objetos (tabelas, exibições etc.) que pertencem a essa conta.
Veja este post sobre Stack Overflow: diferença entre um usuário e um esquema no Oracle? para mais detalhes e links extras.
Você cria usuários com a
create user
instrução. Isso também "cria" o esquema (inicialmente vazio) - você não pode criar um esquema como tal, ele está vinculado ao usuário. Uma vez que o usuário é criado, um administrador pode conceder privilégios ao usuário, o que permitirá que ele crie tabelas, executeselect
consultas,insert
e tudo mais.O banco de dados é o que contém todos os usuários que você criou e seus dados (e um monte de usuários de sistema predefinidos, tabelas, visualizações, etc. que fazem tudo funcionar). Você deve consultar a documentação do Oracle Database Architecture no Concepts Guide (na verdade, vale a pena ler toda a página - há uma seção sobre usuários e esquemas mais acima nessa página) para obter uma introdução ao que é um banco de dados e o que é um instância de banco de dados é - dois conceitos importantes.
Você pode criar um banco de dados com a
create database
instrução, depois de instalar a pilha de software Oracle. Mas usardbca
(assistente de criação de banco de dados) é mais fácil de começar.Para começar a entender a diferença acho que devemos começar dizendo que essa nomenclatura foi um erro da Oracle.
Eu suponho que se você tem um ERP chamado TRITON você quer que seu banco de dados seja chamado TRITON, ou se minha empresa se chama JENNY EXPORT eu posso decidir que meu banco de dados se chama JENNYEXP ou algo assim, não há necessidade de nenhum usuário com o mesmo nome .
No Oracle, você precisa criar um USER antes de criar as tabelas e, estranhamente, essa coleção de TABLES é chamada de SCHEMA.
Em seguida, você pode criar os usuários reais e conceder as permissões adequadas para trabalhar com esse banco de dados como TRITON, conforme este exemplo, a propósito, se você se conectar através do SQL DEVELOPER, deverá NAME A CONNECTION.
Eu sei que pareço um pouco frustrado, mas faz mais sentido para mim a convenção de nomenclatura do MS SQL SERVER e posso acrescentar que trabalhei com o Oracle antes do SQL SERVER.
De acordo com a maneira como a terminologia é usada às vezes , a
USER
e aSCHEMA
são um pouco semelhantes. Mas também há uma grande diferença. AUSER
pode ser chamado de aSCHEMA
se o "USER
" possuir algum objeto, caso contrário ele permanecerá apenas um "USER
". Uma vez que oUSER
possui pelo menos um objeto, em virtude de todas as suas definições acima ... oUSER
agora pode ser chamado deSCHEMA
.Base de dados.
A base de dados é uma coleção de dados, onde realmente os dados são armazenados. É um componente de memória física conectado a um computador instalado com software DBMS para manipular os dados nesse componente de memória, o computador instalado com software dbms é chamado de servidor ou servidor de banco de dados. Tanto o servidor (computador) quanto o banco de dados (componente de memória) são diferentes, mas Na maioria das vezes referido como Mesmo com base na situação.
USUÁRIO e ESQUEMA
As duas palavras, usuário e esquema, são intercambiáveis, é por isso que a maioria das pessoas se confunde com essas palavras.
Do utilizador
O usuário é uma conta para conectar o banco de dados (servidor). podemos criar usuário usando CREATE USER IDENTIFIED BY .
Esquema
Na verdade, o Oracle Database contém estrutura lógica e física para processar os dados. O Esquema Também Estrutura Lógica para processar os dados em Banco de Dados(Memory Component). Ele é criado automaticamente pelo Oracle quando o usuário é criado. Ele contém todos os objetos criados pelo usuário associados a esse esquema. Por exemplo, se eu criei um usuário com o nome
santhosh
, o oracle cria um esquema chamadosanthosh
, o Oracle armazena todos os objetos criados pelo usuáriosanthosh
nosanthosh
esquema.Podemos criar um esquema usando a
CREATE SCHEMA
instrução, mas o Oracle cria automaticamente um usuário para esse esquema.Podemos descartar o esquema usando a
DROP SCHEMA <name> RESTRICT
instrução, mas ele não pode excluir objetos contidos no esquema, portanto, para descartar o esquema, ele deve estar vazio. aqui, a palavra restrita força você a especificar esse esquema sem objetos.Se tentarmos eliminar um usuário contendo objetos em seu esquema, devemos especificar a
CASCADE
palavra porque o Oracle não permite que você exclua um usuário contendo objetos.DROP USER <name> CASCADE
assim, o Oracle exclui os objetos no esquema e, em seguida, descarta o usuário automaticamente. Objetos referidos a esses objetos de esquema de outro esquema, como exibições e sinônimos privados, vão para o estado inválido.
Eu acrescentaria que as declarações acima se aplicam à implementação do Oracle, mas outros bancos de dados, incluindo SQL Server e PostgreSQL, usam o esquema apenas como um namespace, ou seja, uma maneira de agrupar objetos. Por exemplo, o esquema Staging pode agrupar todos os objetos usados nos dados de preparação, o esquema Accounting pode agrupar todos os objetos relacionados à contabilidade.
Do meu ponto de vista alguma confusão em relação aos termos "banco de dados", "esquema" e "usuário" também vem das diferenças entre Microsoft SQL Server e Oracle.
BTW : Observe também o significado diferente de "instância" no Microsoft SQL Server e no Oracle.
User!= Schema , User e Schema não são iguais, mas são usados alternadamente
Estou lhe dizendo de acordo com conceitos não baseados em nenhum tipo de sistema de gerenciamento de banco de dados que você esteja usando.
Conceitualmente: Banco de dados: é apenas uma pilha de dados, principalmente dados não gerenciados relacionados ou não relacionados .
Esquema: Esquema refere-se à estruturação formal dos dados relacionados/não relacionados não gerenciados para que possam ser gerenciados por algum sistema de gerenciamento que entenda a definição formal fornecida pelo esquema. O esquema é basicamente um esquema para fornecer uma visão geral. Por exemplo, você tem XSD que define o esquema para criar XML. Você tem RDBMS que define seus próprios esquemas que são baseados em Regras Codd que basicamente definem esquemas para criar RDBMS.
Agora se você quiser saber mais sobre é consulte este Link .
O usuário usa a linguagem formal especificada pelo esquema para acessar o banco de dados