MATA60 BANCO DE DADOS Aula 3- Modelo de Entidades e Relacionamentos Prof. Daniela Barreiro Claro
Agenda Modelo de Dados MER 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. 3 de X
Modelo de Dados Modelar é criar representações do mundo real 4 de X
Modelo de Dados Minimundo Requisitos funcionais Análise Funcional Levantamento e Análise dos Requisitos Projeto Lógico Requisitos dos dados Independente do SGBD SGBD Específico Projeto do Programa de Aplicação Mapeamento do Modelo de Dados Projeto Físico Implementação da Aplicação Programas de Aplicação 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. 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 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 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 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. 11 de X
MER Atributos 12 de X
MER Classes de Atributos Atributos Compostos x Simples (atômicos) Atributos compostos podem ser subdivididos até os atributos simples 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 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 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 16 de X
Relacionamentos Um relacionamento é uma associação entre várias entidades Cada instância de um relacionamento r i 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. 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 E 1, E 2,...E n são entidades então um conjunto de relacionamentos R é um subconjunto de {(e 1, e 2,...e 3 ) e 1 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 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. 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 Atributos podem migrar para qualquer uma das entidades participantes Relacionamentos 1:N 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? 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 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. 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? 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. 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 35 de X
Modelo Físico 36 de X
www.dcc.ufba.br/~dclaro Disciplina: MATA60 (2016.1) Semantic Formalisms and Applications Research Group Facebook: /formasresearchgroup Twitter: /formasresearchgroup