Ícone do site Diego Macêdo

Modelagem Relacional – Teoria

Os princípios básicos da modelagem de dados relacionais foram referenciados a teoria de conjuntos.

“O mundo está cheio de coisas que possuem características e se relacionam entre si”

“A lei do mundo” de Peter P. Chen nos passa esse conceito. Tudo aquilo que pode ser classificado ou categorizado é definido como coisa que poderá ser definido como entidade dependendo da abordagem. Essas coisas possuem características iguais ou semelhantes que permitem que as agrupemos. Elas irão se relacionar com outras coisas ou outros grupos e essa será a forma de comunicação entre as coisas.

Por que modelar?

Modelamos para que possamos representar o ambiente de forma que podemos prevenir futuras correções em coisas simples que podem nos obrigar a ter trabalho em dobro na hora de corrigirmos. Também serve com normalização e documentação do como funciona nosso ambiente para que outras pessoas do grupo ou clientes possam entender o que será feito e desta forma validar e aperfeiçoar os relacionamentos entre os objetos.

Agora que já vimos o porquê podemos passar para a parte de como e para entendermos esse tipo de modelagem de banco de dados precisamos aprender alguns conceitos básicos à própria modelagem.

Como modelar?

A modelagem de dados passa por três etapas:

Modelo Conceitual – Representa as regras de negócio sem limitações tecnológicas ou de implementação por isto é a etapa mais adequada para o envolvimento do usuário que não precisa ter conhecimentos técnicos. Neste modelo temos:

Modelo Lógico – Leva em conta limites imposto por algum tipo de tecnologia de banco de dados. (banco de dados hierárquico, banco de dados relacional, etc.). Suas características são:

Modelo Físico – Leva em consideração limites imposto pelo SGBD (Sistema Gerenciador de Banco de dados) e pelos requisitos não funcionais dos programas que acessam os dados. Características:

Objeto ou Entidade:

Entidade ou Objeto é uma representação de algo sobre o qual se deseja guardar informações. Informações essas que devem ser compreendidas pelo sistema de informações que será utilizado.

Podemos identificar as entidades de três formas pelo menos:

Atributo:

Existem três tipos de atributos, Atributos Descritivos que são aqueles capazes de demonstrar, representar as características do objeto, Atributos Nominativos são aqueles que além de terem a função de descrição também identificam o objeto, como nome ou qualquer outra informação que seja identificadora, e por último, Atributos Referenciais que são aqueles que não necessariamente pertencem ao objeto, mas sim fazem a relação deste com outro objeto.

Enfim, atributo é tudo aquilo que é próprio do objeto e o diferencia perante aos demais.

Relacionamento:

Relacionamento é uma ligação existente entre objetos. Essa relação define como é o comportamento de um objeto, quais suas restrições, dependências e acessos a outros objetos. A regra de negócio do banco de dados definirá se o objeto terá muitos ou um relacionamento e qual sua cardinalidade.

Cardinalidade é a quantidade de vezes que uma relação pode acontecer entre determinados objetos relacionados. Seguindo a notação os relacionamentos podem ser:

Então, por exemplo: Um Professor pode ter vários Alunos, se tivéssemos dois objetos, Professor e Aluno a o relacionamento de Professor para Aluno seria de N, pois um professor se relaciona com vários alunos.

Opcionalidade analise se as ocorrências de um objeto o obrigam a se relacionar com outros, existem três:

Os tipos mais comuns de relacionamento são:

Restrições:

Existem algumas restrições das quais as mais importantes, para um iniciante em modelagem relacional, são a chave primária (primary key), unique e not null/null.

A PK pode ser simples ou composta. Ou seja, podemos definir como chave primária um atributo ou mais desde que sejam únicos e não nulos na tabela.

Por exemplo, o Objeto Cliente possui os seguintes atributos:

CLIENTE (cpf, nome, sobrenome, rua, numero, cidade, nascimento).

Definimos CPF como PK, pois não haverá registros duplicados ou nulos, sendo assim este atributo poderá servir para identificar os demais campos da tabela.

Outro exemplo é o Objeto Associado que possui os seguintes atributos:

ASSOCIADO (cpf_cliente, RG, nome, sobrenome).

Neste caso a definição de cpf_cliente e RG como chave primária se dá, pois estes atributos não terão valores repetidos ou nulos e poderão identificar os demais campos da tabela.

Como mencionei existem outros conceitos de restrições como:

Em ambos os casos o atributo definido independerá da definição da chave.

Integridade:

Quando fazemos o relacionamento entre objetos, normalmente desejamos que a chave primária de um faça parte da chave do outro objeto. Isso se chama Chave Estrangeira ou Foreign Key (FK)   .

Por exemplo, na relação entre os objetos CLIENTE e ALUGUEL de uma locadora, onde os atributos são os seguintes:

CLIENTE(numero_carteirinha(PK), cpf, nome)

ALUGUEL(registro_aluguel(PK), numero_carteirinha(FK), quantidade, registro_filme, data_retirada, data_saida).

Então sabemos que existe relação entre as tabelas e que o objeto ALUGUEL tem acesso às informações do objeto CLIENTE através de sua chave primária.

Normalização:

Para evitar anomalias nas inserções, exclusões e alterações de linhas e evitar redundâncias existem as normalizações. Sendo realizadas as normalizações os dados permanecerão confiáveis e íntegros, facilitar esse trabalho é um dos principais objetivos da modelagem.

Existem três formas de normalização:

Certo, esse é o conceito modelagem relacional. Importante no mundo do BI tanto para analise de negócio quanto para a construção do modelo multidimensional.

Obrigado pela visita e até o próximo artigo.

Fonte: Projetos de TI por Daniel Rodrigues

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

Sair da versão mobile