18/06/2018

Diferença entre banco de dados, instância, schema, tablespaces e etc.

Vamos a um pouco de teoria de banco de dados. Tenho certeza que será muito útil para os universitários. :)

Banco de dados:

Banco de dados (ou base de dados), é um conjunto de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim.

Um banco de dados é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD) – um exemplo é o Oracle, mysql, SQL Server, POSTGRE. Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou estendida. Muitas vezes o termo banco de dados é usado, de forma errônea, como sinônimo de SGDB.

O modelo de dados mais adotado hoje em dia é o modelo relacional, onde as estruturas têm a forma de tabelas, compostas por tuplas (linhas) e colunas.

Instâncias:

Os principais componentes de um típico servidor comercial são uma ou mais CPU’s, espaço em discos e memória. Enquanto o banco de dados Oracle é armazenado em um disco do servidor, uma instância Oracle existe na memória do servidor. Uma instância Oracle é composta de um grande bloco de memória alocado em uma área chamada System Global Area (SGA), juntamente com alguns processos em segundo plano que interagem entre SGA e os arquivos de banco de dados no disco.
Resumindo na linguagem do Oracle podemos definir que uma instância Oracle é a combinação da memória e dos processos que são parte de uma instalação em funcionamento e/ou a instância é usada para a gerência e acesso ao banco de dados.

Schema:

Um schema é representado por uma coleção de vários objetos de um ou mais usuário de banco de dados como exemplo: tabelas, seqüências, índices, etc. São associados a um banco de dados na razão de vários esquemas para um BD.

Tablespace e Datafile:

Um banco de dados é armazenado logicamente em uma ou mais tablespaces que, por sua vez, é armazenada fisicamente no disco em um ou mais arquivos para cada tablespace.

Extensões:

A Extensão (extent) é o próximo nível de agrupamento lógico no banco de dados – existente em apenas um datafile. Uma extent consiste em uma ou mais blocos de banco de dados. Quando um objetivo de banco de dados é expandido, o espaço adicionado ao objetivo é alocado como uma extensão.

Tabelas (tables):

Imaginamos um documento do excel, onde temos vários colunas e linhas, nela temos vários informações de cliente, com nomes, telefones, endereços, CPF e entre outros. O documento do Excel é uma Tabela. Uma explicação do Livro: O manual do DBA (Kevin and Loney) – Uma tabela é a unidade básica de armazenamento em um banco de dados. Sem tabelas, um banco de dados não tem valor para uma empresa. Independente do tipo de tabela, os dados em uma tabela são armazenados em linhas e colunas, de maneira semelhante ao Excel da Microsoft.

Tabela relacional:

O modelo relacional é um modelo de dados, adequado a ser o modelo subjacente de um Sistema Gerenciador de Banco de Dados (SGBD), que se baseia no princípio em que todos os dados estão guardados em tabelas (ou, matematicamente falando, relações). Toda sua definição é teórica e baseada na lógica de predicados e na teoria dos conjuntos.

O Oracle suporta modelos relacionais e modelos relacionais de objeto.

Referências:
http://pt.wikipedia.org
http://www.kich.com.br
Livros: Oracle 10g – O manual do DBA (Kevin Loney e Bob Bryla) e Banco de dados Oracle 10g: Fundamentos de SQL I

Nenhum comentário:

Post de destaque

SQL - Comando UPDATE

O comando UPDATE é utilizado para atualizar os dados de uma tabela, podendo utilizar condições para a alteração de apenas alguns conteúdos o...