MODELO LÓGICO

DE BANCO DE

DADOS

Modelo lógico de Banco de Dados

Adriano é um rapaz empreendedor e está abrindo um minimercado em seu bairro. Para permitir um bom gerenciamento, contratou o desenvolvedor Ferrari para criar o sistema informatizado do estabelecimento.

Ferrari levantou os dados e necessidades do pequeno negócio de Adriano, classificou e organizou os requisitos em um modelo conceitual. Depois, em conjunto definiram o SGBD a ser utilizado no minimercado: o MySQL. Com essa informação em mãos, o desenvolvedor partiu para o modelo lógico, criando um diagrama entidade-relacionamento.

Apesar de Ferrari ser um desenvolvedor, ele explicou a Adriano que não trabalha sozinho, mas com uma equipe dedicada à construção de bancos de dados. Assim, ele precisa garantir que as informações contidas no modelo lógico sejam representadas de acordo com o modelo relacional. Para restringir as opções dos desenvolvedores, ele detalhará o modelo lógico, que atualmente é um diagrama, em uma outra forma de representação. Essa etapa é chamada mapeamento, consiste em um conjunto efetivo de regras e permite que, posteriormente, Ferrari possa construir seu modelo físico.

Você já sabe que, para selecionar SGBD, é necessário fazer uma descrição dos tipos de informações que serão armazenadas em um banco de dados, e para isso são utilizados diferentes tipos de modelos. Após selecionar o SGBD, o projetista deverá relacionar as características e restrições do modelo conceitual (MER) com os requisitos e conjuntos de regras do SGBD selecionado para implementação. Assim, o modelo lógico, que é uma representação do funcionamento do banco de dados, utilizará as estruturas suportadas pelo banco escolhido. Perceba que o modelo lógico depende do software que será utilizado. Qualquer alteração feita no SGBD exige que a estrutura interna do futuro banco seja alterada para adequar-se às características e exigências de implementação do modelo de BD selecionado.

É importante que você também note que o diagrama entidade relacionamento permite registrar quais dados podem aparecer no banco, mas não registra como estes dados serão armazenados no SGBD, ou seja, como se organizam nas tabelas existentes no banco de dados. Para esse detalhamento, é necessário desenvolver o modelo físico. Em um Banco de Dados Relacional (BDR), que é o tipo de BD que será trabalhado neste curso, o esquema interno é expresso utilizando linguagem SQL, por padrão.

Conheça agora alguns conceitos fundamentais para o detalhamento do modelo lógico, uma etapa conhecida como mapeamento.

Chave primária e chave estrangeira

Antes de continuar a construção do Diagrama ER para o minimercado do Adriano, vamos entender quais os elementos necessários para montar o modelo lógico.

Você já sabe que o modelo lógico parte para a construção de uma estrutura em formato adequado ao Sistema Gerenciador de Banco de Dados escolhido, onde o banco de dados será implementado. Sendo assim, os modelos são bastante dependentes da tecnologia a ser adotada. Essa tecnologia pode ser relacional, em redes ou orientada a objetos, e neste material iremos trabalhar com a relacional.

Para o processo de detalhamento de um modelo lógico a partir de um modelo conceitual, é preciso aplicar determinadas regras de derivação. Como nosso objetivo é explorar a derivação de modelos relacionais, trabalharemos com as regras para o modelo relacional, segundo Elmasri e Navathe (2011).

No modelo lógico, além de definir as entidades, atributos e relacionamentos, temos também que identificar as chaves primárias, chaves estrangeiras e tratar os relacionamentos entre as entidades.

Então, veja agora com maiores detalhes esses conceitos.

Chave primária

Na unidade anterior você conheceu o conceito de Chave Primária. Vamos retomá-lo e aprofundá-lo:

Uma chave primária é um atributo que possui um valor único para cada entidade individual. Em outras palavras, Chaves Primárias (Primary Keys ou “PK”), sob o ponto de vista de um banco de dados são representadas por palavras que garantem a unicidade de uma entidade e nunca podem ser nulas. Esta é uma restrição que proíbe que duas entidades possuam o mesmo valor para um determinado atributo ao mesmo tempo, ou seja, elas nunca se repetem.

Alguns tipos de entidades podem ter mais que um atributo formando uma chave ou mais que um atributo chave. São as chamadas chaves compostas.

Para compreender bem o que é uma chave primária, vamos para um exemplo: pense num cadastro que você faz numa loja, solicitando o seu nome, endereço, telefone e CPF. Você consegue identificar quais desses dados (atributos) podem garantir que durante uma consulta no banco de dados da loja o resultado traga somente o seu cadastro?

Reflita e busque resolver essa questão antes de visualizar a solução.

SOLUÇÃO

Na unidade anterior você viu que a chave primária pode ser representa pelo nome do campo sublinhado, certo? Você também pode representá-la por um círculo preenchido, veja:

O que é chave estrangeira?

E o conceito de Chave Estrangeira. Você imagina o que é?

Quando uma entidade apresenta um atributo importado de outra entidade, esse atributo é denominado chave estrangeira. As chaves estrangeiras são o resultado de associações entre entidades.

Imagine que Adriano queira cadastrar vários produtos que sejam de uma determinada categoria, por exemplo, vários chocolates que serão vendidos em seu mercado. Essa lista de produtos com seus atributos, no banco de dados, dá origem a uma tabela “Produtos” (tbl_produtos). Cada entidade resulta em uma tabela própria e, como a lista de categoria dos produtos também é uma entidade, tem seus próprios atributos e está organizada em outra tabela (tbl_categorias). Toda vez que Adriano for cadastrar um produto de chocolate, precisará indicar a chave primária da tabela categoria que indique a categoria a que o produto pertence (chocolates).

Ou seja, quando inserirmos um registro na tabela de produtos com o “id_categoria”, essa chave primária da tabela “categorias” será uma chave estrangeira (FK) dentro da tabela “produtos”. É uma chave que vem de fora, de outra tabela, por isso o nome “estrangeira”1.

Mas... porque é importante utilizar chaves estrangeiras?

Com a chave estrangeira, podemos facilitar as consultas e fazer cruzamentos de dados por meio destas referências. Dessa forma, uma chave estrangeira sempre será necessária quando houver o relacionamento entre duas tabelas.

Você verá exemplos de chave estrangeira nas regras de mapeamento!

Regras de Derivação–Mapeamento

O mapeamento é um detalhamento do modelo lógico, feito a partir do Diagrama Entidade Relacionamento. Orientando-se pelas seis regras indicadas a seguir, você fará a leitura do DER e registrará as informações nele contidas em um outro formato, que já indica a quantidade e estrutura das tabelas do BD.

Uma vez que se consegue representar a semântica de uma aplicação por meio de modelos de dados, em especial pelo Modelo Entidade Relacionamento, é importante garantir que as informações contidas no MER sejam representadas corretamente no Modelo Relacional. Para garantir uma representação fiel das informações no Modelo Relacional é preciso seguir algumas diretrizes, com objetivo de restringir as opções dos desenvolvedores em um conjunto efetivo de regras.

Vamos ao mapeamento:

Praticando o mapeamento do diagrama ER

Agora que você já conhece as seis regras do mapeamento, é hora de praticá-las.

Procure fazer o mapeamento dos três diagramas ER a seguir, cada qual pensado para um BD diferente.


Situação A

SOLUÇÃO

Situação B

SOLUÇÃO

Situação C

SOLUÇÃO

Ferramenta Case BR Modelo para modelo lógico

Até agora você utilizou softwares editores de texto para preparar seus diagramas ER, correto? Saiba que existem ferramentas que podem auxiliar na construção desse tipo de representação gráfica, caso do Case BR Modelo. O tutorial a seguir pode ser de grande ajuda, caso você deseje utilizá-la:

No video a seguir, você irá retormar alguns conceitos importantes já estudados.

O próximo passo é implementar o banco de dados, ou seja, desenvolver o modelo físico, também conhecido como projeto físico. Neste curso, trabalharemos com o modelo relacional e o SGBD será o MySQL. O importante agora é instalarmos o Sistema Gerenciador de Banco de Dados. Vamos lá?

Recapitulando...

Esta foi uma unidade intensa, com diversos conceitos novos! Para sintetizar e retomar os conceitos estudados, assista à videoaula do professor Sandro Valérius.