Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Banco de Dados I 
Prof. Andreiwid Corrêa
Prof. Tiago Carvalho
(Material adaptado do Prof. Felipe Alves do IFRN)
Tecnologia em Análise e Desenvolvimento de Sistemas
MODELO DE DADOS
MODELAGEM CONCEITUAL, MER E ESQUEMA RELACIONAL
Agenda
• Parte I – Modelagem
– Introdução à Modelagem Conceitual
– Fundamentos de Abstração de Modelos
• Parte II – MER
– Introdução ao Modelo Entidade-Relacionamento
– Entidades, Relacionamentos e Atributos
• Parte III – Exercícios
PARTE I – MODELAGEM
Introdução à Modelagem Conceitual
Introdução à Modelagem Conceitual
• Modelagem de um BD é o processo de:
– Descrição dos Tipos de Informações que estão 
armazenadas em um BD por meio de um modelo
• Por exemplo:
– Pode informar que o BD armazena informações sobre 
produtos e que, para cada produto, são armazenados seu 
código, preço e descrição
“O modelo não informa quais produtos estão 
armazenados, apenas que tipo de informações contém”.
Introdução à Modelagem Conceitual
• Para construir um modelo de dados, usa-se uma linguagem de 
modelagem de dados
• Existem linguagens textuais e linguagens gráficas
• É possível descrever os modelos em diferentes níveis de 
abstração e com diferentes objetivos
• O conjunto de descrições que modela os dados de um sistema 
recebe o nome de Esquema de BD (ou simplesmente Esquema)
Introdução à Modelagem Conceitual
• Um modelo de dados é construído do exercício mental de 
Abstração, para entender um determinado “Negócio”
– A Realidade é Nebulosa e Informal
• Pela Abstração de fatos é possível entender a Realidade
• Assim, fatos quando Observados:
– Representam o funcionamento de um negócio
• Compreendido o negócio, é possível a criação do Modelo
Introdução à Modelagem Conceitual
• O que é um Modelo?
– Algo que represente bem um problema
• Como o Analista cria?
– Concentra-se nos fatos relevantes para criar o Modelo
– Não deve preocupar-se em simular o procedimento atual
– Deve Retratar as necessidades de informação no Modelo
• Então, para criar um Modelo de Dados, o Analista deve
– Identificar o problema
– Registrar os acontecimentos
– Automatizar o “processo”
Introdução à Modelagem Conceitual
• “Pensando” no Modelo de Dados (para um “Mini-mundo”)
– BD: registro de fatos; representam estados; reflete a realidade
– Modelo Conceitual
• Representa o problema
• Fornece Visão Geral dos dados e relacionamentos
• 1ª Fase do Projeto: Representação em Alto nível
• Não trata detalhes do SGBD
– Modelo Lógico
• Descrição da Estrutura de BD
• Esquema Lógico de Dados, considera os Tipo de BD
• Esquema Relacional (ainda não considera SGBD)
– Modelo Físico
• Estrutura “Física”: campos, índices, tamanhos, tipos de dados
• Definição de formas de acesso ao SGBD em específico
• Etapa final: criação do Esquema (SQL DDL) para implementação
Introdução à Modelagem Conceitual
PARTE I – MODELAGEM
Fundamentos de Abstração de Modelos
Introdução à Modelagem Conceitual
• Fundamentos de Abstração
– Percepção mental de uma porção do mundo real
– Processo mental para representar objetos isolando 
características menos relevantes
– Destacar propriedades mais importantes
– Fundamental para Modelagem
– Pode ser abordada de 3 maneiras:
• Classificação
• Agregação
• Generalização
Introdução à Modelagem Conceitual
• Abstração por Classificação
– Classe de Objetos com propriedades comuns
– Pode ser representada em 2 níveis:
• A classe e seus membros
Introdução à Modelagem Conceitual
• Abstração por Agregação
– Classes de objetos compostas de outras classes
– Entender objetos como uma composição de partes
• Ou decomposição de partes
Introdução à Modelagem Conceitual
• Abstração por Generalização
– Classes de objetos relacionados
– Subconjunto de objetos que podem ser “categorizados”
PARTE II – MER
Introdução ao Modelo Entidade-Relacionamento
Introdução ao MER
• Objetivos da Modelagem de dados:
– Representar o ambiente observado
– Documentar e normalizar
– Fornecer processos de validação
– Observar processos de relacionamentos entre 
objetos
• Um projeto de BD inicia-se pelo Projeto Conceitual
– Adotando uma abordagem que será o de:
• Entidades e Relacionamentos
Introdução ao MER
• O Modelo Entidade-Relacionamento ou modelo ER
– Foi definido por Peter Chen em 1976
– Baseado na Teoria Relacional de E.F. Codd 1970
– Anos depois, atualizado por alguns pesquisadores
– Com o tempo, diversas extensões e notações foram definidas
• Fundamentado em 2 regras (segundo Chen):
• A visão da realidade pode ser descrita pelo 
relacionamento entre entidades
• Cada entidade e relacionamento podem ter atributos
Introdução ao MER
• O Modelo Entidade-Relacionamento
– Utiliza conceitos de abstração para criação
– Atualmente é o padrão para Modelagem Conceitual de BD
• Modelo simples, envolvendo poucos conceitos
• Representação gráfica de fácil compreensão
– Um esquema de BD usando o modelo ER também pode ser 
chamado de Esquema ER
– É representado por um Diagrama ER
Introdução ao MER
• O Modelo Entidade-Relacionamento
– Destinado para construção de Projetos de BDs
– Pode ser usado também para modelar Negócios ou Estrutura 
de Dados
– A Modelagem Conceitual de Dados com ER, produz um 
“modelo conceitual do sistema”
Introdução ao MER
• Um modelo ER
– Não apresenta procedimentos, regras ou fluxo de dados
– Objetivo:
• Descrever a realidade
• Entender o negócio
• Procedimentos não interessam neste ponto
– Segundo Chen, a representação pode ser feita usando:
• Entidades
• Atributos
• Relacionamentos
PARTE II - MER
Entidades, Relacionamentos e Atributos
MER - Entidades
• No modelo ER
– Fatos da realidade são retratados por elementos básicos, e 
chamando de Entidade
MER - Entidades
• Entidades representam objetos do mundo real
– Possuem: Características, Identidade, Significado
– “Alguma coisa” do negócio (problema)
• A informação desta “coisa” é importante
– No modelo conceitual
• Pode ser considerada como conjunto de dados 
• Representa uma “classe de dados” do problema
• São representadas como Tabelas no modelo relacional
– Cada linha da tabela representa um instância da entidade
MER - Entidades
• Exemplo de Entidades
MER - Entidades
• Exemplo de Entidades em um Aeroporto
MER - Entidades
• Exemplo de Entidades em um Aeroporto
Documentos
Transportadora
Avião
Tripulação
Bagagem
MER - Entidades
Resumindo
• Entidade: Abstração de um fato do mundo real para o qual se 
deseja manter seus dados no BD
• Simbologia: Retângulo nomeado
• Denota um conjunto de ocorrências do fato e não apenas um 
único elementos
– Semelhante a classes de entidades em Programação OO
MER - Relacionamento
MER - Relacionamento
• Relacionamento é um fato que "liga” 2 objetos do mundo real
– Fato que liga duas tabelas no modelo físico
• Geralmente representados por verbos
– VERBO = Expressão de um fato 
• No mundo real, geralmente entidades não estão “soltas”
– Estão Relacionadas de alguma forma lógica
MER - Relacionamento
• Abstração de uma associação entre (ocorrências de) entidades
• Simbologia
– Losango nomeado
• Denota um conjunto de ocorrências de relacionamentos
MER - Relacionamento
• Relacionamento
– Interpretação do significado de um relacionamento
MER - Relacionamento
• Exemplos de Relacionamentos
– As Pessoas Moram em Apartamentos
– Os Apartamentos Formam Condomínios
– Os Condomínios Localizam-se em Ruas
– As Ruas Estão em uma Cidade 
MER - Relacionamento
MER - Relacionamento
• Exercício 1: Considerando as seguintes expressões que 
representam uma realidade, crie um MER para representar 
esta realidade.
– Os alunos cursam disciplinas;
– As disciplinas pertencem a departamentos;
– Os departamentos pertencem a faculdades;
– As faculdades localizam-se em cidades.
Por enquanto, modele as entidades e relacionamentos
MER - Relacionamento
• Exercício 2: Considerando as seguintes expressões que 
representam uma realidade,crie um MER para representar 
esta realidade.
– Os funcionário trabalham em projetos;
– Os Projetos são gerenciados por Gerentes de Projeto;
– Os GPs reportam-se aos Diretores;
– Os Diretores apresentam resultados ao CEO
– O CEO dirige uma Empresa
Por enquanto, modele as entidades e relacionamentos
MER - Relacionamento
Cardinalidade
• Cardinalidade máxima
– Qtd máxima de ocorrências de entidades que podem estar 
associadas a uma ocorrência de outra entidade
– Exemplo:
• Um empregado está lotado no máximo em 1 dpto
• Um dpto tem N empregados lotados nele
MER - Relacionamento
Cardinalidade
• Cardinalidade máxima
MER - Relacionamento
Cardinalidade
• Cardinalidade mínima
– Indica se a participação das ocorrências de entidades no 
relacionamento é obrigatória ou opcional
– Notação de par de cardinalidade: (Mínima, Máxima)
• Exemplo:
– (1,1) Um empregado obrigatoriamente está lotado em 1 dpto
– (0,N) Um dpto pode ter até N empregados lotados nele (ou nenhum)
MER - Relacionamento
Cardinalidade
• Exemplos
MER - Relacionamento
Autorelacionamento
• Representa uma associação entre ocorrências de uma mesma 
entidade
• Exige a identificação de papéis
• Exemplo:
– Um empregado pode ser supervisionado por no máximo 1 empregado
– Um empregado pode supervisionar N empregados
MER - Relacionamento
Autorelacionamento
• Interpretação
– E1 é supervisor de E3
– E8 é supervisionado por E6
MER - Relacionamento
Relacionamento N-ário
• Abstração de uma associação entre N (ocorrências de) 
entidades
– Exemplo
• Relacionamento ternário
• Um produto em uma cidade pode ser entregue por no máximo 1 
distribuidor
MER - Atributos
Atributo
Atributo
MER - Atributo
Atributos
• Abstração de uma Propriedade de uma entidade ou de um 
relacionamento
MER - Atributos
Características de Atributos
• Possui um domínio: Valores permitidos (tipo de dados)
• Uma instância de entidade é descrita pelo conjunto de todos 
os pares (atributo, valor)
– Ex. {(id_cliente,2302), (nome, José), (end, rua 10)...}
• Atributos podem ser Simples ou Compostos
– Ex.: atributo endereço = rua + numero + bairro
• Atributos derivados, derivam de outro atributo
– Ex.: Atributo idade pode ser derivado de data nascimento
• Atributos com valor Nulo
– Valor desconhecido / inexistente / não se aplica
MER - Atributos
Classificação dos atributos
• Obrigatórios ou Opcionais
• Monovalorados ou multivalorados
• Simples ou compostos
MER - Atributos
Identificação de entidades
• Atributos identificadores distinguem ocorrências de uma 
entidade umas das outras
• Garantem o acesso individualizado a uma ocorrência de 
entidade no BD
• Notação: círculo preenchido
MER - Relacionamento
Identificando Relacionamentos
• Um relacionamento é identificado implicitamente pelo 
conjunto de identificadores das ocorrências de entidades que 
participam dele
MER - Relacionamento
Identificando Relacionamentos
• Há casos em que o identificador de uma entidade é composto 
não somente por atributos da própria entidade mas também 
por relacionamentos dos quais a entidade participa
MER - Relacionamento
Generalização/Especialização
• Definição de atributos e/ou relacionamentos particulares a 
um subconjunto de ocorrências (especializações) de uma 
entidade genérica
• Implica na Herança de propriedades
MER - Relacionamento
Generalização/Especialização
• Classificação
– Total
• Para cada ocorrência da entidade genérica existe 
sempre uma ocorrência em uma das entidades 
especializadas
– Parcial
• Nem toda ocorrência da entidade genérica possui uma 
ocorrência correspondente em uma entidade 
especializada
MER - Relacionamento
Generalização/Especialização: Total x Parcial
MER - Relacionamento
Generalização/Especialização
• Existem alguns autores definem que possam ser classificadas 
também em Exclusiva e não-exclusiva
– Exclusiva
• Uma ocorrência de entidade genérica tem apenas uma 
especialização
– Não Exclusiva
• Uma ocorrência de entidade genérica pode ter mais de 
uma especialização
MER - Relacionamento
Generalização/Especialização: Exclusiva x Não Exclusiva
MER - Relacionamento
Entidade associativa
• Questões
– Como saber os medicamentos prescritos em uma 
consulta?
– Como modelar esta associação se “Consulta” é um 
relacionamento?
MER - Relacionamento
Entidade associativa
• Solução
– O relacionamento Consulta torna-se uma entidade associativa
MER - Relacionamento
Restrições do MER
• Não é capaz de expressar todas as restrições de negócio de um 
determinado domínio (aplicação)
• Uma documentação em anexo pode ser necessária
• Exemplo
– Um empregado não pode ser supervisor dele mesmo
MER - Relacionamento
Restrições do MER
• Outro exemplo: Restrições de negócio:
– O tipo de um aluno deve ser graduação (G) ou pós-graduação (PG)
– O tipo de uma disciplina deve ser graduação (G) ou pós-graduação (PG)
– Um aluno de G não pode estar cursando uma disciplina de PG
– Um aluno de PG não pode estar cursando uma disciplina de G
PARTE III – EXERCÍCIOS
Exercícios
MER - Relacionamento
• Exercício 1(B): Considerando as seguintes expressões que 
representam uma realidade, crie um MER para representar 
esta realidade.
– Os alunos cursam disciplinas;
– As disciplinas pertencem a departamentos;
– Os departamentos pertencem a faculdades;
– As faculdades localizam-se em cidades.
Agora inclua as cardinalidades e os atributos 
MER - Relacionamento
• Exercício 2(B): Considerando as seguintes expressões que 
representam uma realidade, crie um MER para representar 
esta realidade.
– Os funcionário trabalham em projetos;
– Os Projetos são gerenciados por Gerentes de Projeto;
– Os GPs reportam-se aos Diretores;
– Os Diretores apresentam resultados ao CEO
– O CEO dirige uma Empresa
*Agora inclua as cardinalidades e os atributos 
MER - Relacionamento
• Exercício 3: Suponha que você precise de um sistema para 
controlar viagens (de seu cônjuge). Você tenha em casa 
algumas malas com várias cores, tamanhos, materiais 
diferentes, com rodas, sem rodas. Em malas você deseja 
colocar roupas, sapatos e produtos de higiene. Crie um 
modelo para este problema.
MER - Relacionamento
• Exercício 4: Construa um diagrama ER para uma seguradora 
de carros em que cada cliente possui um ou mais carros. 
Cada carro tem associado a quantidade de acidentes 
registrados.
MER - Relacionamento
• Exercício 5: Um órgão Universitário possui um sistema para 
controle de disciplinas, com número, título, créditos, roteiro 
e pré-requisitos; alunos, com RA, nome e curso ; professores, 
com RU, nome, departamento; disciplinas oferecidos, com 
número da disciplina, ano, semestre, professor, curso e 
turma; e matrículas. Construa um ER para este problema. 
Represente as restrições (Total ou Parcial).

Mais conteúdos dessa disciplina