Modelo de dados relacional em SGBD: Concepts & Exemplo
โก Resumo Inteligente
O modelo relacional representa um banco de dados como uma coleรงรฃo de relaรงรตes, onde cada relaรงรฃo รฉ uma tabela de linhas e colunas. Ele define conceitos fundamentais, restriรงรตes de integridade e operaรงรตes de atualizaรงรฃo que mantรชm os dados relacionais consistentes e fรกceis de consultar.

O que รฉ o modelo relacional?
Modelo Relacional (RM) representa o banco de dados como uma coleรงรฃo de relaรงรตes. Uma relaรงรฃo nada mais รฉ do que uma tabela de valores. Cada linha da tabela representa uma coleรงรฃo de valores de dados relacionados. Essas linhas da tabela denotam uma entidade ou relacionamento do mundo real.
O nome da tabela e os nomes das colunas ajudam a interpretar o significado dos valores em cada linha. Os dados sรฃo representados como um conjunto de relaรงรตes. No modelo relacional, os dados sรฃo armazenados como tabelas. No entanto, o armazenamento fรญsico dos dados รฉ independente da forma como os dados estรฃo organizados logicamente.
O modelo foi proposto por E.F. Codd em 1970 e continua sendo a base de quase todos os bancos de dados convencionais em uso atualmente. Alguns sistemas populares de gerenciamento de bancos de dados relacionais sรฃo:
- Servidor Dinรขmico DB2 e Informix โ IBM
- Oracle e RDB โ Oracle
- SQL Server e Acesso โ Microsoft
Modelo Relacional Concepts em SGBD
- Atributo: Cada coluna em uma tabela. Os atributos sรฃo as propriedades que definem uma relaรงรฃo, por exemplo, Nรบmero_de_Matrรญcula_do_Aluno, NOME, etc.
- Tabelas: No modelo relacional, as relaรงรตes sรฃo armazenadas em formato de tabela. Elas sรฃo armazenadas juntamente com suas entidades. Uma tabela possui duas propriedades: linhas e colunas. As linhas representam registros e as colunas representam atributos.
- Tupla: Nรฃo รฉ nada mais do que uma รบnica linha de uma tabela, que contรฉm um รบnico registro.
- Esquema de relaรงรฃo: Um esquema de relaรงรฃo representa o nome da relaรงรฃo com seus atributos.
- Grau: O nรบmero total de atributos na relaรงรฃo รฉ chamado de grau da relaรงรฃo.
- Cardinalidade: O nรบmero total de linhas presentes na tabela.
- Coluna: A coluna representa o conjunto de valores para um atributo especรญfico.
- Instรขncia de relaรงรฃo: Uma instรขncia de relaรงรฃo รฉ um conjunto finito de tuplas em um sistema de gerenciamento de banco de dados relacional (SGBDR). Instรขncias de relaรงรฃo nunca possuem tuplas duplicadas.
- Chave de relaรงรฃo: Cada linha possui um, dois ou mais atributos, que sรฃo chamados de chave de relacionamento.
- Domรญnio do atributo: Cada atributo possui um valor e um escopo predefinidos, conhecidos como domรญnio do atributo.
Com o vocabulรกrio definido, a prรณxima preocupaรงรฃo รฉ manter...ping Os dados nessas relaรงรตes sรฃo vรกlidos, o que รฉ funรงรฃo das restriรงรตes de integridade.
Relacional Integrity restriรงรตes
As restriรงรตes de integridade relacional em SGBDs referem-se ร s condiรงรตes que devem estar presentes para que uma relaรงรฃo seja vรกlida. Essas restriรงรตes relacionais sรฃo derivadas das regras do micromundo que o banco de dados representa.
Existem muitos tipos de restriรงรตes de integridade. As restriรงรตes em um sistema de gerenciamento de banco de dados relacional sรฃo geralmente divididas em trรชs categorias principais:
- Restriรงรตes de domรญnio
- Restriรงรตes principais
- referencial Integrity restriรงรตes
Restriรงรตes de domรญnio
As restriรงรตes de domรญnio podem ser violadas se o valor de um atributo nรฃo estiver presente no domรญnio correspondente ou se nรฃo for do tipo de dados apropriado.
As restriรงรตes de domรญnio especificam que, dentro de cada tupla, o valor de cada atributo deve ser atรดmico e proveniente do domรญnio correto. Os domรญnios sรฃo especificados como tipos de dados, que incluem tipos padrรฃo como inteiros, nรบmeros reais, caracteres, booleanos e strings de comprimento variรกvel.
Exemplo:
CREATE DOMAIN CustomerName CHECK (value NOT NULL)
O exemplo apresentado demonstra a criaรงรฃo de uma restriรงรฃo de domรญnio de forma que CustomerName nรฃo seja NULL.
Restriรงรตes principais
Um atributo que pode identificar exclusivamente uma tupla em uma relaรงรฃo รฉ chamado de chave da tabela. O valor do atributo para diferentes tuplas na relaรงรฃo deve ser รบnico.
Exemplo:
Na tabela fornecida, CustomerID รฉ um atributo chave da tabela Customer. ร muito provรกvel que haja uma รบnica chave para cada cliente; CustomerID = 1 corresponde apenas ao CustomerName.GoogleUma anรกlise completa dos diferentes tipos de chaves รฉ abordada no guia. Chaves do SGBD.
| Identificaรงรฃo do Cliente | Nome do cliente | Status |
|---|---|---|
| 1 | Ativo | |
| 2 | Amazon | Ativo |
| 3 | Apple | Inativo |
referencial Integrity restriรงรตes
As restriรงรตes de integridade referencial em SGBDs baseiam-se no conceito de chaves estrangeiras. Uma chave estrangeira รฉ um atributo importante de uma relaรงรฃo que deve ser referenciado em outras relaรงรตes. Uma restriรงรฃo de integridade referencial ocorre quando uma relaรงรฃo se refere a um atributo chave de uma relaรงรฃo diferente ou da mesma relaรงรฃo. Esse elemento chave deve existir na tabela referenciada.
Exemplo:
No exemplo acima, temos duas relaรงรตes: Cliente e Billing.
A tupla para CustomerID = 1 รฉ referenciada duas vezes na relaรงรฃo. Billing. Entรฃo sabemos CustomerName โGoogle"tem um valor de faturamento de $300."
Operaรงรตes no Modelo Relacional
Quatro operaรงรตes bรกsicas de atualizaรงรฃo sรฃo realizadas no modelo de banco de dados relacional: inserir, atualizar, excluir e selecionar.
- O comando Insert รฉ usado para inserir dados na relaรงรฃo.
- Delete รฉ usado para excluir tuplas da tabela.
- Modificar permite alterar os valores de alguns atributos em tuplas existentes.
- Selecionar permite que vocรช escolha um intervalo especรญfico de dados.
Sempre que uma dessas operaรงรตes for aplicada, as restriรงรตes de integridade especificadas no esquema do banco de dados relacional nunca devem ser violadas.
inserรงรฃo Operaรงรฃo
A operaรงรฃo de inserรงรฃo fornece os valores dos atributos para uma nova tupla que deve ser inserida em uma relaรงรฃo.
Atualizar Operaรงรฃo
Vocรช pode ver na tabela de relacionamento abaixo que o CustomerName 'Apple' foi atualizado de Inativo para Ativo.
Apagar Operaรงรฃo
Para especificar a exclusรฃo, uma condiรงรฃo nos atributos da relaรงรฃo seleciona a tupla a ser excluรญda.
No exemplo acima, o nome do cliente โAppleโ foi excluรญdo da tabela.
A operaรงรฃo de exclusรฃo pode violar a integridade referencial se a tupla excluรญda for referenciada por chaves estrangeiras de outras tuplas no mesmo conjunto de chaves. banco de dados.
Selecionar Operaรงรฃo
No exemplo acima, CustomerName โAmazon" รฉ selecionado.
Modelo Relacional versus Modelos Hierรกrquicos e de Rede
O modelo relacional substituiu duas abordagens anteriores, e o contraste explica por que ele se tornou dominante. A tabela abaixo compara os trรชs modelos lado a lado.
| Aspecto | Modelo Relacional | Modelo Hierรกrquico | Modelo de rede |
|---|---|---|---|
| Estrutura | Tabelas (relaรงรตes) | รrvore, de pai para filho | Grรกfico, muitos para muitos |
| Acesso de dados | Declarativo, por valor | Navegaรงรฃo, por caminho | Navegaรงรฃo por ponteiro |
| Relacionamentos | Chaves estrangeiras | Ligaรงรตes pai-filho | Conjuntos e ponteiros |
| Linguagem de consulta | SQL | Cรณdigo de procedimento | Cรณdigo de procedimento |
| Flexibilidade | Alto | Baixo | Suporte: |
Como o modelo relacional aborda os dados por valor, em vez de navegar por vรญnculos fรญsicos, uma linguagem de alto nรญvel como SQL ร possรญvel expressar uma consulta sem saber como os dados estรฃo armazenados.
Melhores prรกticas para criar um modelo relacional
- Os dados precisam ser representados como uma coleรงรฃo de relaรงรตes.
- Cada relaรงรฃo deve ser claramente representada na tabela.
- As linhas devem conter dados sobre instรขncias de uma entidade.
- As colunas devem conter dados sobre os atributos da entidade.
- As cรฉlulas da tabela devem conter um รบnico valor.
- Cada coluna deve receber um nome รบnico.
- Nรฃo existem duas linhas idรชnticas.
- Os valores de um atributo devem ser do mesmo domรญnio.
Vantagens do Modelo de Banco de Dados Relacional
- Simplicidade: Um modelo de dados relacional em um SGBD รฉ mais simples do que os modelos hierรกrquico e de rede.
- Independรชncia estrutural: O banco de dados relacional preocupa-se apenas com os dados e nรฃo com a estrutura, o que pode melhorar o desempenho do modelo.
- Fรกcil de usar: O modelo relacional รฉ fรกcil de usar, pois as tabelas compostas por linhas e colunas sรฃo naturais e simples de entender.
- Capacidade de consulta: Isso possibilita que uma linguagem de consulta de alto nรญvel como o SQL evite a navegaรงรฃo complexa no banco de dados.
- Independรชncia de dados: A estrutura de um banco de dados relacional pode ser alterada sem que seja necessรกrio modificar nenhum aplicativo.
- Escalรกvel: Com relaรงรฃo ao nรบmero de registros ou linhas e ao nรบmero de campos, um banco de dados pode ser ampliado para melhorar sua usabilidade.
Desvantagens do Modelo Relacional
- Poucos bancos de dados relacionais tรชm limites no comprimento dos campos, que nรฃo podem ser ultrapassados.
- Bancos de dados relacionais podem, por vezes, tornar-se complexos ร medida que a quantidade de dados aumenta e as relaรงรตes entre os dados se tornam mais complicadas.
- Sistemas complexos de bancos de dados relacionais podem levar a bancos de dados isolados, onde as informaรงรตes nรฃo podem ser compartilhadas de um sistema para outro.






