Esta é provavelmente uma pergunta n00blike (ou pior). Mas eu sempre vi um esquema como uma definição de tabela em um banco de dados. Isso está errado ou não está totalmente correto. Não me lembro muito dos meus cursos de banco de dados.
database
schema
definition
database-table
anbanm
fonte
fonte
Respostas:
esquema : banco de dados : tabela :: planta do piso : casa : sala
fonte
Um esquema de relação é a definição lógica de uma tabela - define qual é o nome da tabela e qual é o nome e o tipo de cada coluna. É como um plano ou uma planta. Um esquema de banco de dados é a coleção de esquemas de relação para um banco de dados inteiro.
Uma tabela é uma estrutura com várias linhas (também conhecidas como "tuplas"), cada uma das quais com os atributos definidos pelo esquema. As tabelas também podem ter índices nelas para ajudar a procurar valores em determinadas colunas.
Um banco de dados é, formalmente, qualquer coleção de dados. Nesse contexto, o banco de dados seria uma coleção de tabelas. Um DBMS (Sistema de Gerenciamento de Banco de Dados) é o software (como MySQL, SQL Server, Oracle, etc) que gerencia e executa um banco de dados.
fonte
Em resumo, um esquema é a definição para todo o banco de dados, portanto inclui tabelas, visualizações, procedimentos armazenados, índices, chaves primárias e estrangeiras, etc.
fonte
Foi demonstrado que essa postagem específica se relaciona apenas ao Oracle e a definição de Esquema muda quando no contexto de outro banco de dados.
Provavelmente é o tipo de coisa que basta pesquisar no Google, mas os termos da FYI parecem variar em suas definições, o que é a coisa mais irritante :)
No Oracle, um banco de dados é um banco de dados. Na sua cabeça, pense nisso como os arquivos de dados e os logs de refazer e a presença física real no disco do próprio banco de dados (ou seja, não a instância)
Um esquema é efetivamente um usuário. Mais especificamente, é um conjunto de tabelas / procs / índices etc pertencentes a um usuário. Outro usuário tem um esquema diferente (tabelas de sua propriedade), no entanto, o usuário também pode ver os esquemas nos quais possui privilégios de seleção. Portanto, um banco de dados pode consistir em centenas de esquemas e cada esquema em centenas de tabelas. Você pode ter tabelas com o mesmo nome em esquemas diferentes, que estão no mesmo banco de dados.
Uma tabela é uma tabela, um conjunto de linhas e colunas contendo dados e está contida nos esquemas.
As definições podem ser diferentes no SQL Server, por exemplo. Eu não estou ciente disso.
fonte
O esquema se comporta como um objeto pai, como visto no mundo OOP. portanto, não é um banco de dados em si. talvez esse link seja útil.
Mas, no MySQL, os dois são equivalentes. A palavra-chave DATABASE ou DATABASES pode ser substituída por SCHEMA ou SCHEMAS onde quer que apareça. Exemplos:
Documentação do MySQL
Os termos do ESQUEMA & DATABASE são dependentes do DBMS.
Uma tabela é um conjunto de elementos de dados (valores) organizados usando um modelo de colunas verticais (identificadas pelo nome) e linhas horizontais. Um banco de dados contém uma ou mais tabelas (geralmente) . E você armazena seus dados nessas tabelas. As tabelas podem estar relacionadas umas com as outras ( veja aqui ).
fonte
Mais sobre esquemas:
No SQL 2005, um esquema é uma maneira de agrupar objetos. É um contêiner no qual você pode colocar objetos. As pessoas podem possuir esse objeto. Você pode conceder direitos no esquema.
Em 2000, um esquema era equivalente a um usuário. Agora ele foi liberado e é bastante útil. Você pode lançar todos os seus processos de usuário em um determinado esquema e os processos de administrador em outro. Conceda EXECUTE ao usuário / função apropriado e você concederá EXECUTE a procedimentos específicos. Agradável.
A notação de ponto seria assim:
Server.Database.Schema.Object
ou
myserver01.Adventureworks.Accounting.Beans
fonte
A
Schema
é uma coleção de objetos de banco de dados que também inclui estruturas lógicas. Tem o nome do usuário que o possui. Adatabase
pode ter qualquer número de esquemas. Uma tabela de um banco de dados pode aparecer em dois esquemas diferentes com o mesmo nome. Um usuário pode visualizar qualquer esquema ao qual foi atribuído o privilégio de seleção.fonte
Como MusiGenesis colocou tão bem, na maioria dos bancos de dados:
Mas, no Oracle, pode ser mais fácil pensar em:
esquema: banco de dados: tabela :: proprietário: casa: sala
fonte
Ao contrário de algumas das respostas acima, aqui está o meu entendimento com base na experiência de cada uma delas:
database/schema :: table
database :: (schema/namespace ::) table
database/schema/user :: (tablespace ::) table
Corrija-me se o espaço de tabela é opcional ou não com o Oracle, já faz muito tempo desde que me lembro de usá-los.
fonte
No oracle, o esquema é um usuário em um banco de dados; por exemplo, scott é um esquema no banco de dados orcl. Em um banco de dados, podemos ter muitos esquemas como scott
fonte
Um banco de dados contém um ou mais esquemas nomeados, que por sua vez contêm tabelas. Os esquemas também contêm outros tipos de objetos nomeados, incluindo tipos de dados, funções e operadores. O mesmo nome de objeto pode ser usado em esquemas diferentes sem conflito; por exemplo, o schema1 e o myschema podem conter tabelas denominadas mytable. Diferentemente dos bancos de dados, os esquemas não são rigidamente separados: um usuário pode acessar objetos em qualquer esquema do banco de dados ao qual está conectado, se tiver privilégios para fazê-lo.
Há várias razões pelas quais alguém pode querer usar esquemas:
Permitir que muitos usuários usem um banco de dados sem interferir entre si.
Organizar objetos de banco de dados em grupos lógicos para torná-los mais gerenciáveis.
Aplicativos de terceiros podem ser colocados em esquemas separados para que não colidam com os nomes de outros objetos.
Os esquemas são análogos aos diretórios no nível do sistema operacional, exceto que os esquemas não podem ser aninhados.
Documentação oficial pode ser referido https://www.postgresql.org/docs/9.1/ddl-schemas.html
fonte
Esquemas contém bancos de dados.
Os bancos de dados fazem parte de um esquema.
Então, esquemas> bancos de dados.
Esquemas contém visualizações, procedimento (s) armazenado (s), banco (s) de dados, gatilho (s) etc.
fonte
Um esquema não é um plano para todo o banco de dados. É um plano / contêiner para um subconjunto de objetos (ex.tables) dentro de um banco de dados.
Isso significa que você pode ter vários objetos (por exemplo, tabelas) dentro de um banco de dados que não se enquadram necessariamente na mesma categoria funcional. Assim, você pode agrupá-los em vários esquemas e conceder permissões de acesso de usuário diferentes.
Dito isto, não tenho certeza se você pode ter uma tabela em vários esquemas. A interface do usuário do Management Studio fornece uma lista suspensa para atribuir um esquema a uma tabela e, portanto, possibilitar a escolha de apenas um esquema. Eu acho que se você fizer isso com o TSQL, ele poderá criar 2 (ou vários) objetos diferentes com diferentes IDs de objeto.
fonte
Um esquema de banco de dados é uma maneira de agrupar logicamente objetos como tabelas, visualizações, procedimentos armazenados etc. Pense em um esquema como um contêiner de objetos. E tabelas são coleções de linhas e colunas. combinação de todas as tabelas faz um db.
fonte