Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU - PDF
Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU
Download "Aula 3 SBD Modelo Entidade Relacionamento Parte 1. Profa. Elaine Faria UFU - 2015"
Ísis Mendes Castelo
1 Aula 3 SBD Modelo Entidade Relacionamento Parte 1 Profa. Elaine Faria UFU
2 Processo do Projeto de um Banco de Dados A criação de uma aplicação de banco de dados envolve várias tarefas Projeto do esquema de banco de dados Projeto dos programas que acessam e atualizam os dados Projeto de um esquema de segurança para controlar o acesso aos dados
3 Processo do Projeto de um Banco de Dados O projetista de banco de dados interage com os usuários da aplicação para entender as necessidades e representálas de uma maneira alto nível
4 Projeto de um Banco de Dados Passos Análise dos requisitos Compreender quais dados serão armazenados no banco de dados Compreender quais aplicações serão construídas usando esses dados Compreender quais operações são mais frequentes O que os usuários querem do banco de dados?
5 Projeto de um Banco de Dados Passos Projeto do banco de dados conceitual As informações obtidas no passo de análise são usadas para desenvolver uma descrição de alto nível dos dados Usa-se o modelo ER Facilitar a discussão entre todas as pessoas envolvidas
6 Projeto de um Banco de Dados Passos Projeto lógico do banco de dados Escolher um SGBD para implementar o banco de dados Converter o projeto conceitual em um projeto lógico Conversão ER Relacional
7 Projeto de um Banco de Dados Passos Refinamento do esquema Analisar o conjunto de relações para identificar problemas e refiná-las Normalização das relações!
8 Projeto de um Banco de Dados Passos Projeto físico do banco de dados Verificar a carga de trabalho que o banco de dados irá suportar e fazer refinamentos para assegurar os critérios de desempenho Envolve a criação de índices em algumas tabelas ou re-projetar algumas partes do banco de dados
9 Projeto de um Banco de Dados Passos Projeto das aplicações e segurança Identificar as partes do banco de dados que devem estar acessíveis e as que não devem estar acessíveis Garantir que as regras de acesso são executadas
10 Modelo Entidade-Relacionamento O modelo ER Descrever os dados de aplicações do mundo real em termos de objetos (entidades) e seus relacionamentos É largamente utilizado para o desenvolvimento da fase inicial do projeto de BD Fornece conceitos para partir de uma descrição informal dos usuários obter uma descrição mais detalhada
11 Modelo Entidade-Relacionamento O modelo ER É a técnica de modelagem mais difundida e utilizada Foi criada em 1976 por Peter Chen É um modelo de dados conceitual de alto nível Compreensível a usuários Diagrama Entidade-Relacionamento(DER)
12 Entidade É um objeto do mundo real distinguível de outros objetos Ex: cada pessoa em uma empresa é uma entidade Ex: o gerente do departamento de vendas Pode ser um objeto com existência física ou conceitual Descrito por propriedades atributos
13 Entidade Coleção de entidades semelhantes Conjunto de entidades (Tipo-Entidade) Ex: os empregados de uma empresa são as entidades de um conjunto de entidades denominado Empregado Entidades de um mesmo conjunto de entidades Compartilham atributos É normal referenciar todas as entidades pelo mesmo nome do tipo_entidade. Ex: Empregado Baseado nos slides do Prof. Eduardo ICMC-USP
14 Atributos Usados para descrever um conjunto de entidades ou de relacionamentos Ex: o conjunto de entidades Empregado pode ter os seguintes atributos Nome Matrícula Sexo Idade Endereço Obs.: todas as entidades em um dado conjunto de entidades têm os mesmos atributos
15 Atributos Cada atributo tem um domínio de possíveis valores Ex: domínio do atributo nome de um Empregado conjunto de 20 caracteres Pode assumir o valor nulo Chave É um conjunto mínimo de atributos cujos valores identificam unicamente uma entidade em um conjunto de entidades Pode haver mais que uma chave candidata Escolhe-se uma delas para ser a chave primária
16 Atributos Tipo de Entidades Empregado - Atributos: cpf, nome, endereço entidade e 1 : cpf: nome: João da Silva endereço: Rua xx, 200
17 Representação - Empregado CPF Nome Endereço Empregado
18 Atributos Classificação Segundo Elmasri & Navathe Simples versus Compostos atributo simples ou atômico: não pode ser decomposto (dividido) em atributos mais básicos exemplo: sexo {M, F} atributo composto pode ser decomposto em atributos mais básicos exemplo: atributo endereço: nome_rua, nro_casa, complemento, nome_bairro,... Baseado nos slides do Prof. Eduardo ICMC-USP
19 Atributos Classificação Segundo Elmasri & Navathe Monovalorados versus Multivalorados atributo monovalorado possui um único valor para cada entidade exemplo: idade atributo multivalorado possui múltiplos valores para cada entidade exemplo: atributo telefone pode possuir limites inferior/superior com relação à multiplicidade dos valores assumidos exemplo: nro_min = 0, nro_max = 3 Baseado nos slides do Prof. Eduardo ICMC-USP
20 Atributos Classificação Segundo Elmasri & Navathe Armazenado versus Derivado atributo armazenado está realmente armazenado no BD atributo derivado pode ser determinado através de outros atributos ou através de entidades relacionadas exemplos: idade = data_atual - data_nascimento nro_empregados = soma de entidades pode ou não ser armazenado no BD Baseado nos slides do Prof. Eduardo ICMC-USP
21 Atributos Classificação Segundo Elmasri & Navathe Valores NULL Usado quando uma entidade não tem um valor aplicável para um atributo Usado quando o valor de um atributo para uma entidade não é conhecido Exemplo Atributo Telefone com o valor NULL para a entidade Pessoa indica que não se sabe o telefone da Pessoa
22 Relacionamento É uma associação entre duas ou mais entidades Ex: João trabalha no departamento farmacêutico Reuni-se um conjunto de relacionamentos similares em um conjunto de relacionamentos (Tipo-Relacionamento) Ex: trabalha-em Empregado trabalha em um Departamento
23 Relacionamento Formalmente Um conjunto de relacionamentos é um conjunto de n-tuplas: {(e 1,...,e n ) e 1 E 1,...,e n E m } Cada n-tupla denota um relacionamento envolvendo n entidades e 1,...,e m onde cada entidade está em um conjunto de entidades E i Empregado Trabalha-em 2/9/92 3/3/94 Departamento 13/4/98 24/11/99 Imagem retirada dos slides da Profa. Sandra - UFU
24 Relacionamento Pode ter um conjunto de atributos descritivos Armazenam informações sobre o relacionamento Ex: João trabalha no departamento farmacêutico desde janeiro de DataIn cpf nome End Tel Empregado Trabalha-em Departamento Id-depto nome Or Imagem retirada dos slides da Profa. Sandra - UFU
25 Relacionamento Deve ser unicamente identificado pelas entidades participantes Ex: cada relacionamento trabalha_em deve ser identificado pela matrícula do funcionário e código do departamento Uma instância de um conjunto de relacionamentos Retrato do conjunto de relacionamentos em dado momento
26 Relacionamento Pode envolver 2 ou mais entidades Ex: associação entre empregado, departamento e localização (ternário) DataIn cpf nome End Tel Empregado Trabalha-em Departamento Id-depto nome Or End LOCAL Capacidade Imagem retirada dos slides da Profa. Sandra - UFU
27 Relacionamento Pode envolver duas entidades do mesmo conjunto de entidades especificar o papel de cada uma cpf nome End Empregado Tel supervisor subordinado Reporta_a
28 Unário Grau de um conjunto de relacionamentos é um relacionamento que envolve um único conjunto de entidades Indicado utilizar nome de papel
29 Binário Grau de um conjunto de relacionamentos É um relacionamento que envolve dois conjuntos de entidades Ternário É um relacionamento que envolve três conjuntos de entidades
30 Relacionamento Ternário representa informações diferente de 3 conjuntos de relacionamentos binários! Ex: Fornecedor x Peça x Projeto
31 Recurso Adicionais do Modelo ER Restrições nos Conjuntos de Relacionamentos Limitam as combinações possíveis de entidades que podem participar dos conjuntos de relacionamentos Exemplos: Um empregado deve trabalhar para algum departamento; Um empregado não precisa ser um gerente Restrições estruturais Cardinalidade Participação Baseado nos slides do Prof. Eduardo ICMC-USP
32 Recurso Adicionais do Modelo ER Restrições de Cardinalidade Especifica o número máximo de instâncias de relacionamentos em que uma entidade pode participar Ex: relacionamento Trabalha_para Departamento:Funcionário Cardinalidade 1:N Tipos de cardinalidade 1:1, 1:N, N:1 e M:N
33 Recurso Adicionais do Modelo ER Segundo Elmasri & Navathe Imagem retirada dos slides do Prof. Eduardo ICMC-USP
34 Recurso Adicionais do Modelo ER Cardinalidade DataIn cpf nome End Tel Empregado 1 Gerencia Departamento N nome Or Id-depto Gerência é considerado um-para-muitos indicando que um funcionário pode estar associado a muitos departamentos, enquanto departamento pode estar associado a no máximo um funcionário Trabalha_em é considerado muitos_para_muitos Imagem adaptada dos slides da Profa. Sandra - UFU
35 Recurso Adicionais do Modelo ER Cardinalidade Ex: Considerando que cada funcionário pode gerenciar no máximo um departamento um-para-um DataIn cpf nome End Tel Empregado 1 Gerencia 1 Departamento Id-depto nome Or Imagem adaptada dos slides da Profa. Sandra - UFU
36 Recurso Adicionais do Modelo ER Cardinalidade para Relacionamentos Ternários Qtde Fnome Fornecedor 1 N Fornece Projeto P_nome M Peça Num_Peca Imagem adaptada dos slides da Profa. Sandra - UFU
37 Recurso Adicionais do Modelo ER Ternário
38 Recurso Adicionais do Modelo ER Há também a notação (min,max) Cada entidade está relacionada a pelo menos min e no máximo max instâncias de relacionamento no conjunto de relacionamentos
39 Recurso Adicionais do Modelo ER Restrição de Participação Participação do conjunto de entidades no conjunto de relacionamentos Tipos de participação cpf Total nome End Empregado Tel DataIn Trabalha-em nome Departamento Or Id-depto Parcial DataIn cpf nome End Empregado Tel Gerencia nome Departamento Or Id-depto
40 Entidade Fraca Conjunto de entidades fracas Não possuem atributos chave próprios Identificadas considerando alguns de seus atributos em conjuntos com a chave primária de uma outra entidade proprietária identificadora Devem ser mantidas as restrições O conjunto de entidades proprietárias e o conjunto de entidades fracas devem participar em um conjunto de relacionamentos um-para-muitos Representa dependência de existência um conjunto de entidades fraca deve ter participação total no relacionamento identificador
41 Entidade Fraca Exemplo Dependente e Funcionários Chave Parcial Conjunto de atributos de um conjunto de entidades fracas que identificam univocamente uma entidade fraca de uma determinada entidade proprietária Ex: nomedep
42 Entidade forte Entidade Fraca tem chave primária Entidade fraca possui somente uma chave parcial Chave primária de uma entidade fraca chave primária da entidade forte correspondente + chave parcial da entidade fraca Baseado nos slides do Prof. Eduardo ICMC-USP
43 Entidade Fraca custo cpf nome End Tel Empregado Apólice Dependentes nomed idade Imagem adaptada dos slides da Profa. Sandra - UFU
44 Projeto Conceitual de um BD Identificar conjuntos de entidade e atributos Identificar chaves primárias Identificar conjuntos de relacionamento e seus atributos Determinar o grau do relacionamento Identificar as restrições que se aplicam sobre cada um Cardinalidade Participação Identificar conjunto-entidade forte e conjunto-entidade fraca Baseado nos slides do Prof. Eduardo ICMC-USP
45 Exemplo de um DER Imagem retirada dos slides do Prof. Eduardo ICM-USP
46 Exercício Exercício 2.3 do Livro em Português do Ramakrishan Capítulo 2 Página 44
47 Referências R. Elmasri e S. B. Navathe, Sistema de Banco de Dados, 6ª edição, Pearson, R. Ramakrishnan e J. Gehrke, Database Management Systems, 3a Edição, McGraw-Hill, 2003.