AS EMPRESAS ESTÃO "DESESPERADAS" POR ESTE TIPO DE PROFISSIONAL... - VOCÊ É UM DELES?
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI - O Conhecimento que Vira Dinheiro - CLIQUE AQUI
| « Anterior | Δ Página principal | ¤ Índice | Próxima » |
| Modelagem de dados com MS Access Autor: Robert Friedrick Martim |
|||
|---|---|---|---|
| Lição 005 - Relacionamento de dados | |||
Até o momento vimos como criar nossas tabelas e campos. No tópico anterior também olhamos rapidamente um relacionamento e como o mesmo pode nos ajudar a evitar a duplicação de informações no banco de dados. Além de evitar a duplicação de informações, relacionamento serve outros propósitos tais como:
Para criar um relacionamento é bastante simples. O que o leitor precisa ter em mente durante a criação das tabelas:
Para criar um relacionamento, com a janela do banco de dados aberta em Tabelas, vá a Ferramentas à Relacionamentos. Caso a janela contendo a lista de tabelas não esteja visível, clique com o botão direito do mouse sobre uma área qualquer. No menu popup que aparecerá, clique sobre Mostrar tabela...:
Figura 5‑1 Abrindo a janela de tabelas/consultas disponíveis para relacionamento Nesta janela selecione as tabelas e/ou consultas que deseja relacionar. Clique no botão Adicionar para que as mesmas sejam adicionadas à área de relacionamentos:
Figura 5‑2 Selecionando tabelas e/ou consultas para relacionamento Uma vez que as tabelas/consultas estejam na área de relacionamento, simplesmente arraste o campo de relacionamento de uma tabela para outra. O Access determinará automaticamente se o tipo é de um-para-muitos ou muitos-para-muitos:
Figura 5‑3 Relacionamento um-para-muitos Com estas informações básicas em mente, vejamos os tipos de relacionamentos e como criá-los. Relacionamentos um-para-muitos Relacionamentos um-para-muitos é provavelmente o tipo mais comum de relacionamento onde um registro na tabela primária pode estar relacionado com vários registros de uma tabela secundária. Por exemplo, poderíamos ter uma tabela de categorias de produtos (tabela primária) e uma tabela de produtos (tabela secundária). Neste caso, todos os produtos são categorizados de acordo com as categorias na tabela primária:
Figura 5‑4 Relacionamento um-para-muitos A figura acima mostra este tipo de relacionamento. A tabela lojas contém uma lista de lojas ao passo que a tabela produtos contém diversos produtos. Porém, uma loja pode ter vários produtos listados para ela. Neste exemplo específico a via é uma loja para muitos produtos. Não obstante, se o banco de dados fosse de uma cadeia de lojas o melhor relacionamento seria muitos-para-muitos para evitar a repetição de produtos, pois uma loja poderia ter vários produtos e um mesmo produto (digamos, cafeteira) pode ser vendida em várias lojas diferentes. No próximo tópico discuto este tipo de relacionamento. Relacionamentos muitos-para-muitos Relacionamentos um-para-muitos é o tipo mais comum de relacionamento, isto é você tem um item relacionado a vários outros itens. Agora, imagine o seguinte cenário: você possui uma empresa de treinamento e deseja criar um banco de dados para controlar alunos, professores, classes, etc. Neste cenário, não há nada que impeça que um aluno participe de várias classes. Assim como cada classe pode ter vários alunos. Da mesma forma, um professor pode dar aula para várias classes e vice-versa. Sendo assim, nós temos um relacionamento muitos-para-muitos. Este tipo de relacionamento não pode ser feito diretamente entre duas tabelas. Portanto, nós precisamos de uma tabela intermediária a qual é utilizada para consolidar e reconciliar os dados. Vejamos então o cenário dos alunos e salas delineado acima (mais adiante no curso veremos um estudo de caso mais elaborado deste exemplo):
Figura 5‑5 Relacionamento muitos-para-muitos A tabela central (tblCursosAlunos), como podemos observar, possui o símbolo de infinito de ambos os lados. Isso indica que esta tabela pode conter vários registros da tabela de alunos e também vários registros da tabela de cursos. Observe a tabela intermediária:
Figura 5‑6 Tabela intermediária para relacionamento muitos-para-muitos O mesmo curso e aluno se repetem várias vezes na tabela intermediária. Por outro lado, quando abrimos a tabela de aluno ou cursos nós podemos expandir o relacionamento para saber quais cursos o aluno faz parte ou quais alunos pertencem a determinado curso. A pergunta pode ser colocada tanto para a tabela de alunos quanto a tabela de cursos:
Figura 5‑7 Expandindo as tabelas de alunos e cursos Como podemos ver no na figura acima, independentemente de qual direção caminhamos podemos facilmente reconciliar as informações. Na tabela de alunos podemos rapidamente saber em quais cursos o aluno está matriculado. Por outro lado, na tabela de cursos vemos rapidamente quais alunos estão matriculados em determinado curso. Vejamos agora como impor integridade referencial e o que isso significa em termos de segurança e integridade dos registros. Impondo Integridade referencial Quando impomos integridade referencial no Access o que desejamos é que o relacionamento entre registros das tabelas relacionadas sejam válidos. Por exemplo, não faria sentido relacionar e deixar um campo relacionado vazio. Quando o leitor fez o primeiro relacionamento a janela abaixo foi apresentada:
Figura 5‑8 Editando relacionamentos Aqui, precisamos tomar algumas decisões em relação ao que desejamos fazer. Qual o motivo para se impor integridade referencial? Pergunte-se o que ocorreria quando você adicionasse um registro na tabela intermediária, mas entrasse somente o nome do curso. Em um cenário como este, sem a imposição de integridade, não há problema algum no momento da entrada do registro. Porém, este registro é órfão, isto é, ele não possui o outro lado do relacionamento. Deste modo, os dados não estariam verdadeiramente relacionados. Agora, pergunte-se o que ocorreria caso um aluno fosse removido da tabela de alunos. Sem a imposição de integridade referencial e propagação para exclusão de registro, novamente teríamos registros órfãos. Obviamente que nem um nem outro cenário é satisfatório. O que queremos é um banco de dados a prova de balas. Um banco de dados onde informações não sejam perdidas por detalhes como estes. Deste modo, podemos resumir a imposição da integridade como segue:
Condições para integridade referencial Para que a integridade referencial seja válida, o leitor deve observar algumas condições nos campos e tabelas que se deseja relacionar:
Regras pós aplicação de integridade referencial Uma vez que integridade referencial tenha sido imposta entre as tabelas, o leitor precisará observar as seguintes regras:
Figura 5‑9 Registro não pode ser excluído havendo integridade referencial para não deixar órfão
Tipos de associações Na caixa de edição de relacionamento há um botão para seleção do tipo de associação. Ao clicarmos neste botão uma nova caixa de diálogo nos é dada onde podemos determinar o tipo de associação:
Figura 5‑10 Tipo de associação As três opções são definidas abaixo:
|
|||
| « Anterior | Δ Página principal | ¤ Índice | Próxima » |
Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela
Aplica-se ao Access 2019, 2016, 2013 e 2010!
Para todos os detalhes, acesse:
|
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI (Online, Vitalício, Prático e Atualizado)! |
|
|
NÃO PROCURE VAGAS, SEJA PROCURADO! |
|
Para Todos os Detalhes, Acesse:
https://juliobattisti.com.br/curso-infra-ti.asp
|
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2026 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI