Você está na página 1de 17

INTRODUÇÃO

O devido trabalho que tem como tema : Modelação de dados , tanto a nível funcional
quanto de dados, é um requisito fundamental para a obtenção de produtos de software
de maior qualidade e confiabilidade.

Após interação feita com alguns sistemas para modelagem de dados, percebeu-se a
necessidade da criação de uma ferramenta mais prática e eficiente, uma vez que as
ferramentas atuais possuem alguns pontos fracos que dificultam, ou pelo menos
atrasam, tal finalidade.

Diante disso, este trabalho tem como objetivo levantar os requisitos para criação de uma
ferramenta para facilitar os processos relacionados à modelagem de bancos de dados
relacionais, reunindo em um único lugar ferramentas para modelagem conceitual, lógica
e física de um banco de dados, tornando assim a criação e a modelagem mais eficiente e
prática, suprindo as necessidades e agilizando os processos desenvolvidos pelos
profissionais da área.

Neste sentido, este trabalho apresenta as principais técnicas de modelagem de dados,


não tendo por objetivo tratar de modelagem funcional. Assim, no que diz respeito à
modelagem de dados, será discutido tanto o modelo conceitual através do MER
(Modelo Entidade-Relacionamento), quanto o modelo lógico através do MR (Modelo
Relacional).
Modelação de dados

Definição: descrição formal da estrutura de um banco de dados. Um modelo de banco


de dados é uma descrição dos tipos de informações que estão armazenados em um
banco de dados. Ex: Um modelo de dados não informa quais os produtos que estão
armazenados em um banco de dados, mas apenas que o banco de dados contém
informações sobre o produto.

Podem ser usados modelos diferentes para explicar a cada nível de usuário como é a
organização de um banco de dados.

Estabelecer o modelo de dados é o processo de criar uma representação lógica da


estrutura da base de dados. É a tarefa mais importante no desenvolvimento da base de
dados. O modelo de dados deve representar, fielmente, a maneira como os utilizadores
finais vem os dados.

Existem os modelos: Conceitual, Lógico e Físico.

Modelo Conceitual

É uma descrição da estrutura do banco de dados de forma independente de


implementação em SGBD. A técnica de modelagem conceitual mais difundida é a
abordagem entidade- relcionamento(ER). Esta técnica faz uso de um diagrama
chamado diagrama entidade- relcionamento(DER) .

Fig1. Modelo conceitual

font: Projeto de Banco de Dados – Uma Visão Prática

Felipe Machado; Maurício Abreu – Editora Érica


Modelo Lógico

Representa a estrutura de dados de um BD conforme vista pelo usuário do SGBD. O


Modelo lógico é dependente do tipo particular de SGBD que está sendo usado.
Exemplo de modelo lógico:

Disciplina(CodDisc, Descrição, CargaHoraria)

Professor(CPF, Nome, Tel, Ender, FormAcad)

Modelo Hierárquico

No modelo hierárquico, o usuário percebe o banco de dados como uma estrutura de


árvores que envolvem registros e ligações. Cada registro pode possuir um número
qualquer de descendentes, mas apenas um ascendente (exceto a raiz, que não possui
ascendente). O registro ascendente guarda referências do conjunto de descendentes que
possui.

A navegação dentro de um banco de dados hierárquico é feita com comandos do tipo


“acessar primeiro” e “acessar próximo” ( get first e get next), admitindo cláusulas e
predicados para pesquisa. A figura abaixo ilustra a representação de alguns registros
organizados hierarquicamente para uma locadora de veículos. Como você pode ver, as
árvores hierárquicas são plantadas de cabeça para baixo.

Fig2- exemplo de um modelo hierárquico

Dada a limitação de que cada registro pode possuir somente um ascendente, seu
conteúdo pode ter que ser repetido várias vezes. Se for criada a filial Manaus, por
exemplo, que também tem um tipo de veículo esporte, este registro do tipo esporte será
diferente do registro já existente para a filial São Paulo. Esta repetição é uma grande
desvantagem: o espaço consumido para armazenagem é desperdiçado com a mesma
informação. Além disso, se a atualização de um valor não for feita para todos os
registros repetidos, o banco de dados fica inconsistente. Como resultado, a
implementação de um banco de dados em um sistema hierárquico pode requerer uma
boa quantidade de trabalho para contornar as limitações. O modelo hierárquico é um
caso particular do modelo de rede. É o mais restrito entre os três vistos aqui.

Modelo de Rede

No modelo de rede, a visão do usuário é a de um grafo ou uma malha de ligações um-


para-muitos entre os registros. Um tipo de registro pode estar envolvido em mais de um
relacionamento, pode ter vários ascendentes e vários descendentes O grupo CODASYL
(que desenvolveu o Cobol), através do Database Task Group (DBTG) desenvolveu um
modelo de rede que é o mais difundido e aceito. O modelo DBTG criou a figura do
grupo ou conjunto, uma representação para os relacionamentos. Cada conjunto tem um
tipo de registro proprietário, que só pode participar de uma ocorrência do conjunto, e
um tipo de registro membro, que pode participar em qualquer quantidade de ocorrências
A figura a seguir apresenta registros ligados de acordo com uma estrutura de grafo,
própria do modelo rede:

Fig3 - Exemplo de um modelo rede

Na figura acima, há um relacionamento filial-veículo, onde o veículo de placas


ABC1234 é proprietário e a filial de código SPA é um registro membro do conjunto.
Modelo Relacional

Um banco de dados relacional é visto pelo usuário como um conjunto de tabelas. Uma
tabela ou relação é formada por linhas conhecidas como t-uplas (lê-se “tuplas”) e
colunas. Cada coluna tem um conjunto de valores possíveis chamado domínio. Em
linguagem de computação, tabela ou relação equivale a arquivo, t-upla equivale a
registro e coluna equivale a campo. A representação por um conjunto de tabelas
estabelece a diferença em relação ao modelo rede, que é um conjunto de registros e
relacionamentos através de ligações.

Portanto, definimos um sistema relacional como aquele onde os dados são notados
pelos usuários como tabelas e as operações aplicáveis ao sistema geram tabelas partindo
da primeira.

Na figura abaixo, podemos observar um exemplo de modelo relacional:

Fig4. - Exemplo de um modelo relacional

Modelo Físico

Leva em consideração detalhes de armazenamento interno de informações. As


linguagens utilizadas neste modelo variam de SGBD para SGBD.

Importancia da Modelação de dados

Segundo Heuser (2008), a modelagem de banco de dados é importante para se evitar


redundância de dados. Segundo o autor, tal redundância ocorre quando uma
determinada informação está representada no sistema em computador várias vezes.
Carvalho (1997) afirma que a recuperação de informações que se utiliza de formulários
não possui o mesmo poder de expressão em comparação com a linguagem textual, mas
possibilita a recuperação dos valores das propriedades de um determinado objeto
através de uma hierarquia de janelas.

Modelo Entidade Relacionamento

O Modelo Entidade Relacionamento foi introduzido em 1976 por Peter Chen tendo
sido, posteriormente, desenvolvido e modificado pelo próprio e por outros.

Uma das principais vantagens – talvez seja o motivo maior para sua popularidade – é
que além de conceitos o modelo ainda conta com uma técnica de diagramação. Isto
permite registrar e comunicar de forma simplificada os principais aspectos do projeto de
banco de dados DATE (2004, p. 358). “O modelo ER descreve os dados como
entidades, relacionamentos e atributos” (ELMASRI; NAVATHE, 2011, p. 132).

O modelo ER possui uma notação gráfica muito simples e poderosa e que por isso
mesmo, tem sido largamente utilizada. A Figura 5 apresenta a notação gráfica do
modelo ER.

Figura
5- Construtores Básicos do Modelo ER

Elementos do Modelo Entidade Relacionamento :

Entidades – entidade é uma classe distinta de coisas que representam a realidade do


utilizador e sobre as quais se sabe alguma coisa

“Uma entidade é uma ‘coisa’ ou um ‘objeto’ no mundo real que pode ser identificada de
forma unívoca em relação a todos os outros objetos” (SILBERSCHATZ; KORTH;
SUDARSHAN, 1999, p. 21). Por exemplo, cada servidor de uma instituição pública de
ensino é uma entidade. Cada unidade de ensino (campus) desse órgão também. As
entidades classificam-se em: entidades regulares ou fortes e entidades fracas. Para
DATE (2004, p. 355), uma entidade fraca é “uma entidade cuja existência depende de
alguma outra entidade, no sentido de que ela não pode existir se essa outra entidade
também não existir”. Os dependentes de um servidor são exemplos clássicos de
entidades fracas, pois existirão se, e somente se, existir a entidade servidor.

Já uma entidade regular ou forte, pode ser definida como uma entidade não fraca. Por
exemplo, um servidor é uma entidade forte.

Segundo SETZER e CORRÊA DA SILVA (2005, p. 22), um conjunto de entidades é


“uma coleção de entidades que têm características semelhantes, isto é, de entes de uma
mesma categoria”.

Exemplo: professores, alunos, disciplinas....

As entidades são representadas por retângulos:

Geralmente os nomes das entidades são formadas por substantivos no singular.

Atributos – as entidades tem atributos ou propriedades que descrevem as


características da entidade.

Exemplo: numero de aluno, nome, número de matrícula, na entidade ALUNO....etc

Nos diagramas de entidades e relacionamento as entidades são representadas por


retângulos com seu nome inscrito. Os elementos de dados, quando representados,
apresentam-se ligados a entidade por um traço de detalhe.

Fig. 6 - Exemplo de uma entidade com seus atributos

A figura 6 mostra uma representação de uma entidade e seus atributos.


“Uma entidade é representada por um conjunto de atributos. Atributos são propriedades
descritivas de cada membro de um conjunto de entidades” (SILBERSCHATZ;
KORTH; SUDARSHAN, 1999, p. 22). Em outras palavras, atributos são os dados que
se deseja guardar sobre cada entidade (SETZER; CORRÊA DA SILVA, 2005, p. 23).
Desta forma, o nome, o prontuário e a data de nomeação são possíveis atributos para
cada entidade do conjunto de entidades Servidores. Endereço e sigla comporiam os
atributos de cada ente do conjunto de entidades Campi. Os atributos podem ser
classificados como:

 Simples ou Compostos

De acordo com ELMASRI e NAVATHE (2011, p. 153), “atributos não divisíveis são
chamados atributos simples ou atômicos”. Por outro lado, atributos compostos não
possuem valor elementar e podem ser decompostos em outros atributos simples e/ou
compostos (SETZER; CORRÊA DA SILVA, 2005, p. 24).

Por exemplo, o endereço de cada servidor é um atributo composto, pois pode ser
dividido em alguns atributos simples, como: Logradouro, Número, Complemento,
Bairro, Cidade e Estado.

Alguns atributos não só descrevem características da entidade como a permitem


identificar uma única ocorrência da entidade. Chamamos chave (ou chave primária) a
este especial atributo. Se a chave for constituída por mais que um atributo chama-se
chave composta.

Exemplo : Numero de aluno na entidade Aluno.

 Monovalorados ou Multivalorados

Um atributo monovalorado é aquele que assume um único valor para uma dada
entidade. Ao passo que, um atributo multivalorado pode ter n valores considerando uma
mesma entidade (SETZER; CORRÊA DA SILVA, 2005, p. 27). Exemplificando, o
atributo Sexo do conjunto de entidades Servidores é um atributo monovalorado, pois
assume um único valor – masculino ou feminino – para cada entidade. Ao contrário, o
atributo Telefone é considerado multivalorado, visto que um servidor pode ter vários
telefones para contato e, consequentemente, esse atributo assumirá n valores.
 Armazenados ou Derivados

Quanto ao atributo derivado SILBERSCHATZ, KORTH e SUDARSHAN (1999, p.


24), definem que “o valor desse tipo de atributo pode ser derivado de outros atributos ou
entidades a ele relacionados”. O atributo Data_Exercicio que representa a data de
entrada em efetivo exercício de cada servidor é um exemplo de atributo armazenado. Já
o atributo Tempo_Contribuição que simboliza o tempo total de serviços prestados à
instituição é um atributo derivado, porque pode ser obtido pelo valor de Data_Exercício
e pela data atual.

 Nulos

“Um atributo nulo é usado quando uma entidade não possui valor para determinado
atributo” (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 24). O atributo
Número_Reservista do conjuntos de entidades Servidores é um atributo nulo, pois não
se aplica a todas entidades (servidoras não possuem Carteira de Reservista).

 Chaves ou Determinantes

SETZER e CORRÊA DA SILVA (2005, p. 31), definem que “dado um conjunto de


entidades, não há duas entidades desse conjunto com o mesmo valor para aquele
atributo. Em outras palavras, dado um valor para esse atributo, esse valor determina a
qual entidade ele está associado”.

Por exemplo, Prontuário é um atributo chave, pelo motivo de identificar de forma


unívoca cada ente no conjunto de entidades Servidores. Não há dois servidores com um
mesmo número de prontuário.

Chave Primária

É o atributo ou grupamento de atributos cujo valor identifica unicamente uma tupla


dentre todas as outras de uma identidade. Deve ter conteúdo reduzido e valor constante
no tempo.

Chave Candidata

É o atributo ou grupamento de atributos que tem a propriedade de identificação única.


Pode vir a ser a chave primária
Chave Estrangeira
aquela chave que permitir a ligação lógica entre uma tabela (onde ela se encontra) com
outra na qual ele é chave primária.
. Relacionamento

Definição: conjunto de associações entre ocorrências de entidades. No DER os


relacionamentos são representados por losangos:

Geralmente os nomes dos relacionamentos são formados por verbos ou pela composição
dos nomes das entidades que fazem parte do relacionamento em questão.

Exemplos de relacionamentos:

Fig4-Relacionamento

fonte: Projeto de Banco de Dados – Uma Visão Prática

Felipe Machado; Maurício Abreu – Editora Érica

Exp: se existir uma entidade chamada Curso (com características que descrevem
os vários cursos duma Universidade) haverá um relacionamento entre a entidade aluno
e
curso uma vez que o aluno frequenta um dado curso. Os relacionamento podem ser 1:1,
1 :many, many : many
Diagramas Entidade Relacionamento (DER)
Exemplo de uma relação 1 : N
Um curso pode ter vários alunos, um aluno só anda num curso
Um aluno só pode ter um cod_curso para o qual exista já uma ocorrência na entidade
curso. Um curso pode ou não ter alunos.
Relações N: M não podem ser implementadas directamente no modelo relacional senão
à custa de uma entidade intermédia construindo 2 relações 1: M
Exp: Relação entre cursos e cadeiras – entidade intermédia curso_cadeira

Exemplo de possíveis ocorrências destas entidades


Cursos Cadeira_Curs
Cod_curso Nome_curso
o
001 Gestão
Cod_curso Cod_cadeira
002 Economia
001 023
002 023
001 027

Cadeiras
Cod_cadeira Nome_cadeira
023 Informática
027 TSII

Grau de Relacionamento e Cardinalidade

• Um importante conceito em um relacionamento é o número de ocorrências que podem


estar associadas a um registro da outra entidade.

Na definição de ELMASRI e NAVATHE (2011, p. 142), a razão de cardinalidade


“especifica o número máximo de instâncias de relacionamento em que uma entidade
pode participar”.

Em outras palavras, a cardinalidade “expressa o número de entidades às quais outra


entidade pode estar associada via um conjunto de relacionamentos” (SILBERSCHATZ;
KORTH; SUDARSHAN, 1999, p. 28).

• Este conceito melhora o conhecimento sobre as políticas e regras dos Negócios,


consistindo de números (cardinais) colocados ao lado do nome do relacionamento.

• As cardinalidadesmais comuns são:

• Relacionamento 1:1 -um-para-um

• Relacionamento 1:N -um-para-muitos

• Relacionamento M:N –muitos-para-muitos

Desta forma, os números colocados ao lado do nome do relacionamento são chamados


de cardinalidade do relacionamento e dimensionam as políticas de Negócio que
envolvem os dados.

A cardinalidade define, portanto, o número de ocorrências de uma entidade que pode


estar envolvido em um relacionamento, sendo útil para extrair daí regras de consistência
e integridade dos dados.

Considere o exemplo: “Na minha empresa cada funcionário pertence a um único


departamento, mas cada departamento podeter vários funcionários”
Como existe um relacionamento entre os funcionários e o departamentos, esse
relacionamento poderá ser representado da seguinte forma:

Figura 5:

fonte:

 Porém no enunciado cada departamento pode ter vários funcionários, enquanto um


funcionário pode pertencer a apenas um departamento. Isso quer dizer que as
entidades formam um relacionamento 1:N.

Uma forma de representar as cardinalidades é utilizar os símbolos 1 ou N nas entidades de


destino. Veja o exemplo:

Figura 6:

fonte:

Cardinalidade um-para-um (1:1)

 Indica que uma única ocorrência de uma entidade pode se relacionar com
apenas uma única ocorrência de outra entidade. Este tipo de relacionamento
é bastante raro (no mundo dos negócios).
 Exemplo: Em uma lan-house, cada cliente (1) utiliza uma mesa com
computador (1).
Neste caso um determinado cliente, utiliza um(e somente um) computador ao mesmo
tempo. Essa situação poderá ser representada da seguinte forma:

Outro exemplo: No IFBA um professor (e somente um) coordena um (e somente um)


curso, ou seja, o mesmo professor não pode coordenar mais de um curso e um curso
não pode ser coordenado por mais de um professor.

Cardinalidade um-para-muitos (1:N)

 Indica que uma ocorrência de uma entidade pode se relacionar com muitas
ocorrências de outra entidade.
 No entanto, a recíproca não é verdadeira. Este tipo de relacionamento é muito
comum (no mundo dos negócios).
 Por exemplo: FUNCIONÁRIO (1) possui (N) DEPENDENTE.
 Dessa forma um funcionário pode possuir vários dependentes; mas cada
dependente pertence a apenas um funcionário.
 Outro exemplo: No IFBA um curso é cursado por n alunos, porém um aluno só
pode cursar um(e somente um curso).
 No exemplo anterior temos um relacionamento 1:N entre as entidades Curso e
Alunos.

Cardinalidade muitos-para- muitos(N:M)

 Indica que várias ocorrências de uma entidade pode se relacionar com muitas
ocorrências de outra entidade.
 Por exemplo: Pedido(M) e Produtos(N).

Represenção da Modelação de dados


Conclusão

Este trabalho apresentou, através de um estudo cientifico , as principais


técnicas de modelagem de dados, tanto a nível de utilização do modelo conceitual,
através do Modelo Entidade-Relacionamento, quanto do modelo lógico, através do
Modelo Relacional, visando discutir não apenas a teoria de modelagem de dados,
mas também apresentar possibilidades de aplicação através de situações reais de
utilização. Estabelecer o modelo de dados é o processo de criar uma representação
lógica da estrutura da base de dados. É a tarefa mais importante no desenvolvimento da
base de dados.
O modelo de dados deve representar, fielmente, a maneira como os utilizadores finais
vem os dados.
Bibliografia

Projeto de Banco de Dados – Uma Visão Prática

Felipe Machado; Maurício Abreu – Editora Érica

David M. Kroenke – Database Processing Fundamentals, Design & Implementation.


Prentice Hall International Editions

Dave Ensor, Ian Stevenson 1997 – ORACLE Design. O’Reilly

http://www.oreilly.com/catalog/oracledes/

ABITEBOUL, Serge, HULL, Richard. IFO: a formal semantic database model.

ACM Transactions on Database Systems, v.12, n.4, p.525-565, 1987.

ABRANTES, Graca, CARAPUCA, Rogerio. Explicit representation of data that


depend on topological relationships and control over data consistency. In:

FIFTH EUROPEAN CONFERENCE AND EXHIBITION ON GEOGRAPHICAL


INFORMATION SYSTEMS – EGIS/MARI’94, 19917. Proceedings...v.1,p.869-877.

http://wwwwsgi.ursus.maine.edu/gisweb/egis/eg94100.html)

Você também pode gostar