um esquema conceitual uma abstrao da realidade no a realidade, e sim uma simplificao abstrao um processo mental no qual seleciona-se alguns objetos e algumas de seus propriedades como importantes, excluindo outras Mecanismos de Abstrao conceitos de um modelo conceitual so baseados em mecanismos de abstrao os dois mais importantes: generalizao/especializao agregao/desagregao Generalizao define uma relao de subconjunto entre elementos de 2 ou mais classes todas as propriedades definidas para a classe generalizada so herdadas pelas classes especializadas todo elemento de um subconjunto especializado tambm elemento do seu respectivo conjunto generalizado relao inversa : especializao Generalizao Exemplo: PESSOA, ESTUDANTE, PROFESSOR ESTUDANTE is-a PESSOA tem no mnimo as mesmas propriedades de PESSOA (herda propriedades de PESSOA) adiciona novas propriedades toda instncia de ESTUDANTE tambm instncia de PESSOA (mas no vice-versa) Generalizao maria, cpf1, end1 joo, cpf2, end2, sal2, Informtica tereza, cpf3, end3, extenso, Curso SQL paulo, cpf4, end4, graduao, Bach. Informtica jos, cpf5, end5, sal5, Letras PESSOA = <nome, cpf, endereo> Generalizao maria, cpf1, end1 joo, cpf2, end2, sal2, Informtica tereza, cpf3, end3, extenso, Curso SQL paulo, cpf4, end4, graduao, Bach. Informtica jos, cpf5, end5, sal5, Letras PESSOA ALUNO is a PESSOA = <nvel, curso> Generalizao maria, cpf1, end1 joo, cpf2, end2, sal2, Informtica tereza, cpf3, end3, extenso, Curso SQL paulo, cpf4, end4, graduao, Bach. Informtica jos, cpf5, end5, sal5, Letras PESSOA PROFESSOR is a PESSOA = <sal, depart> Generalizao Generalizao no Modelo ER extenso somente Entidades podem ser generalizadas/especializadas Formalismo Grfico PESSOA ALUNO PROFESSOR ENTIDADE GENERALIZADA ENTIDADES ESPECIALIZADAS Generalizao no Modelo ER PESSOA ALUNO PROFESSOR CPF nome curso nvel sal depart AL. FORMADO ano 1 N ORIENT. Generalizao no Modelo ER PESSOA ALUNO PROFESSOR CPF nome curso nvel sal depart AL. FORMADO ano 1 N ORIENT. tem tb. atributos cpf e nome tb. identificado por cpf tb. participa dos mesmo relacionamentos que PESSOA participa Generalizao no Modelo ER PESSOA ALUNO PROFESSOR CPF nome curso nvel sal depart AL. FORMADO ano 1 N ORIENT. propriedades adicionais podem ser atributos e/ou relacionamentos Generalizao no Modelo ER PESSOA ALUNO PROFESSOR CPF nome curso nvel sal depart AL. FORMADO ano 1 N ORIENT. pode ser especializada em uma ou mais entidades Generalizao no ER: Restries de Integridade parcial (p), total (t) total: toda ocorrncia da entidade generalizada tem de ser ocorrncia de pelo menos uma entidade especializada parcial: uma ocorrncia da entidade generalizada no precisa ser ocorrncia de uma entidade especializada exclusivo (e), interseo (o) exclusivo: toda ocorrncia da entidade generalizada pode ser ocorrncia de no mximo uma entidade especializada interseo: uma ocorrncia da entidade generalizada pode ser ocorrncia de vrias entidades especializadas Generalizao no Modelo ER: Restries de Integridade PESSOA ALUNO PROFESSOR (t, e) toda pessoa um professor ou um aluno (t) um professor no pode ser aluno e vice-versa (e) Generalizao no Modelo ER: Restries de Integridade PESSOA ALUNO PROFESSOR (p, e) uma pessoa pode ser um professor ou um aluno (p) um professor no pode ser aluno e vice-versa (e) Generalizao no Modelo ER: Restries de Integridade PESSOA ALUNO PROFESSOR (p, o) uma pessoa pode ser um professor ou um aluno (p) um professor pode ser aluno e vice-versa (o) Generalizao no Modelo ER: Restries de Integridade PESSOA ALUNO PROFESSOR (e) um professor no pode ser aluno e vice-versa (e) Generalizao no Modelo ER: Restries de Integridade PESSOA ALUNO PROFESSOR se nada for especificado (p) (o) Generalizao : Tcnica quando usar? todas ocorrncias podem ser identificadas da mesma forma existem atributos/relacionamentos comuns a uma srie de ocorrncias existem ocorrncias que tm atributos ou relacionamentos adicionais consegue-se dizer que entidade especializada um tipo de entidade generalizada Generalizao : Tcnica quando no usar? entidades especializadas no tm um identificador comum especializar pessoa como pessoa fsica e pessoa-jurdica no se consegue dizer entidade especializada um tipo de entidade generalizada naturalmente Generalizao : Tcnica quando no usar? no adicionar clareza nem riqueza semntica diferena um nico atributo? considere atributo opcional? diferena um relacionamento? considere colocar cardinalidade mnima 0 deseja-se diferenciar duas ou mais colees de ocorrncias sem propriedades adicionais? considere colocar um atributo para diferenciar, ou um relacionamento Agregao define uma nova classe a partir de outras classes que definem componentes relao inversa : desagregao Exemplo: BICICLETA, RODA, DIRECAO, ARO, VENTIL DIRECAO parte-de BICICLETA RODA parte-de BICICLETA ARO parte-de RODA VENTIL parte-de RODA BICICLETA composto-de DIRECAO BICICLETA composto-de RODA Agregao no Modelo ER Atributo Composto agrega atributos (elementares ou compostos) Entidade agrega atributos Agregao de Entidades (extenso) permite que um relacionamento entre entidades seja visto como uma entidade abstrata a agregao de entidades chamada entidade associativa ou simplesmente de agregao esta conveno ser usada neste curso Agregao vs. Relacionamento DISCIPLINA MATRICULA ALUNO TURMA n referente tem-inscritos n 1 lotado-em um aluno se matricula em uma disciplina inscrevendo-se em uma de suas turmas um aluno pode se matricular em vrias disciplinas distintas uma turma de disciplina tem vrios alunos existem vrias turmas para uma mesma disciplina Agregao vs. Relacionamento t1 . t2 . d1 d2 d3 d4 MATRCULA ALUNO DISCIPLINA a1 .
a2 .
a3 . TURMA Agregao vs. Relacionamento Como fixar cardinalidades em Relacionamentos de grau N maior que 2? isolar um dos participantes estabelecer uma associao entre o conjunto dos demais (n-1) participantes e o participante isolado Agregao vs. Relacionamento DISCIPLINA MATRICULA ALUNO TURMA 0-1 lotado-em um aluno se matricula em uma disciplina inscrevendo-se em uma (nica) de suas turmas 1 par de aluno/disciplina est lotado em no mximo uma turma existem disciplinas e existem alunos mesmo que no haja matrculas envolvendo eles Agregao vs. Relacionamento t1 . t2 . d1 d2 d3 d4 MATRCULA ALUNO DISCIPLINA a1 .
a2 .
a3 . TURMA Agregao vs. Relacionamento t1 . t2 . d1 d2 d3 d4 MATRCULA ALUNO DISCIPLINA a1 .
a2 .
a3 . TURMA Agregao vs. Relacionamento t1 . t2 . d1 d2 d3 d4 MATRCULA ALUNO DISCIPLINA a1 .
a2 .
a3 . TURMA Agregao vs. Relacionamento DISCIPLINA MATRICULA ALUNO TURMA 0-1 lotado-em uma turma de disciplina tem vrios alunos 1 par de turma/disciplina pode ter vrios alunos inscritos existem disciplinas e existem turmas mesmo que no hajam matrculas envolvendo elas tem-inscritos 0-N Agregao vs. Relacionamento DISCIPLINA MATRICULA ALUNO TURMA 0-1 lotado-em um aluno pode se matricular em vrias disciplinas distintas 1 par de aluno/turma pode referir-se a vrias disciplinas existem turmas e existem alunos mesmo que no existam matrculas envolvendo eles tem-inscritos 0-N 0-N referente Agregao vs. Relacionamento DISCIPLINA ALUNO TURMA 0-1 lotado-em existem vrias turmas para uma mesma disciplina NO POSSVEL EXPRESSAR COM RELACIONAMENTO TERNRIO !!! associao s existe se houver pelo menos um aluno matriculado relao de matrcula, e no de disponibilidade de turmas tem-inscritos 0-N 0-N referente MATRICULA Agregao no Modelo ER permite que um relacionamento seja visto como uma entidade permite que a agregao seja usada em outros relacionamentos Agregao no Modelo ER DISCIPLINA ALUNO TURMA 1-N oferece tem-inscrito 0-N 1-N -de DISPONIB. MATRICULA inscrito-em 0-N existem vrias turmas para uma mesma disciplina Agregao : Tcnica VOO PASSAGEIRO ASSENTO 1-N oferece reservado-por 0-1 1-N -de DISPONIB. RESERVA tem-reserva 1-N usar quando existem entidades participantes de um relacionamento que so opcionais Agregao : Tcnica HOMEM FILHO MULHER 0-1 esposo tem 0-N 0-1 esposa CASAMENTO. DESCENDENCIA 1-1 -de usar quando existem entidades participantes de um relacionamento que so repetitivas Tcnica de Modelagem : Erros Mais Comuns identificao de entidades mal definida atributos de mais ou de menos proliferao de cdigos redundncia uma informao, se registrada em dois lugares, so duas (Kipper, 1993) uso de chaves estrangeiras para definir relacionamentos para complementar relacionamentos Erros Mais Comuns EMPREGADO LOTAO DEPARTAMENTO lotado-em tem 1-N 1-1 CIC nome cod-dep Cod-dep nome-dep no precisa : o relacionamento serve para isso no tem o efeito desejado : o valor de um atributo, mesmo que identificador, no a mesma coisa que uma ocorrncia Erros Mais Comuns redundncia: entidade representando dois conceitos olhar dependncias entre dados anomalias de atualizao perde-se informao? repete-se informao? inapto a representar informao? normalizao relacionamentos desnecessrios Erros Mais Comuns colocar aqui um exemplo de relacionamentos redundante Erros Mais Comuns relacionamento de grau maior que 2 parcial ou repetitivo usar agregao usar entidade mau uso da generalizao atributo de relacionamento colocado em entidade TOMAR DECISES DE MODELAGEM CONSIDERANDO PROBLEMAS DE IMPLEMENTAO