Banco de dados — Capítulo 2 — SGBD

Vamos ver quem coordena tudo…

Andressa Siqueira
THT Brasil
4 min readAug 23, 2018

--

No capítulo 1 falei rapidamente que os dados são gerenciados pelos SGBD (Sistema Gerenciador de Banco de Dados). Mas o que são eles? Como eles trabalham?

Antes disso, um pouco de história…

Como surgiu os fundamentos de banco de dados?

Alguns dizem que os fundamentos de bancos de dados relacionais surgiram na empresa IBM, nas décadas de 1960 e 1970, através de pesquisas de funções de automação de escritório. [1]

Em 1970 um pesquisador da IBM — Ted Codd — publicou o primeiro artigo sobre bancos de dados relacionais. Este artigo tratava sobre o uso de cálculo e álgebra relacional para permitir que usuários não técnicos armazenassem e recuperassem grande quantidade de informações.[1]

Junto de sua equipe na IBM, Codd criou o System R (Sistema R) que evoluiu para SQL/DS e tornou-se o DB2. A linguagem criada para o System R foi a Structured Query Language (SQL— Linguagem de Consulta Estruturada).

Mesmo a IBM sendo a companhia que inventou o conceito original e o padrão SQL, eles não produziram o primeiro sistema comercial de banco de dados. O feito foi realizado pela Honeywell Information Systems Inc., cujo sistema foi lançado em junho de 1976.[1]

E os SGBD

O SGBD é uma coleção de dados inter-relacionados e um conjunto de programas responsáveis por controlar o acesso aos dados em um banco de dados, suas manipulações também (inserção, deleção e atualização por exemplo), a segurança e integridade do banco. Tudo isso pode ser feita através de uma interface mais amigável para os usuários.

Tipos de SGBDs [2]

Existem vários tipos de SGBDs cada um com seu proposito e particularidade e está ligado diretamente com os modelos de base de dados existentes que comentamos no capítulo 1

  • Relacional — SGBD que exige a criação e manutenção de “esquemas” de tabelas (relações) para poder manipular dados.
  • Objeto-Relacional — É similar a SGBD relacionais, mas com um modelo de banco de dados orientado a objetos.
  • Orientado a Documentos — Nesse modelo, cada registro é por si só um “documento”, que pode ou não possuir todos os campos dos demais registros;
  • Chave-Valor — Normalmente chamado de “Key Value”, nesse banco de dados as operações são quase sempre baseadas em uma determinada chave, que precisa ser única em todo o banco de dados e que identifica um determinado valor, seja ele um objeto, uma string, um inteiro..o que for;
  • Distribuído — SGBDs que suportam trabalhar com mais de uma máquina. Seja replicando, seja dividindo (normalmente chamado de sharding) os dados entre várias máquinas e permitindo que elas sejam consultadas de forma..distribuída, dividindo o processamento da consulta entre várias máquinas;
  • Orientado a Colunas — SGBDs que armazenam os dados como seções de colunas de dados em vez de linhas, como a maioria dos SGBDs relacionais fazem;
  • Em memória — SGBDs que trabalham com dados apenas em memória, não sendo capaz de ler e salvar dados de forma persistente no disco;

Exemplo de SGBD

Existe inumeros SGBD’s no mundo, mas vou falar aqui um pouco de alguns.

Relação dos SGBD mais utilizados no mundo. Retirado de [12]
  • MySQL — Um banco de dados do tipo relacional de código aberto mais conhecido no mundo. Um banco que por ser gratuito é muito utilizado por quem quer aprender a trabalhar com banco de dados. Desenvolvido pela empresa MySQL AB e lançada em maio de 1995 e sendo integrada a Oracle em 2010.
  • MariaDB — Os desenvolvedores originais do MySQL se dividiram e criaram o MariaDB, um SGBD relacional, totalmente desenvolvido em código aberto (software livre e open source), em 2009 sendo considerado um substituto aprimorado para o MySQL.
  • SQL Server — Um SGBD relacional desenvolvido pela Microsoft em parceria com a Sybase em 1988.
  • SQLite — é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido. Programas que usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem executar um processo SGBD separado.
  • PostgreSQL — Desenvolvido pela comunidade e coordenado pelo PostgreSQL Global Development Group, o PostgreSQL é um SGDB objeto-relacional de código aberto sendo sua primeira versão liberada em janeiro de 1997.
  • MongoDB — É um banco de dados de código aberto, gratuito, desenvolvido e lançado em fevereiro de 2009 pela empresa 10gen. Ele é orientado a documentos JSON (armazenados em modo binário, apelidado de JSON), ou seja, é um banco de dados não relacional.
  • Oracle — Um SGBD relacional surgiu no fim dos anos 70 e foi o primeiro BD relacional comercializado no mundo e pode ser instalado em múltiplas plataformas desde 1985
  • Redis — Um banco de dados não relacional, também conhecido por NOSQL (Not Only SQL), que foi criado por Salvatore Sanfiippo e liberado de forma open-source em 2009. Redis significa REmote DIctionary Server e os dados são armazenados na forma de chave-valor, lembrando a estrutura do Dictionary do .net e do Map do Java. [11]
  • Apache Cassandra — Desenvolvido pela Apache Foundation, é distribuído e foi originalmente concebido pela galera do Facebook;

Módulos Componentes de um SGBD [10]

Os principais módulos componentes que integram um SGBD são (Figura 6):

  • Pré Compiladores;
  • Compiladores;
  • Interpretadores;
  • Mecanismo de consultas;
  • Gerenciador de Buffer;
  • Gerenciador de transações;
  • Gerenciador de arquivos.
Esquema do SGBD. Retirado [10]

Continua no próximo capítulo…

--

--

Andressa Siqueira
THT Brasil

Eng. Eletricista com ênfase em Sistemas e Computação pela UERJ e mestre em Sistema e Computação pelo IME. Contato https://www.facebook.com/AndressaSiqueiraBr/