Modelos Coceituais de Dados Baco de Dados
Motivação Objetivo da abordagem de BD: oferecer abstração dos dados separar aplicações dos usuários dos detalhes de hardware ferrameta utilizada: modelo de dados Modelo de dados: cojuto de ferrametas coceituais para a descrição dos dados e dos relacioametos existetes etre os dados, da semâtica e das restrições que atuam sobre estes
Categorias de Modelos de Dados Divisão baseada os tipos de coceitos oferecidos para descrever a estrutura do BD Modelo de dados coceitual modelo de alto ível oferece coceitos próximos aos usuários exemplo: modelo etidade-relacioameto
Categorias de Modelos de Dados Modelo de dados de implemetação oferece coceitos que podem ser facilmete utilizados por usuários fiais ão estão distates da maeira a qual os dados estão orgaizados detro do computador é implemetado de maeira direta exemplo: modelo relacioal
Categorias de Modelos de Dados Modelo de dados físico modelo de baixo ível descreve como os dados estão armazeados fisicamete o computador
Projeto de BD miimudo idepede do SGBD depede do SGBD cojuto de ecessidades esquema coceitual esquema em liguagem de implemetação aálise de requisitos projeto coceitual mapeameto para modelo projeto físico Modelo Relacioal Modelo Etidade Relacioameto (MER) Mapeameto MER para o Modelo Relacioal
Modelo Etidade Relacioameto Básico Característica proposto por Che (970) represeta um problema como um cojuto de etidades e de relacioametos etre estas etidades utilizado a modelagem de aplicações de BD tradicioais
Modelo Etidade Relacioameto Básico Coceitos Básicos etidade; atributo; tipo-etidade chave primária relacioameto; atributo; tipo-relacioameto uário, biário, terário restrições de cardialidade e de participação tipo-etidade fraca
CPF_empregado ome_empregado supervisor EMPREGADO gerecia trabalha sigla_depto ome_depto DEPARTAMENTO subordiado m data_iício supervisioa possui desevolve cotrola m DEPENDENTE PROJETO ome_depedete sexo_depedete ro_projeto ome_projeto
CPF_empregado ome_empregado supervisor EMPREGADO gerecia trabalha sigla_depto ome_depto DEPARTAMENTO subordiado m data_iício supervisioa possui desevolve cotrola m DEPENDENTE tipo-etidade PROJETO ome_depedete sexo_depedete atributos ro_projeto ome_projeto
CPF_empregado ome_empregado supervisor EMPREGADO gerecia trabalha sigla_depto ome_depto DEPARTAMENTO subordiado m data_iício supervisioa possui desevolve cotrola m DEPENDENTE tipo-etidade fraca forte PROJETO ome_depedete sexo_depedete chave parcial chave primária ro_projeto ome_projeto
CPF_empregado ome_empregado gerecia sigla_depto ome_depto supervisor EMPREGADO trabalha DEPARTAMENTO subordiado m data_iício supervisioa possui desevolve atributos cotrola m DEPENDENTE tipo-relacioameto PROJETO ome_depedete ro_projeto sexo_depedete ome_projeto
CPF_empregado ome_empregado supervisor EMPREGADO gerecia trabalha sigla_depto ome_depto DEPARTAMENTO subordiado m data_iício supervisioa possui desevolve cotrola m DEPENDENTE ome_depedete sexo_depedete restrição de cardialidade PROJETO ro_projeto ome_projeto
CPF_empregado ome_empregado supervisor EMPREGADO gerecia trabalha sigla_depto ome_depto DEPARTAMENTO subordiado m data_iício supervisioa possui desevolve cotrola m DEPENDENTE ome_depedete sexo_depedete restrição de participação PROJETO ro_projeto ome_projeto
Resumo da Notação tipo etidade forte atributo multivalorado tipo etidade fraca tipo relacioameto idetificador de relacioameto atributo... E R E 2 atributo derivado atributo composto participação total de E 2 em R atributo chave E R E 2 cardialidade :N
Modelo Etidade Relacioameto Estedido Características itroduz semâtica adicioal ao modelo ER utilizado a modelagem de aplicações mais complexas Coceitos geeralização, especialização, e restrições agregação categoria
Subclasse/Superclasse Subclasse subagrupameto das etidades de um tipo-etidade Exemplo superclasse: tipo-etidade empregado subclasses: secretário, egeheiro, técico cada etidade que é membro de qualquer uma das subclasses também é um empregado
Heraça de atributos atributos da superclasse são herdados pelas subclasses de relacioametos istâcias de relacioameto da superclasse são herdados pelas etidades das subclasses Observação qualquer etidade membro de uma subclasse deve ser também membro da superclasse qualquer etidade membro da superclasse pode ser opcioalmete icluída como membro de qualquer úmero de subclasses
Geeralização/Especialização Especialização resultado da separação de um tipoetidade de ível mais alto (superclasse), formado vários tipos-etidades de ível mais baixo (subclasse) passos: defie-se um cojuto de subclasses de um tipo-etidade associa-se atributos adicioais específicos às subclasses estabelece-se tipos-relacioametos adicioais específicos às subclasses, caso ecessário
Geeralização/Especialização Geeralização resultado da uião de dois ou mais tiposetidades de ível mais baixo (subclasse), produzido um tipo-etidade de ível mais alto (superclasse) é uma abstração de um cojuto de etidades passos: suprime-se as difereças etre os tiposetidade idetifica-se os atributos em comum geeraliza-os em uma superclasse
Represetação ome_empregado EMPREGADO CPF_empregado tipo_empregado geeralização d especialização SECRETÁRIO TÉCNICO ENGENHEIRO idioma grau_técico tipo_egeheiro
Represetação ome_empregado EMPREGADO CPF_empregado tipo_empregado geeralização bottom-up d especialização top-dow SECRETÁRIO TÉCNICO ENGENHEIRO idioma grau_técico tipo_egeheiro
Represetação ome_empregado EMPREGADO CPF_empregado atributos de secretário = atributos de (empregado + secretário) d tipo_empregado semâtica é-um SECRETÁRIO TÉCNICO ENGENHEIRO idioma grau_técico tipo_egeheiro
Restrições Especialização defiida pelo atributo as subclasses que participam da hierarquia são determiadas por uma codição baseada em algum atributo da superclasse exemplo: tipo_empregado Deomiações subclasses defiidas pelo predicado subclasses defiidas pela codição
Restrição de Disjução Subclasses mutuamete exclusivas uma etidade de uma superclasse deve ser membro, quado muito, de apeas uma úica subclasse represetação: Subclasses que se sobrepõem uma etidade de uma superclasse pode ser membro de mais do que uma subclasse represetação: d o d (disjoit) o (overlap)
Total Restrição de Completude cada etidade de uma superclasse deve ser membro de alguma subclasse a especialização represetação: superclasse Parcial uma etidade de uma superclasse pode ão pertecer a qualquer uma das subclasses represetação: superclasse
Observações Restrições de disjução e de completude são idepedetes possibilidades de hierarquias total disjuta parcial disjuta total com sobreposição parcial com sobreposição
Observações Regras de iserção e remoção se uma etidade de uma superclasse for removida, etão ela deve ser automaticamete removida de todas as subclasses a que pertece se uma etidade for iserida em uma superclasse, etão ela deve ser ecessariamete iserida em todas as subclasses defiidas pelo atributo, quado este for satisfeito
Observações Regras de iserção e remoção se uma etidade for iserida em uma superclasse com especialização total, etão ela deve ser ecessariamete iserida em pelo meos uma das subclasses da especialização...
EMPREGADO CPF_empregado ome_empregado d tipo_empregado cargo forma_pagameto GERENTE d SECRETÁRIO ENGENHEIRO idioma tipo_egeheiro TÉCNICO gerecia formação MENSALISTA HORISTA grau_técico salário valor_hora PROJETO ro_projeto ome_projeto
Geeralização/Especialização Uma subclasse pode possuir outras subclasses especificadas a partir dela Heraça simples cada subclasse participa como subclasse em apeas um relacioameto superclasse/subclasse Heraça múltipla cada subclasse pode participar como uma subclasse em mais do que um relacioameto superclasse/subclasse
EMPREGADO CPF_empregado ome_empregado d tipo_empregado cargo forma_pagameto GERENTE d SECRETÁRIO ENGENHEIRO formação idioma TÉCNICO tipo_egeheiro MENSALISTA HORISTA grau_técico salário valor_hora ENGENHEIRO_GERENTE adicioal
etidades de egeheiro_gerete herdam tipo_empregado os atributos e os relacioametos d de empregado, egeheiro, gerete e mesalista EMPREGADO cargo GERENTE CPF_empregado ome_empregado forma_pagameto d SECRETÁRIO ENGENHEIRO formação idioma TÉCNICO tipo_egeheiro MENSALISTA HORISTA grau_técico salário valor_hora subclasse compartilhada ENGENHEIRO_GERENTE adicioal
Heraça Múltipla Regra se um mesmo atributo ou relacioameto for herdado mais do que uma vez por diferetes relacioametos superclasse/subclasse etão o atributo ou o relacioameto deve ser icluído apeas uma vez a subclasse Restrições algus mecaismos de heraça ão permitem heraça múltipla ão permitem a especificação cojuta de heraça múltipla e de diferetes predicados
Agregação Tipos-etidades agregados são represetados como tipos-etidades comus Pode eglobar dois tipos-etidades e um tiporelacioameto Dados vistos em um ível mais baixo atributos dos tipos-relacioametos chaves primárias dos tipos-etidades
Represetação ALUNO CPF_pessoa CGC_uiv ome_pessoa data_igresso ome_uiv PESSOA igressa m UNIVERSIDADE o tipo-etidade aluo é composto dos tipos-etidade pessoa e uiversidade e do tipo-relacioameto igressa m orieta PROFESSOR a agregação aluo está relacioada ao tipo-etidade professor CPF_professor ome_professor
Represetação Simplificada CPF_pessoa ALUNO CGC_uiv ome_pessoa data_igresso ome_uiv PESSOA igressa m UNIVERSIDADE o tipo-etidade aluo é composto dos tipos-etidade pessoa e uiversidade e do tipo-relacioameto igressa m orieta PROFESSOR a agregação aluo está relacioada ao tipo-etidade professor CPF_professor ome_professor
Agregação CMR_médico hora data + CPF_paciete ome_médico ome_paciete MÉDICO atede m PACIENTE ATENDIMENTO Efocado a possibilidade do mesmo médico ateder o mesmo paciete em diferetes datas
Agregação CMR_médico hora data + CPF_paciete ome_médico ome_paciete MÉDICO atede m PACIENTE obs ATENDIMENTO Adicioado atributos também ao tipo-relacioameto
Agregação CMR_médico hora data + CPF_paciete ome_médico ome_paciete MÉDICO atede m PACIENTE obs ATENDIMENTO ro_atedimeto Adicioado uma chave primária à agregação
Categoria Represeta uma coleção de objetos que é a uião de objetos de diferetes tipos etidades Exemplo superclasses: pessoa, baco, compahia categoria: proprietário subclasse da uião de pessoa, baco e compahia
Represetação VEÍCULO possui m PROPRIETÁRIO chassi_veículo modelo_veículo data_compra U c c 2 c 3 PESSOA BANCO COMPANHIA CPF_pessoa ome_pessoa ome_baco edereço_baco ome_compahia edereço_compahia
Total Restrição de Completude cada etidade de cada superclasse deve ser membro da categoria represetação: Parcial uma etidade de uma superclasse pode ão pertecer à categoria represetação: U U categoria categoria
Predicado Categoria defiida pelo predicado idica que as etidades das superclasses que são membro da categoria são determiadas por codições específicas especificada apeas com a restrição de completude parcial exemplos: c : idade > 8 aos c 2 : fudos > R$.000.000,00 c 3 : ao_fudação > 997
Projeto Lógico de BD Classificar tipos-etidades e atributos tipos-etidade possuem iformações descritivas, atributos ão atributos devem ser matidos de forma atômica atributos devem ser relacioados às etidades que eles descrevem Idetificar chaves primárias
Projeto Lógico de BD Idetificar tipos-relacioametos e seus atributos determiar o grau dos tiposrelacioametos idetificar as restrições que se aplicam sobre cada tipo-relacioameto cardialidade participação Idetificar tipo-etidade forte e tipoetidade fraca
Projeto Lógico de BD Idetificar agregações cardialidade uicidade das tuplas Modelar hierarquias de geeralização idetificar atributos e relacioametos comus determiar as restrições de disjução e de completude
Projeto Lógico de BD Modelar categorias determiar restrições de completude determiar os predicados, quado ecessário Podemos otar que um projetista de BD ecessita de um bom cohecimeto do miimudo que está sedo modelado para que possa tomar essas decisões!