View
173
Download
0
Category
Preview:
Citation preview
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesleyslide 1 © 2011 Pearson. Todos os direitos reservados.
Capítulo 7
Modelagem de dados usando o modelo Entidade-Relacionamento (ER)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 2 © 2011 Pearson. Todos os direitos reservados.
Modelagem de dados usando o modelo Entidade-Relacionamento (ER)
Aplicação de banco de dados: Refere-se a um banco de dados em particular e aos
programas associados que implementam as consultas e atualizações dele
Projeto, implementação e teste de programas de aplicação
Programas de aplicação Fazem parte da engenharia de software Exemplo: uma aplicação de banco de dados para um
banco que controla contas de clientes
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 3 © 2011 Pearson. Todos os direitos reservados.
Modelagem de dados usando o modelo Entidade-Relacionamento (ER)
Modelo Entidade-Relacionamento (ER) Modelo de dados conceitual popular de alto nível Descrição de conceitos e restrições básicas de
estruturação de dados
Diagramas ER Notação diagramática associada ao modelo ER
Unified Modeling Language (UML)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 4 © 2011 Pearson. Todos os direitos reservados.
Usando modelo de dadosconceituais de alto nível parao projeto do banco de dados
Um diagrama simplificado para ilustrar as principais fases do projeto de banco de dados
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 5 © 2011 Pearson. Todos os direitos reservados.
Usando modelo de dadosconceituais de alto nível parao projeto do banco de dados
Levantamento e análise de requisitos Os projetistas de banco de
dados entrevistam os usuários esperados para entenderem e documentarem seus requisitos de dados
Resultado desta etapa: conjunto de requisitos dos usúarios escrito de forma concisa
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 6 © 2011 Pearson. Todos os direitos reservados.
Usando modelo de dadosconceituais de alto nível parao projeto do banco de dados
Levantamento e análise de requisitos Requisitos de dados: devem
ser especificados da forma mais detalhada e completa possível
Requisitos funcionais: consistem de operações (transações) definidas pelo usuário, e serão aplicadas no banco
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 7 © 2011 Pearson. Todos os direitos reservados.
Usando modelo de dados conceituais de alto nível (cont.)
Esquema conceitual Projeto conceitual Descrição concisa dos requisitos
de dados dos usuários Inclui detalhes dos tipos de
entidade, relacionamentos e restrições
Usado como referência para garantir que todos os requisitos de dados dos usuários sejam atendidos e que não estejam em conflito
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 8 © 2011 Pearson. Todos os direitos reservados.
Usando modelo de dados conceituais de alto nível (cont.)
Esquema conceitual Não incluem descrições
detalhadas de implementação Conceitos fáceis de entender Podem ser usados para
comunicação com usuários NÃO técnicos
Permite que os projetistas se concentrem em especificar as propriedades
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 9 © 2011 Pearson. Todos os direitos reservados.
Usando modelo de dadosconceituais de alto nível (cont.)
Projeto lógico ou mapeamento do modelo de dados Implementação real do
próprio banco de dados usando um SGBD
O esquema conceitual é transformado do modelo de dados de alto nível para o modelo de dados da implementação
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 10 © 2011 Pearson. Todos os direitos reservados.
Usando modelo de dadosconceituais de alto nível (cont.)
Projeto lógico ou mapeamento do modelo de dados Resultado desta etapa:
esquema de banco de dados no modelo de dados da implementação do SGBD
O mapeamento é automatizado
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 11 © 2011 Pearson. Todos os direitos reservados.
Usando modelo de dadosconceituais de alto nível (cont.)
Projeto Físico Ultima etapa Especificação das
estruturas de armazenamento internas, organizações de arquivos, índices, caminhos de acesso e parâmetros físicos do projeto para os arquivos do banco de dados
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 12 © 2011 Pearson. Todos os direitos reservados.
Exemplo de aplicação de banco de dados
Passo 1: Requisitos de dados para o banco de dados Passo 2: Criação do esquema conceitual
Projeto do banco de dados EMPRESA: Registra funcionários Registra departamentos Registra projetos
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 13 © 2011 Pearson. Todos os direitos reservados.
Exemplo de aplicação de banco de dados
Descrição do mininundo:
1. A empresa está organizada em departamentos• Cada departamento tem:
• Um nome exclusivo• Um número exclusivo• Um funcionário em particular que o gerencia• Um departamento pode ter vários locais• É necessário registrar a data em que o funcionário
começou a gerenciar o departamento
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 14 © 2011 Pearson. Todos os direitos reservados.
Exemplo de aplicação de banco de dados
Descrição do mininundo:
2. Um departamento controla uma série de projetos• Cada projeto tem
• Um nome exclusivo• Um número exclusivo • Um local exclusivo
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 15 © 2011 Pearson. Todos os direitos reservados.
Exemplo de aplicação de banco de dados
Descrição do mininundo:
3. Para cada funcionário• Armazenamos:
• Nome,• Numero do CPF• Endereço• Salário• Genero• Data de nascimento
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 16 © 2011 Pearson. Todos os direitos reservados.
Exemplo de aplicação de banco de dados
Descrição do mininundo:
3. Para cada funcionário:• Um funcionário é designado para um
departamento• Um funcionário PODE trabalhar em vários
projetos• Os projetos NÃO necessariamente são
controlados pelo mesmo departamento
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 17 © 2011 Pearson. Todos os direitos reservados.
Exemplo de aplicação de banco de dados
Descrição do mininundo:
3. Para cada funcionário:• Para cada projeto em que o funcionário
trabalha, é necessário registrar o número de horas trabalhada por semana
• Para cada funcionário, há um supervisor direto• O supervisor direto, de cada funcionário,
também deve ser registrado
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 18 © 2011 Pearson. Todos os direitos reservados.
Exemplo de aplicação de banco de dados
Descrição do mininundo:
4. Dependentes:• Para cada funcionário é necessário registrar o
número de dependentes para fins de seguro• Para cada dependente armazenamos:
• Nome• Genero• Data de nascimento• Grau de parentesco
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 19 © 2011 Pearson. Todos os direitos reservados.
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 20 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidades, atributos e chaves
O modelo ER descreve os dados como: Entidades Relacionamentos Atributos
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 21 © 2011 Pearson. Todos os direitos reservados.
Entidades e Atributos
Entidade Algo no mundo real com uma existência independente
Existência física Pessoa, carro, casa, etc.
Existência conceitual Empresa, cargo, etc.
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 22 © 2011 Pearson. Todos os direitos reservados.
Entidades e Atributos
Atributos São as propriedades específicas que descrevem a
entidade Uma entidade tem um valor para cada um dos atributos Exemplo
• Entidade: funcionário• Atributos:
• Nome• Endereço• Idade• Telefone
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 23 © 2011 Pearson. Todos os direitos reservados.
Entidades e Atributos (cont.)
Duas entidades e os valores de seus atributosEntidades: F1 (funcionário) e E1 (empresa)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 24 © 2011 Pearson. Todos os direitos reservados.
Entidades e Atributos
Atributos Tipos de atributos:
• Simples versus composto• Valor único versus multivalorados• Armazenado versus derivado• Valores NULL• Atributos complexos
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 25 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Atributos compostos versus simples
• Atributos compostos:• Podem ser divididos em subpartes menores,
que representam atributos mais básicos, com significados independentes.
• EXEMPLO: o LOGRADOURO pode ser dividido em tipo da “rua”, nome da rua, número do local, apartamento, bloco, nome do residencial, bairro, cidade, estado e CEP.
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 26 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Atributos compostos versus simples
• Atributos compostos:• Podem formar uma hierarquia.• O valor de um atributo composto é a
concatenação dos valores de seus componentes atributos simples.
• São úteis para modelar situações em que um usuário às vezes se refere ao atributo composto como uma unidade, mas OUTRAS VEZES se refere especificamente a seus componentes
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 27 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Atributos compostos versus simples
• Atributos compostos:• EXEMPLO:• Senão for preciso referenciar os
componentes individuais de um endereço, então o endereço inteiro pode ser designado como um ATRIBUTO SIMPLES
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 28 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Atributos compostos versus simples
• Atributos simples ou atômicos:• São os atributos NÃO divisiveis
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 29 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Atributos de valor único versus multivalorados
• Atributos de valor único• Quando o atributo possui um valor único
para uma entidade em particular• EXEMPLO:
• Idade é um atributo de valor único de uma pessoa
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 30 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Atributos de valor único versus multivalorados
• Atributos Multivalorados• Quando o atributo possui mais de um valor único
para uma entidade em particular• EXEMPLOS:
• Formação Acadêmica: pessoas diferentes podem ter distintos números de valores para este atributo. Nenhuma graduação, uma ou mais de uma.
• Atributo Cores para um carro contém um ou mais valores (duas cores)
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 31 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Atributos armazenados versus derivados
• Quando dois ou mais atributos estão relacionados• EXEMPLOS:
• Idade e data de nascimento de uma pessoa. • O valor IDADE pode ser determinado pela data
atual e pelo valor da DATA DE NASCIMENTO dessa pessoa.
• IDADE é derivável do atributo DATA DE NASCIMENTO
• DATA DE NASCIMENTO é o atributo armazenado
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 32 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Valores NULL
• NULL NÃO APLICÁVEL:
• Quando não há um valor aplicável para um atributo de uma entidade
• Exemplo: um endereço de uma pessoa teria o valor NULL para seu atributo numero_apartamento, já que número_casa não se aplica a numero_apartamento
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 33 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Valores NULL
• NULL DESCONHECIDO:
• O valor NULL pode ser usado quando não conhecemos o valor de um atributo para determinada entidade
• Exemplo: se não sei o número do telefone residencial de uma pessoa, o atributo numero_telefone_residencial receberá NULL
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 34 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Valores NULL
• NULL DESCONHECIDO:
• 1.º Caso: quando se sabe que o valor do atributo existe, mas está faltando. Exemplo: se o atributo altura de uma pessoa for listado como NULL
• 2.º Caso: quando não se sabe o valor do atributo existente. Exemplo: se o atributo telefone_residencial for NULL
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 35 © 2011 Pearson. Todos os direitos reservados.
Tipos de atributosTipos de atributos Atributos complexos
• Exemplo:• Uma pessoa pode ter mais de uma residência• Cada residência pode ter um único endereço e
vários telefones• Um atributo ENDEREÇO_TELEFONE para
uma pessoa pode ser especificado como:{ endereco_telefone ( { telefone (codigo_area, numero_telefone) } , endereco ( logradouro ( numero, rua, numero_apartamento ) , cidade, estado, cep )
) }
Entidades e Atributos (cont.)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 36 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Tipo de entidade Coleção (ou conjunto ou registros) de entidades que
têm os mesmos atributos, mas cada atributo tem seus próprios valores
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 37 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Tipo de entidade Conjunto (registros) de entidades: é a coleção de
todas as entidades de determinado tipo de entidade no banco de dados, em qualquer ponto no tempo.
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 38 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Tipo de entidade
REPRESENTAÇÃO GRÁFICA
Entidades: representadas por um retângulo Atributos: representados por ovais Conexões: linhas retas Atributos multivalorados: representados por ovais
duplas
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 39 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 40 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Tipo de entidade Um tipo de entidade descreve um ESQUEMA ou
CONOTAÇÃO para um conjunto de entidades que compartilham a mesma estrutura
Extensão:• É a coleção de entidades de determinado tipo
que é agrupada em um conjunto de entidades
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 41 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Atributos-chave de um tipo de entidade CHAVE ou RESTRIÇÃO DE EXCLUSIVIDADE:
• É uma restrição restrição importante das entidades de um tipo de entidade
• É o que identifica uma entidade ATRIBUTO-CHAVE (chave primária):
• Um ou mais atributos cujos valores são distintos para cada entidade individual no conjunto de entidades
• Seus valores podem ser usados para identificar cada entidade de maneira exclusiva
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 42 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Atributos-chave de um tipo de entidade ATRIBUTO-CHAVE COMPOSTO (chave primária
composta):• Quando vários atributos juntos formam uma chave• A combinação dos valores de atributo deve ser
distinta para cada entidade
Os atributos chave tem o seu nome sublinhado na representação gráfica do modelo entidade relacionamento
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 43 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Atributos-chave de um tipo de entidade
Essa é uma restrição que proibe que duas entidades tenham o mesmo valor para o atributo-chave ao mesmo tempo.
Uma entidade pode ter mais de um atributo-chave Uma entidade pode NÃO ter nenhum atributo-chave
entidade fraca Se dois atributos forem sublinhados separadamente,
então cada um é uma chave por si só
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 44 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores Conjuntos (domínio) de valores dos atributos
É cada atributo simples de um tipo de entidade que especifica o conjunto de valores que podem ser designados a esse atributo para cada entidade individual
Exemplos: • Atributo IDADE pode ser o conjunto de números
inteiros entre 0 e 150 anos• Atributo NOME é definido como um conjunto de
cadeia de caracteres (string)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 45 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Projeto conceitual do banco de dados EMPRESA Descrição do minimundo: Slides 13 a 17 Quatro tipos de ENTIDADES são identificadas no
minimundo:• Departamento• Projeto• Funcionário• dependente
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 46 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Projeto conceitual do banco de dados EMPRESA ENTIDADE DEPARTAMENTO Atributos
• Nome: atributo-chave• Numero: atributo-chave• Localizações: atributo multivalorado• Gerente• Data_inicio_gerente
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 47 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 48 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Projeto conceitual do banco de dados EMPRESA ENTIDADE PROJETO Atributos
• Nome: atributo-chave• Número: atributo-chave• Localização• Departamento_gerenciador
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 49 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 50 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores Projeto conceitual do banco de dados EMPRESA
ENTIDADE FUNCIONARIO Atributos
• Nome• Cpf: atributo-chave• Sexo• Endereco• Salario• data_nascimento• Departamento• Supervisor
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 51 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Projeto conceitual do banco de dados EMPRESA ENTIDADE FUNCIONARIO Representação
• “um funcionário pode trabalhar em vários projetos”• “número de horas por semana que um funcionário
trabalha em um projeto” Representados como atributo composto multivalorado TRABALHA_EM ( PROJETO, HORAS)
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 52 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 53 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Projeto conceitual do banco de dados EMPRESA ENTIDADE DEPENDENTE Atributos
• Funcionario• Nome_dependente• Sexo• Data_nascimento• Parentesco
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 54 © 2011 Pearson. Todos os direitos reservados.
Tipos de entidade, conjuntos de entidade, chaves e conjuntos de valores
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 55 © 2011 Pearson. Todos os direitos reservados.
Projeto conceitual inicial do banco de dados EMPRESA
Projeto conceitual do banco de dados EMPRESA
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 56 © 2011 Pearson. Todos os direitos reservados.
Projeto conceitual inicial do banco de dados EMPRESA
Notação para diagramas modelo entidade relacionamento vistos até o momento
____
ENTIDADE
ENTIDADEFRACA
ATRIBUTO
ATRIBUTOCHAVE
ATRIBUTOMULTIVALORADO
ATRIBUTO COMPOSTO
ATRIBUTO DERIVADO
Copyright © 2011 Ramez Elmasri and Shamkant Navatheslide 57 © 2011 Pearson. Todos os direitos reservados.
ATIVIDADE EM SALA DE AULA 5 ASA5
Recommended