Um banco de dados relacional organiza os dados em linhas e colunas, que coletivamente formam uma tabela. Os dados geralmente são estruturados em várias tabelas, que podem ser unidas por meio de uma chave primária ou estrangeira. Esses identificadores exclusivos demonstram os diferentes relacionamentos existentes entre as tabelas, e esses relacionamentos geralmente são ilustrados por meio de diferentes tipos de modelos de dados. Os analistas usam consultas SQL para combinar diferentes pontos de dados e resumir o desempenho dos negócios, permitindo que as organizações obtenham insights, otimizem fluxos de trabalho e identifiquem novas oportunidades.
Antes dos bancos de dados relacionais, as empresas usavam um sistema de banco de dados hierГЎrquico com uma estrutura semelhante a uma ГЎrvore para as tabelas de dados. Esses primeiros sistemas de gerenciamento de banco de dados (DBMS) permitiam que os usuГЎrios organizassem grandes quantidades de dados. No entanto, eles eram complexos, geralmente proprietГЎrios de um aplicativo especГfico e limitados nas formas como podiam ser descobertos nos dados. Essas limitações acabaram levando o pesquisador da IBM, Edgar F. Codd, a publicar umВ artigoВ (link reside fora da IBM) (PDF, 1,5 MB) em 1970, intitulado "A Relational Model of Data for Large Shared Data Banks", que teorizou o modelo de banco de dados relacional. Neste modelo proposto, as informações podem ser recuperadas sem conhecimento especializado em informГЎtica. Ele propГґs organizar dados com base em relacionamentos significativos como tuplas ou pares de valor de atributo. Conjuntos de tuplas eram referidos como relações, o que permitia a fusГЈo de dados entre tabelas.
DDL refere-se a um conjunto de comandos utilizados para definir e gerenciar a estrutura dos objetos de um banco de dados, como tabelas, Гndices, visГµes, procedimentos armazenados e outras entidades relacionadas. Alguns exemplos de comandos DDL incluem:
As operações realizadas em bancos de dados relacionais, como leitura e escrita, sГЈo chamadas transações. Elas representam unidades lГіgicas de trabalho que devem ser executadas de forma indivisГvel (nГЈo hГЎ como quebrar em tarefas menores).
Atualmente, a tecnologia autГґnoma estГЎ aproveitando os pontos fortes do modelo relacional, da tecnologia de banco de dados em nuvem e de machine learning para fornecer um novo tipo de banco de dados relacional. O banco de dados independente (tambГ©m conhecido como banco de dados autГґnomo) mantГ©m a eficiГЄncia e as vantagens do modelo relacional, mas usa inteligГЄncia artificial (IA), o machine learning e a automação para monitorar e melhorar o desempenho das consultas e as tarefas de gerenciamento. Por exemplo, para melhorar o desempenho da consulta, o banco de dados independente pode criar hipГіteses e testar Гndices para tornar as consultas mais rГЎpidas e enviar as melhores para a produção, tudo por conta prГіpria. O banco de dados independente faz essas melhorias continuamente, sem a necessidade de envolvimento humano.
Os bancos de dados relacionais projetados na nuvem sГЈo configurados automaticamente para alta disponibilidade, o que significa que os dados sГЈo replicados ou copiados em vГЎrios membros com cada membro localizado em zonas de disponibilidade separadas. Dessa forma, os dados ainda poderГЈo ser acessados, mesmo que um data center individual esteja inoperante.
Comportamento пїЅ implementado em um banco de dados relacional atravпїЅs de stored procedures e/ou stored functions que podem ser invocadas internamente no banco de dados e por aplicaпїЅпїЅes externas. Stored functions e procedures sпїЅo operaпїЅпїЅes que executam no SGBDR, a diferenпїЅa entre elas пїЅ o que a operaпїЅпїЅo pode retornar e se ela pode ser invocada em uma query. As diferenпїЅas nпїЅo sпїЅo importantes para nosso objetivo neste artigo, entпїЅo usaremos o termo stored procedure para se referir a ambas as operaпїЅпїЅes. No passado, stored procedures eram escritas em uma linguagem proprietпїЅria, tal como PL/SQL da Oracle, mas agora Java estпїЅ se tornando rapidamente uma opпїЅпїЅo de linguagem para programaпїЅпїЅo de banco de dados. Uma stored procedure tipicamente executa algum cпїЅdigo SQL, mensagens de dados e entпїЅo aguarda uma resposta na forma de zero ou mais registros, um cпїЅdigo de resposta ou uma mensagem de erro de banco de dados.
Os bancos de dados relacionais tГЄm o que Г© chamado de modo de consistГЄncia ou integridade com base em quatro critГ©rios: atomicidade, consistГЄncia, isolamento e durabilidade (ACID). Este Г© o valor de cada propriedade de banco de dados ACID:
Com o tempo, outra força do modelo relacional surgiu quando os desenvolvedores começaram a usar a linguagem de consulta estruturada (SQL) para criar e consultar dados em um banco de dados. Por muitos anos, a SQL tem sido amplamente utilizada como a linguagem para consultas de banco de dados. Com base na álgebra relacional, a SQL fornece uma linguagem matemática internamente consistente que facilita a melhoria do desempenho de todas as consultas ao banco de dados. Em comparação, outras abordagens devem definir consultas individuais.
Nos primeiros anos de bancos de dados, todos os aplicativos armazenavam dados em sua prГіpria estrutura Гєnica. Quando os desenvolvedores queriam criar aplicativos para usar esses dados, precisavam conhecer muito a estrutura de dados especГfica para encontrar os dados de que precisavam. Essas estruturas de dados eram ineficientes, difГceis de manter e difГceis de otimizar para oferecer um bom desempenho de aplicativos. O modelo de banco de dados relacional foi projetado para resolver o problema de vГЎrias estruturas de dados arbitrГЎrias.
O principal benefГcio da abordagem de banco de dados relacional Г© a capacidade de criar informações significativas juntando as tabelas. Juntar tabelas permite entender as В relaçõesВ entre os dados ou como as tabelas se conectam. O SQL inclui a capacidade de contar, incluir, agrupar e tambГ©m combinar consultas. SQL pode executar matemГЎtica bГЎsica e funções de subtotal e transformações lГіgicas. Os analistas podem ordenar os resultados por data, nome ou qualquer coluna. Esses recursos tornam a abordagem relacional a ferramenta de consulta mais popular nos negГіcios atualmente.
Para os bancos de dados relacionais, temos tambГ©m o conceito de SGBDR (Sistema de Gerenciamento de Banco de Dados Relacional), que Г© um tipo especГfico de SGBD projetado para armazenar, gerenciar e recuperar dados em um formato relacional.
Em 1973, o San Jose Research Laboratory, agora conhecido como Almaden Research Center, iniciou um programa chamado System R (R para relacional) para provar essa teoria relacional com o que chamou de “uma implementação de forГ§a industrial”. Por fim, tornou-se tambГ©m um campo de testes para o SQL, permitindo que ele se tornasse mais amplamente adotado em um curto perГodo de tempo. No entanto, a adoção do SQL pela Oracle tambГ©m nГЈo prejudicou sua popularidade entre os administradores de banco de dados.
A simultaneidade gerencia a atividade quando vГЎrios usuГЎrios ou aplicativos fazem consultas ao mesmo tempo no mesmo banco de dados. Esse recurso fornece o acesso correto a usuГЎrios e aplicativos de acordo com as polГticas definidas para o controle de dados.
Enquanto os bancos de dados relacionais estruturam os dados em um formato tabular, os bancos de dados nГЈo relacionais nГЈo tГЄm um esquema de banco de dados tГЈo rГgido. Na verdade, os bancos de dados nГЈo relacionais organizam os dados de maneira diferente com base no tipo de banco de dados. Independentemente do tipo de banco de dados nГЈo relacional, todos visam resolver os problemas de flexibilidade e escalabilidade inerentes aos modelos relacionais que nГЈo sГЈo ideais para formatos de dados nГЈo estruturados, como texto, vГdeo e imagens. Esses tipos de bancos de dados incluem:
Um modelo de banco de dados relacional normalmente Г© altamente estruturado e compreende a linguagem de programação SQL. Muitos bancos de dados usam um modelo relacional, pois foram projetados para organizar dados e identificar relações entre os principais pontos de dados, facilitando a classificação e a localização de informações. A maioria dos modelos relacionais segue a estrutura de tabela tradicional baseada em coluna e linha, fornecendo uma maneira eficiente, intuitiva e flexГvel de armazenar dados estruturados. O modelo relacional tambГ©m resolve o problema de vГЎrias estruturas de dados arbitrГЎrias em bancos de dados.