Conceitos prévios sobre o modelo Entidade­Associação Alargado O modelo Entidade‐Associação Alargado é constituído por três tipos de estruturas, nomeadamente: •
Entidades •
Atributos •
Associações entre entidades Considera‐se entidade qualquer objecto ou conceito com interesse para a organização, que pode ser identificável de forma inequívoca e a respeito da qual é guardada informação (por exemplo: produto, fornecedor, cliente, contrato, factura, etc...). As ENTIDADES são objectos caracterizados através de vários descritores, contrariamente aos ATRIBUTOS. Se existem vários descritores para caracterizar um objecto, então ele é uma entidade. Caso contrário, estamos perante um atributo. Cada entidade dá normalmente origem a uma tabela com: •
Atributos identificadores da entidade (chave do esquema de relação) •
Restantes atributos da entidade (descritores do esquema de relação) •
Identificadores de outras entidades que eventualmente lhe estejam associadas (chaves estrangeiras) A criação do modelo Entidade‐Associação Alargado engloba três passos: •
Identificação das entidades •
Identificação dos atributos (distinguindo os que pertencem à chave e os que são apenas descritores) •
Identificação das associações entre entidades Esquema Relacional Página 1 Transformação do modelo EAA num Esquema Relacional Sejam: Ci ‐> chave da entidade i Cpi ‐> chave da entidade‐pai i Cfi ‐> chave da entidade‐filho i dij ‐> descritor j da entidade i Tipo de Associação e Obrigatoriedades Exemplo: Primogénito tem Pai Qualquer das entidades só existe se existir a outra Exemplo: Bandeira representa País Esquemas da Relação C1, d11, … , d1n, C2, d21, … , d2k Chaves candidatas: C1, C2 C1, d11, … , d1n C2, d21, … , d2k, C1 Entidade 1 : C1 Entidade 2 : C2 Apenas uma entidade é obrigatória (neste caso, um país só existe se tiver bandeira mas uma bandeira pode não ser de nenhum país). Exemplo: Pessoa Singular tem Cartão de Contribuinte C1, d11, … , d1n C2, d21, … , d2k C1, C2 Nenhuma das entidades é obrigatória Exemplo: País emite passaportes C1, d11, … , d1n C2, d21, … , d2k, C1 Entidade “do lado N” obrigatória (neste caso, um passaporte só existe se for emitido por um país mas um país não tem de emitir passaportes) Exemplo: Família detém casas C1, d11, … , d1n Esquema Relacional Chaves Primárias Entidade 1 : C1 Entidade 2 : C2 Chaves candidatas: C1, C2 Entidade 1 : C1 Entidade 2 : C2 Entidade 1 : C1 Página 2 Entidade “do lado N” não obrigatória Exemplo: Adolescente frequenta Praia Exemplo: Fornecedores, Produtos e Facturas C2, d21, … , d2k C2, C1 Entidade 2 : C2 Tabela de relação: C2 C1, d11, … , d1n C2, d21, … , d2k C1, C2
Entidade 1 : C1 Entidade 2 : C2 Tabela de relação: C1, C2 C1, d11, … , d1n C2, d21, … , d2k C3, d31, … , d3h C1, C2, C3 Entidade 1 : C1 Entidade 2 : C2 Entidade 3 : C3 Tabela de relação: C1, C2, C3 C1, d11, … , d1n C2, d21, … , d2k C3, d31, … , d3h C2, C3, C1 Entidade 1 : C1 Entidade 2 : C2 Entidade 3 : C3 Tabela de relação: C2, C3 Exemplo: Universidades, Licenciaturas, Docentes em Regime de Exclusividade à Universidade Esquema Relacional Página 3 Exemplo: Cidadão é casado com Cidadão Nenhum dos lados é obrigatório Exemplo: Mulher é mãe de Mulher Um dos lados é obrigatório (neste caso, uma mãe só existe se for mulher, mas nem toda a mulher é mãe) Exemplo: Os dois lados são obrigatórios Exemplo: Empregado é chefe de Empregado Cp1, dp1, … , dpn CP1, Cf1 Exemplo: Cidadão (BI, nome, ....) Casamento (BI marido, BI mulher) Cp1, dp1, … , dpn, Cf1 Exemplo: Mulher (BI mulher, ...., BI mãe) Entidade : Cp1 Tabela de relação: Cp1 ou Cf1 são chaves candidatas Tabela de relação: Cp1 Cp1, dp1, … , dpn, Cf1, df1, … , dfn Chaves candidatas : Cp1 ou Cf1 Cf1, df1, … , dfn, Cp1 Exemplo: Empregado (n_emp, ...., n_emp_chefe) Tabela de relação: Cf1 O “lado N” é obrigatório (neste caso, um chefe é empregado mas nem todos os empregados são chefes) Exemplo: Cf1, df1, … , dfn Cf1, Cp1 Entidade: Cf1 Tabela de relação: Cf1 Esquema Relacional Página 4 O “lado N” não é obrigatório Exemplo: O “lado N” não é obrigatório Esquema Relacional Cf1, df1, … , dfn Cf1, Cp1 Exemplo: Peça (cod_peça, ....) Estrutura (cod_peça_pai, cod_peça_filho) Entidade: Cf1 Tabela de relação: Cf1, Cp1 Página 5 Generalizações Uma entidade E é generalização das entidades E1, ... , En se cada ocorrência de E é também ocorrência de uma e uma só da entidades E1, ... , En. A generalização é sempre exclusiva, ou seja, os conjuntos das ocorrências das subentidades são sempre disjuntos. Exemplo: Tipo de Associação Esquemas da Relação Ca, g1, … , gn, X Ca, eb1, … , ebk Ca, ec1, … , ech Sendo: gj: atributo genérico j eij : atributo específico j da entidade i Ca: chave geral X: atributo de agulhagem Esquema Relacional Chaves Primárias Todas as entidades: Ca Página 6 Abstracções Uma entidade E2 é uma abstracção de uma entidade E1 se cada ocorrência de E1 é necessariamente uma ocorrência de E2. Na abstracção: Exemplo: •
Os conjuntos das ocorrências das entidades podem não ser disjuntos •
Poderão existir ocorrências da entidade Abstracta sem correspondência em qualquer das Abstracções Tipo de Associação Esquemas da Relação Entidade A: Ca Entidade B: Cb Entidade C: Cc Esquema Relacional Ca, g1, … , gn Cb, Ca, eb1, … , ebk Cc, Ca, ec1, … , ech Sendo: gj: atributo geral j eij : atributo específico j da entidade i Ca: chave geral Ci: chave específica da entidade i Chaves Primárias Página 7 Exercício A Faculdade de Medicina da Universidade de Lisboa irá desenvolver um sistema de informação para gestão dos seus cursos (licenciaturas, mestrados, doutoramentos, etc.). O Sistema de Gestão de Cursos (SGC) deverá permitir o registo de cada um dos cursos da Faculdade, as cadeiras que constituem cada um dos cursos e os alunos matriculados. Os pressupostos para o sistema SGC são: •
Cada cadeira é leccionada apenas num curso. •
Os cursos têm cadeiras obrigatórias e opcionais. •
Ao efectuarem a matrícula num curso, os alunos ficam automaticamente inscritos nas cadeiras obrigatórias. No entanto, terão de proceder à inscrição nas cadeiras opcionais. O SGC deverá ser capaz de responder às seguintes questões: •
Quais os cursos da Faculdade e as respectivas datas de “entrada em funcionamento”? •
Quais as cadeiras de cada curso , o número de créditos de cada uma e o ano lectivo em que começou a ser leccionada? •
Em que cadeiras está inscrito cada aluno? •
Para cada aluno, quais as datas de matrícula e conclusão do curso, bem como a nota final do curso? •
Para cada aluno , qual a data de conclusão de cada cadeira e a respectiva nota final? Quais as entidades do SGC? Quais os atributos de cada entidade? Qual o modelo relacional para este sistema? Esquema Relacional Página 8 
Download

Transformação do modelo Entidade