Buscar

Apostila Modelagem de Dados PROF. PAULO BORGES - Ivan Moreira

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 33 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
HISTÓRICO DA ANÁLISE DE SISTEMAS
No início dos anos 70 começaram a surgir Metodologias (Técnicas Estruturadas) para tentar
disciplinar o processo de Programação e Análise dos Sistemas. Antes disso existiam poucas regras.
Basicamente as regras eram restritas à linguagem de programação que se utilizava. Os programadores e
analistas utilizavam métodos próprios que dificultavam o entendimento do serviço por pessoas que não
estavam diretamente envolvidas no projeto e isso fazia com que os projetos demorassem mais tempo,
fossem mais caros e tivessem um custo de manutenção mais elevado.
OBJETIVOS PRIMÁRIOS DAS METODOLOGIAS
• Realizar programas de alta qualidade com comportamento previsível
• Realizar programas que possam ser facilmente modificáveis
• Simplificar programas e o processo de desenvolvimento de programas
• Realizar maior planejamento e controle do processo de desenvolvimento
• Acelerar o desenvolvimento de sistemas
• Diminuir o custo de desenvolvimento de sistemas
EVOLUÇÃO DAS METODOLOGIAS
• Programação Estruturada (início dos anos 70)
• Projeto Estruturado (meados dos anos 70)
• Análise Estruturada (final dos anos 70)
• Modelagem de Dados (anos 80)
• Análise Essencial / Análise Orientada à Objetos (anos 90)
METODOLOGIAS
Atualmente as metodologias existentes para o desenvolvimento de sistemas são utilizadas para orientar
e ordenar o trabalho do Analista de Sistemas ao longo do processo de desenvolvimento. Uma boa
metodologia deve definir o processo de desenvolvimento, possui modelos para representar abstrações
(diagramas) e possuir diretivas para orientação do trabalho.
CICLO DE DESENVOLVIMENTO (CICLO DE VIDA)
Compreende todas as atividades necessárias para definir, desenvolver, testar operar e manter um
sistema. Os objetivos principais são:
• Definir as atividades a serem executadas;
• Prover pontos de controle;
• Padronizar o processo de desenvolvimento.
1
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
FASES PRINCIPAIS DO CICLO DE VIDA
• LEVANTAMENTO
• ANÁLISE
• PROJETO
• IMPLEMENTAÇÃO (CODIFICAÇÃO)
• TESTE
• IMPLANTAÇÃO
• MANUTENÇÃO
LEVANTAMENTO (ANÁLISE DE REQUISITOS)
• Planejamento
• Descrição do sistema atual
• Construção do modelo do sistema atual (Modelo Gráfico)
• Identificação dos problemas do sistema atual
• Identificação das necessidades não atendidas pelo sistema atual
• Definição dos requisitos para um novo sistema
• Formulação de alternativas de solução
• Redação do plano do projeto (custo e prazo da solução, responsabilidades, requisitos de qualidade,
cronograma)
ANÁLISE
• Atividade para qual o analista deve dedicar a maior parte do seu tempo e esforço
• Consiste em definir e modelar o que o sistema irá fazer, independente da tecnologia que será utilizada
na implementação
• É feita uma reavaliação do plano de projeto, principalmente dos custos e benefícios quantificados na
fase anterior
PROJETO
• Definir a melhor alternativa para implementar, em um dado ambiente computacional, todas as
características do sistema definidas na Análise
• Os critérios utilizados na escolha das alternativas são: performance, facilidade de uso, facilidade de
alteração, segurança (contra acesso indevidos e perdas acidentais de dados) e confiabilidade
IMPLEMENTAÇÃO (CODIFICAÇÃO)
• Consiste na codificação dos programas e criação dos arquivos de dados
TESTE
• Consiste na definição de casos de testes e na realização de testes unitários do sistema, testes de
integração entre os módulos e testes de aceitação (normalmente feitos com os usuários)
2
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
IMPLANTAÇÃO
• Implantar o sistema nas instalações do usuário
• Fornecer os manuais do sistema
• Dar carga dos arquivos de dados reais
• Treinamento dos usuários
MANUTENÇÃO
• Todo trabalho executado após a implantação é chamado de manutenção
• Manutenção Corretiva – corrigir erros
• Manutenção Adaptativa – adaptar o sistema a uma nova realidade
• Manutenção Evolutiva – dotar o sistema de novas capacidades
ANÁLISE DE REQUISITOS
• É o primeiro passo no modelo do processo. O que devo fazer e não a forma como será implementado.
Serve como contrato entre o desenvolvedor e o comprador
• É o processo de aquisição, refinamento e verificação das necessidades do sistema
• O objetivo é sistematizar o processo de definição dos requisitos, obtendo uma especificação correta e 
completa do mesmo para elaboração do Documento de Requisitos
REQUISITOS
• É um conjunto de necessidades estabelecido pelo cliente/usuário dos sistema que definem a estrutura
e o comportamento do software que será desenvolvido
• Os itens dos requisitos são: dados, processos, restrições de negócio, pessoas envolvidas e o
relacionamento entre todos esses itens
• Existem dois tipos de requisitos: Funcionais (Diretos) e Não Funcionais (Indiretos)
• As principais técnicas para obtenção dos requisitos são: Entrevista, Questionário, Inspeção de
documentos utilizados nos processos existentes, Observação direta, BRAINSTORMING (reunião de
pessoas com diferentes níveis de informação e conhecimento sobre o sistema desejado. Essa
discussão é conduzida por um mediador. Diversas cabeças pensam melhor do que uma)
REQUISITOS FUNCIONAIS
• Definem a funcionalidade desejada do software, ou seja, definem funções, ações ou operações que
poderão vir a ser realizadas pelo sistema, seja por meio de comandos dos usuários ou pela ocorrência
de eventos internos ou externos ao sistema
REQUISITOS NÃO FUNCIONAIS
• Referem-se às qualidades globais de um software, tais como: fácil manutenção, segurança, facilidade
de uso, desempenho, baixo custo, funcionalidade, interfaces, tipos de usuários
3
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
CONCEITOS BÁSICOS
Dado
É a representação de um evento.
Informação
É o dado processado por um determinado Sistema de maneira que possa ser utilizado para a tomada de
alguma ação/decisão.
 
 SISTEMA
 DADO PROCESSAMENTO INFORMAÇÃO
Computador só armazena dados, gerando informações.
Exemplos :
Data de nascimento = Dado Notas Prova = Dado
Idade = Informação Média = Informação
BANCO DE DADOS
Definições
• Critério de abordagem para a integração de dados e informações da empresa.
• Coleção de dados armazenados e organizados de modo a atender as necessidades dos usuários. 
• Refere-se à especialidade de armazenar, organizar e recuperar os dados num computador e as
ferramentas para fazê-lo.
Requisitos para o seu sucesso
• Estar baseado num planejamento global;
• Ser considerado como um recurso corporativo;
• Independer estruturalmente de processos ou aplicações específicas;
• Estar destinado a ser compartilhado por qualquer processo ou aplicação dentro da empresa. 
Sistema de Gerência de Banco de Dados (SGBD)
É usual dizer que os termos Banco de Dados e SGBD são sinônimos, porém o Banco de Dados
representa o conteúdo e o SGBD é a ferramenta (software) para manipular o Banco de Dados.
4
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
Definimos um SGBD como um conjunto de software para gerenciar (criar, modificar, manipular) um
Bancode Dados e para garantir a integridade e segurança dos dados.
Funções de um SGBD
• Integridade dos dados 
o Precisão e validade dos dados armazenados.
• Redundância dos dados
o Evitar a redundância dos dados.
• Controle dos dados
o Dados só poderão ser acessados ou modificados por usuários autorizados.
• Independência dos dados
o Permite que o Banco de Dados seja modificado sem necessitar reescrever os programas
que já estão prontos. 
• Facilidade de uso
o Aplicações são desenvolvidas mais rapidamente e com mais segurança, aumentando a
produtividade da programação, tornando os programas mais simples e diminuindo o
tempo de manutenção. 
• Uso compartilhado
o Permitir que vários usuários acessem o Banco de Dados ao mesmo tempo.
• Portabilidade
o Ser independente do Sistema Operacional e de qualquer tipo de equipamento.
• Utilitários
o É necessário que existam ferramentas de apoio ao SGBD.
• Desempenho
o O desempenho do SGBD pode ser medido pelo tempo de resposta e pela eficiência no
armazenamento dos dados. O desempenho depende principalmente da arquitetura
empregada e da implementação física.
Componentes de um SGBD
• Linguagem de definição de dados (DDL) 
o É a linguagem utilizada para definir o conteúdo do Banco de Dados, suas tabelas e seus
dados
• Linguagem de manipulação dos dados (DML)
o Permite que se façam operações de acesso, inclusão, atualização e eliminação dos dados
existentes nos Bancos de Dados pelos programas de aplicação.
• Dicionário de Dados
o É utilizado para descrever os dados e suas relações em forma totalmente conceitual e
independente do seu envolvimento nas diversas aplicações.
• Linguagem de consulta (QUERY)
o Permite que o usuário final, com poucos conhecimentos técnicos, possa obter, de forma
simples, informações do Banco de Dados.
• Utilitários
5
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
o Programas auxiliares que realizam diversas operações num Banco de Dados tais como:
compactar, reorganizar, recuperar dados, obter cópia do Banco de Dados etc.
Além dos analistas e programadores existem profissionais que trabalham diretamente com o Banco de
Dados:
Administrador de Dados (AD)
• Planeja o Modelo de Dados;
• Coordena a utilização do Modelo de Dados;
• Administra o Banco de Dados.
Administrador do Banco de Dados (DBA)
• Gerencia o modelo físico do Banco de Dados;
• Cuida da operacionalidade e eficiência do Banco de Dados.
 MODELAGEM DE DADOS
Engenharia da Informação
• Metodologia utilizada para o Desenvolvimento de Sistemas cujo enfoque principal é o DADO. 
• Baseia-se no Princípio da Independência dos Dados, ou seja, os dados possuem estruturas e
características inerentes a si mesmos, independentes dos processos que os utilizam ou venham a
utilizar.
• A idéia principal é levantar as estruturas de dados que vão dar origem aos Bancos de Dados,
provendo um fácil acesso aos mesmos. Os dados são estáveis, não são voláteis como os
processos.
• O suporte desta metodologia está baseado na técnica de Modelagem de Dados e seus
relacionamentos, desenvolvida inicialmente por Peter Chen (1976).
Modelo
É a representação abstrata e simplificada de um sistema real, com a qual se pode explicar ou testar o
seu comportamento, em seu todo, ou em partes.
ex. Planta baixa de um apartamento
 Aeromodelo
 Manequim
O Modelo tem como referência o objeto observado, objeto este que pode ser uma empresa, um
departamento, uma função da empresa, um sistema , etc.
Modelagem de Dados
Consiste no processo de levantamento de dados, investigação e análise dos dados e seus
relacionamentos, enfocando quais informações são necessárias para o funcionamento do objeto
observado, independentemente de como ele funciona. É utilizada como meio para obtenção das estruturas
de dados que nos levam ao projeto de banco de dados.
Ao longo do processo de modelagem temos 3 tipos distintos de modelos de dados:
 Modelo Conceitual
6
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
• Os objetos(dados), suas características e relacionamentos tem a representação fiel ao ambiente
observado, independente de quaisquer considerações físicas e operacionais;
• Representa o objeto observado e suas necessidades presente e futura de informação;
• A partir do Modelo Conceitual deverá ser possível “derivar” diferentes estruturas de
implementação, sem haver necessidade de se alterar o Modelo Conceitual;
• Esse modelo está ligado às fases de análise e nunca às fases de projeto;
• Para representar esse modelo utilizamos como técnica a abordagem Entidade-
Relacionamento(E-R) que se destina basicamente ao projeto de Banco de Dados.
Modelo Lógico de Dados
• Os objetos, suas características e relacionamentos tem a representação de acordo com as regras
de implementação e limitações imposta por algum tipo de tecnologia. Depende do modelo físico
da implementação (abordagem relacional / rede / hierárquica);
• Utilizam-se conceitos tais como: chaves de acesso, controle de chaves duplicadas, normalização,
integridade referencial, etc;
• Esse modelo está ligado à fase de projeto.
Modelo Físico de Dados
• Utiliza as características físicas de implementação em função do Banco de Dados utilizado;
• Deve obedecer aos requisitos de desempenho do sistema (tempo de resposta, I/O, espaço em
disco, etc.);
• Descreve as estruturas físicas de armazenamento dos dados tais como: tamanho dos campos,
índices, nomenclaturas, tipo de preenchimento dos campos, etc. 
Estrutura Lógica dos Dados
Representa como acontece a conexão entre as diversas entidades que estão relacionadas entre si, mas
não mostra como esta conexão é implementada.
Exemplo:
 
 DEPARTAMENTO
 
 EMPREGADO
Para se representar a Estrutura Lógica dos Dados foi introduzido por Bachman uma técnica de
diagramação chamada de Diagrama de Estrutura de Dados. Essa técnica tem a finalidade de obter
uma visão gráfica do Modelo de Dados. São utilizados os seguintes símbolos:
O retângulo representa um tipo de entidade 
7
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 A flecha é utilizada para relacionar 2 tipos de entidades. Define a
relação existente.
Tipos de Associações
Relação 1:1
A cada ocorrência de uma entidade A corresponde uma única ocorrência de um outro tipo de
entidade B.
Exemplos:
 HOMEM PAÍS 
casamento presidência
 MULHER PRESIDENTE 
Relação 1:N
Define uma estrutura onde a cada ocorrência de um tipo de entidade corresponde 0 a N valores
do outro tipo. É a relação básica de estruturas hierárquicas, além de existir freqüentemente em
estruturas rede.
Exemplos:
 PAI SISTEMA 
paternidade componentes-sistema
 FILHO PROGRAMA 
Relação M:N
A relação M:N especifica que M ocorrências de uma certa entidade aponta para N ocorrências
de outra entidade.
Exemplos:
 PROJETO PEÇA MATÉRIA 
projeto-pessoal peça-fornecedor 
8
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 matéria-aluno
 PESSOAL FORNECEDOR ALUNO
As relações M:N são muito comuns, mas não tem suporte direto pelos SGBD mais usuais. É
necessário a sua conversãopara diversas relações 1:N com a criação de um novo tipo de entidade
(freqüentemente denominada de entidade associativa) que passa a relacionar os tipos de entidades
anteriores.
 
Exemplos:
 PROJETO PESSOAL PEÇA FORNECEDOR
 APROPRIAÇÃO DE
 MÃO DE OBRA PEDIDO
 MATÉRIA ALUNO
 TURMA
Modelos de Bancos de Dados
É um modo de estruturar logicamente as informações. Os principais modelos de Banco de Dados são
os seguintes: 
Modelo Relacional, Modelo Orientado a Objeto, Modelo Relacional-Objeto, Modelo Rede e
Modelo Hierárquico
 Modelo Relacional
• Utiliza a teoria dos conjuntos como base formal para a descrição de Modelo
de Dados
• Se baseia na álgebra relacional e no cálculo relacional
• Os dados são estruturados em tabelas (relações) que são formadas de linhas
(tuplas) e colunas (atributos)
• Estrutura de índices separadas dos dados
• Relações são normalizadas
• Integridade referencial mantida pelas aplicações/SGBD
• Permite auto-relacionamento
9
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
São exemplos de Bancos de Dados Relacional : DB2, SYBASE, ORACLE,
INFORMIX, ACCESS, SQL SERVER, FIREBIRD, POSTGRESQL, MYSQL,
PARADOX, INGRES, INTERBASE
 MODELO ENTIDADE-RELACIONAMENTO (MODELAGEM CONCEITUAL)
 A Lei do Mundo
 O mundo está cheio de coisas que possuem características próprias e que se relacionam entre si.
A abordagem Entidade-relacionamento se baseia, conceitualmente, no que está descrito acima. Em função
disso podemos definir os conceitos necessários dentro da abordagem E-R:
Conceitos Básicos Abordagem do Modelo E-R Abordagem Orientada a Objetos
 na “Lei do Mundo” (Modelagem de Dados) (Modelagem da Informação)
 Conjunto de objetos ou elementos Entidades Classes
 individualizados, semelhantes
 Individualização de objetos ou Instâncias ou ocorrências Objetos 
 elementos
 Características próprias Atributos Atributos
 Inter-relacionamento de objetos Relacionamentos Associações
ENTIDADES
São as “coisas” que existem no negócio, ou seja, descrevem o negócio em si e precisamos
armazenar dados a seu respeito.
É a representação de um conjunto de informações de mesma característica e suas instâncias
(ocorrências) representam o conjunto dessas características (dados).
exemplo: Dado o texto abaixo, extrair as Entidades existentes:
“Uma Clínica Médica necessita controlar as consultas médicas realizadas e marcadas pelos seus
médicos e fazer o acompanhamento dos pacientes atendidos.”
Solução:
 
 Consulta Médica (data da consulta, médico, paciente)
 Médico
 Paciente 
10
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
ENTIDADES FRACAS
Uma entidade é chamada de fraca se a sua existência depender de outra entidade (chamada de entidade
forte).
BANCO Entidade Forte
1,1
 
 POSSUI
1,N
AGÊNCIA Entidade Fraca
ENTIDADES ASSOCIATIVAS OU AGREGADAS
Resulta da associação entre duas ou mais entidades sendo sua identificação feita através das entidades que
ela associa.
exemplo:
 POSSUI
 1,M 1,N
 PROJETO FUNCIONÁRIO
 Em função do relacionamento M x N surge então a entidade ALOCAÇÃO.
M N
PROJETO ALOCAÇÃO FUNCIONÁRIO
11
código projeto
matrícula funcionário
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
ATRIBUTOS
São as características inerentes a cada um dos objetos observados (entidades). Os atributos
possuem valor.
Através da análise dos atributos, podemos enquadrar um objeto como pertencente a um
determinado conjunto distinto.
exemplos:
 PESSOA
Escolaridade = nível superior
Data Nascimento = 19/03/47
Cidade = Nova Friburgo
CARRO
Placa = VFC1234
Marca = Fiat
Modelo = Palio EX
RELACIONAMENTOS
É o acontecimento que liga dois objetos no mundo real. Através do mapeamento dos
relacionamentos, podemos demonstrar como um objeto se comporta em relação aos demais, qual o seu
grau de dependência de outros objetos e qual a associação de dados existente entre eles.
Os relacionamentos podem ser basicamente:
• Entre instâncias de objetos de diferentes tipos;
• Entre instâncias de um mesmo tipo de objeto (auto-relacionamento ou
relacionamento recursivo)
exemplo:
PESSOA CARRO
 PESSOA
 1,1
 É PROPRIETÁRIA
12
Temos que identificar qual o relacionamento entre os 
objetos. Esse relacionamento se expressa através de uma 
construção verbal. Também temos que caracterizar o 
relacionamento (apontar qual a sua cardinalidade).
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 0,N
 CARRO
0,1
PESSOA É CASADA COM
0,1
GRAU OU CARDINALIDADE
PESSOA PESSOA
 1,1 DIRIGE
 DIRIGE
 0,N É DIRIGIDO
 CARRO CARRO
 PETER CHEN JAMES MARTIN
RELACIONAMENTO 1:1 (UM para UM)
1,1 1,1
MARIDO ESPOSA
 É CASADO
RELACIONAMENTO 1:N (UM para MUITOS)
1,1 1,N
EMPRESA FILIAL
 
 POSSUI
RELACIONAMENTO M:N (MUITOS para MUITOS)
13
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
1,M 1,N
ATLETA ESPORTE
 PRATICA
Exercício:
 Fazer o Diagrama Entidade-Relacionamento considerando as seguintes Entidades: 
• ALUNO
• DISCIPLINA
• PROFESSOR
• CURSO
Observações:
1 – Uma disciplina pertence a somente um curso;
2 – Um aluno pode cursar diversas disciplinas;
3 – Um professor pode lecionar diversas disciplinas e uma disciplina pode ser lecionada por
diversos professores;
4 – Considerar a existência de 4 possíveis notas;
5 – Considerar freqüência como sendo somente um indicativo de aprovação/reprovação. 
14
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
Solução do Exercício:
 1,M 1,N
ALUNO CURSA DISCIPLINA
 
 1,N
 
 
 MINISTRA
 1,M
 PROFESSOR
 1,M 1,N
ALUNO DISCIPLINA
 1,1
 PROFESSOR
15
ALUNO / DISCIPLINA
PROFESSOR / DISCIPLINA
Obs.: Nesta solução não é possível identificar qual o professor que ministra
a disciplina para um determinado aluno. Na verdade existe um
relacionamento entre múltiplas entidades. No caso é um relacionamento
ternário (ALUNO / DISCIPLINA / PROFESSOR).
CURS
A
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 M N
ALUNO CURSA DISCIPLINA
 M
 LECIONA
 1
 PROFESSOR
 ALUNO 1,M 1,N DISCIPLINA
 1
 . NOTAS também se relaciona comALUNO / DISCIPLINA
 N
16
CÓD. ALUNO
CÓD. DISCIPLINA
CÓD. PROFESSOR
CURS
A
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 NOTAS
Obs.: NOTAS e FREQUÊNCIA não tem sentido sozinho, são apenas atributos do relacionamento
ALUNO / DISCIPLINA (não existem informações a serem guardadas em relação à NOTAS e
FREQUÊNCIA)
 M N
ALUNO CURSA DISCIPLINA
 
 M 1,N
 LECIONA TEM
 1 1,1
 PROFESSOR CURSO
Obs.: Como sabemos quantas notas existem, apesar de fugir da normalização, adotamos essa solução
(redundância controlada).
17
CÓD. ALUNO
CÓD DISCIPLINA
CÓD. PROFESSOR
NOTA1,2,3,4
FREQUÊNCIA
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
No exercício anterior, criamos uma estrutura chamada de Agregação. A Agregação acontece quando
existe um relacionamento (M:N) entre entidades e por sua vez este relacionamento se relaciona com uma
outra entidade. Gráficamente podemos representar essa situação de duas maneiras:
 M N 
 
 M
 1
 
 M N
M
1
18
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
Exercícios:
1) Considerando as entidades:
• FUNCIONÁRIO
• PROJETO
• FUNÇÃO
Temos o seguinte:
Um funcionário pode trabalhar em vários projetos simultaneamente e cada projeto pode
ter vários funcionários. Dependendo do projeto em que o funcionário atue, o funcionário pode ter funções
distintas. Todo funcionário tem um gerente que também é funcionário.
Representar o Diagrama E-R.
2) Considerando as entidades:
• EMPRESA
• PESSOA
• DEPARTAMENTO
Temos o seguinte:
A empresa é formada por várias pessoas que podem ser do tipo: executivos, acionistas,
funcionários. Os funcionários estão alocados pelos diversos departamentos da empresa.
Representar o Diagrama E-R.
19
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
Solução dos exercícios:
1)
1,M 1,N
 FUNCIONÁRIO PROJETO
 ATUA
1,M
 EXERCE
1,N
FUNÇÃO
1,1
M N
 FUNCIONÁRIO ATUA PROJETO
1,N M
 EXERCE
 TEM GERENTE
1
20
Aqui eu não consigo identificar a função que o
funcionário exerce pois a mesma depende do
projeto em que ele está trabalhando.
ATU
A
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 FUNÇÃO
2)
1,1 1,N
 EMPRESA PESSOA
 É FORMADA POR
1,1
 PERTENCE
 FUNCIONÁRIOS EXECUTIVOS ACIONISTAS
1,N
1,1
1,N
 DEPTO
No exercício acima temos uma estrutura chamada de Generalização-Especialização (GEN-SPEC). Nesse
caso, Funcionários, Executivos e Acionistas são especializações de Pessoa (que é a generalização). Pessoa
também pode ser chamada de Super-Tipo equanto que as especializações são chamadas de Sub-Tipo. A
21
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
implementação física desse conceito pode ser feita através de um atributo que indique o tipo de pessoa
(identificador).
Modelo Lógico 
A partir do Modelo Conceitual elaborado através do Diagrama E-R, obteremos o Modelo Lógico
aplicando um conjunto de regras bem definidas. Essas regras atuarão basicamente em dois grupos
distintos de elementos: as estruturas de relacionamento, agregação e especialização de um lado e as
entidades e seus atributos de outro.
O Modelo Lógico pode ser obtido através dos seguintes passos:
1 - Obter o Modelo Conceitual
2 - Definir o tipo de implementação (Rede, Relacional, O-O)
3 - Aplicar as regras de derivação específicas
4 - Adaptar o modelo às necessidades (redundância, desnormalização, etc. São artifícios
criados para resolver problemas de desempenho, flexibilidade, independência e segurança)
Modelo Relacional ou Abordagem Relacional
Proposto por Edgard F. Codd (anos 70) está baseado na Teoria dos Conjuntos (Álgebra
Relacional). As operações utilizadas para manuseio dos conjuntos podem ser utilizadas sobre estruturas de
dados. O Modelo Relacional utiliza o conceito de tabelas, ou seja, a tabela é a visão tabular ou plana
representativa de uma relação. O termo Relacional advém do fato de as relações serem implementadas
através de uma estrutura de dados relacional.
Os dados são representados em forma de tabelas (relações) através de linhas (tuplas) e colunas
(domínios ou atributos).
Vantagens da Abordagem Relacional
- Independência total dos dados
- Visão múltipla dos dados
- Redução na atividade de desenvolvimento / manutenção
- Melhoria na segurança dos dados
Conceitos
- Chaves Candidatas
São as colunas de uma tabela que podem garantir que não haverá linhas
repetidas (tuplas).
- Chave Primária
Dentre as chaves candidatas, é a coluna escolhida (ou mais de uma coluna) que
identifica univocamente uma tupla.
- Chave Estrangeira
É uma chave, portanto identifica de modo único uma tupla. Ela não está em seu
local original (local de origem) mas sim em um local para onde foi migrada (no estrangeiro). Ela tem um
local de origem e lá possui suas características originais (é uma chave primária).
É através da chave estrangeira que se estabelece o relacionamento entre duas
tabelas.
22
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
Obs.: No ambiente relacional uma tabela é acessível por qualquer campo (atributo)
independente deste ser declarado como chave ou não. Para isso usamos o recurso do índice que é um
recurso físico visando otimizar a recuperação via um método de acesso. Alguns autores chamam o índice
de Chave Secundária.
exemplos:
1) Supondo uma tabela que tivesse os seguintes atributos:
nome do eleitor, data de cadastramento, junta eleitoral, identidade, cpf, título
de eleitor, data de nascimento, endereço, etc.
Poderíamos utilizar para chaves candidatas os seguintes atributos: identidade, cpf ou
título de eleitor. Porém, devido as características da tabela, o mais apropriado é que a chave primária
fosse o atributo título de eleitor.
2) Dado o Diagrama E-R abaixo, através do conceito de chave estrangeira será
estabelecido o relacionamento descrito:
1,1 1,N
AUTOR LIVROS
 PUBLICA
Para efetivarmos o relacionamento acima, inserimos na tabela LIVROS o atributo
CÓDIGO AUTOR que será considerado como uma chave estrangeira.
1,1 1,1
AUTOR LIVROS
23
CÓDIGO AUTOR
NOME
ENDEREÇO
CÓDIGO LIVRO
TÍTULO
EDITORA
PREÇO
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
No exemplo acima podemos colocar o atributo CÓDIGO AUTOR na tabela LIVROS
ou o atributo CÓDIGO LIVRO na tabela AUTOR. O efeito seria o mesmo. A implementação irá definir
que solução adotar.
Derivação do Modelo E-R para o Modelo Lógico (Modelo Relacional)
Regras:
1) Mapeamento das Entidades
Toda Entidade transforma-se em uma tabela.
2) Mapeamento dos Relacionamentos
a) Relacionamento 1:N (Entidades distintas)
 1,1 1,N
 DEPTO FUNCIONÁRIO
 
 TEM
A Entidade cuja cardinalidade é N, carrega o identificador (chave primária)da Entidade
cuja cardinalidade é 1. 
b) Relacionamento 1:N (envolvendo auto-relacionamento)
1,N
 FUNCIONÁRIO TEM GERENTE
1,1
Matrícula Nome Matrícula Gerente
24
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 100 Carlos 200
 200 Maria 200
 300 Ana 500
 400 João 500
 500 Irene 500
Incluir a chave primária da Entidade na própria Entidade como chave estrangeira. 
c) Relacionamento 1:1 (Entidades distintas)
 1,1 1,1
 FUNCIONÁRIO DEPTO
 
 CHEFIA
As Entidades envolvidas neste relacionamento carregarão o identificador da outra conforme
a conveniência do projeto.
d) Relacionamento 1:1 (envolvendo auto-relacionamento)
1,1
 PESSOA CASADA COM
1,1
Código Pessoa Nome Código Cônjuge
 100 Carlos 200
 200 Maria 100
 300 Ana 600
 400 João 500
 500 Irene 400
 600 José 300
Incluir a chave primária da Entidade na própria Entidade como chave estrangeira.
e) Relacionamento M:N (Entidades distintas)
25
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 1,M 1,N
 ALUNO DISCIPLINA
 
 CURSA
O relacionamento torna-se uma tabela, carregando os seus próprios atributos (se houver) e
os identificadores das Entidades que se relacionam. 
f) Relacionamento M:N (envolvendo auto-relacionamento)
0,M
DISCIPLINA PRÉ-REQUISITO
0,N
Código Disciplina Nome Código Disciplina Código Pré-Requisito
 001 Análise I 002 001
 002 Análise II 003 002
 003 Análise III 004 003
 004 Análise IV 004 005
 005 Projeto I
 Tabela Disciplina Tabela Pré-Requisito
O relacionamento torna-se uma tabela, carregando os seus próprios atributos (se houver) e o
identificador da Entidade que se auto-relaciona.
g) Estrutura de Generalização-Especialização
 FUNCIONÁRIO
 
26
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
 ENGENHEIRO VENDEDOR MOTORISTA
O usual é criar um atributo na Entidade supertipo que caracterize os diversos subtipos
existentes. (no exemplo acima poderia ser o atributo “cargo” )
h) Estrutura de Agregação
M N
 AUTOR TRABALHA EDITORA 
1
 
 PUBLICA
N
 LIVROS
As agregações devem ser analisadas em 2 etapas:
- A etapa relativa ao relacionamento M:N que dá origem a uma nova tabela (Entidade);
- A etapa relativa ao relacionamento entre essa nova Entidade e a outra Entidade.
Aplicam-se nestas duas etapas as regras já vistas anteriormente.
No exemplo acima a tabela Livros receberia a chave primária da tabela Trabalha que é
formada pelos atributos Código Autor e Código Editora.
27
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
Normalização
Processo formal passo à passo que examina os atributos de uma entidade (tabela) com o
objetivo de evitar anomalias observadas na inclusão, alteração e exclusão de tuplas específicas. É um
processo necessário à implementação de estruturas relacionais.
Vamos considerar um formulário de pedido que tivesse os atributos descritos abaixo e
em função desses atributos aplicar as regras de normalização.
- Número do Pedido
- Prazo de Entrega
- Nome do Cliente
- Endereço do Cliente
- Cidade do Cliente
- UF do Cliente
- CGC do Cliente
- Inscrição Estadual do Cliente
- Código do Produto
- Fornecedor do Produto
- Unidade do Produto
- Quantidade do Produto Esses atributos se repetem no formulário.
- Descrição do Produto
- Valor Unitário do Produto
- Valor Total do Produto
- Valor Total do Pedido
- Código do Vendedor
- Nome do Vendedor
- Quantidade do Produto no Estoque
• Primeira Forma Normal (1FN - Grupos Repetitivos)
Uma Tabela (Entidade) está na 1FN se:
- As tuplas da tabela são unívocas, ou seja, o conteúdo da chave primária não
pode se repetir;
- As tuplas da tabela não contêm itens repetitivos;
Para se obter entidades na 1FN é necessário decompor cada entidade não normalizada
em tantas entidades quantos forem o número de conjuntos de atributos repetitivos.
No nosso exemplo teríamos a seguinte solução para a 1FN:
Entidade Pedido
- Número do Pedido (Chave Primária)
- Prazo de Entrega
- Nome do Cliente
- Endereço do Cliente
- Cidade do Cliente
28
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
- UF do Cliente
- CGC do Cliente
- Inscrição Estadual do Cliente
- Valor Total do Pedido
- Código do Vendedor
- Nome do Vendedor
Entidade Item de Pedido
- Número do Pedido (Chave Primária)
- Código do Produto (Chave Primária) 
- Fornecedor do Produto
- Unidade do Produto
- Quantidade do Produto
- Descrição do Produto
- Valor Unitário do Produto
- Valor Total do Produto
- Quantidade do Produto no Estoque
A representação do Diagrama Entidade-Relacionamento ficaria assim:
 PEDIDO 1,1 1,N ITEM PEDIDO
 POSSUI
Anomalias da 1FN
Inclusão
. Só é possível incluir um novo cliente caso ele faça um pedido.
. Só é possível incluir um novo produto caso ele pertença a um item de
pedido.
. Se um mesmo cliente for incluído em um outro pedido com dados
diferentes, as informações desse cliente ficarão diferentes nos diversos
pedidos.
Exclusão
. Se excluirmos um determinado pedido, perderemos as informações do
cliente e do produto associados ao pedido.
Atualização
. Se quisermos alterar informações de um cliente ou de algum produto,
teremos que atualizar diversas tuplas da tabela.
• Segunda Forma Normal (2FN - Dependências Parciais de Chaves Concatenadas)
29
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
Uma Tabela (Entidade) está na 2FN se está na 1FN e cada um dos seus atributos não
pertencentes à chave primária for dependente parcialmente dessa chave (isso ocorre quando a chave
primária é fomada por mais de um atributo).
No nosso exemplo, na entidade Item de Pedido, os atributos Fornecedor do Produto /
Unidade do Produto / Descrição do Produto e Valor Unitário do Produto só dependem de Código do
Produto, logo sugirá uma nova entidade chamada Produto com os seguintes atributos: 
Entidade Produto
- Código do Produto (Chave Primária) 
- Fornecedor do Produto
- Unidade do Produto
- Descrição do Produto
- Valor Unitário do Produto
- Quantidade do Produto no Estoque
Com isso a entidade Item de Pedido ficou com os seguintes atributos:
Entidade Item de Pedido
- Número do Pedido (Chave Primária)
- Código do Produto (Chave Primária) 
- Quantidade do Produto
- Valor Total do Produto
A representação do Diagrama Entidade-Relacionamento ficaria assim:
 PEDIDO 1,1 1,N ITEM PEDIDO
 POSSUI
 1,N
 CONTÊM
 1,1
 PRODUTO
Anomalias da 2FN
Inclusão
. Só é possível incluir um novo cliente caso ele faça um pedido.
30
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
. Se um mesmo cliente for incluído em um outro pedido com dados
diferentes, as informações desse cliente ficarão diferentes nos diversos
pedidos.
Exclusão
. Se excluirmos um determinado pedido,perderemos as informações do
cliente associado ao pedido.
Atualização
. Se quisermos alterar informações de um cliente teremos que atualizar
diversas tuplas da tabela.
• Terceira Forma Normal (3FN - Dependências Transitivas)
Uma Tabela (Entidade) está na 3FN se está na 2FN e se nenhum dos seus atributos
possui dependência transitiva em relação a outro atributo que não participe da chave primária.
No nosso exemplo, na entidade Pedido, o atributo Nome do Vendedor depende do
Código do Vendedor que no caso não pertence à chave primária, logo surgirá uma nova entidade chamada
de Vendedor. O mesmo raciocínio se aplica às informações do cliente surgindo então uma nova entidade
chamada de Cliente.
Entidade Vendedor
- Código do Vendedor (Chave Primária)
- Nome do Vendedor
Entidade Cliente
- Código do Cliente (Chave Primária)
- Nome do Cliente
- Endereço do Cliente
- Cidade do Cliente
- UF do Cliente
- CGC do Cliente
- Inscrição Estadual do Cliente
Com isso a entidade Pedido ficou com os seguintes atributos:
Entidade Pedido
- Número do Pedido (Chave Primária)
- Prazo de Entrega
- Código do Cliente
- Código do Vendedor
- Valor Total do Pedido
31
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
A representação do Diagrama Entidade-Relacionamento ficaria assim:
 PEDIDO 1,1 1,N ITEM PEDIDO
 POSSUI
 0,N 0,N 1,N
 TIRA CONTÊM
 1,1 1,1
 FAZ
 VENDEDOR PRODUTO
 1,1
 CLIENTE
Anomalias da 3FN
Inclusão
. Foram resolvidas as anomalias da 2FN
Exclusão
. Foram resolvidas as anomalias da 2FN
Atualização
. Agora só precisamos atualizar o respectivo cliente que teve alguma alteração
nas suas informações.
observação: Na entidade Item de Pedido o atributo Valor Total Produto
depende do atributo Quantidade do Produto, logo está em desacordo com a regra para a 3FN. Esse
32
MODELAGEM DE DADOS - UNIVERSIDADE ESTÁCIO DE SÁ - PROF. PAULO BORGES
CURSO DE GRADUAÇÃO TECNOLÓGICA – ANÁLISE E DESENVOLVIMENTO DE SISTEMA
atributo só foi colocado para melhorar a performance na recuperação da informação consolidada.
(desnormalização controlada)
Existem ainda outras formas normais, a saber: Quarta Forma Normal, Quinta Forma
Normal e a Forma Normal de Boyce/Codd.
33

Continue navegando