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 » |
| Curso Grátis - Access 2007 Avançado, Macros e Programação VBA Autor: Júlio Battisti |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Lição 01 - Capítulo 01 - Revis�o dos Conceitos B�sicos de Banco de Dados | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Neste tópico iremos revisar alguns conceitos básicos sobre Bancos de Dados. Para a melhor utilização do Microsoft Office Access 2007 é importante o conhecimento e correto entendimento dos conceitos apresentados. Revisaremos os Seguintes Conceitos:
1.1 - Entidades e Atributos:Toda a Informação de um Banco de Dados do Microsoft Office Access 2007 é armazenada em Tabelas, que na linguagem do Banco de Dados, também são chamadas de Entidades. Por exemplo, poderíamos ter uma Tabela "Clientes", onde seriam armazenadas informações sobre os diversos clientes. Sobre cada um dos clientes poderíamos armazenar informações tais como: Nome, Rua, Bairro, Telefone, CEP, Data de Nascimento, etc. Essas diversas características de cada Cliente são os "Atributos" de cada Cliente, muitas vezes chamados de campos da entidade Cliente. O Conjunto de todos os Atributos de um cliente e os valores dos mesmos forma o "Registro do Cliente". Com isso teremos a Tabela constituída por um conjunto de Registros (Uma linha completa com informações sobre o cliente ) e cada Registro formado por um conjunto de atributos ( Nome, Endereço, etc).
No exemplo da figura anterior temos uma entidade: "Clientes" e seus diversos atributos: "Código do Cliente", "Nome da Empresa", "Nome do Contato", "Cargo do Contato", "Endereço", etc. Em cada linha temos um conjunto de atributos e seus valores. Cada linha forma um Registro. Cada Coluna é um atributo da Tabela Clientes. Conforme veremos em um dos exercícios mais adiante, um dos grandes desafios em se projetar um Banco de Dados com sucesso é a correta Determinação das Entidades que existirão no Banco de Dados, bem como dos Atributos de Cada Entidade. Exercício: Neste exercício iremos abrir o Banco de Dados C:\Curso\curso_av.mdb e analisar as suas entidades e os atributos de cada entidade. Para Analisar as Entidades e os Atributos das Entidades do banco curso_av.mdb faça:
1.2 - Chave Primária:O Conceito de "Chave Primária" é fundamental para o Correto Entendimento do Funcionamento de um Banco de Dados. Vamos Procurar entender o que significa um Campo Ser a chave Primária de uma Tabela e como tornar um Campo a Chave Primária de uma Tabela. "Quando um Campo é definido como uma Chave Primária, estamos informando ao Microsoft Office Access 2007 que não podem existir dois registros com o mesmo valor de Chave Primária, ou seja, os valores no campo Chave Primária precisam ser únicos. Por exemplo, se o campo "Número da Identidade" da tabela Clientes é definido como sendo uma Chave Primária, estou dizendo ao Microsoft Office Access 2007 que não podem existir dois clientes com o mesmo valor no campo "Número da Identidade". Na prática estou garantindo que não podem ser cadastrados dois clientes com o mesmo Número de Identidade". Em outras palavras poderíamos dizer que o Campo Chave Primária identifica de Maneira Única cada Registro de uma Tabela, isto é, de posse do valor da Chave Primária somente localizaremos um registro com aquele valor no campo Chave Primária. É um identificador exclusivo para cada linha. Em um banco de dados relacional, como o Microsoft Office Access 2007, você divide seus dados em tabelas baseadas em tópicos. Na sequência, você utiliza relacionamentos de tabelas e chaves primárias para dizer ao Access como reunir novamente esses dados. O Microsoft Office Access 2007 utiliza campos de chave primária para integrar rapidamente os dados de várias tabelas e combinar esses dados de uma forma que faça sentido.
Ao clicarmos no Botão Modo de Exibição você escolhe a maneira de visualizar a estrutura da Tabela.
Dos modos de exibição acima os mais utilizados são: Modo Design e Modo Folha de Dados. No Modo Design é onde definimos quais atributos farão parte da tabela, bem como as características de cada atributo, tais como Tipo de Dados, Tamanho Máximo, Máscara de Entrada, etc. No Modo Folha de Dados é que podemos digitar as informações, Inserir Novos Registros, alterar os Registros existentes, etc. Ao entrar no Modo Design, conforme indicado pela figura a seguir, observe que na linha do Atributo "Código do Cliente", existe uma chave. Esta chave indica que o Campo é Marcado como uma "Chave Primária". Além disso, na propriedade "Indexado" deste campo você pode Notar que aparece "Sim (Duplicação Não Autorizada)", indicando que não podem haver valores duplicados para um campo do tipo Chave Primária.
Exercício: Neste exercício iremos Redefinir o campo Código do Cliente para que ele deixe de ser uma Chave Primária, feito isso iremos para o Modo Folha de Dados e Adicionaremos um Cliente com o Código de Cliente Duplicado ( Igual a um que já existe na Tabela), depois retornaremos ao Modo Design e tentaremos redefinir o campo Código do Cliente como Chave Primária. Para Modificar o Campo Código do Cliente faça o seguinte:
Um último detalhe importante para lembrarmos é que a Chave Primária pode ser formada pela combinação de Mais de Um Campo. Podem existir casos em que um único campo não é capaz de atuar como chave primária, pelo fato do mesmo apresentar valores repetidos. Nestes casos podemos definir uma combinação de 2 ou mais campos para ser a nossa chave primária. Para fazer isso coloque a tabela no Modo Design, selecionar todas as linhas que definirão a "Chave Primária Composta", e depois dê um clique no botão com a chave. Além disso, uma tabela somente pode ter uma Chave Primária, seja ela simples ou composta. Neste item aprendemos o conceito de Chave Primária, a sua Importância e como Definir um Campo de uma Tabela como sendo a Chave Primária. Também testamos inconsistências que podem ser introduzidas nos dados pelo fato de não termos uma Chave Primária definida corretamente ( No nosso exemplo, conseguimos inserir um Cliente com o Mesmo Código de outro cliente já cadastrado). No próximo ítem aprenderemos outro importante conceito: Conceito de Relacionamentos entre Tabelas. 1.3 - Relacionamentos entre Tabelas:Conforme podemos ver no nosso Banco de Dados curso_av.mdb, existem diversas tabelas: Clientes, Produtos, Pedidos, Detalhes do Pedido, etc. Embora as informações estejam separadas em cada uma das Tabelas, na prática devem existir um relacionamento entre as mesmas. Por exemplo: Um Pedido é feito Para um Cliente e neste Pedido podem existir diversos itens, os quais são armazenados na tabela Detalhes do Pedido. Além disso, cada Pedido possui um número único, mas um mesmo Cliente pode fazer diversos pedidos. No Banco de Dados, precisamos de alguma maneira para representar estes relacionamentos da vida Real, em termos das tabelas e seus atributos. Isto é possível com a utilização de "Relacionamentos entre tabelas", os quais podem ser de três tipos: Um para Um, Um para Vários e Vários para Vários. 1.3.1 - Relacionamento do Tipo Um para Um:Esta relação existe quando os campos que se relacionam são ambos Chaves Primárias em suas respectivas tabelas. Cada um dos campos não apresentam valores repetidos. Na prática existem poucas situações onde utilizaremos um relacionamento deste tipo. Um exemplo poderia ser o seguinte: Imagine uma escola com um Cadastro de Alunos na tabela Alunos, destes apenas uma pequena parte participa da Banda da Escola. Por questões de estrutura do Banco de Dados, podemos optar por criar uma Segunda Tabela "Alunos da Banda", a qual pode se relacionar com a Tabela Alunos através de um relacionamento Um para Um. Cada aluno somente é cadastrado uma vez na Tabela Alunos e uma única vez na Tabela Alunos da Banda. Poderíamos utilizar o Campo Matrícula do Aluno como o Campo que relaciona as duas Tabelas. Na Tabela Alunos da Banda poderíamos colocar apenas o Número da Matrícula do aluno, além das informações a respeito do Instrumento que ele toca, tempo de banda, etc. Quando fosse necessário buscar as informações tais como nome, endereço, etc, as mesmas podem ser recuperadas através do relacionamento existente entre as duas tabelas, evitando, com isso, que a mesma informação ( Nome, Endereço, etc) tenha que ser duplicada nas duas tabelas, inclusive aumentando a probabilidade de erros de digitação. Observe na figura à seguir um exemplo de um Relacionamento do tipo “Um para Um” entre as tabelas Alunos e Alunos da Banda.
1.3.2 - Relacionamento do Tipo Um para Vários:Este, com certeza, é o tipo de relacionamento mais comum entre duas tabelas. Uma das tabelas ( o lado um do relacionamento) possui um campo que é a Chave Primária e a outra tabela (o lado vários) se relaciona através de um campo cujos valores relacionados podem se repetir várias vezes. Considere o exemplo entre a tabela Clientes e Pedidos. Cada Cliente somente é cadastrada uma única vez ( por isso o campo Código do Cliente é uma chave primária, indicando que não podem existir dois clientes com o mesmo código), portanto a tabela Clientes será o lado um do relacionamento. Porém cada cliente pode fazer diversos pedidos, por isso que o Código de um Cliente poderá aparecer várias vezes na tabela Pedidos, tantas vezes quantos forem os pedidos que o Cliente tiver feito. Por isso que temos um relacionamento do tipo “Um para Vários” entre a tabela Clientes e Pedidos, através do campo CódigoDoCliente, indicando que um mesmo Cliente pode realizar diversos pedidos. Observe na figura a seguir temos um exemplo de Relacionamento “Um para Vários” entre as Tabelas Clientes e Pedidos do banco de dados curso_av, através do campo códigoDocliente:
Observe que o lado Vários do relacionamento é representado pelo símbolo do infinito ( ¥ ). No lado Um do relacionamento o campo é definido como uma Chave Primária ( Campo Código do Cliente na tabela Clientes) e no lado Vários não ( campo Código do Cliente na tabela Pedidos), indicando que no lado vários o Código do Cliente pode se repetir várias vezes, o que faz sentido, uma vez que um mesmo cliente pode fazer diversos pedidos. No nosso Banco de Dados curso_av.mdb, temos diversos outros exemplos de relacionamentos do tipo Um para Vários, conforme descrito na Próxima Tabela:
Mais adiante veremos como implementar, na prática, estes relacionamentos. Algumas observações importantes sobre relacionamentos:
1.3.3 - Relacionamento do tipo Vários para Vários:Seria uma situação onde em ambos os lados do relacionamento os valores poderiam se repetir. Vamos considerar o caso entre Produtos e Pedidos. Posso ter Vários Pedidos nos quais aparecem um determinado produto. Além disso, vários Produtos podem aparecer no mesmo Pedido. Esta é uma situação em que temos um Relacionamento do Tipo Vários para Vários. Na prática não temos como implementar um relacionamento deste tipo, devido a uma série de problemas que teríamos. Por exemplo, na tabela Pedidos teríamos que repetir o Número do Pedido, Nome do Cliente, Nome do Funcionário, Data do Pedido, etc para cada item do Pedido. Para evitar este tipo de problema é bastante comum quebrarmos um relacionamento do tipo Vários para Vários em dois relacionamentos do tipo Um para Vários. Isso é feito através da criação de uma nova tabela, a qual fica com o lado Vários do relacionamento. No nosso exemplo foi criada a tabela Detalhes do Pedido, onde ficam armazenadas as informações sobre os diversos itens de cada pedido, aí ao invés de termos um relacionamento do tipo Vários para Vários, teremos dois relacionamentos do tipo um para vários, conforme descrito pela próxima tabela:
Na figura abaixo temos a representação dos dois relacionamentos Um para Vários:
Esta situação em que um relacionamento Vários para Vários é "quebrado" em dois Relacionamentos do tipo Um para Vários é bastante comum. Diversas vezes utilizamos esta técnica para eliminar uma série de problemas no Banco de Dados, tais como informação repetida e inconsistência de Dados. Agora que já conhecemos os Tipos de Relacionamentos existentes, no próximo item veremos como Implementar relacionamentos no Microsoft Office Access 2007e a utilização da Integridade Referencial como uma maneira de Garantir a Consistência dos Dados. 1.4 - Integridade Referencial:A Integridade Referencial é Utilizada para garantir a Integridade dos dados entre as Tabelas Relacionadas. Por exemplo, existe um Relacionamento do tipo Um para Vários entre a Tabela Clientes e a Tabela Pedidos (Um Cliente pode Fazer vários pedidos ). Com a Integridade Referencial, o Microsoft Office Access 2007não permite que seja cadastrado um Pedido para um Cliente ainda não Cadastrado. Também podemos garantir o seguinte:
Essas opções, conforme veremos logo em seguida, podem ser configuradas quando da Definição dos Relacionamentos. Ambas as opções não são obrigatórios. A Opção de "Propagar atualização dos campos relacionados" é utilizada na maioria das situações, já a opção de "Propagar exclusão dos registros relacionados" deve ser estudada caso a caso. Por exemplo, se nos quiséssemos manter um histórico com os Pedidos de cada Cliente, não utilizaríamos a opção "Propagar exclusão dos registros relacionados"; caso não nos interessasse manter um histórico dos pedidos, poderíamos utilizar esta opção. 1.5 - Definindo Relacionamentos no Microsoft Access 2007:Para Definir Relacionamentos no Microsoft Office Access 2007 faça o Seguinte:
Exercício: Agora vamos a um exercício prático, onde será definido os diversos relacionamentos para o nosso banco de dados curso_av.mdb. Para definir os Relacionamentos para o banco de dados curso_av.mdb:
1.6 - Normalização de Tabelas:O conceito de Normalização foi introduzido por Codd em um artigo sobre o Modelo Relacional em 1970. O objetivo da normalização é evitar os problemas provocados por falhas no Projeto do Banco de Dados, bem como eliminar a mistura de assuntos e as correspondentes redundâncias de dados. Uma Regra de Ouro que devemos observar em um Projeto de Banco de Dados é a de "Não Misturar assuntos em uma mesma Tabela". Por exemplo, na Tabela Clientes devemos colocar somente campos relacionados com o assunto Clientes. Não devemos misturar campos relacionados com outros assuntos, tais como Pedidos, Produtos, etc. Essa "Mistura de Assuntos" em uma mesma tabela acaba por gerar repetição desnecessária dos dados bem como inconsistência dos mesmos. O Processo de Normalização aplica uma série de Regras sobre as Entidades de um Banco de Dados, para verificar se as mesmas estão corretamente projetadas. Embora existam 5 formas normais (ou regras de Normalização), na prática usamos um conjunto de 3 Formas Normais. Normalmente após a aplicação das Regras de Normalização, algumas tabelas acabam sendo divididas em duas ou mais tabelas, o que no final acaba gerando um número maior de tabelas do que o originalmente existente. Este processo causa a simplificação dos atributos de uma tabela, colaborando significativamente para a estabilidade do modelo, reduzindo-se consideravelmente as necessidades de manutenção. Vamos entender o Processo de Normalização na Prática, através de exemplos. 1.6.1 - Primeira Forma Normal:"Uma Tabela está na Primeira Forma Normal quando seus atributos não contêm grupos de Repetição"
Podemos Notar que uma tabela com esta estrutura apresentaria diversos problemas. Por exemplo se um Casal Tivesse mais de um filho, teríamos que digitar o Nome do Pai e da Mãe diversas vezes, tantas quantos forem os filhos. Isso forma um Grupo de Repetição. Além do mais pode ser que por erro de digitação o Nome dos Pais não sejam digitado exatamente igual todas às vezes, o que pode acarretar problemas na hora de fazer pesquisas ou emitir relatórios. Este problema ocorre porque "Misturamos Assuntos" em uma mesma tabela. Colocamos as informações dos Pais e dos Filhos em uma mesma tabela. A Resolução para este problema é simples: Criar uma tabela separada para a Informação dos Pais e Relacionamos a tabela Pais com a Tabela Filhos através de um relacionamento do tipo Um para Vários, ou seja, um casal de Pais pode ter Vários Filhos. Observem na figura abaixo as duas tabelas: Pais e Filhos já normalizada.
As duas tabelas Resultantes da Aplicação da Primeira Forma Normal: Pais e Filhos estão na Primeira Forma Normal, a Tabela Original, a qual misturava informações de Pais e Filhos, não estava na Primeira forma Normal 1.6.2 - Segunda Forma Normal:Ocorre quando a chave Primária é composta por mais de um campo. Neste caso, devemos observar se todos os campos que não fazem parte da chave dependem de todos os campos que compõem a chave. Se algum campo depender somente de parte da chave composta, então este campo deve pertencer à outra tabela. Observe o Exemplo Indicado na Tabela da Figura a seguir:
A Chave Primária Composta é formada pela combinação dos Campos "NúmeroDaMatrícula" e "CódigoDoCurso". O Campo Avaliação depende tanto do CódigoDoCurso quanto do NúmeroDaMatrícula, porém o campo DescriçãoDoCurso, depende apenas do CódigoDoCurso. Com isso temos um campo que não faz parte da Chave Primária e Depende apenas de um dos campos que compõem a chave Primária, por isso que dizemos que esta tabela não está na Segunda Forma Normal. A Resolução para este problema também é simples: "Dividimos a Tabela que não está na Segunda Forma Normal em duas outras tabelas, conforme indicado pela figura abaixo, sendo que as duas tabelas resultantes estão na Segunda Forma Normal.
OBS -> A Distinção entre a Segunda e a Terceira forma normal, que veremos mais adiante, muitas vezes é confusa. A Segunda Forma normal, na maioria das vezes, está ligada a ocorrência de Chaves Primárias compostas. 1.6.3 - Terceira Forma Normal:Na definição dos campos de uma entidade podem ocorrer casos em que um campo não seja dependente direto da chave primária ou de parte dela, mas sim dependente de outro atributo constante na tabela e que não é a chave. Quando isto ocorre, dizemos que a tabela não está na Terceira Forma Normal, conforme indicado pela tabela da figura abaixo:
Figura 17 - Não está na Terceira Forma Normal. OBS: A figura 16 é uma tabela com um Campo dependente de Outro campo que não é a Chave Primária. Para Solucionar este problema, a solução também é simples. Novamente basta dividir a tabela em duas outras, conforme indicado pela figura abaixo. As duas tabelas resultantes estão na Terceira Forma Normal.
Com isso podemos concluir que como resultado do Processo de Normalização, iremos obter um número maior de tabelas, porém sem problemas de redundância e inconsistência dos dados. Projeto Proposto:Neste ítem iremos projetar um Banco de Dados. Iremos aplicar os conhecimentos sobre Entidades, Atributos, Relacionamentos, Chave Primária e Normalização. Antes de começarmos a trabalhar com o Microsoft Office Access 2007 precisamos fixar bem os conceitos anteriormente vistos, aplicando os mesmos em um Projeto de Um Banco de Dados. Um banco de dados bem projetado fornece um acesso conveniente às informações desejadas. Com uma boa estrutura, se gasta menos tempo na construção de um banco de dados e, ao mesmo tempo, assegura-se resultados mais rápidos e precisos. Nunca é demais lembrar que jamais devemos misturar assuntos em uma mesma tabela. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| « 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