MATA60 – BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos Prof. Daniela Barreiro Claro Agenda Modelo de Dados MER FORMAS - UFBA 2 de X; X=37 Modelo de Dados O Modelo de Dados é a principal ferramenta que fornece a abstração a um BD. É um conjunto de conceitos que podem ser usados para descrever a estrutura de uma base de dados. Estrutura de uma base de dados entende-se os tipos de dados, relacionamentos e restrições pertinentes aos dados. Muitos modelos de dados também definem um conjunto de operações para especificar como recuperar e modificar a base de dados. FORMAS - UFBA 3 de X Modelo de Dados Modelar é criar representações do mundo real FORMAS - UFBA 4 de X Modelo de Dados Requisitos funcionais Análise Funcional Independente do SGBD SGBD Específico Projeto do Programa de Aplicação Implementação da Aplicação Programas de Aplicação Minimundo Levantamento e Análise dos Requisitos Requisitos dos dados Projeto Lógico Mapeamento do Modelo de Dados Projeto Físico Criação do banco de dados 5 de X Modelo de Dados A modelagem relacional pode ser representada via MER (Modelo de Entidade Relacionamento) O MER define estruturas e restrições e utiliza uma notação denominada Diagrama ER Diferentes autores propõem notações distintas do Diagrama ER. FORMAS - UFBA 6 de X MER A base do MER é representar o mundo real por meio de conjuntos de objetos chamados entidades e relacionamentos. A junção ordenada/lógica destes tipos de objetos representa a estrutura/esquema do mundo real. Ou seja, deve suportar o armazenamento de dados que reflitam a situação do mundo real FORMAS - UFBA 7 de X MER Descreve os dados como Entidades Atributos Relacionamentos Prof. Daniela Barreiro Claro 8 de X MER Entidades uma entidade é uma “coisa” ou um “objeto” do mundo real que pode ser identificada(o) de uma forma unívoca em relação a todos os outros objetos. Pode ser um objeto físico carro, casa, pessoa, funcionário, livro Objeto de existência conceitual ou abstrata Empresa, trabalho, curso, empréstimo FORMAS - UFBA 9 de X MER – Requisitos de Negócio Banco de Dados da Empresa Claro Ltda A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Quais são entidades? Empregados Departamentos Entidade Retângulo FORMAS - UFBA 10 de X MER Atributos Cada entidade tem atributos que são propriedades particulares que a descrevem Cada instância de entidade terá um valor para cada um dos seus atributos Este conjunto de entidades do mesmo tipo compartilham as mesmas propriedades Atributos são propriedades descritivas de cada membro de um conjunto de entidades e cada entidade tem seus próprios valores nos atributos. Para cada atributo existe um conjunto de valores possíveis, chamado domínio. Formalmente, um atributo de um conjunto de entidades é uma função que relaciona o conjunto de entidades a seu domínio. Cada entidade pode ser descrita pelo conjunto formado pelos pares (atributo-valor) referentes a cada atributo do conjunto conjunto em questão. FORMAS - UFBA 11 de X MER Atributos FORMAS - UFBA 12 de X MER – Classes de Atributos Atributos Compostos x Simples (atômicos) Atributos compostos podem ser subdivididos até os atributos simples FORMAS - UFBA 13 de X MER – Classes de Atributos Atributos Monovalorados X Multivalorados Valor único, ex. idade,bairro, cep Conjunto de valores, ex. cor, titulação, telefones, endereços Atributos Armazenados X Derivados Atributos calculados e derivados de outro atributo armazenado. Ex. idade, numeroEmpregados, somatorio, total FORMAS - UFBA 14 de X MER – Campos de Atributos Atributos com valores nulos Uma entidade pode não ter valor aplicável a um atributo Valor NULL pode ser: Não aplicável – Apartamento, titulação Desconhecido Existe mas está faltando. Ex. a altura de uma pessoa Nao se sabe se existe. Ex. telefone residencial FORMAS - UFBA 15 de X MER – Requisitos de Negócio Banco de Dados da Empresa Claro Ltda A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Os empregados possuem nome, cpf, endereço, telefones (residencial e comercial) e os departamentos possuem codigo e o nome do departamento. Quais são os atributos? nome, cpf, endereço, telefones (residencial e comercial) codigo e o nome FORMAS - UFBA 16 de X Relacionamentos Um relacionamento é uma associação entre várias entidades Cada instância de um relacionamento ri em R é uma associação de entidades, na qual a associação inclui exatamente uma instância de uma entidade de cada entidade participante. Exemplo Um relacionamento que associa um cliente ‘Pedro’ a um emprestimo do livro ‘Metodologias do Ensino’ significa que o cliente ‘Pedro’ realizou tal emprestimo do livro ‘Metodologias do Ensino’. FORMAS - UFBA 17 de X Relacionamentos Formalmente Um conjunto de relacionamentos é um conjunto de mesmo tipo. O relacionamento é uma relação matemática com n>= 2 (n=numero de entidades) Se E1, E2,...En são entidades então um conjunto de relacionamentos R é um subconjunto de {(e1, e2,...e3) | e1 E E1, e2 E E2, e3 E E3}, em que e1, e2, e3 são relacionamentos. A associação entre as entidades é referida como uma participação: o conjunto de entidades E1, E2, ..., Em participa do conjunto de relacionamentos R. Uma instância de relacionamento em um esquema E-R representa a existência de uma associação entre essas entidades no mundo real no qual se insere o domínio que está sendo modelado. 18 de X Relacionamentos Consideremos as entidades cliente e produto. Definimos o conjunto de relacionamentos compra para denotar a associação entre clientes e produtos adquiridos pelos clientes FORMAS - UFBA 19 de X Relacionamentos Representação no Diagrama ER Cliente Compra Produto Grau de um Relacionamento Número de entidades que participam desse relacionamento 2 entidades = grau 2 ou binário 3 entidades = ternário... Atributos descritivos em relacionamentos atributos podem fazer parte de conjuntos relacionamentos para melhor descrever o mundo real. Exemplo: a data da compra do produto 20 de X Relacionamentos A função que uma entidade desempenha em um relacionamento é chamada papel. Algumas vezes uma “entidade” pode participar de um “relacionamento” mais de uma vez em papéis diferentes e, nessas situações, o papel é importante para interpretação do modelo. Em relacionamentos recursivos, nomes explícitos de papéis são necessários para especificar como uma entidade participa de uma instância de relacionamento. Considere a entidade Empregado. Dado um relacionamentos é_supervisor_de que é modelado para ordenar os pares de entidades de empregado numa relação com o seu supervisor. Neste exemplo, os relacionamentos de é_supervisor_de são caracterizados pelos pares (supervisor, empregado). 21 de X Relacionamentos Relacionamento Recursivo Cada tipo entidade que participa de um tipo relacionamento executa um papel particular no relacionamento As vezes o mesmo tipo entidade participa mais de uma vez em um tipo relacionamento Esses tipos relacionamentos são chamados Relacionamentos recursivos Prof. Daniela Barreiro Claro 22 de X Relacionamentos Restrições são determinadas pelos requisitos de negócios Restrição: Razão de Cardinalidade Representa o número máximo de instâncias que um relacionamento pode participar As razões de cardinalidade podem ser 1:1, 1:N, N:1, M:N Prof. Daniela Barreiro Claro 23 de X Relacionamentos Mapeamento das cardinalidades expressa o número de entidade às quais outra entidade pode estar associada via um conjunto de relacionamentos. Um para um: uma entidade em A está associada no máximo a uma entidade em B, e uma entidade em B está associada a no máximo uma entidade em A. Um para muitos: Uma entidade em A está associada a várias entidades em B. Uma entidade em B deve estar associada no máximo a uma entidade em A. Muitos para um: Uma entidade em A está associada a no máximo uma entidade em B. Uma entidade em B, pode estar associada a um número qualquer de entidades em A. Muitos para muitos: Uma entidade em A está associada a qualquer número de entidades em B e uma entidade em B está associada a um número qualquer de entidades em A. FORMAS - UFBA 24 de X Relacionamentos Atributos de um Relacionamento Pode ter atributos similares aos das entidades Exemplo, data em que o gerente começou a gerenciar Relacionamentos 1:1 Relacionamentos 1:N Atributos podem migrar para qualquer uma das entidades participantes um atributo pode ser migrado apenas para a entidade do lado N Relacionamento MxN os atributos são especificados como atributos do relacionamento Horas é a combinação de empregado-projeto, Data_Compra 25 de X Relacionamentos Qual a diferença entre estas quatro abordagens? Em cada um destes casos, como poderiamos tratar os atributos do relacionamento? FORMAS - UFBA Exemplo: data_matricula 26 de X Relacionamentos Restrições de Participação e Dependência de Existência Determina se a existência de uma entidade depende da existência de outra Ha dois tipos Total e Parcial Se a existência da entidade X depende da existência da entidade Y, então X é dito dependente da existência de Y. Operacionalmente, se Y deixar de existir, conseqüentemente, X deve deixar de existir. Prof. Daniela Barreiro Claro 27 de X Chaves e restrições Atributos Chaves Restrição de unicidade em atributos Valores distintos para cada uma das instâncias das entidades Cpf, RG+ORGAO Domínio dos Atributos Conjunto de valores válidos para os atributos de cada entidade sexo=‘F’ | ‘M’ FORMAS - UFBA 28 de X Chaves e Restrições Por meio de chaves podemos diferenciar as diversas entidades pertencentes a um conjunto de entidades, e os diversos relacionamentos pertencentes a um conjunto de relacionamentos. Conjuntos de Entidades Superchave: conjunto de um ou mais atributos que, tomados coletivamente, nos permitem identificar de maneira unívoca uma entidade em um conjunto de entidades. Chaves candidatas: Superchaves para as quais nenhum subconjunto possa ser uma superchave. Chave primária: chave candidata escolhida pelo projetista de banco de dados como a chave de significado principal para a identificação de entidades dentro de um conjunto de entidades. Uma chave é uma propriedade do conjunto de entidades e não de uma entidade individualmente. Quaisquer duas entidades individuais em um conjunto não podem ter, simultaneamente, mesmos valores em seus atributos-chave. A especificação de uma chave representa uma restrição ao mundo real do domínio que está sendo modelada. 29 de X Chaves Conjuntos de relacionamentos: A composição da chave primária para um conjunto de relacionamentos depende de uma estrutura de atributos associada ao conjunto de relacionamentos de R. Se o conjunto de relacionamentos não possuir atributos então uma superchave deve ser formada pelas chaves de cada entidade participante do relacionamento. Se o conjunto de relacionamentos possuir atributos então uma superchave deve ser formada pelas chaves de cada entidade participante do relacionamento mais o conjunto de atributos deste. A estrutura da chave primária para o conjunto de relacionamentos depende do mapeamento da cardinalidade do conjunto. Muitos para muitos: união das chaves da entidade + atributos descritivos; Muitos para um ou um para muitos: chave da entidade do lado do muitos + atributos descritivos Um para um: qualquer umas das chaves primárias pode ser usada. FORMAS - UFBA 30 de X MER – Requisitos de Negócio Banco de Dados da Empresa Claro Ltda A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Os empregados possuem nome, cpf, endereço, telefones (residencial e comercial) e os departamentos possuem codigo e o nome do departamento. Um empregado trabalha para um departamento. Cada empregado tem um supervisor que é um empregado. Cada empregado trabalha somente para um departamento. Um empregado gerencia um departamento. Um departamento controla um número qualquer (vários) de projetos. Um empregado está alocado a um departamento mas pode trabalhar em diversos projetos que não são controlados necessariamnte pelo mesmo departamento. Controla-se o número de horas que um empregado trabalha em cada projeto. Todo empregado deve trabalhar para um departamento. Quais são os relacionamentos? FORMAS - UFBA 31 de X Relacionamentos Entidade Fraca São entidades que não tem seus próprios atributos-chaves Entidade Fraca sempre possui uma restrição de participação total (dependência de existência) em relação ao seu relacionamento identificador Uma entidade fraca tem normalmente uma chave parcial que é um conjunto de atributos que a identifica quando relacionadas a uma entidade proprietária. Prof. Daniela Barreiro Claro 32 de X Relacionamentos Entidade Fraca Um conjunto de entidades pode não ter atributos suficientes para formar uma chave primária. São os conjuntos de entidades fracas. Um conjunto de entidades que possui uma chave primária é dito forte. A chave primária de um conjunto de entidades fracas é composto pela chave primárias do conjunto de entidades fortes ao qual a existência do primeiro está associada mais o identificador do conjunto de entidades fraca. O relacionamento que associa o conjunto de entidades fracas a seu proprietário é o relacionamento identificador. FORMAS - UFBA 33 de X MER – Requisitos de Negócio Banco de Dados da Empresa Claro Ltda A empresa Claro Ltda possui empregados. Ela está organizada em departamentos. Os empregados possuem nome, cpf, endereço, telefones (residencial e comercial) e os departamentos possuem codigo e o nome do departamento. Um empregado trabalha para um departamento. Cada empregado tem um supervisor que é um empregado. Cada empregado trabalha somente para um departamento. Um empregado gerencia um departamento. Um departamento controla um número qualquer (vários) de projetos. Um empregado está alocado a um departamento mas pode trabalhar em diversos projetos que não são controlados necessariamnte pelo mesmo departamento. Controla-se o número de horas que um empregado trabalha em cada projeto. Todo empregado deve trabalhar para um departamento. Cada empregado possui um dependente. Os atributos do dependente são: primeiro nome, data nascimento, sexo e parentesco. Quais as entidades fracas? 34 de X Modelo Lógico FORMAS - UFBA 35 de X Modelo Físico FORMAS - UFBA 36 de X www.dcc.ufba.br/~dclaro Disciplina: MATA60 (2016.1) Semantic Formalisms and Applications Research Group Facebook: /formasresearchgroup Twitter: /formasresearchgroup FORMAS - UFBA