A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Modelagem de Dados/Modelo Entidade-Relacionamento

Apresentações semelhantes


Apresentação em tema: "Modelagem de Dados/Modelo Entidade-Relacionamento"— Transcrição da apresentação:

1 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

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

3 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

4 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

5 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.

6 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)

7 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

8 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

9 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)

10 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

11 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

12 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

13 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 (*)

14 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

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

16 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})

17 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.

18 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

19 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.

20 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

21 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

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

23 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

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

25 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

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

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

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

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

30 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.

31 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

32 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

33 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)

34 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)

35 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

36 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

37 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.)

38 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

39 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

40 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)

41 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

42 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

43 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)

44 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

45 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.

46 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)

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

48 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

49 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.


Carregar ppt "Modelagem de Dados/Modelo Entidade-Relacionamento"

Apresentações semelhantes


Anúncios Google