AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 37012
Accepted
Ravi
Ravi
Asked: 2013-03-20 06:21:36 +0800 CST2013-03-20 06:21:36 +0800 CST 2013-03-20 06:21:36 +0800 CST

Diferença entre banco de dados vs usuário vs esquema

  • 772

Estou muito confuso com os termos banco de dados, usuário e esquema. Alguém pode explicar como eles são diferentes um do outro (se são)?

Se eles são iguais, então, quais são as semelhanças entre eles? Como os usamos? E como os criamos?

oracle schema
  • 8 8 respostas
  • 264469 Views

8 respostas

  • Voted
  1. Best Answer
    Mat
    2013-03-20T07:01:59+08:002013-03-20T07:01:59+08:00

    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 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.

    • 103
  2. Glauco Guerrero
    2019-02-16T07:59:11+08:002019-02-16T07:59:11+08:00

    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.

    • 7
  3. JOHNNIE
    2015-09-11T06:50:44+08:002015-09-11T06:50:44+08:00

    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.

    • 4
  4. SanthoshReddy
    2016-11-07T23:37:15+08:002016-11-07T23:37:15+08:00

    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 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.

    • 4
  5. user3869678
    2015-11-23T13:43:43+08:002015-11-23T13:43:43+08:00

    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.

    • -1
  6. Jo.B.
    2019-11-05T01:35:48+08:002019-11-05T01:35:48+08:00

    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.

    1. "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.
    2. 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.

    • -1
  7. user24990
    2013-06-15T14:19:56+08:002013-06-15T14:19:56+08:00

    User!= Schema , User e Schema não são iguais, mas são usados ​​alternadamente

    • -3
  8. Ajay Bhojak
    2013-08-02T05:00:56+08:002013-08-02T05:00:56+08:00

    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

    • -4

relate perguntas

  • Backups de banco de dados no Oracle - Exportar o banco de dados ou usar outras ferramentas?

  • ORDER BY usando prioridades personalizadas para colunas de texto

  • Interface sqlplus confortável? [fechado]

  • Como encontrar as instruções SQL mais recentes no banco de dados?

  • Como posso consultar nomes usando expressões regulares?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Conceder acesso a todas as tabelas para um usuário

    • 5 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve