BITej
Tutorials

Banco de Dados - Conceitos e Importância

Michel Caesar
#programacao#front-end#back-end

Introdução

É muito difícil, senão impossível, citar quais empresas e profissionais de TI não trabalham com dados nos tempos atuais. Consequentemente, o dia-a-dia de praticamente qualquer pessoa nos dias atuais é impactado direta ou indiretamente por sistemas de banco de dados.

Afinal, o que é banco de dados? O que são sistemas de banco de dados? Entender esses conceitos provavelmente é o primeiro passo para a qualificação de um profissional de TI, este o qual determina se haverá impactos positivos ou negativos para os stakeholders do sistema desenvolvido. Neste artigo, explicaremos o que é um banco de dados e quais os conceitos relacionados. Citamos e exploramos alguns exemplos para que se demonstre a importância.

Para atribuir uma definição adequada primeiro é necessário definir alguns termos de relevância para que se entenda a distinção entre eles:

De modo geral, um banco de dados (BD) pode ser entendido como um conjunto de dados relacionados, sendo uma coleção logicamente coerente de dados com algum significado inerente. Ou seja, se temos um agrupamento de informações relacionadas entre si e com algum interesse em comum, temos um BD.

Um BD representa algum aspecto do mundo real, algumas vezes chamado de “mini-mundo”. Mudanças no mini-mundo provocam mudanças na base de dados. Ao projetar um BD, é necessário descrever formalmente a sua estrutura. A forma mais conhecida de fazer isso é baseando-se na arquitetura “Three-schema”, proposta por Tsichritzis & Klug em 1978. O BD é separado nos modelos externo, lógico e interno, descritos brevemente abaixo.

Um BD está sempre associado a aplicações e a usuários que têm interesse nele, então por exemplo: no contexto de uma universidade a relação entre alunos, professores, disciplinas, turmas, salas, cursos, departamentos, centros e funcionários seria útil para diferentes propósitos, como mostrado na imagem abaixo.

                              Representação de um Banco de Dados.

Se tratando de aplicações simples, um BD pode ser acessado e manipulado de maneiras simples, como em um sistema de arquivos. Todavia, na grande maioria dos sistemas desenvolvidos, são necessários diversos recursos para evitar problemas, como por exemplo: o acesso multi-usuário, o controle de redundância e a representação de relacionamentos complexos. Estes recursos existem em um software Sistema Gerenciador de Banco de Dados, o qual exploraremos logo a seguir.

Sistema Gerenciador de Banco de Dados (SGBD)

Definições e exemplos

Um Sistema Gerenciador de Banco de Dados (SGBD) pode ser entendido como uma coleção de programas que permitem ao usuário criar e manipular um banco de dados, facilitando o processo de definir, construir e manipular bancos de dados de diversas aplicações.

Um SGBD possui muitas capacidades úteis e amplamente aproveitadas, como o controle de redundância de dados, a restrição de acesso multi-usuário, a representação de relações complexas, o reforço às restrições de integridade e também a possibilidade de fazer backup e restauração.

Os dois principais modelos de SGBD são: relacionais e não relacionais. No geral tendo como principal diferença a estrutura utilizada, tais modelos podem ser descritos da seguinte forma:

Logo a seguir, exploraremos brevemente o PostgreSQL, um exemplo ideal para observar as características comuns aos SGBDs relacionais.

PostgreSQL – O SGBD mais utilizado na BIT

Sendo um SGBD relacional amplamente estabelecido e usado no mercado de trabalho para diversas finalidades devido a sua robustez, confiabilidade e performance, o PostgreSQL é um software livre com mais de 35 anos de desenvolvimento. Algumas de suas principais características são descritas a seguir.

Tipos de dados

Além dos tipos primitivos, como inteiros, strings. numéricos e booleanos, uma ampla variedade de tipos é suportada, incluindo tipos estruturados (como date/time e UUID), tipos geométricos (como ponto, linha, círculo, polígono), tipos de documento (como JSON, XML) e até mesmo tipos customizados.

Restrição de integridade

É possível estabelecer restrições básicas, como:

Segurança

Tendo um sistema robusto de acesso e controle, o PostgreSQL trabalha com conceitos de atomicidade, integridade, consistência, multiusuário e controle de concorrência, além de oferecer recursos avançados de segurança, como criptografia de dados, certificados SSL e métodos avançados de autenticação.

Compatibilidade

O SGBD é compatível com todos os principais sistemas operacionais, incluindo Windows, Linux e MacOS.

Desempenho

O PostgreSQL pode gerenciar uma grande quantidade de dados e usuários simultâneos, tendo como ponto forte a escalabilidade.

Extensibilidade

Os usuários podem adicionar novos tipos de dados, operadores, tipos de índices e até mesmo linguagens de procedimento. Essa flexibilidade permite que o PostgreSQL seja personalizado para atender às necessidades específicas dos aplicativos.

Documentação e suporte

Existe uma comunidade ativa de código aberto que melhora e atualiza continuamente o sistema. Além disso, a grande quantidade de usuários favorece a disponibilidade de materiais na internet para instalação, configuração, uso e resolução de problemas.

Empresas como Apple, Twitch, Skype e Uber já usaram o PostgreSQL em seus sistemas. Além disso, na BIT-EJ utilizamos o PostgreSQL como principal SGBD para o desenvolvimento de sistemas e prestações de serviços.

Sistemas de Banco de Dados

         Ilustração de um SBD (O.K. Takai et. al., 2005)

Sendo composto por programas de aplicações, SGBD e BD, um Sistema de Banco de Dados (SBD) é uma forma adequada de representar boa parte dos sistemas desenvolvidos atualmente. Um SBD geralmente tem diversos tipos de usuários, que podem ser divididos em 4 tipos principais, sendo estes:

Existem diversos exemplos de aplicações que compõem um SBD: o serviço de streaming Netflix, o aplicativo Uber e o Youtube. O que todos esses serviços e muitos outros têm em comum é que eles lidam com imensas quantidades de dados, e dependem essencialmente de um SBD para permitir que muitos usuários de diversos tipos possam interagir simultaneamente com o serviço.

Outra vantagem característica de um SBD é que não há dependência entre dados e programas: o usuário não precisa se preocupar com os detalhes internos ou com a estratégia de armazenamento, pois apenas basta que seus dados estejam armazenados de forma segura e íntegra em algum lugar. Portanto, na ausência de um SBD os custos seriam muito maiores, pois haveria diversos problemas como menor desempenho, menor segurança, maior redundância de dados e maior dificuldade para fazer manutenção.

Referências

Sistemas de Banco de Dados. (Cap. 1) Abraham Silberchatz, Henry F. Korth e S. Sudarshan. 5ª Edição. Ed. Campus, 2006.

Introdução a Banco de Dados (Apostila), (Cap. 1-3). Osvaldo Kotaro Takai, Isabel Cristina Italiano, João Eduardo Ferreira. DCC-IME-USP, 2005.

Aspectos Básicos de Banco de Dados (Apostila). Rogério Gonçalves Bittencourt. Florianópolis, 2004.

Projeto de Banco de Dados. Carlos Alberto Heuser. Volume 4 da Série Livros didáticos informática UFRGS, Porto Alegre, 2009.

GOOGLE CLOUD. PostgreSQL x SQL Server: quais são as principais diferenças? Google, [202-?]. Disponível em: https://cloud.google.com/learn/postgresql-vs-sql?hl=pt-BR.

MICROSOFT. O que é PostgreSQL? Microsoft, [202-?]. Disponível em: https://azure.microsoft.com/pt-br/resources/cloud-computing-dictionary/what-is-postgresql.

ADAPTIVE. Sistema PostgreSQL: o que é e como ele pode tornar os processos das empresas mais eficientes. Adaptive, [202-?]. Disponível em: https://adaptive.com.br/blog/sistema-postgresql-o-que-e-e-como-ele-pode-tornar-os-processos-das-empresas-mais-eficientes/#.

LEYENDECKER, Davi. Os três níveis da modelagem de dados: conceitual, lógico e físico. DIO, 2023. Disponível em: https://www.dio.me/articles/os-tres-niveis-da-modelagem-de-dados-conceitual-logico-e-fisico

The PostgreSQL Global Development Group. PostgreSQL: The World’s Most Advanced Open Source Relational Database. PostgreSQL, 2024. Disponível em: https://www.postgresql.org/.

RICARDO. Conceitos Fundamentais de Banco de Dados. DevMedia, 2006. Disponível em: https://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-dados/1649.

← Back to Blog