Introdução 31 1. Bases de Dados Relacionais 31 2. Modelação de Bases de Dados 31 3. Modelo de Classes UML 32 4. Linguagem SQL 32 5. Sobre o Microsoft" Access" 32 Tutorial 1: O Microsoft Access como Sistema de Gestão de Bases de Dados Relacionais 35 Objectivos 35 1. Enquadramento nas Bases de Dados Relacionais 36 1.1. Conceito de Base de Dados 36 1.2. Conceito de Base de Dados Relacional. 36 1.3. Conceito e Estrutura de uma Tabela 37 1.4. Conceitos de Chave Candidata e Chave Primária 39 1.5. Relacionamento entre Tabelas e Conceito de Chave Estrangeira 40 2. Papel desempenhado pelos Sistemas de Gestão de Bases de Dados 42 3. Criação de uma nova BD no Microsoft Access 43 Exercício de Aplicação #1 : Criação de uma BD a partir de um Modelo de BD 44 4. Exploração da Interface de Utilizador do Microsoft Access 2007 45 4.1. Menu do Botão do Office.46 4.2. Barra de Ferramentas de Acesso Rápido.47 4.3. Painel de Navegação 48 Exercício de Aplicação #2: Personalização do Painel de Navegação 50 4.4. Barra de Estado 50 4.5. Friso 50 4.6. Janela de Documento 53
X Microsoft Access 2007: Curso Teórico-Prático 5. Manipulação dos Objectos constituintes de uma BD do Microsoft Access 55 5.1. Exploração de Tabelas 57 Exercício de Aplicação #3: Exploração de Objectos Tabela 58 5.2. Exploração de Consultas 60 Exercício de Aplicação #4: Exploração de Objectos Consulta 61 5.3. Exploração de Formulários 61 Exercício de Aplicação #5: Exploração de Objectos Formulário 62 5.4. Exploração de Relatórios 63 Exercício de Aplicação #6: Exploração de Objectos Relatório 65 5.5. Exploração de Macros 65 Exercício de Aplicação #7: Exploração de um Objecto Macro 66 Tutorial2: Descrição da BDServAcad e Construção de Tabelas 67 Objectivos 67 1. Apresentação da BDServAcad que vai ser desenvolvida ao longo do Curso 68 Exercício de Aplicação #8: Criação da BD BDServAcad 70 2. Construção de uma Tabela através da Definição da sua Estrutura 71 2.1. Configuração das Propriedades dos Campos.74 2.1.1. Especificação de Formatos Personalizados 75 2.1.2. Especificação de Máscaras de Introdução 77 2.1.3. Definição de Regras de Validação 79 2.1.4. Configuração de Campos de Pesquisa 80 2.2. Especificação da Chave Primária e dos índices da Tabela 81 2.3. Modelo Relacional da Tabela "Aluno" da BDServAcad 82 Exercício de Aplicação #9: Construção da Tabela "Aluno" 83 3. Mecanismos de Construção Automática de Tabelas 85 Tutorial3: Modelo Físico Parcial da BDServAcad e criação de Relacionamentos entre Tabelas 87 Objectivos 87
xi 1. Modelo Físico Parcial da BDServAcad 88 Exercício de Aplicação #10: Construção da Tabela "Curso" 89 Exercício de Aplicação #11: Introduzir na Tabela "Aluno" uma Chave Estrangeira que referencie a Tabela "Curso" 90 2. Conceitos de Integridade 91 3. Criação de Relações no Microsoft Access 92 3.1. Uso da Opção "Impor Integridade Referencial" 94 3.2. Configuração do Tipo de Associação 94 Exercício de Aplicação #12: Criação da Relação entre as Tabelas "Curso" e "Aluno" 95 Tutorial 4: Construção de Consultas de Selecção 97 Objectivos 97 1. Sobre as Consultas no Microsoft Access 98 2. Construção de Consultas de Selecção usando a Vista de Estrutura 100 Exercício de Aplicação #13: Criação da Consulta "Alunos + Cursos ordenados pela Designação e Nome" 102 3. Definição de Critérios nas Consultas 103 4. Definição de Campos Calculados nas Consultas 104 Exercício de Aplicação #14: Construção da Consulta "Alunos >=18 anos do sexo F ou <=18 anos do sexo M" 104 5. Utilização de Parâmetros nas Consultas 105 Exercício de Aplicação #15: Construção da Consulta Parametrizada "Alunos do Curso indicado que tenham nascido no período indicado" 106 6. Construção de Consultas de Selecção usando o Assistente 107 Tutorial5: Construção de Consultas Avançadas 109 Objectivos 109 1. Construção de Consultas de Agregação e Sumarização 11O Exercício de Aplicação #16: Construção da Consulta de Agregação e Sumarização "Número de Homens <=18 anos e Mulheres >=18 anos por Curso" 110 2. Construção de Consultas de Referência Cruzada 112
xii Microsoft Access 2007: Curso Teórico-Prático Exercício de Aplicação #17: Construção da Consulta de Referência Cruzada "Quantidade de Alunos de cada Sexo por Curso" 113 3. Construção de Consultas Acção 114 3.1. Construção de Consultas de Criação de Tabela 115 Exercício de Aplicação #18: Construção da Consulta de Criação de Tabela "Constrói Tabela 'Aluno + Curso" 116 3.2. Construção de Consultas Eliminar 117 Exercício de Aplicação #19: Construção da Consulta Eliminar "Remove os Alunos com menos de 18 anos da Tabela 'Backup: Aluno" 118 3.3. Construção de Consultas Acrescentar 119 Exercício de Aplicação #20: Construção da Consulta Acrescentar "Adiciona à Tabela 'Backup: Aluno' os Alunos com <=18 anos" 12O 3.4. Construção de Consultas Actualizar 120 Exercício de Aplicação #21: Construção da Consulta Actualizar "Passa para Maiúscula o Nome dos Cursos" 121 Tutorial 6: Modelos Conceptual, Lógico e Físico da BDServAcad 123 Objectivos 123 1. Enquadramento no Diagrama de Classes UML 124 1.1. Classes 124 1.2. Relações 126 1.3. Associações 126 1.3.1. Associações de Ordem Superior 127 1.3.2. Associações Representadas por Classes 128 1.3.3. Associações Reflexivas 128 1.3.4. Agregações 128 1.4. Generalização 129 2. Sobre os diferentes Níveis de Modelação de BD 130 2.1. Modelação Conceptual 131 2.2. Modelação Lógica 131 2.3. Modelação Física 131 3. Modelo Conceptual da BDServAcad 135 4. Modelo Lógico da BDServAcad 136 5. Modelo Físico da BDServAcad 138 6. Implementação do Modelo Físico da BDServAcad 139
xiii Exercício de Aplicação #22: Construção da Tabela "Docente" da BDServAcad 139 Exercício de Aplicação #23: Construção da Tabela "Disciplina" da BDServAcad 141 Exercício de Aplicação #24: Construção da Tabela "DisciplinasDoCurso" da BDServAcad 142 Exercício de Aplicação #25: Construção da Tabela "Inscrição" da BDServAcad 144 Exercício de Aplicação #26: Construção da Tabela "Classificação" da BDServAcad 146 Exercício de Aplicação #27: Construção da Tabela "Contacto" da BDServAcad 147 Exercício de Aplicação #28: Construção da Tabela "Endereço" da BDServAcad 148 Exercício de Aplicação #29: Construção da Tabela "Telefone" da BDServAcad 150 Exercício de Aplicação #30: Construçãoda Tabela "ContactosDoDocente" da BDServAcad 151 Exercício de Aplicação #31: Construção da Tabela "ContactosDoAluno" da BDServAcad 153 Exercício de Aplicação #32: Eliminação dos Campos de Contacto da Tabela "Aluno" da BDServAcad 154 Exercício de Aplicação #33: Criação das Relações em falta na BDServAcad 154 Tutorial 7: Construção de Formulários 157 Objectivos 157 1. Mecanismos de Construção de Formulários 158 1.1. Construção Automática de Formulários 158 1.1.1. Inserção do Título, Data, Hora e Número de Página num Formulário 159 Exercício de Aplicação #34: Construção do Formulário "Entrada de Alunos" 160 Exercício de Aplicação #35: Alteração da Vista Predefinida de um Formulário 161 Exercício de Aplicação #36: Construção do Formulário "Entrada de Disciplinas" 163 1.2. Construção Guiada de Formulários 164 Exercício de Aplicação #37: Definição de um Estilo de Formatação Automática 165 Exercício de Aplicação #38: Construção do Formulário "Entrada de Cursos" 166
xiv Microsoft Access 2007: Curso Teórico-Prático 1.3. Construção Manual de Formulários 167 Exercício de Aplicação #39: Construção do Formulário "Entrada de Docentes" 172 2. Configuração de Formulários na Vista de Esquema 174 3. Construção de Formulários com Subformulários 174 3.1. Construção Assistida de um Formulário com Subformulário 175 Exercício de Aplicação #40: Construção da "Consulta para o Formulário Atribuição de Disciplinas aos Cursos" 177 Exercício de Aplicação #41 : Construção do Formulário com Subformulário "Atribuição de Disciplinas aos Cursos" 177 Exercício de Aplicação #42: Construção da "Consulta Disciplinas Atribuíveis ao Curso" 180 Exercício de Aplicação #43: Refinamento da Caixa de Combinação associada ao Campo "RefCódDisciplina" 181 3.2. Construção e Inserção Assistida de um Subformulário 182 Exercício de Aplicação #44: Inserção dos Dados referentes aos Contactos no Formulário "Entrada de Alunos" 184 3.3. Construção e Inclusão Manual de um Subformulário 186 Exercício de Aplicação #45: Construção da "Consulta para o Subformulário Contactos do Docente" 187 Exercício de Aplicação #46: Construção do "Subformulário Contactos do Docente" 188 Exercício de Aplicação #47: Inserção do "Subformulário Contactos do Docente" no Formulário "Entrada de Docentes" 189 Exercício de Aplicação #48: Construção do Formulário com Subformulário "Inscrição dos Alunos nas Disciplinas" 191 Exercício de Aplicação #49: Construção da "Consulta para o Formulário Inscrição dos Alunos nas Disciplinas" 193 Exercício de Aplicação #50: Construção do "Subformulário Inscrição dos Alunos nas Disciplinas" 193 Exercício de Aplicação #51: Construção da "Consulta para o Subformulário Inscrição dos Alunos nas Disciplinas" 194 Exercício de Aplicação #52: Construção da "Consulta Disciplinas em que o Aluno pode Inscrever-se" 195
xv Tutorial8: Automatização de Formulários através de Macros 199 Objectivos 199 1. Considerações de Segurança sobre a Execução de Código VBA: Macros e Módulos 200 Exercício de Aplicação #53: Inclusão do directório da BDServAcad nas "Localizações Fidedignas" 201 2. Construção de Macros 203 Exercício de Aplicação #54: Construção do Formulário "Pesquisa de Alunos" 204 Exercício de Aplicação #55: Construção da Consulta Parametrizada "Consulta para o Formulário Pesquisa de Alunos" 206 Exercício de Aplicação #56: Construção da "Macro para o Formulário Pesquisa de Alunos" 207 3. Definir Múltiplas Macros dentro de um Objecto Macro 208 4. Especificação de Condições nas Macros 208 Exercício de Aplicação #57: Construção do Formulário "Lançamento de Classificações" 208 Exercício de Aplicação #58: Construção da Consulta Parametrizada "Consulta para o Formulário Lançamento de Classificações" 211 Exercício de Aplicação #59: Construção da Consulta Parametrizada "Consulta Alunos Inscritos numa Disciplina" 212 Exercício de Aplicação #60: Construção da Consulta Parametrizada "Consulta Inscrições Válidas dum Aluno numa Disciplina" 213 Exercício de Aplicação #61: Construção da "Macro para o Formulário Lançamento de Classificações" 213 Exercício de Aplicação #62: Construção da Consulta Acrescentar Parametrizada "Consulta Lançar a Classificação" 215 Tutorial 9: Construção de Relatórios 217 Objectivos 217 1. Mecanismos de Construção de Relatórios 218 1.1. Mecanismo de Construção Automática de Relatórios 218 1.2. Mecanismo de Construção Guiada de Relatórios 218 1.3. Mecanismo de Construção Manual de Relatórios 218 2. Definição de Agrupamentos e Totais 222
xvi Microsoft Access 2007: Curso Teórico-Prático Exercício de Aplicação #63: Construção do Relatório "Ficha de Classificações" 223 3. Mecanismos de Construção de Relatórios com Sub-relatórios e Subformulários 225 Exercício de Aplicação #64: Construção do Relatório "Alunos Inscritos nas Disciplinas" 227 Tutoria/10: /nterligação dos Objectos numa Aplicação Fina/ 231 Objectivos 231 1. Interligação entre Formulários e Relatórios Usando Botões de Comando 232 Exercício de Aplicação #65: Inserção de Botões de Comando no Formulário "Pesquisa de Alunos".232 2. Construção de Painéis de Navegação 234 Exercício de Aplicação #66: Construção do Painel de Navegação da BDServAcad 236 3. Construção de Barras de Menus Personalizadas 237 Exercício de Aplicação #67: Construção da Barra de Menus da BDServAcad 238 4. Limitar as Funcionalidades do Microsoft Access que estão Acessíveis 240 5. Controlo de Acesso à BD 241 Tutoria/ 11: Breve Descrição da Linguagem SQL 243 Objectivos 243 1. Introdução à Linguagem SOL 244 2. Definição de Dados usando a Linguagem SOL 244 2.1. Criação de Tabelas (uso da Instrução CREATE TABLE) 245 2.2. Alteração da Estrutura de uma Tabela (uso da Instrução ALTER TABLE) 247 2.3. Eliminação de Tabelas e de índices de Tabelas (uso da Instrução DROP) 247 2.4. Criação de índices numa Tabela (uso da Instrução CREATE INDEX) 248 3. Manipulação de Dados usando a Linguagem SOL 248 3.1. Extracção, Filtragem, Agregação, Sumarização e Ordenação de Dados (uso da Instrução SELECT e das Cláusulas WHERE, GROUP BY, HAVING e arder BY) 249
xvii 3.2. Consultas com Subconsultas (uso dos Predicados ANY, SOME, ALL e dos Operadores [NOT] IN e [NOT] EXISTS) 251 3.3. Definição de Consultas Parametrizadas (uso da Instrução Declarativa PARAMETERS) 252 3.4. União entre duas ou mais Tabelas e/ou Consultas (uso do Operador UNION) 252 3.5. Elaboração de uma Consulta da Categoria "Criar Tabela" (uso da Instrução SELECT INTO) 253 3.6. Elaboração de uma Consulta da Categoria "Eliminar" (uso da Instrução DELETE) 254 3.7. Elaboração de uma Consulta da Categoria "Actualizar" (uso da Instrução UPDATE) 254 3.8. Elaboração de uma Consulta da Categoria "Acrescentar" (uso da Instrução INSERT INTO) 255 Bibliografia Recomendada 257 1. Teoria das Bases de Dados e Modelo Relacional 257 2. Modelação de Bases de Dados 257 3. Microsoft Access 258 4. O Microsoft Access como Ferramenta Analítica 258 5. Programação VBA em Microsoft Access 258 6. Linguagem SQL 258