DBMS Distribuído - Conceitos

Para o funcionamento adequado de qualquer organização, é necessário um banco de dados bem mantido. No passado recente, os bancos de dados costumavam ser centralizados por natureza. No entanto, com o aumento da globalização, as organizações tendem a se diversificar em todo o globo. Eles podem escolher distribuir dados em servidores locais em vez de em um banco de dados central. Assim, chegou o conceito deDistributed Databases.

Este capítulo oferece uma visão geral dos bancos de dados e sistemas de gerenciamento de banco de dados (DBMS). Um banco de dados é uma coleção ordenada de dados relacionados. Um DBMS é um pacote de software para trabalhar em um banco de dados. Um estudo detalhado de DBMS está disponível em nosso tutorial denominado “Aprenda DBMS”. Neste capítulo, revisamos os principais conceitos para que o estudo do DDBMS seja feito com facilidade. Os três tópicos abordados são esquemas de banco de dados, tipos de bancos de dados e operações em bancos de dados.

Banco de dados e sistema de gerenciamento de banco de dados

UMA databaseé uma coleção ordenada de dados relacionados que são construídos para um propósito específico. Um banco de dados pode ser organizado como uma coleção de várias tabelas, em que uma tabela representa um elemento ou entidade do mundo real. Cada tabela possui vários campos diferentes que representam os recursos característicos da entidade.

Por exemplo, um banco de dados de uma empresa pode incluir tabelas para projetos, funcionários, departamentos, produtos e registros financeiros. Os campos da tabela Employee podem ser Name, Company_Id, Date_of_Joining e assim por diante.

UMA database management systemé uma coleção de programas que permite a criação e manutenção de um banco de dados. O DBMS está disponível como um pacote de software que facilita a definição, construção, manipulação e compartilhamento de dados em um banco de dados. A definição de um banco de dados inclui a descrição da estrutura de um banco de dados. A construção de um banco de dados envolve o armazenamento real dos dados em qualquer meio de armazenamento. Manipulação refere-se à recuperação de informações do banco de dados, atualização do banco de dados e geração de relatórios. O compartilhamento de dados facilita o acesso aos dados por diferentes usuários ou programas.

Exemplos de áreas de aplicação de DBMS

  • Caixa eletrônico
  • Sistema de reserva de trem
  • Sistema de Gestão de Funcionários
  • Sistema de Informação do Aluno

Exemplos de Pacotes DBMS

  • MySQL
  • Oracle
  • servidor SQL
  • dBASE
  • FoxPro
  • PostgreSQL, etc.

Esquemas de banco de dados

Um esquema de banco de dados é uma descrição do banco de dados que é especificado durante o projeto do banco de dados e sujeito a alterações pouco frequentes. Ele define a organização dos dados, os relacionamentos entre eles e as restrições associadas a eles.

Os bancos de dados são frequentemente representados por meio do three-schema architecture ou ANSISPARC architecture. O objetivo dessa arquitetura é separar o aplicativo do usuário do banco de dados físico. Os três níveis são -

  • Internal Level having Internal Schema - Descreve a estrutura física, detalhes de armazenamento interno e caminhos de acesso ao banco de dados.

  • Conceptual Level having Conceptual Schema- Descreve a estrutura de todo o banco de dados enquanto oculta os detalhes do armazenamento físico dos dados. Isso ilustra as entidades, atributos com seus tipos de dados e restrições, operações e relacionamentos do usuário.

  • External or View Level having External Schemas or Views - Descreve a parte de um banco de dados relevante para um determinado usuário ou grupo de usuários enquanto oculta o resto do banco de dados.

Tipos de DBMS

Existem quatro tipos de DBMS.

DBMS hierárquico

No SGBD hierárquico, os relacionamentos entre os dados no banco de dados são estabelecidos de forma que um elemento de dados exista como subordinado de outro. Os elementos de dados têm relacionamentos pai-filho e são modelados usando a estrutura de dados “árvore”. Estes são muito rápidos e simples.

DBMS de rede

SGBD de rede em um onde os relacionamentos entre os dados no banco de dados são do tipo muitos para muitos na forma de uma rede. A estrutura é geralmente complicada devido à existência de vários relacionamentos muitos-para-muitos. O SGBD de rede é modelado usando uma estrutura de dados “gráfica”.

DBMS Relacional

Em bancos de dados relacionais, o banco de dados é representado na forma de relações. Cada relação modela uma entidade e é representada como uma tabela de valores. Na relação ou tabela, uma linha é chamada de tupla e denota um único registro. Uma coluna é chamada de campo ou atributo e denota uma propriedade característica da entidade. RDBMS é o sistema de gerenciamento de banco de dados mais popular.

Por exemplo - uma relação de estudante -

SGBD Orientado a Objetos

SGBD orientado a objetos é derivado do modelo do paradigma de programação orientado a objetos. Eles são úteis para representar tanto dados consistentes como armazenados em bancos de dados, quanto dados transitórios, conforme encontrados em programas em execução. Eles usam pequenos elementos reutilizáveis ​​chamados objetos. Cada objeto contém uma parte de dados e um conjunto de operações que funcionam sobre os dados. O objeto e seus atributos são acessados ​​por meio de ponteiros em vez de serem armazenados em modelos de tabelas relacionais.

Por exemplo - Um banco de dados orientado a objetos de conta bancária simplificado -

DBMS Distribuído

Um banco de dados distribuído é um conjunto de bancos de dados interconectados que são distribuídos pela rede de computadores ou Internet. Um Sistema de Gerenciamento de Banco de Dados Distribuído (DDBMS) gerencia o banco de dados distribuído e fornece mecanismos para torná-los transparentes para os usuários. Nesses sistemas, os dados são distribuídos intencionalmente entre vários nós para que todos os recursos de computação da organização possam ser usados ​​de forma otimizada.

Operações em DBMS

As quatro operações básicas em um banco de dados são Criar, Recuperar, Atualizar e Excluir.

  • CREATE estrutura de banco de dados e preenchê-la com dados - A criação de uma relação de banco de dados envolve a especificação das estruturas de dados, tipos de dados e as restrições dos dados a serem armazenados.

    Example - Comando SQL para criar uma tabela de alunos -

CREATE TABLE STUDENT ( 
   ROLL INTEGER PRIMARY KEY, 
   NAME VARCHAR2(25), 
   YEAR INTEGER, 
   STREAM VARCHAR2(10) 
);
  • Uma vez que o formato dos dados é definido, os dados reais são armazenados de acordo com o formato em algum meio de armazenamento.

    Example Comando SQL para inserir uma única tupla na tabela do aluno -

INSERT INTO STUDENT ( ROLL, NAME, YEAR, STREAM) 
VALUES ( 1, 'ANKIT JHA', 1, 'COMPUTER SCIENCE');
  • RETRIEVEinformações do banco de dados - a recuperação de informações geralmente envolve a seleção de um subconjunto de uma tabela ou a exibição de dados da tabela após alguns cálculos terem sido feitos. Isso é feito consultando a tabela.

    Example - Para recuperar os nomes de todos os alunos do fluxo de Ciência da Computação, a seguinte consulta SQL precisa ser executada -

SELECT NAME FROM STUDENT 
WHERE STREAM = 'COMPUTER SCIENCE';
  • UPDATE informações armazenadas e modificam a estrutura do banco de dados - Atualizar uma tabela envolve alterar valores antigos nas linhas da tabela existente com novos valores.

    Example - Comando SQL para mudar o fluxo de Eletrônicos para Eletrônicos e Comunicações -

UPDATE STUDENT 
SET STREAM = 'ELECTRONICS AND COMMUNICATIONS' 
WHERE STREAM = 'ELECTRONICS';
  • Modificar o banco de dados significa mudar a estrutura da tabela. No entanto, a modificação da tabela está sujeita a uma série de restrições.

    Example - Para adicionar um novo campo ou coluna, digamos endereço à tabela do Aluno, usamos o seguinte comando SQL -

ALTER TABLE STUDENT 
ADD ( ADDRESS VARCHAR2(50) );
  • DELETE informações armazenadas ou excluir uma tabela como um todo - a exclusão de informações específicas envolve a remoção de linhas selecionadas da tabela que satisfazem certas condições.

    Example- Para deletar todos os alunos que estão no ano atualmente quando estão desmaiando, usamos o comando SQL -

DELETE FROM STUDENT 
WHERE YEAR = 4;
  • Como alternativa, toda a tabela pode ser removida do banco de dados.

    Example - Para remover a tabela do aluno completamente, o comando SQL usado é -

DROP TABLE STUDENT;