Abordagem proposta por Peter P. Chen (dcada de 70) para o processo de modelao de dados com ampla aceitao; Trabalho publicado considerado um referencial definitivo; A proposta inicial mantm-se actualizada e tem evoludo pela agregao de novos elementos; Abordagem composta por tcnica de diagramao e um conjunto de conceitos.
Conceitos da abordagem E-R Conceito Descrio Instncia Individualizao de objecto ou conceito;
Entidade
Conjunto formado pela agregao de objectos ou conceitos semelhantes; Abstraco de objectos ou conceitos do mundo real acerca dos quais queremos guardar informao; Atributo
Caractersticas prprias das instncias dos conjuntos; Relacionamento
Envolvimento ou associao entre as instncias dos conjuntos.
2.2-TM Dados Modelao conceptual de dados 2 Relacionamento As entidades no esto isoladas, sendo necessrio identificar relacionamentos para representar correctamente o ambiente observado.
Principais elementos de caracterizao de um relacionamento: Semntica do relacionamento; Grau ou cardinalidade do relacionamento; Condies de participao das entidades no relacionamento; Nmero de entidades que participam no relacionamento (binrio ou n-rio);
Semntica do relacionamento Especificada atravs de uma denominao (construo verbal) representativa do conceito observado, que deve ser lida da esquerda p/ direita e de cima p/ baixo.
Grau ou cardinalidade do relacionamento O nmero de ocorrncias de uma entidade, que podem estar associadas a uma ocorrncia de outra entidade num relacionamento, permitem distinguir 3 tipos de relacionamentos:
Pessoa Cdula_nascimento Emitida 1 1 Grau 1:1 Constitudo 1 N Grau 1:N Projecto Trabalha Grau N:M Funcionrio Funcionrio Departamento N M
2.2-TM Dados Modelao conceptual de dados 3 Condies de participao das entidades no relacionamento Conceito de participao obrigatria - Uma entidade de participao obrigatria num relacionamento, se todas as instncias dessa entidade esto relacionadas com pelo menos uma instncia da outra entidade.
Nalguns casos a participao no relacionamento ser obrigatria e para outros ser opcional depende das particularidades do ambiente observado e das regras estabelecidas; Este conceito contribui para o enriquecimento do MD, evitando ambiguidade.
Exemplo 1 Todas as disciplinas tm de ser asseguradas, sendo leccionadas por um ou mais docentes; Os docentes podem estar dispensados de servio docente ou podem leccionar vrias disciplinas.
Docente Disciplina .... #Disc Designao Nome NDoc .... Ensina N M
Exemplo 2 Algumas disciplinas no so leccionadas pelo facto de terem sido retiradas do plano de estudos; Todos os docentes leccionam, pelo menos uma disciplina.
Docente Disciplina .... #Disc Designao Nome NDoc .... Ensina N M
2.2-TM Dados Modelao conceptual de dados 4 Nmero de entidades que participam no relacionamento Um relacionamento pode envolver mais do que 2 entidades; As associaes binrias entre as entidades podem no mapear de forma correcta a informao desejada.
Exemplo de relacionamento ternrio:
Os funcionrios de uma empresa de prestao de servios podem ser alocados a diferentes projectos e exercer funes distintas.
Funcionrio Projecto Funo P. Costa P1 Analista de Sistemas P. Costa P2 Consultor X. Lima P2 Analista de Sistemas X. Lima P3 Programador
Relacionamentos binrios mltiplos
Desempenha N M Funo Projecto Utilizada N M Funcionrio N M Envolve
Func. Proj. Proj. Funo Func. Funo P. Costa P1 P1 Analista de Sist. P.Costa Analista de Sist. P. Costa P2 P2 Analista de Sist. P.Costa Consultor X. Lima P2 P2 Consultor X. Lima Analista de Sist. X. Lima P3 P3 Programador X. Lima Programador
2.2-TM Dados Modelao conceptual de dados 5 Quem o Analista de Sistemas do projecto P2?
A estrutura necessria para a derivao de um relacionamento ternrio (ou n- rio) uma agregao; A agregao requerida para expressar a funo de um funcionrio em determinado projecto.
necessrio ter as 3 entidades associadas simultaneamente, atravs de um relacionamento ternrio.
Relacionamento Ternrio
Funo Funcionrio Alocao N Projecto P M
Agregao resultante
Funcionrio Projecto Funo P. Costa P1 Analista de Sistemas P. Costa P2 Consultor X. Lima P2 Analista de Sistemas X. Lima P3 Programador
2.2-TM Dados Modelao conceptual de dados 6 Relacionamentos Recursivos Caso especial de um relacionamento que ocorre entre instncias de um mesmo tipo de objecto. Empregado BI Nome Salrio Supervisa 1 N Morada
Relacionamentos com atributos Atributos a preservar que no pertencem aos objectos observados, mas sim associao desse objectos; Estes atributos denotam a existncia de informao que s pode ser estabelecida ou considerada quando na presena de um relacionamento entre entidades; Nestas circunstancias os atributos devem ser representados no relacionamento.
Aluno BI Nome Data_nascimento Frequenta M N Morada Curso Nome_curso Carga_horria Departamento Mdia Data_inscrio
2.2-TM Dados Modelao conceptual de dados 7 Consideraes sobre entidades Fortes e Fracas A classificao de entidades como fortes ou fracas depende da ocorrncia de uma dependncia de existncia ou de identificao entre entidades.
Dependncia de Existncia - Denota o estabelecimento de um vnculo de existncia entre entidades.
Dvida 1 N Prestao de pagamento Refere-se paga
Uma prestao de pagamento s possui existncia quando existe uma dvida.
Dependncia de identificao - Denota que uma entidade no possui os atributos requeridos para identificar (distinguir) as suas instncias.
Contribuinte 1 N Declarao de imposto entregue por Entrega
Uma declarao de imposto (com atributos ano_exerccio, ano_base, ...) uma entidade fraca, que depende da entidade contribuinte (entidade identificadora), pois no possui atributos identificadores prprios; Considerando que a entidade possui um atributo N sequencial da declarao, passaria a ser considerada entidade forte.
Critrio com importncia reconhecida sob o ponto de vista do projecto lgico, mas dispensvel e subjectivo ao nvel do projecto conceptual; No entanto, permite representar entidades que no se pretende dotar com identificao independente.
2.2-TM Dados Modelao conceptual de dados 8 Tipos de atributos Funcionrio Departamento NPrprio Apelido Sexo Nmero Localizaes Tempo_Actividade Nome BI Data_nicio_activ
Atributos Simples (Exemplo: BI)
Atributos Compostos (Exemplo: Nome) - Um atributo composto pode ser considerado simples, dependendo da situao a tratar; - Quando os atributos bsicos so tratados separadamente, um atributo composto entra na entidade com todos os seus atributos bsicos (Funcionrio: BI, Nprprio, Apelido, Sexo).
Atributos Derivados (Exemplo: Tempo_actividade) - Estes atributos devem ser identificados na anlise e podem ser representados no modelo conceptual de dados, mas no devem fazer parte da entidade pois podem ser calculados.
Atributos Multivalor (Exemplo: Localizaes) - Estes atributos possuem mltiplos valores e so representados no DER com trao duplo.
2.2-TM Dados Modelao conceptual de dados 9 Que atributos considerar na descrio de uma entidade ?
Entidades CO e DONO_DO CO vistas pelo veterinrio:
CO nome_do_co raa sexo nome_do_dono data_nasc peso
DONO_DO_CO nome_do_dono endereo saldo_da_conta
Entidades CO e DONO_DO CO vistas pela administrao municipal:
CO nome_do_co raa nome_do_dono data_licen. peso
DONO_DO_CO nome_do_dono endereo
O atributo endereo deveria ser subdividido ? possvel determinar o nmero de ces por freguesia ?
endereo um atributo composto que neste caso deveria ser subdividido.
2.2-TM Dados Modelao conceptual de dados 10 Extenses ao modelo Entidade-Relacionamento O modelo E-R tem evoludo pela agregao de novos elementos que tornam a tcnica mais rica em semntica e alargam o mbito da sua aplicao.
Justificao da necessidade de extenso do modelo E-R
O principal objectivo do processo de abstraco e identificao de entidades reconhecer agrupamentos distintos entre conjuntos de objectos relevantes.
No entanto, existem dificuldades neste processo.
Principais dificuldades na definio de entidades:
Nem sempre a separao de instncias desses objectos se dar por conjuntos estritamente distintos.
Como proceder no caso da identificao de subconjuntos distintos dentro de conjuntos nicos ?
Existem relacionamentos que s se aplicam a um subconjunto das instncias de uma entidade e no a todas.
Como proceder para estabelecer relacionamentos para subconjuntos de instncias que no possuem sentido para as outras ?
2.2-TM Dados Modelao conceptual de dados 11 Exemplo: Empresa de montagem de peas de automvel com dois tipos de empregados: supervisores (assalariados) e montadores (pagos hora).
Corresponde ao que designado por representao de papis.
Supervisor Supervisa 1 N Montador
Lista de atributos: Ncontrib Nome Telef_casa Morada Telef_trab Pagam_hora Salrio #Taref rea N de contribuinte do empregado Nome do empregado N de Telefone da casa do empregado Morada do empregado N de telefone do local de trabalho do supervisor Pagamento horrio do montador Salrio do supervisor Cdigo de tarefa do montador rea de competncia do supervisor
Outros relacionamentos a estabelecer:
Falta Refere-se N 1 Empregado
Montador Trabalha N 1 Tipo_pea
2.2-TM Dados Modelao conceptual de dados 12 Questes:
Utilizao de duas entidades Supervisor Supervisa 1 N Montador
- Para efectuar uma pesquisa a um empregado necessrio saber, previamente, se este montador ou supervisor (D); - O relacionamento com o subconjunto de instncias montador pode ser estabelecido adequadamente (V); - O problema do relacionamento com o conjunto global de instncias no resolvido (D).
Utilizao de uma s entidade agregadora
Empregado
- A simples agregao destas entidades obrigaria insero de valores nulos em alguns atributos, pois existem atributos que no se aplicam a todas as instncias (D); - O relacionamento com o subconjunto montador no pode ser estabelecido correctamente (D); - O relacionamento com o conjunto global pode ser estabelecido adequadamente (V).
2.2-TM Dados Modelao conceptual de dados 13
Utilizao de trs entidades
Empregado Supervisor Montador Supervisa 1 N Pode ser Pode ser 1 1 1 1
- Resolve problemas do relacionamentos com os subconjuntos e conjunto global (V V); - Contudo, uma soluo limitada na representao de factos observados (D).
Limitaes na representao de papis
Como representar as seguintes situaes alternativas: Todos os empregados so obrigatoriamente supervisores ou montadores; Um empregado pode ser simultaneamente supervisor e montador.
O modelo E-R sem extenses no reflecte estes factos.
Preocupaes subjacentes: Fidelidade do modelo conceptual de dados; Adequao de futuras estruturas de dados a serem implementadas.
2.2-TM Dados Modelao conceptual de dados 14 Hierarquia de Especializao/Generalizao, Superclasses e Subclasses As hierarquias de Generalizao/Especializao (E/G) procuram representar os seguintes factos:
Dado um conjunto de instncias pertencentes a subconjuntos de um conjunto maior, cada um deles deve ser capaz de ser visto como um elemento tanto pertencente aos subconjuntos distintos como ao conjunto completo.
As caractersticas (atributos e relacionamentos) que sejam comuns a todas as instncias devem ser alocadas numa entidade generalizadora e so herdadas pelos subconjuntos; As caractersticas que sejam especficas de um subconjunto devem ser alocadas a este.
Representao de hierarquias de Especializao/Generalizao
Superclasse entidade generalizadora definida Subclasses subconjuntos especficos de uma superclasse
2.2-TM Dados Modelao conceptual de dados 15 Especializao Representao dos subconjuntos; Processo de definio de Subclasses com caractersticas distintas. Exemplo: Parte da entidade Empregado e define as subclasses Montador e Supervisor, bem como a superclasse Empregado.
Generalizao Representao do conjunto global; Processo de anlise inverso da especializao, que define uma Superclasse com caractersticas comuns. Exemplo: Parte das entidades Supervisor e Montador e define a superclasse Empregado e as subclasses Montador e Supervisor.
Soluo resultante Trabalha N 1 Tipo_pea Especializao Empregado Falta Possui N 1 Supervisor Montador Supervisa 1 N
Consideraes: H um relacionamento entre uma superclasse e as suas subclasses; A especializao deve ser considerada como uma entidade que se subdivide em duas (ou mais) outras e no como vrias entidades diferentes; Os relacionamentos podem ser estabelecidos directamente e normalmente com a superclasse e subclasses.
2.2-TM Dados Modelao conceptual de dados 16 Tipos de Especializaes/Generalizaes Existem dois tipos de especializaes/generalizaes:
E/G mutuamente exclusiva (disjuno) Uma instncia do conjunto global que pertence a uma subclasse no poder pertencer simultaneamente a outra.
Exemplo: Cada empregado supervisor ou montador;
Disjuno Empregado Supervisor Montador d
E/G no mutuamente exclusiva (sobreposio) Uma instncia do conjunto global pode pertencer a um ou mais subconjuntos simultaneamente.
Exemplo: Um empregado pode ser simultaneamente supervisor e montador.
Sobreposio Empregado Supervisor Montador o
2.2-TM Dados Modelao conceptual de dados 17 Nveis de especializao As hierarquias podem possuir vrios nveis de agrupamento, do mesmo ou de diferentes tipos de E/G.
Aspectos a ter em conta neste exemplo: Uma pessoa pode ser simultaneamente funcionrio e aluno (Sobreposio); Um funcionrio ou docente ou no docente (Disjuno).
Disjunta Pessoa Funcionrio Aluno Docente No docente O d BI Data_admisso Sobreposta Nome Sexo N_funcionrio Morada Data_ingresso N_aluno Departamento Gabinete Funo Horrio
2.2-TM Dados Modelao conceptual de dados 18 Abrangncia das subclasses As subclasses devem subdividir todas as instncias do conjunto global.
Como proceder se s necessrio explicitar caractersticas de alguns tipos de subconjuntos ?
Representar somente esses tipos de subclasses Induz uma interpretao errada de que s existem esses tipos de subclasses;
Representao de todas as subclasses Gera uma representao correcta, mas que pode ser extensa e no apropriada se surgirem novas subclasses (nomeadamente, outras que tambm no interessa detalhar);
Soluo Uso de artifcio para manter a semntica do modelo correcta e que evita individualizaes de subconjuntos que no interessa detalhar. Criao de especializao representativa de todas as especialidades que no interessa representar, que recebe o nome de Outras.
Exemplo: Supondo que existem outros tipos de empregados, para alm dos montadores e supervisores.
Empregado Supervisor Montador Outros_empregados
2.2-TM Dados Modelao conceptual de dados 19 Malha de especializao/generalizao, subclasse partilhada e herana mltipla Hierarquia de E/G: cada subclasse participa num s relacionamento superclasse/subclasse; cada subclasse possui uma s superclasse.
Malha de E/G: Uma subclasse pode participar em mais do que um relacionamento superclasse/subclasse => Subclasse partilhada - subclasse que possui vrias superclasses; Herana mltipla - a subclasse partilhada herda todas as caractersticas das suas superclasses.
Exemplo: Um aluno pode ser assistente Subclasse partilhada Pessoa Funcionrio Aluno Docente No docente O d BI Data_admisso Nome Sexo N_funcionrio Morada Data_ingresso N_aluno Departamento Gabinete Funo Horrio Aluno_assistente Aluno_n_assistente d percentagem_horas ...
2.2-TM Dados Modelao conceptual de dados 20 Categorias e herana selectiva Nas hierarquias e malhas de E/G uma superclasse e as suas subclasses representam a mesma entidade do mundo real.
As categorias tm origem na necessidade de modelar relacionamentos superclasse/subclasse com vrias subclasses que representam entidades distintas. A subclasse denominada categoria.
Caractersticas que distinguem as categorias: Malha de E/G Categorias Existe sempre uma superclasse nica (no topo); Existem vrias superclasses que representam entidades distintas;
Um membro de uma subclasse partilhada tem de existir em todas as superclasses; Um membro da categoria tem de existir, pelo menos, numa das superclasses (usualmente uma), mas no tem de ser membro de todas;
Uma subclasses partilhada um subconjunto da interseco das suas superclasses; Uma categoria um subconjunto da unio das suas superclasses;
A herana mltipla: Uma subclasse partilhada herda todas as caractersticas das suas superclasses. A herana selectiva: A herana de caractersticas numa categoria no total, dependendo da superclasse a que a instncia pertence.
2.2-TM Dados Modelao conceptual de dados 21 Exemplo: Modelo de dados para o registo de veculos (carros e camies). O proprietrio de um veculo pode ser uma pessoa, uma empresa ou um banco.
necessrio criar: uma entidade que inclua objectos de trs tipos para registar informao relativa a proprietrios de veculos; uma entidade que inclua objectos de dois tipos para manter os veculos registados.
Pessoa Empresa Carro Banco U Ano Id_veculo BI Nome NIF Morada Capacidade Dimenses ... Proprietrio Camio U Possui N M Data_compra Unio N_banco Nome_b Endereo_b Nome_e NIF Veculo_registado Distrito N_registo ... Id_veculo N_pessoa N_empresa Endereo_a