Modelagem de Dados/Modelo Entidade-Relacionamento

Slides:



Advertisements
Apresentações semelhantes
MER – Modelo de Entidade Relacionamento
Advertisements

O Modelo E-R Definição: Características
Prof.: Bruno Rafael de Oliveira Rodrigues
Modelo Entidade-Relacionamento
Prof. Alexander Roberto Valdameri
Banco de Dados Prof. MSc Wagner Siqueira Cavalcante
Bancos de Dados Projeto de BD
Banco de Dados Aplicado ao Desenvolvimento de Software
Banco de Dados I Aula 4 - Projeto Conceitual de Banco de Dados
Modelo Entidade-Relacionamento (ER)
Modelo de Entidade-relacionamento
Modelagem Entidade-Relacionamento (MER)
Modelagem Orientada a Objetos com UML Cursos para a CTI - IME/USP Dairton Bassi, Hugo Corbucci e Mariana Bravo Departamento de Ciência.
Banco de Dados.  Relacionamentos  Exercícios  abstração de uma associação entre  (ocorrências de) entidades  simbologia: losango nomeado  denota.
Banco de Dados Relacionamentos entre Entidades Aula de 15/03/2016 Professor Alessandro Carneiro.
Gestão da Tecnologia da Informação Fundamentos de Sistemas de Banco de Dados Faculdade de Tecnologia Senac Jaraguá do Sul.
Supervisão e Redes Industriais Tutorial E3 Elipse Capítulo 14 ARMAZENAMENTO DE DADOS Felipe Domeni, Gabriel Martin, Leandro Gomes Rafael Benoliel, Tiago.
Normalização. CONCEITOS  Decomposição de esquemas para evitar anomalias de atualizações;  Processo de avaliação campos de uma tabela, com o objetivo.
Gerência de Arquivos.
Modelo Entidade-Relacionamento
Relacionamentos Avançados do Modelo Entidade-Relacionamento
Educação Profissional Técnica de Nível Médio em Informática
Banco de Dados I Modelagem Relacional
UNIVERSIDADE REGIONAL DE BLUMENAU
Banco de Dados Modelo de Dados
Criação: Caroline Brasileiro Atualização: Laura Matos
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Introdução OO.
Universidade Federal de Santa Catarina
Análise e Projeto de Sistemas II
PROGRAMAÇÃO ORIENTADA A OBJETO - JAVA
Tema 4 - Modelagem ER: Técnicas e Ferramentas
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Banco de Dados Representa o arquivo físico de dados, armazenado em dispositivos periféricos, para consulta e atualização pelo usuário. Possui uma série.
ESTATÍSTICA BÁSICA. Por quê? Em alguma fase de seu trabalho, o pesquisador se vê às voltas com o problema de analisar e entender um conjunto de dados.
Tema 3 - Modelagem ER: Conceitos e Fundamentos
Prof: Márcio Soussa Centro Universitário Jorge Amado
Curso Superior de Tecnologia em BD
Banco de Dados Prof: Márcio Soussa Centro Universitário Jorge Amado.
BANCO DE DADOS II.
4 CONCEITOS BÁSICOS EM POO
BANCO DE DADOS Araújo Lima Nov / 2017 Araújo.
Prof: Márcio Soussa Centro Universitário Jorge Amado
Modelagem de Banco de Dados através do ERwin
Banco de Dados Prof: Márcio Soussa Centro Universitário Jorge Amado.
Engenharia de Software II
BANCO DE DADOS I.
UML Diagrama de Classes
Modelagem de Objetos de Domínio com Diagrama de Classes
TLBD 1 Técnicas de linguagem de banco de dados 1
Unidade 2 Modelo Conceitual
AULA 2 ESTATÍSTICA DANIEL PÁDUA.
MER – Modelo de Entidade Relacionamento
Universidade Federal de Santa Catarina Mapeamento ER- Relacional
Rosemary Silveira Filgueiras Melo
Prof: Márcio Soussa Centro Universitário Jorge Amado
Modelagem Conceitual - Análise Conceitual
Universidade Federal de Santa Catarina
Access Bd TransTic.
Instalação e Manutenção de Computadores Técnico em Informática MAI1
Soluções Inteligentes para ONGs Esportivas
Módulo III Capítulo 2: SQLite
Aula Prática Objeto-Relacional Monitoria GDI
Alexandre Mota Análise do Sistema Alexandre Mota
Modelagem Entidade-Relacionamento (MER)
Paradigma de Orientação a Objetos
Prof. Marcio Ferreira Modelagem de dados II
Análise e Projeto de sistemas Profa. Cynara carvalho
BANCO DE DADOS.
Modelagem de Banco de Dados
Transcrição da apresentação:

Modelagem de Dados/Modelo Entidade-Relacionamento Banco de Dados Modelagem de Dados/Modelo Entidade-Relacionamento Livros Texto : Sistemas de Banco de Dados Fundamentos e Aplicações – Elmasri & Navathe – Capítulos 3 Sistema de Banco de Dados – Silberschartz – Capítrulo 2

Modelagem de Dados Conteúdo Introdução Fases de Projeto de BD Ciclo de vida de BD Modelo conceitual de BD Modelo Entidade-Relacionamento Entidade/Atributo/Relacionamento Representação Extensões Exercícios

Modelagem de Dados Introdução Abstração da informação “ Habilidade mental que permite aos seres humanos visualizarem os problemas do mundo real com vários graus de detalhe, dependendo do contexto do problema.” J.Rumbaugh

Modelagem de Dados Introdução (Valdemar W. Setzer) mundo real seres, objetos, organismos, fatos organização; alterações modelo descritivo descrições das estruturas e das transações modelo conceitual informações formais estruturas de informações; especificações de manipulação modelo operacional dados estruturas externas de dados; especificações e programas de manipulação modelo interno cadeia de bits e bytes estruturas internas de arquivos e tabelas; programas interpretáveis ou executáveis informações informais

Modelagem de Dados Introdução Fases de Projeto de um banco de dados Modelagem Conceitual Procura capturar formalmente os requisitos de informação de um BD; Projeto Lógico Objetiva definir as estruturas de dados que implementem os requisitos identificados na modelagem conceitual; Projeto Físico Define parâmetros físicos de acesso ao BD; Procura otimizar o desempenho do sistema em relação ao acesso aos dados.

Modelagem de Dados Fase do Projeto de banco de Dados Mini-Mundo Independente do SGBD Dependente do SGBD Análise e Coleta de Requisitos Requisitos do BD Projeto Conceitual Catálogo do BD Esquema Conceitual (Alto Nível) Projeto Lógico Mapeamento Modelo Dados Projeto Físico Esquema Conceitual (Modelo do SGBD)

Modelagem de Dados Cíclo e Vida do BD Análise dos requerimentos Projeto conceitual e lógico do banco de dados Modelo ER Integração das Visões Transformações do MER em tabelas SQL Normalização das tabelas Distribuição dos dados (opcional) Definição do projeto físico Implementação do banco de dados, monitoramento e modificações

Modelo Conceitual de Dados Definição "Um modelo conceitual é um modelo detalhado, que captura a estrutura dos dados organizacional sendo independente de qualquer sistema de gerenciamento de base de dados ... " McFadden & Hoffer, p. 87 “Coleção de ferramentas conceituais para descrição de dados, relacionamento entre os dados, semântica e restrições de dados.” Henry F. Korth “Uma coletânea de conceitos que podem ser utilizados para descrever a estrutura de um banco de dados – fornece os meios necessários para alcançar a abstração de dados” Elmasri/Navathe

Modelo Conceitual de Dados Definição Modelos Conceitual Comuns para Banco de Dados: Modelo Entidade-Relacionamento Focaliza na estrutura dos dados/metadados Não aborda a modelagem funcional Modelo Orientado a Objeto Modela objetos através do encapsulamento dos metadados (estrutura) e métodos (funções)

Modelo Entidade-Relacionamento Conceito “Modelo de dados conceitual de alto nível bastante popular. Esse modelo e suas variações são frequentemente utilizados para o projeto conceitual de aplicações de banco de dados e por muitas ferramentas de projeto de banco de dados” Elmasri/Navathe “O modelo de dados entidade-relacionamento baseia-se na percepção de um universo constituído por um grupo básico de objetos chamados entidades e por relacionamentos entre estes objetos. Ele foi desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificação de um esquema que representa a estrutura lógica global do banco de dados” Percepção do mundo real representada por entidades e relacionamentos

Modelo Entidade-Relacionamento Definição Proposto por Peter Chen [1976] Baseado na percepção do mundo real Qualifica todo item de informação como entidade, atributos e relacionamento facilitando assim o entendimento tanto por parte do projetista do banco de dados, quanto do usuário Objetivos: Simplicidade de representação Ferramenta para os projetistas Ferramenta de comunicação Criar uma visão unificada dos dados

Modelo Entidade-Relacionamento Entidade Entidade - É qualquer objeto distinto a ser representado pelo banco de dados. Um grupo de pessoas, coisas ou eventos que compartilham um conjunto de atributos Identificada pelo usuário, definido pelo projetista de dados Concretas: carro, casa, filme, produto, etc.. Abstratas: atividade, cargo, show, etc.. Instância de uma Entidade Uma pessoa, coisa ou evento individual Percebido com um registro lógico

Modelo Entidade-Relacionamento Atributo Atributo - informações úteis a respeito de uma entidade ou relacionamento, são independentes de todas as demais entidades. Tipos de atributo : determinante: seu valor representa uma instância da entidade seu valor é único por instância da entidade deve ser sublinhado composto necessita ser dividido em sub-atributos, para que seu significado seja melhor compreendido multi-valorado pode assumir mais do que um valor para cada entidade, é diferenciado com um (*)

Modelo Entidade-Relacionamento Atributo Domínio de um atributo - determina o conjunto de valores válidos de um atributo Ex : Idade – numérico (0,120) Nome – texto de 30 posições Representação no Diagrama de Entidade-Relacionamento(DER) Entidade Atributos

Modelo Entidade-Relacionamento Representação entidade/atributo Funcionários matricula nome endereço Funcionários matricula rua nº CEP Atributo composto endereço Funcionários matricula *telefone Atributo multi-valorado

Modelo Entidade-Relacionamento Representação entidade/atributo Nome da entidade = (atributo1, atributo2, …, atributon) Atributo Identificador - sublinhado Multivalorados - {} Compostos - ( ) Ex. Carro = (Placa,Registro(Numero, Estado),Modelo, {cor}) (BSA3321, (234,Bahia), Corsa,{azul,branco}) (VIT3521, (317,Bahia), Corsa,{vermelho,preto})

Modelo Entidade-Relacionamento Representação entidade/atributo Exercício 1 - Definir três entidades de um sistema de matrícula de alunos numa universidade com seus respectivos atributos e criar uma instância para cada entidade.

Modelo Entidade-Relacionamento Tipos de Entidade Fortes - são entidades de dados que possuem alto grau de independência com relação à existência e identificação. Fracas - são entidades que possuem dependência de existência e de identificação. Estão sempre ligadas à outras entidades fortes por relacionamentos. As entidades fracas possuem as seguintes propriedades: Devem ser consideradas como pertencentes a somente uma outra entidade (forte ou fraca). Devem ter pelo menos um relacionamento estabelecido com a forte. Devem ter pelo menos uma identificação parcial própria. Devem ter pelos menos uma identificação da forte com que se relaciona Entidade Fraca

Modelo Entidade-Relacionamento Atributo de identificação e de conexão Chave Primária: Identifica uma única instância de entidade (entidade) numa entidade (conjunto de entidades) e uma instância de relacionamento (relacionamento) num relacionamento (conjunto de relacionamentos). Chave Candidata: Atributo da entidade passível de se tornar uma chave primária. Chave Estrangeira: Atributo da entidade que representa a chave primária de outra entidade.

Modelo Entidade-Relacionamento Relacionamento Entidades não estão isoladas, necessário identificar relacionamentos para representar corretamente o ambiente observado. É uma associação lógica entre as diversas entidades. São representados por losangos. Entidade 1 Relaciona Entidade 2

Modelo Entidade-Relacionamento Relacionamento Grau do relacionamento Número de entidades que participam no relacionamento É gerenciado Unário Gerência Funcionario gerencia Funcionario Pertence Departamento Binário

Modelo Entidade-Relacionamento Relacionamento Fornecedor Peça Ternário Projeto

Modelo Entidade-Relacionamento Relacionamento Cardinalidade - o número de instâncias de uma entidade que podem ser associados com instâncias de outra entidade Cardinalidade de relacionamento – 1:1 Utiliza Func 1 Carro

Modelo Entidade-Relacionamento Relacionamento Cardinalidade de relacionamento – 1:N Filme Classi- ficacao 1 N

Modelo Entidade-Relacionamento Relacionamento Cardinalidade de relacionamento - N:M Func Projeto Participa Cada FUNC participa de quantos PROJETOS? Cada PROJETO tem a participação de quantos FUNC? M N

Modelo Entidade-Relacionamento Relacionamento Cardinalidade de relacionamento Um-para-Um (1:1) a2 b1 b2 b3 b4 a1 a3 a4

Modelo Entidade-Relacionamento Relacionamento Cardinalidade de relacionamento (1:N) a2 b1 b2 b3 b4 a1 a3

Modelo Entidade-Relacionamento Relacionamento Cardinalidade de relacionamento (M:N) a2 b1 b2 b3 b4 a1 a3 a4

Modelo Entidade-Relacionamento Notações para DER Atributos Entidade fraca

Modelo Entidade-Relacionamento Relacionamento Exercício 2 - Definir o relacionamento entre as entidades Cliente, Agência e Conta Corrente, apontando a cardinalidade dos relacionamentos. Neste problema o cliente pode possuir várias conta corrente. Uma conta corrente pertence a uma Agência. Uma conta corrente pode possuir mais de um cliente.

Modelo Entidade-Relacionamento Relacionamento Modalidade: Associações mandatórias e opcionais “Associar um par de números inteiros (min, max) a cada participação de um tipo de entidade E em um tipo de relacionamento R” (Elmasri/Navathe) min = 0 – participação parcial min > 0 – participação total

Modelo Entidade-Relacionamento Relacionamento Todo consumidor possui apenas um registro de dados cadastrais. Consumidor Dados Cadastrais Possui Nome CPF Endereço (1,1) Consumidor(CPF, Nome) FK=CPF se refere a CPF de Dados Cadastrais Dados Cadastrais(CPF, Endereço) FK=CPF se refere a CPF de Consumidor * Representar a chave estrangeira com grifado pontilhado

Modelo Entidade-Relacionamento Relacionamento Relacionamento 1:1 (não obrigatório) Um homem pode ser casado com uma única mulher. Uma mulher pode ser casa com um único homem. Homem Mulher Casado Nome CPF (0,1) Data Homem(CPF, Nome) Casado(CPFHomem, CPFMulher, DataCasamento) FK1=CPFHomem se refere a CPF de Homem FK2=CPFMulher se refere a CPF de Mulher Mulher(CPF, Nome)

Modelo Entidade-Relacionamento Relacionamento Relacionamento 1:n Toda cidade pertence a apenas um estado. Um estado deve ter várias cidades. Cidade Estado Pertence população nome idcidade sigla idestado (1,n) (1,1) Cidade(idcidade, nome, população, idestado) FK=idestado se refere a chave primária de Estado Estado(idestado, nome, sigla)

Modelo Entidade-Relacionamento Relacionamento Relacionamento 1:n (não obrigatório) Todo vendedor emite vários pedidos de compra. Um pedido de compra pode ser emitido através da Internet sem o envolvimento do vendedor. (0,1) (1,n) Vendedor Emite Pedido Telefone Nome idvendedor Item Quantidade Número Data Vendedor(idvendedor,nome, Telefone) Pedido(Número, Item, Quantidade, data, idvendedor) FK=idvendedor se refere a chave primária de Vendedor

Modelo Entidade-Relacionamento Relacionamento Relacionamento m:n (obrigatório) Todo funcionário participa de pelo menos um projeto. Cada projeto tem a participação de um ou vários funcionários. Funcionário Projeto Participa Função Nome Matrícula Código (1,m) (1,n) Horas trabalhadas Funcionario(Matricula, Nome, Função) Projeto(Codigo, Nome) Participa(MatFunc, CodProjeto, HorasTrabalhadas) FK1=MatFunc se refere a Matricula de Funcionario FK2=CodProjeto se refere a Codigo de Projeto

Modelo Entidade-Relacionamento Relacionamento Exercício 3 Fazer um DER apresentando as entidades Empregado, Departamento, Dependentes de Empregado e Projetos, seus atributos, relacionamentos e respectivas cardinalidades e modalidade de relacionamento. Realize também os mapeamentos. Neste problema um empregado sempre está alocado a um departamento, cada departamento é gerenciado por um gerente e será importante saber a data que este gerente iniciou na gerência. O empregado pode ou não possuir dependentes. Se os empregados são casados, apenas um deles pode declarar os dependentes. Um empregado pode ou não trabalhar em um ou mais projetos e a quantidade de horas trabalhadas em cada projeto deve ser registrada. Um projeto deverá conter no mínimo um empregado alocado. Todo projeto é controlado por um departamento. Do empregado precisamos conhecer todas as suas informações cadastrais, de seus dependentes apenas o nome, sexo, data de nascimento e parentesco (filho, neto, pai, mãe, etc.)

Modelo Entidade-Relacionamento Extensões O modelo E-R não conseguia refletir alguns fatos do mundo real, foi necessário estende-lo para que a modelagem conceitual fosse o mais fiel possível Novos elementos foram introduzidos para tornarem a técnica mais rica em semântica e alargar o ambito de sua aplicação Generalização/Especialização Quando dado um subconjunto de instâncias de uma entidade, pedemos vê-lo como elemento pertencente tanto a um subconjunto distinto quanto ao conjunto maior. As características comuns a todas as instâncias devem ser alocadas numa entidade generalizadora e serão herdadas pelas especializações As características específicas são alocadas às especializações

Modelo Entidade-Relacionamento Extensões Especialização Considerando uma entidade uma classe, especializar é subdividir a classe em subclasses. A classe ou entidade principal é também chamada de superclasse. Colaborador Terceiro Funcionário

Modelo Entidade-Relacionamento Extensões Especialização Funcionário Secretária Engenheiro Técnico Velocidade datilog. Tipo Grau Funcionario(Maticula, Nome, Endereco, Salario, TipoTrabalho) Secretaria(Matricula, VelocidadeDatilografia) Tecnico (Matricula, Grau) Engenheiro (Matricula, Tipo)

Modelo Entidade-Relacionamento Extensões Especialização Define um conjunto de subclasses de um tipo de entidade Estabelece atributos específicos e adicionais para cada subclasse Colaborador Funcionário Terceiro por hora assalariado

Modelo Entidade-Relacionamento Extensões Generalização Inversão da Especialização. Ocorre quando uma superclasse (entidade) é um agrupamento de subclasses (entidades). Representação do conjunto global Processo inverso de especialização, define apenas as carcaterísticas comuns Pessoa Homem Mulher

Modelo Entidade-Relacionamento Extensões Generalização Funcionário Secretária Engenheiro Técnico Velocidade datilog. Tipo Categoria Funcionario(Maticula, Nome, Endereco, Salario, TipoTrabalho) Secretaria(Matricula, VelocidadeDatilografia) Tecnico (Matricula, Categoria) Engenheiro (Matricula, Tipo)

Modelo Entidade-Relacionamento Extensões Especializações/Generalização Há um relacionamento entre a superclasse e as subclasses Especialização é considerada uma divisão em duas ou mais entidades e não entidades diferentes Os relacionamentos podem ser estabelecidos entre a superclasse e as subclasses

Modelo Entidade-Relacionamento Extensões Agregação Abstração da informação onde relacionamentos são tratados como entidades em nível mais alto São usadas quando desejamos associar um relacionamento a uma entidade através de um outro relacionamento.

Modelo Entidade-Relacionamento Extensões Agregação data consulta Medico Paciente (0,N) (0,M) Exame consulta data solicitacao data realizacao resultado solicita Medico(CodMedico, Nome, ...) Paciente(CodPaciente, Nome, ...) Consulta(CodMedico, CodPaciente, DataConsulta) Exame(CodExame, Descricao, ...) SolicitacaoExame(CodMedico,CodPaciente,CodExame,DataSolicitacao, DataRealizacao,Resultado)

Modelo Entidade-Relacionamento Extensões Agregação Permite relacionamento entre relacionamentos tratando o relacionamento como uma entidade abstrata

Modelo Entidade-Relacionamento Extensões Agregação data Funcionario(Matricula, Nome, ...) Projeto(CodProjeto, NomeProjeto, ...) AlocacaoProjeto(Matricula, CodProjeto, DataAlocacao) Reserva(Matricula,CodProjeto,CodMaquina, DataReserva, Periodo) Maquina(CodMaquina, Processador, Memória, ...) Funcionario Projeto (0,N) (1,M) Maquina (1,1) (1,N) alocado periodo reserva data

Modelo Entidade-Relacionamento Recomendações para criação de um DER Antes de começar a modelar, conheça o “mundo real”. Identifique quais são as ENTIDADES. Para cada Entidade represente seus ATRIBUTOS. Verifique a necessidade de ESPECIALIZAÇÃO. Confronte cada Entidade consigo mesma e com as demais na procura de possíveis RELACIONAMENTOS. Verifique a existência de ATRIBUTOS DE RELACIONAMENTO. Identifique as cardinalidades dos relacionamentos Para relacionamentos múltiplos estude a necessidade de AGREGAÇÕES. Desenhe o DER, com todas as Entidades, Atributos e Relacionamentos. Analise cuidadosamente todas as restrições que você impôs. Até que você e os seus usuários estejam convencidos de que o DER reflete fielmente o “mundo real”, volte ao item 1.