ACCESS Base de Dados para a Gestão de Informação de Natureza Pedagógica @ Rafael Machado – 2004 e-mail: [email protected] ACCESS – Derivação de Tabelas Conectividade de uma Relação Uma entidade pode participar numa relação de 2 formas: Participação Obrigatória: Não pode existir nenhuma ocorrência dessa entidade que não esteja associada a alguma ocorrência da outra entidade que participa na relação. Participação não Obrigatória: Podem existir ocorrências dessa entidade que não estejam relacionadas a alguma ocorrência da outra entidade que participa na relação. Representação: ACCESS – Derivação de Tabelas Participações Hipótese: Todos os empregados participam no Fundo de Pensões e só é permitida a participação de empregados. ACCESS – Derivação de Tabelas Participações Lê-se: Um empregado só pode ser uma vez associado Um associado só pode ser uma vez um empregado Um empregado é obrigatoriamente um associado Um associado é obrigatoriamente um empregado ACCESS – Derivação de Tabelas Participações Hipótese: Todos os empregados são obrigatoriamente associados, mas o Fundo de Pensões é aberto à participação de pessoas que não são empregados. Lê-se: Um empregado só pode ser uma vez associado Um associado só pode ser uma vez um empregado Um empregado é obrigatoriamente um associado Nem todos os associados são empregados ACCESS – Derivação de Tabelas Participações Hipótese: A participação no Fundo é livre para os empregados e o fundo é aberto à participação de pessoas que não são empregados. Lê-se: Um empregado só pode ser uma vez associado Um associado só pode ser uma vez um empregado Nem todos os empregados são associados Nem todos os associados são empregados ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Relação 1:1 Hipótese: Ambas as entidades têm participação obrigatória. Entidades Iniciais Empregados (IdEmpregado, Nome, …) Associados (IdAssociado, Nome, Quota, …) Solução: Basta um única tabela Empregados (IdEmpregado, Nome, …, IdAssociado, Quota) ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Resultado ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Relação 1:1 Hipótese: Apenas uma entidade tem participação obrigatória. Entidades Iniciais Empregados (IdEmpregado, Nome, …) Associados (IdAssociado, Nome, Quota, …) Solução: São necessárias 2 tabelas. Coloca-se a chave primária da entidade com participação não obrigatória na outra tabela, passando a designar-se por chave externa. Empregados (IdEmpregado, Nome, …, IdAssociado) Associados (IdAssociado, Nome, Quota, …) ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Resultado ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Relação 1:1 Hipótese: nenhuma das entidades tem participação obrigatória. Entidades Iniciais Empregados (IdEmpregado, Nome, …) Associados (IdAssociado, Nome, Quota, …) Solução: São necessárias 3 tabelas. Coloca-se a chave primária de cada uma das entidades na terceira tabela. A chave primária poderá ser qualquer uma das chaves primárias. Empregados (IdEmpregado, Nome, …) Associados (IdAssociado, Nome, Quota, …) Participacoes (IdEmpregado, IdAssociado) ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Resultado ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Relação 1:N Hipótese: A entidade do lado N tem participação obrigatória. Entidades Iniciais Empregados (IdEmpregado, Nome, …) Departamentos (IdDepartamento, Designacao, …) Solução: Duas tabelas. Coloca-se a chave primária da entidade com grau 1 na tabela com grau N, passando a designar-se por chave externa. Empregados (IdEmpregado, Nome, …, IdDepartamento) Departamentos (IdDepartamento, Designacao, …) ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Resultado ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Relação 1:N Hipótese: A entidade do lado N não tem participação obrigatória. Entidades Iniciais Empregados (IdEmpregado, Nome, …) Departamentos (IdDepartamento, Designacao, …) Solução: Três tabelas. Coloca-se a chave primária de cada uma das entidades na terceira tabela. A chave primária será a concatenação das chaves primárias de cada uma das tabelas, obtendo-se uma chave composta. Empregados (IdEmpregado, Nome, …) Departamentos (IdDepartamento, Designacao, …) Empregado-Departamento (IdEmpregado, IdDepartamento) ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Relação N:N ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Relação N:N Entidades Iniciais Medicos (IdMedico, Nome, …) Doentes (IdDoente, Nome, …) Solução: São sempre necessárias três tabelas. Coloca-se a chave primária de cada uma das entidades na terceira tabela. A chave primária será a concatenação das chaves primárias de cada uma das tabelas, obtendo-se uma chave composta. Medicos (IdMedico, Nome, …) Doentes (IdDoente, Nome, …) Consultas (IdMedico, IdDoente) Atributo da relação Se considerarmos o atributo Data da relação, teremos a seguinte chave primária. Consultas (IdMedico, IdDoente, Data) ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Resultado ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Relação Ternária Entidades Iniciais Artistas (IdArtista, Nome-Artista, …) Filmes (IdFilme, Nome-Filme, …) Realizadores (IdRealizador, NomeRealizador, …) Solução: São sempre necessárias quatro tabelas. Coloca-se a chave primária de cada uma das entidades na quarta tabela. A chave primária será a concatenação das chaves primárias de cada uma das tabelas, obtendo-se uma chave composta. Artistas (IdArtista, Nome-Artista, …) Filmes (IdFilme, Nome-Filme, …) Realizadores (IdRealizador, Nome-Realizador, …) Artistas-Filmes-Realizadores (IdArtista, IdFilme, IdRealizador) ACCESS – Derivação de Tabelas Derivação de Tabelas a partir do modelo E-R Resultado