Estou realmente 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 são iguais então, quais são as semelhanças entre eles? Como os usamos? E como os criamos?
Estou realmente 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 são iguais então, quais são as semelhanças entre eles? Como os usamos? E como os criamos?
Respostas:
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, visualizações etc.) que pertencem a essa conta.
Veja esta publicação no 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. Depois que o usuário é criado, um administrador pode conceder privilégios ao usuário, o que permitirá criar tabelas, executar select
consultas insert
e tudo mais.
O banco de dados é o que contém todos os usuários que você criou e seus dados (e vários usuários, tabelas, visualizações etc. do sistema predefinidos que fazem com que tudo funcione). Você deve consultar a documentação da Arquitetura de banco de dados Oracle no Guia de conceitos (na verdade, toda a página vale a pena ler - há uma seção sobre usuários e esquemas mais altos nessa página) para obter uma introdução ao que é um banco de dados e o que 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 o uso dbca
(assistente de criação de banco de dados) é mais fácil de começar.
De acordo com a maneira como a terminologia é usada algumas vezes , a USER
e a SCHEMA
são um pouco semelhantes. Mas há também uma grande diferença. A USER
pode ser chamado a SCHEMA
se o " USER
" possuir qualquer objeto, caso contrário ele permanecerá apenas " USER
". Uma vez que USER
possui pelo menos um objeto, em virtude de todas as suas definições acima ... USER
agora pode ser chamado de SCHEMA
.
Para começar a entender a diferença, acho que devemos começar dizendo que essa nomenclatura foi um erro da Oracle.
Suponho que, se você tem um ERP chamado TRITON, deseja que seu banco de dados seja denominado TRITON, ou se minha empresa se chama JENNY EXPORT, posso decidir que meu banco de dados seja JENNYEXP ou algo parecido, não há necessidade de qualquer usuário com o mesmo nome .
No Oracle, você precisa criar um USER antes de criar as tabelas e, por estranho que pareça, essa coleção de TABLES é chamada SCHEMA.
Em seguida, você pode criar os usuários reais e conceder permissões adequadas para trabalhar com um banco de dados como TRITON, como neste exemplo, a propósito, se você se conectar através do SQL DEVELOPER, deverá NOMEAR UMA CONEXÃO.
Sei que pareço meio 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.
A base de dados é uma coleção de dados, na qual os dados são realmente armazenados. É um componente de memória físico conectado a um computador instalado com o software DBMS para manipular os dados nesse componente de memória; o computador instalado com o software dbms é chamado de servidor ou servidor de banco de dados. O servidor (computador) e o banco de dados (componente de memória) são diferentes, mas Na maioria das vezes referido como Mesmo com base na situação.
As duas palavras, usuário e esquema, são intercambiáveis, é por isso que a maioria das pessoas se confunde com essas palavras.
Usuário é uma conta para conectar o banco de dados (servidor). podemos criar usuários usando CREATE USER IDENTIFIED BY.
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 no banco de dados (componente de memória). Ele é criado automaticamente pelo Oracle quando o usuário é criado. Ele contém todos os objetos criados pelo usuário associado 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 santhosh
no santhosh
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 restringir obriga a especificar esse esquema sem objetos.
Se tentarmos eliminar um usuário que contém objetos em seu esquema, devemos especificar o CASCADE
word, porque o Oracle não permite excluir um usuário que contém objetos.
DROP USER <name> CASCADE
portanto, o Oracle exclui os objetos no esquema e, em seguida, exclui o usuário automaticamente. Os objetos referidos a esses objetos de esquema de outros esquemas, como visualizações e sinônimos particulares, passam para o estado inválido.
Eu acrescentaria que as instruções acima se aplicam à implementação da Oracle, mas outros bancos de dados, incluindo o SQL Server e o PostgreSQL, usam o esquema apenas como um espaço para nome, ou seja, uma maneira de agrupar objetos. Por exemplo, o esquema temporário pode agrupar todos os objetos usados nos dados temporários, o esquema contábil pode agrupar todos os objetos relacionados à contabilidade.
Estou lhe dizendo de acordo com conceitos que não se baseiam em nenhum tipo de sistema de gerenciamento de banco de dados que você está 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 não gerenciados relacionados / não relacionados, para que possam ser gerenciados por algum sistema de gerenciamento que compreenda a definição formal fornecida pelo esquema. Esquema é basicamente um esquema para fornecer uma visão geral. Por exemplo, você tem um XSD que define o esquema para criar XML. Você possui RDBMS, que define seus próprios esquemas, baseados nas Regras do Codd, que basicamente definem esquemas para criar RDBMS.
Agora, se você quiser saber mais, consulte este link .
O usuário usa a linguagem formal especificada pelo esquema para acessar o banco de dados