Tabelas vista de estrutura A vista de estrutura permite definir a configuração dos dados Vamos adicionar os restantes campos à tabela carros, de acordo com o modelo de dados feito no papel 47
Tabelas vista de estrutura O campo marca vai estar ligado com a tabela Marca, devendo ser do mesmo tipo de dados do campo marca da tabela Marca O campo bi vai estar ligado com a tabela Proprietarios, devendo ser do mesmo tipo do campo bi da tabela Proprietarios 48
Tabelas vista de estrutura Para guardar a tabela, basta clicar em E depois clicar em Sim respondendo à pergunta se pretende guardar a tabela 49
Tabelas vista de estrutura Outra forma de guardar é clicar em cima do cabeçalho da tabela com o botão direito do rato e escolher guardar ou fechar 50
Tabelas vista de estrutura Ainda outra forma de guardar. Clicar aqui ou usar as teclas CTRL + G 51
Ainda outras formas de mudar de vista Além do botão Vista podemos mudar de vista de outras formas 52
Ainda outras formas de mudar de vista Repare que a vista de estrutura está selecionada, basta cliar no outro ícone para mudar para a vista de folha de dados 53
Ainda outras formas de mudar de vista 54
Ainda outras formas de mudar de vista Repare que agora estamos na vista de folha de dados que permite a inserção de registos 55
Ainda outras formas de mudar de vista Outra forma é clicar com o botão direito em cima do cabeçalho da tabela e escolher a vista pretendida 56
Tabelas vista de folha de dados Na vista de folha de dados podemos inserir registos, aparecendo um * na linha onde podemos inserir um novo registo, no caso, a tabela está vazia No entanto é melhor utilizarmos os formulários para introduzir os registos A parte em que aparece Clicar para adicionar é a opção que temos de criar os campos diretamente na vista de estrutura, mas vamos utilizar antes a vista de estrutura para criar os campos, assim, ignore essa parte 57
Criação das restantes tabelas da nossa BD Vamos criar uma nova de tabela, basta ir ao separador Criar e depois escolher Estrutura da Tabela 58
Criação duma tabela na Vista de estrutura Repare que ao criar a tabela, o separador ativo passou automaticamente a ser Estrutura Isto deve-se ao facto do Access adaptar-se à tarefa que estamos a fazer, assim, ativa as ferramentas adequadas de acordo com o que estamos a fazer 59
Criação duma tabela na Vista de estrutura Vamos criar mais uma das tabelas que precisamos Vamos criar a tabela Marcas que tem um campo chamado marca Tenha atenção que o tipo de dados tem que ser do mesmo tipo de dados do campo relacionado Neste caso deverá ser texto, pois o campo Marca vai aceitar letras, por exemplo: Mercedes, Renault, Toyota 60
Definir a chave primária Uma das formas de definirmos a chave primária, é escolher o campo que pretendemos para o efeito e clicar no botão Chave primária do separador que fica ativo, Estrutura 61
Definir a chave primária Outra forma de definir a chave primária é clicando com o botão direito em cima do cabeçalho do campo e escolher Chave primária 62
Definir a chave primária E já temos a chave primária definida Aguarda basta guardar a tabela com o nome Marcas 63
Guardar a tabela Marcas 64
Guardar a tabela Marcas 65
Criar a tabela Proprietarios Vamos agora criar a tabela Proprietarios da mesma forma que criamos a tabela Marcas 66
Definir os tipos de dados para a tabela Proprietarios Repare que o bi é composto somente por algarismos então pode ser do tipo de dados Número A data de nascimento (data_nasc) vai aceitar uma data, então, o tipo adequado é Data/hora 67
Definir os tipos de dados para a tabela Proprietarios Ao criar um campo e definir o tipo de dados, já deve ter notado que aparece uma caixa Geral com propriedades/configurações para cada campo conforme o seu tipo de dados 68
Tipos de dados: Formatar Vamos utilizar esta caixa de propriedades para que a data de nascimento aceite somente uma data e não horas e minutos Vamos configurar a opção Formatar que configura como aparecem os dados 69
Tipos de dados: Formatar 70
Definir os tipos de dados para a tabela Proprietarios 71
Tipos de dados: Formatar Voltamos para a vista de Folha de Dados e introduzimos um registo Repare que introduzimos na data de nascimento: 6-11-1973 12:45 No entanto, como está formatado para mostrar somente a data, após inserir, aparece: 72
Tipos de dados: máscara de introdução Repare que se voltar ao valor de campo data_nasc do registo inserido, verifica que embora mostre a data no formato dia/mês/ano, o que está dentro continua a ser uma data com hora Se pretender mesmo que o Access só aceite uma data, terá que fazer uma máscara de introdução: 73
Tipos de dados: máscara de introdução Em seguida aparece a janela: Assistente de Máscaras de Introdução Vamos escolher a máscara que pretendemos: Data normal E carregar em Seguinte 74
Tipos de dados: máscara de introdução Aparece em seguida a janela 75
Tipos de dados: máscara de introdução E termina assim: 76
Tipos de dados: máscara de introdução A máscara é feita automaticamente Não se preocupe nesta fase a entender os caracteres da máscara 77
Tipos de dados: máscara de introdução Vamos voltar à folha de dados e introduzir mais um registo, repare que ao chegar ao valor do campo data_nasc, que aparece uma máscara que só lhe deixa introduzir a data de acordo com o que configurou 78
Eliminar registos na vista Folha de dados Como já dissemos anteriormente, a melhor forma de inserirmos os registo é através de formulários Estas inserções que efetuamos foi só para exemplificar alguns conceitos Assim, eliminemos agora os registos criados Em primeiro lugar, deve selecionar os cabeçalhos dos registos que pretende eliminar E depois carregar na tecla DEL/DELETE 79
Eliminar registos na vista Folha de dados Aparece a seguinte janela, bastando aceitar a eliminação E temos novamente a tabela vazia (sem registos) 80
Erro: Inserir um valor de campo vazio na chave primária O Access além de não permitir que o valor de campo duma chave primária se repita Também não permite que se introduza um valor de campo vazio numa chave primária Na situação seguinte, tentamos inserir a Maria Santos, mas não colocamos o bi, que é chave primária, ao tentarmos inserir aparece uma mensagem de erro 81
Inserir um valor de campo vazio Note que é possível inserir um registo com um valor de campo vazio Por exemplo, neste caso temos um registo em que o valor de campo nome não foi introduzido Quando um valor de campo não está introduzido, dizemos que está a NULL O Access não permite que se introduza o valor de campo da chave primária vazio, mas em relação aos outros campos só se configurarmos para não permitir vazios 82
Configurar um campo para não aceitar vazios/nulls Não faz sentido inserir um proprietário sem nome, assim, vamos configurar o campo nome para não permitir vazios Elimine o registo anteriormente criado e vá para a vista de estrutura e selecione o campo nome 83
Configurar um campo para não aceitar vazios/nulls Basta modificar a propriedade Necessário para Sim 84
Configurar um campo para não aceitar vazios/nulls Agora, se tentar inserir um nome vazio, aparece uma mensagem de erro: 85
Painel de navegação Repare que agora que terminou a criação das tabelas, pode vê-las no painel de navegação à esquerda e selecionar a que pretende trabalhar 86
Painel de navegação O Access permite que estejam vários objetos abertos, no caso abaixo temos 2 tabelas abertas: carros e Marcas Em qualquer momento podemos abrir o objeto que necessitamos dando dois cliques seguidos no objeto que pretendemos no painel de navegação 87
Abrir/fechar o painel de navegação Se gosta de trabalhar com mais espaço, em qualquer altura pode fechar/abrir o painel de navegação 88
Abrir/fechar o painel de navegação Caso pretenda voltar a abrir o painel de navegação basta clicar no mesmo local 89
Esconder o friso Também é possível esconder o friso, basta dar dois cliques seguidos em cima dum separador Por exemplo dois cliques seguidos em cima do separador Base 90
Esconder o friso Assim, aparecem somente os títulos dos separadores No entanto, o friso continua acessível ao clicar em qualquer separador Para o friso voltar ao normal, basta dar novamente 2 cliques seguidos em cima dum separador 91
Esconder o friso Pode também esconder o friso, clicando com o botão direito em cima dum separador e escolher Minimizar friso Ou então com a combinação de teclas CTRL+F1 92
Fechar um objeto Em algumas situações pode ser necessário fecharmos certos objetos ou mesmo todos, para isso, basta clicar com o botão direito do rato em cima dum cabeçalho dum objeto aberto E escolher Fechar ou Fechar tudo de acordo com o que se pretende 93
Impedir a duplicação dum valor de campo Já vimos que o Access não permite que o valor da chave primária se repita Também é possível definir esse comportamento a outro campo Por exemplo se quiséssemos que o nome não se repetisse, bastaria alterar a propriedade Indexado do tipo de dados para Sim (duplicação não autorizada) 94
Prevenir a duplicação dum valor de campo 95
Regra de validação em um campo Além das máscaras de introdução que controlam o que se insere, é possível definir uma regra de validação, por exemplo: Impedir que se insira um preço < 0 Impedir que se insira uma data superior à data de hoje Vamos obrigar a que se introduza uma data de nascimento para o proprietário inferior a 1 de janeiro de 2000 Quando utilizamos datas nas expressões, temos que limitá-la por cardinais # 96
Regra de validação em um campo 97
Regra de validação em um campo Repare no erro que dá ao se tentar introduzir a data 20 de dezembro de 2001 (20-Dez-01) 98
Regra de validação em um campo Vamos alterar a mensagem de erro que aparece: 99
Regra de validação em um campo Repare que agora aparece uma mensagem mais amigável e informativa, pois fomos nós que escolhemos a mensagem de erro 100
Assistentes de pesquisa nos campos Após definir os tipos de dados corretos para cada campo, é conveniente criar os assistentes de pesquisa que procuram os valores a inserir em outras tabelas Uma regra que pode seguir é colocar os assistentes de pesquisa nos campos que têm o símbolo de Vamos analisar o nosso modelo de dados 101
Assistentes de pesquisa nos campos Repare que os campos que têm o infinito são: A marca na tabela carros Vai buscar a marca à tabela Marcas O bi na tabela carros Vai buscar o bi à tabela proprietarios 102
Assistentes de pesquisa nos campos Vamos fazer o assistente de pesquisa para a marca na tabela carros A primeira coisa a fazer é verificar se está com o mesmo tipo de dados do campo marca da tabela relacionada Como vemos, está, pois está como texto 103
Assistentes de pesquisa nos campos Em seguida modificamos o tipo de dados novamente para Assistente de pesquisa 104
Assistentes de pesquisa nos campos Aparece a seguinte janela Carregamos em Seguinte 105
Assistentes de pesquisa nos campos Agora escolhemos a tabela onde vamos buscar o campo marca Conforme podemos ver na ligação, está relacionado com a tabela Marcas, então escolhemos essa tabela 106
Assistentes de pesquisa nos campos Na janela seguinte, escolhemos o campo que queremos, neste caso há só uma hipótese que é a marca 107
Assistentes de pesquisa nos campos 108
Assistentes de pesquisa nos campos Na janela seguinte podemos escolher para a marca aparecer ordenada, por exemplo aparecer primeiro: Audi, BMW, Citroen,. 109
Assistentes de pesquisa nos campos 110
Assistentes de pesquisa nos campos Na próxima tabela vamos ativar a integridade de dados Isto significa que só vai ser permitido inserir marcas nos carros que existam na tabela marcas Vai ainda fazer com que seja criada a relação automaticamente 111
Assistentes de pesquisa nos campos Neste momento já está criado o assistente, para verificar se o assistente está criado, basta clicar em Pesquisa que fica ao lado das propriedades Geral 112
Assistentes de pesquisa nos campos Pode verificar que o campo vai buscar o campo marca à tabela Marcas e ordena por marca 113
Assistentes de pesquisa nos campos Vou agora fazer o assistente de pesquisa para o bi na tabela carros Que vai buscar o bi à tabela Proprietarios 114
Assistentes de pesquisa nos campos A primeira coisa a fazer é verificar se está com o mesmo tipo de dados do campo bi da tabela Proprietarios relacionada Como vemos, está, pois está como Número 115
Assistentes de pesquisa nos campos Em seguida modificamos o tipo de dados novamente para Assistente de pesquisa 116
Assistentes de pesquisa nos campos Aparece a seguinte janela Carregamos em Seguinte 117
Assistentes de pesquisa nos campos Agora escolhemos a tabela onde vamos buscar o campo bi Conforme podemos ver na ligação, está relacionado com a tabela Proprietarios, então escolhemos essa tabela 118
Assistentes de pesquisa nos campos Na janela seguinte, escolhemos o campo que queremos Podíamos ir buscar somente o bi, mas é mais fácil que apareça também o nome durante a inserção Assim, vamos buscar o bi e o nome, embora o bi é que seja o campo de ligação 119
Assistentes de pesquisa nos campos 120
Assistentes de pesquisa nos campos Na janela seguinte podemos escolher o bi ou o nome aparecerem ordenados, Vamos escolher para ordenar por nome, por exemplo irá aparecer primeiro: André, Beatriz, Carina, Daniel,. 121
Assistentes de pesquisa nos campos Repare que a chave primária, o bi neste caso, está configurada para não aparecer Vamos alterar, de forma a que apareça, basta desligar o Ocultar a coluna chave (recomendado) 122
Assistentes de pesquisa nos campos 123
Assistentes de pesquisa nos campos Agora escolhemos o campo bi (que é a chave primária da tabela Proprietarios ligada) para armazenar no campo bi da tabela carros 124
Assistentes de pesquisa nos campos Na próxima tabela vamos ativar a integridade de dados Isto significa que só vai ser permitido inserir bi nos carros que existam na tabela Proprietarios Vai ainda fazer com que seja criada a relação automaticamente 125
Assistentes de pesquisa nos campos Neste momento já está criado o assistente, para verificar se o assistente está criado, com o campo bi selecionado basta clicar em Pesquisa que fica ao lado das propriedades Geral 126
Assistentes de pesquisa nos campos Pode verificar que o campo vai buscar os campo bi e nome à tabela Proprietarios e ordena por nome 127
Relações Vamos ver as relações da nossa BD Vamos fechar todos os objetos abertos e ir ao separador Ferramentas da Base de Dados e depois carregamos no botão Relações 128
Relações Repare que as relações aparecem de acordo com o modelo de dados criado Não foi preciso criar as relações porque já as configuramos nos assistentes de pesquisa 129
Relações como eliminar uma Basta carregar com o botão direito do rato em cima duma relação e escolher a opção Eliminar do menu que aparece 130
Relações como fazer uma Para fazermos a relação entre a tabela Marcas e a tabela carros, basta arrastar o campo marca da tabela Marcas para o campo marca da tabela carros 131
Relações como fazer uma Agora basta ligar o Impor integridade referencial e em seguida carregar no botão Criar 132
Relações como fazer uma E temos novamente a relação entre a tabela Marcas e a tabela carros 133
Relações como ocultar uma tabela Na janela das relações é possível ocultar uma tabela, basta clicar com o botão direito do rato e escolher a opção Ocultar Tabela no menu que aparece 134
Relações Mostrar as tabelas Para mostrar novamente a tabela, basta escolher, no separador aberto Estrutura o botão Mostrar tabela 135
Relações Mostrar as tabelas Em seguida, basta escolher a tabela que queremos que apareça, neste caso a tabela Marcas e depois carregar em Adicionar 136
Relações editar uma Para alterar uma relação basta dar 2 cliques seguidos em cima duma relação Ou clicar com o botão direito e escolher Editar relação 137
Tipos de relações Na BD Frota de exemplo, só tínhamos relações de um-para-muitos Tenha atenção que os campos que se ligam têm que ser do mesmo tipo de dados (por exemplo marca da tabela Marcas é texto, logo a marca na tabela carros também ter que ser do tipo de dados texto) Só há uma exceção, que é se no lado do 1 for Numeração automática, do lado do tem que ser Número Mas, como fazer com uma relação de muitos-para-muitos? 138
Relação muitos-para-muitos Vamos agora considerar uma base de dados de encomendas Um cliente pode fazer várias encomendas, mas uma encomenda diz respeito a um só cliente (relação um-paramuitos) Uma encomenda tem vários produtos e um produto pode estar em várias encomendas (relação muitos-para-muitos) A relação muitos-para-muitos é resolvida no Access através duma tabela extra que faz a ligação entre as duas tabelas E duas relações de um-para-muitos A chave primária da tabela extra passa a ser uma combinação das duas chaves das duas tabelas relacionadas 139
Relação muitos-para-muitos Então vamos criar uma tabela que liga a tabela encomendas com a tabela produtos 140
Relação muitos-para-muitos Em seguida pode eliminar os símbolos auxiliares 141
Relação muitos-para-muitos 142
Relação muitos-para-muitos Repare no exemplo de duas encomendas, uma com 3 produtos, a 10249 E outra, a 10250 com um produto Repare que o produto 50 aparece nas duas encomendas Com a tabela extra detalhes_da_encom conseguimos saber quais são os produtos de cada encomenda 143