Bancos de Dados Modelo Entidade-Relacionamento BD Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.1 Conjunto de Entidades Entidade = Coisa ou objeto no mundo real que pode ser identificada de forma unívoca em relação a todos os outros objetos Exemplos : Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.1 Conjunto de Entidades Entidade = Tem um conjunto de propriedades, e os valores para estas propriedades podem ou não ser único. Exemplo : Entidade = Carro Propriedades = Cor , modelo , número placa , ano de fabricação, quantidade de portas, renavan , combustivel, número chassi , etc . . . Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.1 Conjunto de Entidades Entidade = Pode ser concreta ou abstrata. Exemplos : Viagem , venda ou compra, empréstimo, aluguel, notícia, cirurgia, etc... Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.1.1 Conjunto de Entidades É um conjunto que abrange entidades de mesmo tipo, que compartilham as mesmas propriedades. Exemplo : Entidade = Carros Propriedades(Atributos) Nome Cor Número placa Ano de fabricação Quantidade de portas Combustível ... Korth-Cap2 Fusca Clio Ranger Vermelho Prata Branco GFR9387 RDF3829 ILI2731 1977 2002 2003 2 4 2 Gasolina Alcool Diesel ... Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.1.1 Conjunto de Entidades Tipos de propriedades ou atributos : Simples Cor = Verde Idade = 45 anos Peso = 65 kg Salário = R$ 900,00 Korth-Cap2 ou Composto Endereço (rua+numero+cep) Nascimento (dia+mês+ano) Filiação (Nome pai + nome mãe) Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.1 Conjunto de Entidades Tipos de propriedades ou atributos : Monovalorados ou Multivalorados Cpf = 121.312.432-11 Placa = RTG3905 Peso = 65 kg Nota da prova = 9,00 Korth-Cap2 Endereço Residencial, trabalho, correspondência Telefone Celular, Residencial, trabalho Documentos RG, Cpf, CNH Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.1 Conjunto de Entidades Tipos de propriedades ou atributos : Nulos Nome do Pai = um orfão não tem (nulo) Titulo de eleitor = menores de 16 não tem Dependentes = uma pessoa pode não ter Conjuge = Um solteiro não tem Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.1 Conjunto de Entidades Tipos de propriedades ou atributos : Derivado Idade = Diferença em anos da data de hoje e a data de nascimento Salário líquido = salário bruto retirando os descontos Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.2 Conjuntos de Relacionamentos É uma associação entre uma ou várias entidades. CIDADES Nome População Uberaba Campinas Araxá Igarapava Catalão Araguari Campos ... 280.000 1.320.000 86.000 26.000 295.000 43.000 134.500 ... Korth-Cap2 ESTADOS Sigla Nome MG SP RJ GO PR SC ... Minas Gerais São Paulo Rio de Janeiro Goiás Paraná Santa Catarina ... Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.2 Conjuntos de Relacionamentos Abaixo temos um exemplo ternário Imóvel Preço Endereço 80Mil 47Mil 93Mil ... Av. B, 88 Rua Y, 83 Al. J, 45 ... Comprador RG Nome 22352 45323 93829 ... Pedro Silva Rita Pinho Mario Costa ... Korth-Cap2 Corretor Nome Maria Souto Jonas Cunha Tiago Moreira ... ... Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.1.2 Conjuntos de Relacionamentos Nos sistemas a maior parte são binários, como no exemplo abaixo CIDADES Nome População Uberaba Campinas Araxá Igarapava Catalão Araguari Campos ... 280.000 1.320.000 86.000 26.000 295.000 43.000 134.500 ... Korth-Cap2 ESTADOS Sigla Nome MG SP RJ GO PR SC ... Minas Gerais São Paulo Rio de Janeiro Goiás Paraná Santa Catarina ... Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.2.1 O Uso de Conjuntos de Entidades ou Atributos Funcionários RG Nome Filho 45254 95837 57392 ... Mário Silva Joana Goes Tiago Borges ... ... Felix Jr Felix Jr Tadeu Maia ... Funcionários RG 45254 95837 57392 69304 ... Korth-Cap2 Nome Mário Silva Joana Goes Tiago Borges Eva Gomes ... FILHOS Nome Felix Jr Tadeu Mara ... Atributo ? Um funcionário Um filho pode pode ter : ter o pai 1 filho , e a mãe vários ou na mesma nenhum empresa Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.2.1 O Uso de Conjuntos de Entidades ou Atributos O que constitui um atributo ? O que constitui um conjunto de entidades ? Não existe uma resposta simples, as distinções dependem, principalmente, da estrutura real da empresa que está sendo modelada e da semântica associada aos atributos em questão. Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.2.2 Uso dos Conjuntos de Entidades e Conjunto de Relacionamentos •Conjuntos de Entidades: Usar para descrever um agrupamento de objetos com atributos comuns Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.2.2 Uso dos Conjuntos de Entidades e Conjunto de Relacionamentos Conjunto de relacionamentos: Usar para descrever uma ação que ocorre entre entidades Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.2.3 Conjuntos de Relacionamenos Binários X n-ésimos Este tópico está confuso no livro, este assunto estará embutido naturalmente nos exemplos e exercícios Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.3 Mapeamento de Restrições 2.3.1 Mapeamento das Cardinalidades É o número de entidades às quais outra entidade pode estar associada, via um conjunto de relacionamentos. CIDADES Nome População Uberaba Campinas Araxá Igarapava Catalão Araguari Campos ... 280.000 1.320.000 86.000 26.000 295.000 43.000 134.500 ... ESTADOS Sigla Nome MG SP RJ GO PR SC ... Minas Gerais São Paulo Rio de Janeiro Goiás Paraná Santa Catarina ... Uma cidade pode estar associada a quantos estados ? Um estado pode estar associado a quantas cidades ? Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.3.1 Mapeamento das Cardinalidades - Um para Um Casamentos 1 Cardinalidade 1 Uma entidade homem deve se casar apenas com uma entidade mulher. Uma entidade mulher deve se casar apenas com uma entidade homem. Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.3.1 Mapeamento das Cardinalidades – Um para Muitos ou Muitos para Um Propriedade 1 Cardinalidade N Uma pessoa é proprietária de N veículos, 1 veículo é de propriedade de uma pessoa. Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.3.1 Mapeamento das Cardinalidades – Muitos para Muitos Tratamento N Cardinalidade N Um médico trata de vários pacientes, um paciente pode ser tratado por vários médicos Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.3.1 Mapeamento das Cardinalidades O mapeamento apropriado de cardinalidades para um conjunto de relacionamentos em particular é, obviamente, dependente das situações reais que estão sendo modeladas pelo conjunto de relacionamentos Depende do mini-mundo Não há fórmula, depende do contexto, da situação ou empresa que está sendo modelada Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.3.1 Mapeamento das Cardinalidades •Pode afetar a colocação dos atributos nos relacionamentos •É impontante que a cardinalidade represente fielmente o contexto que está sendo modelado Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.3.2 Dependência de Existência Entidade Dominante Subordinada Viagens Veiculos Saida 12/05/2003 13/05/2003 14/02/2004 17/03/2004 ... Origem Uberaba Campinas Araxá Jubaí ... Destino Araxá Itapipoca BH Anápolis As entidades do conjunto de entidades Viagens dependem das entidades do conjunto de entidades veículos Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.4 Chaves É importante especificar como cada entidade é identificada dentro do conjunto de entidades, também como um relacionamento dentro de um conjunto de relacionamentos. 2.4.1 Conjunto de Entidades 2.4.2 Conjuntos de Relacionamentos Superchave, Chave candidata, chave primária, ... Usaremos apenas o termo chave primária Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.4 Chaves chave primária Qual atributo é a melhor opção para ser a chave primária : Korth-Cap2 Veículos Placa Vendas Número NF Médicos CRM Pessoa CPF Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.5 DER – Diagrama Entidade-Relacionamento Retângulos = CJ de entidades Elipses = Atributos Losangos = CJ Relacionamentos Linhas = ligação entre objetos Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.5 DER – Diagrama Entidade-Relacionamento Elipses duplas = atributos multivalorados linhas duplas = Indica participação total de uma entidade em um conjunto de relacionamentos Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.5 DER – Diagrama Entidade-Relacionamento abc klm def ghi rst Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.5 DER – Diagrama Entidade-Relacionamento Cardinalidade abc klm def hyg ghi plm rst Um para muitos Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.5 DER – Diagrama Entidade-Relacionamento Cardinalidade abc klm hyg ghi rst Korth-Cap2 def Muitos para muitos plm Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.5 DER – Diagrama Entidade-Relacionamento Cardinalidade abc klm def hyg ghi plm rst Um para um Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.5 DER – Diagrama Entidade-Relacionamento abc ghi rst Korth-Cap2 klm def hyg opl plm Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.5 DER – Diagrama Entidade-Relacionamento Indicadores de papéis Responsável Pessoas cpf tem aluno nome Cj de relacionamentos Mostra relação entre entidades do mesmo conjunto Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.5 DER – Diagrama Entidade-Relacionamento fvc azs eds abc ghi rst Korth-Cap2 def klm hyg plm Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.6 Conjunto de Entidades Fracas •Se Não tem atributos suficientes para formar uma chave primária •Conceitos de Cj de entidades Fortes e Fracas estão relacionados às dependencias existentes, •Blá, blá, blá, ... •Este tópico será tratado de forma mais concreta na correção dos exercícios Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.7 Recursos de Extensão do E-R 2.7.1 Especialização pessoas cpf nome ISA alunos pofessores funcionarios ra curso codigo ctps formação admissão Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.7 Recursos de Extensão do E-R 2.7.2 Generalização : é o contrário da especialização pessoas cpf nome ISA alunos professores funcionarios ra curso codigo ctps formação admissão Todos os atributos são adaptados no conjunto de entidades de nível superior, logicamente cada caso deve ser avaliado. Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.7 Recursos de Extensão do E-R 2.7.3 Herança de Atributos pessoas cpf nome ISA alunos funcionarios ra curso ctps Um aluno tem : Cpf Nome Ra Curso Um funcionário tem : professores Cpf Nome Ctps codigo Admissão formação admissão Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.7 Recursos de Extensão do E-R 2.7.4 Restrições de Projeto : Determinação das entidades que podem participar do CJ -Definida por condição pessoas cpf nome ISA tipo alunos pofessores funcionarios ra curso ctps admissão codigo formação Se o valor para o atributo tipo do Cj de entidades pessoas for alunos, então será selecionado também Ra e curso Esse tipo de generalização é chamado: Definida_por_atributo Korth-Cap2 Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.7 Recursos de Extensão do E-R 2.7.4 Restrições de Projeto : Determinação das entidades que podem participar do CJ -Definida pelo usuário pessoas cpf nome ISA alunos pofessores funcionarios ra curso ctps admissão Korth-Cap2 codigo formação Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.7 Recursos de Extensão do E-R 2.7.4 Restrições de Projeto : Pode ou não pertencer a mais de um CJ de entidades de nível inferior -Mutuamente exclusivos pessoas Uma pessoa pode ser aluno e não pode ser professor ou funcionário. Um funcionário não pode ser aluno ou professor Etc... Korth-Cap2 cpf nome ISA alunos pofessores funcionarios ra curso codigo ctps admissão formação Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.7 Recursos de Extensão do E-R 2.7.4 Restrições de Projeto : Pode ou não pertencer a mais de um CJ de entidades de nível inferior -Sobrepostos Uma pessoa pode ser aluno e professor ou funcionário, ou ainda ser aluno, funcionário e professor. pessoas cpf nome ISA alunos pofessores funcionarios ra curso Etc... Korth-Cap2 codigo ctps admissão formação Prof. André Luiz Souza Modelo Entidade-Relacionamento Bancos de Dados 2.7 Recursos de Extensão do E-R 2.7.5 Agregação - No modelo E-R Não é possível expressar relacionamentos entre relacionamentos abc klm def hyg plm ghi rst hij DER com agregação Korth-Cap2 lmn opq Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.8 Projeto de um Esquema de Banco de Dados E-R Atributo ou CJ de entidades ? Generalização ? CJ de entidades ou CJ de relaconamento s? Agregação ? CJ de relaconamentos ternário ou 2 binários? Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.8 Projeto de um Esquema de Banco de Dados E-R 2.8.1 Fases de Projeto -Caracterizar todos os dados necessários na perspectiva do usuário, -O projetista escolhe o modelo de dados, e aplicando os conceitos transcreve as necessidades, -Desenvolvimento completo do esquema conceitual, -Transporte do modelo de dados abstrato, para sua implementação, ocorre nas 2 fases finais do projeto, Korth-Cap2 Prof. André Luiz Souza Bancos de Dados Modelo Entidade-Relacionamento 2.8 Projeto de um Esquema de Banco de Dados E-R 2.8.2 Dados Necessários a uma empresa da área bancária 2.8.3 Designação de conjuntos de entidades 2.8.4 Designação de conjuntos de relacionamentos 2.8.5 Diagrama E-R Korth-Cap2 Especificação dos requisitos identificação dos Cj de entidades e seus atributos identificação dos Cj de relacionamentos e cardinalidades Elaboração do Modelo Prof. André Luiz Souza