Banco Banco de de Dados Dados // 11 Banco Banco de de Dados Dados // 22 Chaves Primá Primárias Engenharia da Computaç Computação UNIVASF BANCO DE DADOS Conceitualmente, entidades e relacionamentos são distintos, mas como diferenciá diferenciá-los no Banco de Dados? Distinç Distinção superchave para cada conjunto de entidades. Superchave conjunto de um ou mais atributos que nos permite identificar uma entidade das demais. Exemplo: podem ser superchaves de cliente: Aula 3 CPF ou Nome-cliente + CPF Modelo EntidadeEntidade-Relacionamento não pode ser superchave de cliente: Nome-cliente Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Banco Banco de de Dados Dados // 33 Banco Banco de de Dados Dados // 44 Chaves Primá Primárias Chaves Primá Primárias Se K é uma superchave, superchave, qualquer conjunto de atributos que contenha K é uma superchave. superchave pode conter atributos desnecessá desnecessários O que nos interessa superchaves menores possí possíveis aquelas em que nenhum subconjunto é superchave chaves candidatas. candidatas. Exemplo Primá Primária chave candidata escolhida pelo projetista do BD como mecanismo principal para identificaç identificação de uma entidade como única. nica. Chave podem ser chaves candidatas: Exemplo: chave primária de cliente: CPF Nome-cliente + endereço CPF não pode ser chave candidata: Nome-cliente + CPF Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Banco Banco de de Dados Dados // 55 Banco Banco de de Dados Dados // 66 Chaves Primá Primárias - representaç representação no DER Dependência de existência data nome CPF saldo (1,N) – A é dependente da existência de B. – Se B for excluído, o mesmo deve acontecer com A. – A é chamada entidade subordinada – B é chamada entidade dominante número endereço cliente A existência de uma entidade A depende da existência da entidade B. cliente conta (1,N) conta Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques 1 Banco Banco de de Dados Dados // 77 Banco Banco de de Dados Dados // 88 Dependência de existência Chaves Primá Primárias – Entidade Forte e Fraca A participaç participação de um conjunto de entidades E no conjunto de relacionamento R é dita total se todas as entidades em E participam em pelo menos um relacionamento R. Se somente algumas entidades em E participam no relacionamento R, a participaç participação do conjunto de entidades E no relacionamento R é dito parcial. parcial. A participaç participação total está está estreitamente relacionada à existência de dependência Um conjunto de entidades pode não possuir atributos suficientes para formaç formação de uma chave primá primária. Exemplo: conjunto de entidades transação, com os atributos número-transação, data e valor. movimentações em contas diferentes podem ter o número. fraca não possui chave primá primária Entidade forte possui chave primá primária. Entidade Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Banco Banco de de Dados Dados // 99 Banco Banco de de Dados Dados // 10 10 Chaves Primá Primárias – Entidade Forte e Fraca Chaves Primá Primárias – Entidade Forte e Fraca Entidade fraca e Entidade forte ↔ conceito de dependência. Entidade forte entidade dominante. dominante. Entidade fraca entidade subordinada. subordinada. Discriminador de um conjunto de entidades fracas conjunto de atributos que permite distingü distingüir uma particular entidade no conjunto de entidades. Exemplo: Chave primá primária de um conjunto de entidades fracas chave primá primária da entidade forte da qual é existencialmente dependente + discriminador. Exemplo: Chave primária de transação: (número-conta, número-transação) conjunto de entidades transação: número-transação identificam unicamente uma transação para cada conta. Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Banco Banco de de Dados Dados // 11 11 Banco Banco de de Dados Dados // 12 12 Representaç Representação de Entidade Fraca Chaves Primá Primárias - Relacionamentos Chave Númeroconta Númerotransação valor saldo data conta (1,1) histórico (1,N) transação primá primária de um conjunto de relacionamentos todos os atributos que constituem chaves primá primárias dos conjuntos de entidades envolvidas no relacionamento. relacionamento. Exemplo: CPF é a chave-primária de cliente Número-conta é a chave-primária de conta Chave primária de Cliente-conta: (CPF, número-conta) Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques 2 Banco Banco de de Dados Dados // 13 13 Banco Banco de de Dados Dados // 14 14 Representaç Representação de Relacionamento Terná Ternário Exercí Exercício Faça o Diagrama Entidade-Relacionamento para as situações abaixo. Indique as cardinalidades máximas e mínimas. Para cada conjunto de entidades, coloque um conjunto mínimo de atributos, indicando a sua chave primária. data nome CPF número endereço saldo cliente (1,N) clienteconta (1,N) conta Chave primária de cliente-conta: (CPF, número-conta) Chave primária de relacionamentos não é representada no DER. Será útil na composição do modelo relacional, derivado do DER. Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques 1.Em uma construtora, um engenheiro pode gerenciar vários projetos, sendo que cada projeto é gerenciado obrigatória e unicamente por um engenheiro. Um funcionário pode trabalhar em vários projetos ao mesmo tempo. Os projetos são numerados por engenheiro. Por exemplo: há os projetos 1,2,3 para o engenheiro Roberto; também há os projetos 1 e 2 para o engenheiro João. 2. Em uma clínica odontológica, um dentista pode consultar vários pacientes. Após a consulta, podem ser iniciados os atendimentos, mas nem toda consulta resulta em atendimento. Um paciente pode ser atendido por mais de um dentista. O(s) dentista(s) que consulta(m) não precisa(m) ser o(s) mesmo(s) que atende(m). Deve ser registrada a data, a hora e a descrição de cada atendimento. 3. Em um buffet, um cliente pode contratar várias festas. Uma festa, no entanto, é contratada por um único cliente. Uma festa tem várias bebidas e vários alimentos, sendo obrigatória a escolha de pelo menos uma bebida e um alimento. O pagamento de uma festa pode ser à vista ou parcelado em até 12 vezes, devendo ser controlada a data de vencimento e data de pagamento de cada parcela. Prof. ª FFátima átima Nunes Prof Prof. Edmundo Edmundo Spoto Spoto ee Profª Profª Nunes Marques Marques 3