Baixe o app para aproveitar ainda mais
Prévia do material em texto
Modelo Entidade Relacionamento Layany Zambrano Horta Damázio Tarefas 05/11/2012: • Seminário • Aluna Responsável pela apresentação: • Gracielle F. Oliver 1. Assunto: Dado x Informação; 2. Sistema de banco de dados, Banco de Dados, Sistema gerenciador de banco de dados (SGBD); 3. Esquema, Estado e instância; 4. Vantagens de SGBD comparado aos sistemas de arquivos; 5. Usuários de um SBD. Datas alvo: • Primeira Prova dia 10 de dezembro; • Segunda Prova dia 18 de fevereiro; • Entrega do Projeto 25 de fevereiro (Escopo a ser entregue na aula do dia 12/11/2012) Conteúdo para as provas: Primeira Prova: Unidade 1 – Introdução aos Sistemas de Banco de Dados Conceito de banco de dados (BD) Sistema gerenciador de banco de dados (SGBD) Unidade 2 - Modelo Entidade Relacionamento Modelo de Dados conceitual Entidades, Atributos e relacionamentos Diagrama de Entidade Relacionamentos Unidade 3 - Modelo Relacional Modelo de Dados Relacional Mapeamento de MER para MR Normalização: 1FN, 2FN e 3FN Banco de Dados – Plano de Ensino Unidade 3 - Modelo Relacional Álgebra relacional Unidade 4 - Linguagem SQL Comandos DDL Comandos DML Segunda Prova: Unidade 5 – Componentes de um SGBD Processamento de transações Processamento de consultas Recuperação a falhasU Projeto será baseado na Unidade 6: Unidade 6 – Novas aplicações em Banco de Dados Armazenamento de Imagens Banco de dados em Ambiente Cloud Computer Banco de dados para Dispositivos Móveis – Android - Iphone de Banco de Dados Modelo Entidade relacionamento O Modelo Entidade Relacionamento (MER) é um modelo de dados conceitual de alto nível. O MER está centrado na percepção dos usuários sobre os dados, não importando a maneira na qual os dados serão armazenados. MER PROJETO CONCEITUAL Esquema Conceitual (alto nível) Independente do SGBD Dependente do SGBD Requisitos de Dados MUNDO REAL MAPEAMENTO DE MODELO DE DADOS Esquema Conceitual (dependente SGBD) PROJETO FÍSICO Esquema Interno Projeto de um Banco de Dados Entrevista com os usuários Criação do modelo conceitual (MER) Transformar o esquema conceitual para um modelo de implementação do banco (Modelo Relacional ) Projeto físico do banco de dados Entidade Uma entidade é um elemento do mundo real com uma existência própria. Os tipos de entidade são: ◦ Física (concreta): pessoa, carro, casa, empregado. ◦ Conceitual (abstrata): viagem, curso, profissão. Atributo e valor de atributo Cada entidade possui propriedades que a descreve, chamadas de atributos Nome = José Silva Endereço = Rua A casa 123 Idade = 55 Fone = 222-2222 empregado Atributo composto Um atributo que é composto de vários atributos básicos é chamado de atributo composto ENDEREÇO CIDADE LOCAL ESTADO CEP NÚMERO APTO RUA Atributo Atômico ou simples um atributo que não é divisível é chamado de atributo atômico ou simples . Exemplos: ◦ Data de nascimento ◦ CPF ◦ Matrícula Atributo monovalorado e multivalorado Atributo monovalorado possui um único valor para uma entidade particular ◦ Ex : Nome na entidade empregado Atributo multivalorado pode ter um conjunto de valores para uma mesma entidade ◦ Ex: telefone na entidade empregado Atributo derivado ou virtual Um atributo derivado ou virtual é aquele que pode ser obtido a partir de outro(s) atributos(s) ◦ Idade derivado da data de nascimento ◦ Número total de empregados, derivado da soma dos empregados ◦ Média Final derivado das notas do alunos Entidade EMPREGADO Nome, Matrícula, Salário DEPARTAMENTO CodDepto, NomeDepto e1 (‘JOSE’, ‘M003’, 500.00) e2 (‘MARIA’, ‘M001’, 550.00) e3 (‘PEDRO’, ‘M077’, 600.00) ... d1 (‘D01’, ‘ENGENHARIA’) d2 (‘D02’, ‘VENDAS’) ... Atributo chave Atributo chave identifica cada entidade unicamente Duas entidades (de mesmo tipo) não podem ter o mesmo valor para o atributo chave ◦ Ex: matrícula do empregado Atributo chave pode ser composto Domínio de um Atributo Especifica os possíveis valores que podem estar associados a um atributo em cada entidade individual. Exemplos : ◦ Domínio do atributo Nome seria um conjunto de caracteres alfabéticos ; ◦ Domínio de um campo sexo poderia ser F ou M Banco de Dados Empresa Uma Empresa é organizada em departamentos. Cada departamento tem um nome, um número e um empregado que gerencia o departamento. Deve-se saber a data em que um empregado iniciou como gerente de um departamento. Um departamento pode ter diversas localizações Um departamento controla um número de projetos, cada qual com um nome, um número e uma única localização São armazenados o nome do empregado, matrícula, endereço, salário, sexo e data de nascimento. Um empregado está associado a um departamento, mas pode trabalhar em diversos projetos, não necessariamente controlados pelo mesmo departamento. Deve-se saber o número de horas semanais que um empregado trabalha em cada projeto, bem como o supervisor direto de cada empregado Cada empregado pode possuir vários dependentes, devendo-se saber, para cada dependente, o nome, o sexo, a data de nascimento e a sua ligação com o empregado Projeto Conceitual Inicial do Banco de dados Empresa A empresa é organizada em departamentos. Cada departamento tem um nome, um número e um empregado que gerencia o departamento. Deve-se saber a data em que um empregado iniciou como gerente de um departamento. Um departamento pode ter diversas localizações Tipo de Entidade Departamento ◦ possui os atributos Nome, Numero, Local, Gerente e DataInicGerente ◦ O atributo Locais é multivalorado ◦ O atributo chave pode ser Número ou Nome, pois dois departamentos não podem ter o mesmo nome ou o mesmo número Projeto Conceitual Inicial do Banco de dados Empresa Um departamento controla um número de projetos, cada qual com um nome, um número e uma única localização Tipo de Entidade Projeto ◦ Possui os atributos Nome, Numero, Local e DeptoControlador ◦ O atributo chave pode ser Numero ou Nome, pois dois projetos não podem ter o mesmo nome ou o mesmo número Projeto Conceitual Inicial do Banco de dados Empresa São armazenados o nome do empregado, matrícula, endereço, salário, sexo e data de nascimento. Um empregado está associado a um departamento, mas pode trabalhar em diversos projetos, não necessariamente controlados pelo mesmo departamento. Deve-se saber o número de horas semanais que um empregado trabalha em cada projeto, bem como o supervisor direto de cada empregado Empregado ◦ possui os atributos Nome, Matricula, Endereco, Salario, Sexo, DataNasc e Supervisor, {Trabalha_Em (projeto, horas)} ◦ Os atributos Nome e Endereco podem ser compostos ◦ O atributo chave é Matricula Projeto Conceitual Inicial do Banco de dados Empresa Cada empregado pode possuir vários dependentes, devendo-se saber, para cada dependente, o nome, o sexo, a data de nascimento e a sua ligação com o empregado Dependente ◦ O tipo de entidade DEPENDENTE possui os atributos Empregado, Nome, Sexo, DataNasc e Parentesco◦ Os atributos chave são Empregado e Nome Rascunho do Banco da Empresa resumo do projeto conceitual inicial do banco de dados Empresa. Os atributos multivalorados são apresentados entre chaves {}. Os atributos componentes de um atributo composto são apresentados entre parêntesis (). DEPARTAMENTO Nome, Número, { Locais }, Gerente, DataInicGerente PROJETO Nome, Número, Local, DeptoControlador EMPREGADO Nome ( PriNome, LetNome, UltNome ), Matrícula, Endereco, Sexo, Salário, DataNasc, Depto, Supervisor, { TrabalhaEm ( Projeto, Horas ) } DEPENDENTE Empregado, Nome, Sexo, DataNasc, Parentesco Relacionamentos atributo Gerente do tipo de entidade DEPARTAMENTO refere-se a um empregado que gerencia o departamento atributo DeptoControlador do tipo de entidade PROJETO refere-se ao departamento que controla o projeto atributo Supervisor do tipo de entidade EMPREGADO refere-se a outro empregado, que supervisiona esse empregado atributo Depto do tipo de entidade EMPREGADO refere-se ao departamento onde o empregado trabalha Relacionamento É um conjunto de associações entre entidades Tipos de Relacionamento Um tipo de relacionamento R associado a n tipos de entidade E1, E2, ..., En é um conjunto de associações entre entidades desses tipos. Matematicamente, R é um conjunto de instâncias de relacionamento ri, onde em cada ri participam as entidades (e1, e2, ..., en), e cada entidade ej em ri é um membro de tipo de entidade Ej, 1 j n. Relacionamento Trabalha _Para Grau de um Tipo de Relacionamento O grau de um tipo de relacionamento é o número de tipos de entidades que participam do tipo de relacionamento. O tipo de relacionamento TRABALHA_PARA possui grau 2, ou seja, binário. Como exemplo de tipo de relacionamento de grau 3 (ternário), considere a participação dos tipos de entidade FORNECEDOR, PEÇA e PROJETO (fornecedores fornecem peças para projetos). Relacionamentos podem ter qualquer grau, mas os que ocorrem mais frequentemente são os binários. Papel de Entidade no Relacionamento Cada tipo de entidade que participa em um tipo de relacionamento desempenha um papel no relacionamento. No tipo de relacionamento TRABALHA_PARA, o tipo de entidade EMPREGADO desempenha o papel de trabalhador e o tipo de entidade DEPARTAMENTO desempenha o papel de empregador. Auto-relacionamento (relacionamento recursivo) Quando o mesmo tipo de entidade participa mais que uma vez em um tipo de relacionamento, esses relacionamento são chamados de recursivos ou auto- relacionamento. Quando o mesmo tipo de entidade participa mais que uma vez em um tipo de relacionamento, torna–se útil a distinção de papéis desempenhados por este tipo de entidade. Relacionamento recursivo e1 e2 e3 e4 e5 e6 e7 .... r1 r2 r3 r4 r5 r6 EMPREGADO SUPERVISÃO .... supervisionado supervisor Restrições em Tipos de Relacionamento Tipos de relacionamento são limitados nas possíveis combinações de entidades participantes em cada instância de relacionamento. Como exemplo, considere a regra que um empregado trabalha para somente um departamento. Restrições de Cardinalidade A restrição de cardinalidade limita o número de instâncias de relacionamento que uma entidade pode participar Restrição de Cardinalidade N:N muitos para muitos 1:N um para muitos 1:1 um para um Cardinalidade 1:1 Cardinalidade N:N Restrições de cardinalidade Um empregado está associado a um departamento, mas pode trabalhar em diversos projetos, não necessariamente controlados pelo mesmo departamento O tipo de relacionamento TRABALHA_PARA especifica ◦ DEPARTAMENTO : EMPREGADO com cardinalidade 1 : N Restrições de cardinalidade Cada departamento tem um nome, um número e um empregado que gerencia o departamento O tipo de relacionamento GERENCIA especifica ◦ DEPARTAMENTO : EMPREGADO com cardinalidade 1 : 1 Restrições de cardinalidade Um empregado está associado a um departamento, mas pode trabalhar em diversos projetos, não necessariamente controlados pelo mesmo departamento. Deve-se saber o número de horas semanais que um empregado trabalha em cada projeto O tipo de relacionamento TRABALHA_EM especifica ◦ EMPREGADO : PROJETO com cardinalidade N : M Restrição de Participação A restrição de participação determina que a existência de uma entidade depende de sua participação em um tipo de relacionamento Existem dois tipos de restrições de participação: total e parcial Entidade Fraca É uma entidade que não se identifica sozinha. Tipo de relacionamento envolvido na caracterização da entidade fraca é denominado relacionamento de identificação. Um tipo de entidade fraca tem sempre uma restrição de participação total nos relacionamentos de identificação Entidade fraca é uma entidade que não possui existência própria (sua existência depende da existência de outra entidade) ou que para ser identificada depende da identificação de outra entidade. Exemplo Entidade Fraca: Projeto Empresa resumo do projeto conceitual inicial do banco de dados da Empresa. Os atributos multivalorados são apresentados entre chaves {}. Os atributos componentes de um atributo composto são apresentados entre parêntesis () DEPARTAMENTO Nome, Número, { Locais }, Gerente, DataInicGerente PROJETO Nome, Número, Local, DeptoControlador EMPREGADO Nome ( PriNome, LetNome, UltNome ), Matrícula, Endereco, Sexo, Salário, DataNasc, Depto, Supervisor, { TrabalhaEm ( Projeto, Horas ) } DEPENDENTE Empregado, Nome, Sexo, DataNasc, Parentesco DEPARTAMENTO DEPARTAMENTO Nome, Número, { Locais }, Gerente, DataInicGerente Entidade DEPARTAMENTO Nome, Número, { Locais } Relacionamento GERENCIA tipos de entidade EMPREGADO e DEPARTAMENTO cardinalidade 1 : 1 participação do tipo de entidade EMPREGADO é parcial participação do tipo de entidade DEPARTAMENTO é total atributo DataInicGerente PROJETO PROJETO Nome, Número, Local, DeptoControlador PROJETO Nome, Número, Local CONTROLA tipos de entidade DEPARTAMENTO e PROJETO cardinalidade 1 : N participação do tipo de entidade PROJETO é total participação do tipo de entidade DEPARTAMENTO é parcial EMPREGADO EMPREGADO Nome ( PriNome, LetNome, UltNome ), Matrícula, Endereco, Sexo, Salário, DataNasc, Depto, Supervisor, { TrabalhaEm ( Projeto, Horas ) } EMPREGADO Nome ( PriNome, LetNome, UltNome), Matrícula, Endereço, Sexo, Salário, DataNasc TRABALHA_PARA tipos de entidade DEPARTAMENTO e EMPREGADO cardinalidade 1 : N participação dos tipos de entidade EMPREGADO e DEPARTAMENTO é total SUPERVISÃO SUPERVISÃO tipos de entidade EMPREGADO (supervisor) e EMPREGADO (supervisionado) cardinalidade 1 : N participação de ambos os tipos de entidade é parcial TRABALHA_EM tipos de entidade EMPREGADO e PROJETO cardinalidade M : N participação de ambas entidades é parcial atributo Horas DEPENDENTE DEPENDENTE Empregado, Nome, Sexo, DataNasc, Parentesco DEPENDENTE Nome, Sexo, DataNasc, Parentesco DEPENDE_DE tipos de entidade EMPREGADO e DEPENDENTE cardinalidade 1 : Nparticipação do tipo de entidade EMPREGADO é parcial participação do tipo de entidade DEPENDENTE é total relacionamento de identificação MER – textual ENTIDADES DEPARTAMENTO Nome, Número, { Locais } PROJETO Nome, Número, Local EMPREGADO Nome ( PriNome, LetNome, UltNome), Matrícula, Endereço, Sexo, Salário, DataNasc DEPENDENTE Nome, Sexo, DataNasc, Parentesco RELACIONAMENTOS GERENCIA EMPREGADO e DEPARTAMENTO cardinalidade 1 : 1 participação EMPREGADO é parcial participação DEPARTAMENTO é total atributo DataInicGerente DEPENDE_DE EMPREGADO e DEPENDENTE cardinalidade 1 : N participação do EMPREGADO é parcial participação doDEPENDENTE é total relacionamento de identificação MER – textual RELACIONAMENTOS CONTROLA DEPARTAMENTO e PROJETO cardinalidade 1 : N participação do tipo de entidade PROJETO é total participação do tipo de entidade DEPARTAMENTO é parcial TRABALHA_PARA DEPARTAMENTO e EMPREGADO cardinalidade 1 : N participação dos tipos de entidade EMPREGADO é total DEPARTAMENTO é parcial RELACIONAMENTOS SUPERVISÃO EMPREGADO (supervisor) e EMPREGADO (supervisionado) cardinalidade 1 : N participação de ambos os tipos de entidade é parcial TRABALHA_EM EMPREGADO e PROJETO cardinalidade M : N participação de ambos os tipos de entidade é total atributo Horas Diagrama Entidade Relacionamento DER DER Diagrama Entidade Relacionamento (DER) constitui uma forma de representação gráfica para os conceitos atribuídos ao Modelo Entidade Relacionamento Podem-se observar diversas notações adotadas por estudiosos na área Tipos de Entidade Tipo de entidade Tipo de entidade fraca Tipo de Relacionamento Tipo de relacionamento Tipo de relacionamento de identificação Atributo Atributo Atributo chave Atributo multivalorado Atributo derivado Atributo Atributo composto Participação, Cardinalidade, Restrição N 1 (min, max) E1 E2 R Participação total de E2 em R E1 E2 R Cardinalidade 1 : N para E1 : E2 em R E R Restrição (min, max) de E em R DEPARTAMENTO DEPARTAMENTO Nome, Número, { Locais } Departamento nome número local PROJETO PROJETO Nome, Número, Local Projeto nome número local EMPREGADO EMPREGADO Nome , Matrícula, Endereço, Sexo, Salário, DataNasc Empregado matr nome sexo ender. salário data nasc DEPENDENTE DEPENDENTE Nome, Sexo, DataNasc, Parentesco Dependente nome data nasc sexo ligação Relacionamentos Gerência, Trabalha_para GERENCIA ( I ) EMPREGADO e DEPARTAMENTO cardinalidade 1 : 1 participação EMPREGADO é parcial participação DEPARTAMENTO é total atributo DataInicGerente 1 1 Departamento Empregado I N 1 II data inic.gerente TRABALHA_PARA ( II ) DEPARTAMENTO e EMPREGADO cardinalidade 1 : N participação EMPREGADO e DEPARTAMENTO é parcial Relacionamento Supervisão SUPERVISÃO tipos de entidade EMPREGADO (supervisor) e EMPREGADO (supervisionado) cardinalidade 1 : N participação de ambos os tipos de entidade é parcial 1 supervisionado supervisor Empregado IV N Relacionamento Trabalha_em TRABALHA_EM tipos de entidade EMPREGADO e PROJETO cardinalidade M : N participação de ambos os tipos de entidade é parcial atributo Horas N N Empregado Projeto V hora s Relacionamento Depende_de DEPENDE_DE tipos de entidade EMPREGADO e DEPENDENTE cardinalidade 1 : N participação do tipo de entidade EMPREGADO é parcial participação do tipo de entidade DEPENDENTE é total relacionamento de identificação Empregado Dependente N 1 VI Relacionamento Controla CONTROLA DEPARTAMENTO e PROJETO cardinalidade 1 : N participação do tipo de entidade PROJETO é total participação do tipo de entidade DEPARTAMENTO é parcial Departamento Projeto III N 1 Tipos de Relacionamento: I = GERENCIA II = TRABALHA_PARA III = CONTROLA IV = SUPERVISÃO V = TRABALHA_EM VI = DEPENDE_DE N N 1 1 1 supervisionado supervisor Departamento Empregado Projeto III I Dependente matr nome sexo ender. nome data nasc sexo N N 1 1 nome número IV N 1 ligação salário data nasc VI N II data inic.gerente local nome número local V horas Tipos de Relacionamento Relacionamento Ternário O Modelo de entidade relacionamento permite relacionamento com grau maior que 2. Relacionamento ternário envolve três entidades. Relacionamento Ternário Cardinalidade de Relacionamento Ternário Cidade Distribuidor Produto n n 1 Especialização/Generalização União Generalização/Especialização Generalização/Especialização Existem dois tipos de generalização/especialização: ◦ Total : para cada ocorrência de uma entidade genérica existe sempre uma ocorrência de uma entidade especializada ◦ Parcial : nem toda ocorrência de uma entidade genérica possui uma ocorrência correspondente em uma entidade especializada Generalização/Especialização Generalização/ Especialização total Generalização/Especialização p Generalização/ Especialização parcial Usualmente quando há uma especialização parcial, na entidade genérica aparece um atributo - o tipo de ocorrência Especialização/Generalização Especialização/Generalização Especialização/Generalização União MER Observações MER Nem tudo pode ser expresso pelo modelo de banco de dados consulta MER Diferentes modelos podem ser equivalentes MER Atributo x Entidade Automóvel chassis cor Automóvel chassis Cor 1 N MER Atributo x generalização/Especialização Empregado Motorista Engenheiro Empregado Carteira de habilitação Data de expiração Carteira de habilitação Nome Código CREA Carteira de habilitação Data de expiração Carteira de habilitação CREA Nome Código MER Atributos Multivalorados Empregado nome código dependentes Dependentes 1 N nome Evitar redundâncias Aspecto temporal Empregado salario código Aspecto temporal Participantes Concurso N N data Participantes Concurso N N data Outras Notações Projeto Empresa (UML) Cardinalidade max/min Modelos de DER CheckList Entidade ◦ Fraca e Forte Atirbuto ◦ Composto, multivalorado, chave, virtual Relacionamento ◦ Cardinalidade, participação, de identificação Generalização/Especialização e União Atividade Estudar: ◦ Capítulos 3 e 4 do livro ELMASRI, R., NAVATHE, S. B., Sistemas de Banco de Dados ◦ Capítulos 2 e 3 do livro HEUSER, C. A. , Projeto de banco de Dados.
Compartilhar