Sie sind auf Seite 1von 25

Professor Rogrio Guaraci dos Santos

Microsoft Access

e-mail: rogerio@ppgia.pucpr.br

Princpios de Informtica

BANCO DE DADOS - ACCESS

Sumrio
1. 2. Objetivo............................................................................................................................................. 3 Base Terica...................................................................................................................................... 3 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 3. 3.1 3.2 3.3 3.4 3.4.1 3.4.2 3.4.3 3.4.4 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.6 3.7 4. Princpios de Banco de Dados .................................................................................................. 3 Definies Iniciais ............................................................................................................ 3 A Importncia de se Ter/Manter Bancos de Dados .......................................................... 3 Descrio dos Dados A Modelagem de Dados .............................................................. 4 Implementando um Modelo de Dados .............................................................................. 5 Um Modelo Completo ...................................................................................................... 8 O Access ................................................................................................................................. 10 O Banco de Dados a Ser Criado.............................................................................................. 10 Inicializao do Access ........................................................................................................... 10 Criando as Tabelas .................................................................................................................. 12 Estabelecendo os Relacionamentos ........................................................................................ 13 Criando as Tabelas de Juno ......................................................................................... 13 Relacionando as Tabelas ................................................................................................. 14 Integridade Referencial ................................................................................................... 15 Insero de Dados ........................................................................................................... 15 Formulrios ............................................................................................................................. 16 Como Criar...................................................................................................................... 16 Subformulrios ............................................................................................................... 19 Criando um Formulrio Hierrquico .............................................................................. 19 Ajustando os Formulrios ............................................................................................... 21 Consultas ................................................................................................................................. 22 Relatrios ................................................................................................................................ 23

Seqncia da Aula........................................................................................................................... 10

Referncias ...................................................................................................................................... 25

Pgina 2/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

1. OBJETIVO
Introduzir os principais conceitos sobre banco de dados e construir um pequeno exemplo utilizando o MS-Access, verso 2000, para ambientao com o uso desse tipo de ferramenta.

2. BASE TERICA
2.1 Princpios de Banco de Dados
2.1.1 Definies Iniciais Dado. Conjunto de smbolos arranjados a fim de representar a informao fora da mente humana. Tambm poderia se definir dados como fatos registrados ou representaes de fenmenos.
Elemento de Dado. Subconjunto de smbolos que compem um dado com significado especfico. Exemplo: O nmero de alunos matriculados na disciplina mate01 no primeiro semestre de 2000 45. Elementos de dados: Disciplina: Perodo: Matriculados: mate01 primeiro semestre de 2000 45

Informao. o conhecimento derivado dos dados, ou o sentido ou a interpretao atribuda ao dado, tendo como complemento o contexto geral. Genericamente, poder-se-ia representar a relao entre dado e informao da seguinte forma: Informao = Dado + Contexto Do exemplo acima, podem ser derivadas informaes como: A disciplina de mate01 vai ser ministrada (contexto: mnimo de 20 alunos para iniciar). O nmero de alunos inscritos exigir a criao de duas turmas (contexto: mximo de 35 alunos por turma). Banco de Dados. uma coleo de dados inter-relacionados representando informaes sobre um domnio 1 especfico, como sobre determinado empreendimento ou negcio. Exemplos: lista telefnica, fichas de acervo de uma biblioteca, locao de vdeo, etc. SGBD - Sistema Gerenciador de Bancos de Dados (DBMS Database Management System). Consiste em uma coleo de dados inter-relacionados e um conjunto de programas para prover acesso a esses dados. O seu principal objetivo proporcionar um ambiente conveniente e eficiente para retirar e armazenar dados em um banco de dados. Exemplos: MS-Access, Paradox e Personal Oracle, para PCs 2. 2.1.2 A Importncia de se Ter/Manter Bancos de Dados Qualquer organizao movida pelas informaes que detm sobre seu negcio: informaes sobre clientes e suas necessidades, informaes sobre custos de operao e de matrias-primas, sobre controle de pessoal, sobre vendas e uma infinidade de outras tem impacto sobre o desempenho da organizao. Assim sendo, agilidade na obteno de informaes, bem como a manuteno e armazenamento de dados importantes, sempre relevante em maior ou menor grau. Isso conseguido especialmente atravs do uso de Sistemas de Informao, que so sistemas computadorizados baseados fortemente na utilizao de Sistemas Gerenciadores de Banco de Dados (SGBDs). A rapidez em se obter e analisar dados/informaes pode ser crucial para a competitividade e sobrevivncia de uma empresa.
1 2

Domnio aqui tem o significado de assunto. Personal Computers, ou computadores pessoais.

Pgina 3/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

2.1.3 Descrio dos Dados A Modelagem de Dados De modo a descrever a estrutura de um banco de dados, necessrio definir o conceito de modelo de dados. Um modelo de dados uma coleo de ferramentas conceituais para a descrio dos dados, dos relacionamentos entre eles, seus significados e as restries s quais esto submetidos. Tais modelos existem para procurar facilitar a comunicao entre os especialistas de informtica e o cliente, geralmente leigo sobre o assunto. Existem vrios tipos de modelos, mas vamos nos ater ao modelo Entidade-Relacionamento por ser um modelo da fcil entendimento. Na Tabela 1 so mostrados os elementos bsicos utilizados na construo de tal modelo, e na Tabela 2 temos exemplos de alguns pequenos modelos de dados, sem a definio dos atributos. Na Figura 1 representado um modelo contendo todos os elementos (incluindo os atributos) tanto na representao tradicional como na alternativa. Trabalharemos com a segunda forma por ser mais compacta. Elemento
Entidade

Descrio
Abstrao de um objeto do mundo real: um ser, um fato, uma coisa, um organismo social, etc. Sempre tem atributos. Informaes que se deseja guardar sobre o objeto, resultado do processo de abstrao. Associao existente entre elementos de entidades. Podem ter ou no atributos. Nmero de ocorrncias possveis de cada entidade envolvida num relacionamento.
3

Representao Grfica

Atributo

Relacionamento

Cardinalidade

1-1 1-N N-N

Tabela 1: Elementos de um modelo de entidade-relacionamento.

Modelo
1

Descrio Textual
N Funcionrio

Departamento
2

lotao

Um departamento lota N funcionrios; cada funcionrio lotado em 1 departamento. Um departamento chefiado por 1 funcionrio; um funcionrio chefe de 1 departamento. Um aluno pode se matricular em N disciplinas; cada disciplina pode ter N alunos matriculados. Um departamento lota N funcionrios e possui 1 chefe (que tambm um funcionrio); cada funcionrio lotado em 1 departamento e um funcionrio chefe de 1 departamento. Obs.: Esse modelo uma juno dos modelos 1 e 2.

Departamento
3

chefia

Funcionrio

Aluno
4

matrcula

Disciplina

1 Departamento

lotao

N Funcionrio

chefia 1 1

Tabela 2: Exemplos de modelos de entidade-relacionamento sem a definio de atributos.

Abstrair significa considerar apenas os atributos mais importantes no contexto considerado, desprezando outros. Isto simplifica os problemas.

Pgina 4/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Matrcula Cdigo depto Departamento Descrio Cdigo depto Dt Incio Matrcula Rg Dt Fim Cic N lotao N

Nome

Sexo Data Nasc. Nacionalidade Estado Civil

Funcionrio

Data Admisso Telefone Endereo

Re presentao Tradicional
N N

Departamento
Cdigo depto Descrio

lotao
Cdigo depto Matrcula Dt Incio Dt Fim

Funcionrio
Matrcula Nome Data Nasc. Nacionalidade Sexo Estado Civil Rg Cic Endereo Telefone Data Admisso

Re presentao Alte rnativa

Figura 1: Exemplo de modelo de entidade-relacionamento com a definio de atributos.

2.1.4 Implementando um Modelo de Dados


2.1.4.1 Tabelas

Para implementar (construir) um banco de dados a partir de um modelo de dados preciso transform-lo em uma representao que possa ser entendida ou repassada para o SGBD. Isso pode ser feito, entre outras coisas, atravs da utilizao de tabelas. Uma tabela um objeto criado para armazenar dados fisicamente (isto , no computador ou em algum outro local). Entidades e relacionamentos com atributos podem ser convertidos em tabelas, sendo os dados de cada entidade/relacionamento guardados em linhas (registros), e os atributos colocados em colunas (campos), conforme exemplificado na Figura 2.
Entidade Tabela Cliente
Colunas

Cliente RG Nome Cidade Telefone Registro

Cliente RG Nome Cidade Telefone

RG
23451 Linhas 63684 42457

Nome
Jos da Silva Maria Aparecida Roberto Dias

Cidade
Ponta Grossa Curitiba Curitiba

Telefone
2666567 2345345 3455297

Campo (Telefone)

Figura 2: Reduo de uma entidade (lgica) em uma tabela (fsica).

Pgina 5/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

2.1.4.2 Chaves Primrias

Uma chave primria um atributo/coluna, ou conjunto de atributos/colunas, cujo valor permite identificar/localizar unicamente uma instncia (ocorrncia) de uma entidade/tabela. Exemplo: na Figura 1, os atributos Matrcula, Rg ou Cic, isoladamente, permitem identificar unicamente um funcionrio. Esses atributos so definidos como chaves candidatas: um deles pode ser definido como chave primria. J o atributo Nome no pode ser uma chave candidata, pois no impossvel encontrar duas pessoas com o mesmo nome (como Joo da Silva), o que no garante a identificao de um nico registro numa tabela. Muito menos o atributo Cidade pode ser chave candidata. Na Figura 2, as chaves candidatas so as colunas/campos Rg e Telefone 4. Se for optado utilizar a coluna/campo Rg para identificar cada registro, essa ser a chave primria dessa tabela, como indicado na Figura 3. Ao se criar uma tabela em um SGBD ser sempre necessrio que se defina a chave primria que ser utilizada nessa tabela. Sem isso ser feito torna-se difcil localizar dados na tabela, e o SGBD geralmente no aceita salvar uma tabela sem essa definio (como o Access).
Tabela Cliente chave candidata chave primria RG
23451 63684 42457

Nome
Jos da Silva Maria Aparecida Roberto Dias

Cidade
Ponta Grossa Curitiba Curitiba

Telefone
2666567 2345345 3455297

no chave Cliente RG Nome Cidade Telefone

Figura 3: Chaves candidatas e chave primria.

2.1.4.3 Chaves Estrangeiras

Existem alguns tipos de objetos que existem subordinados existncia de outros objetos dominantes. Por exemplo, um relacionamento na tabela Lotao s possvel se existirem um Departamento e um Funcionrio relacionados. Nesse caso, o relacionamento definido unicamente atravs da combinao das chaves primrias de cada tabela dominante - Cdigo Depto e Matrcula mais algum atributo prprio da tabela - Dt Incio) - formando a chave primria da tabela Lotao, como sugerido na Figura 4. As chaves das tabelas dominantes so ditas estrangeiras na tabela Lotao, pois so "importadas" das tabelas Departamento e Funcionrio.

Est se assumindo como hiptese que cada pessoa tem um nmero de telefone distinto das outras pessoas.

Pgina 6/24

Princpios de Informtica

BANCO DE DADOS - ACCESS Um departamento pode estar referenciado N vezes na tabela lotao, pois pode lotar N funcionrios. Um funcionrio pode aparecer N vezes na tabela lotao, pois pode estar lotado em vrios departamentos em diferentes perodos de tempo. Um relao de lotao definida unicamente (chave primria) pela data de incio da lotao, pelo cdigo do depto e pela matrcula (do funcionrio), sendo esses dois ltimos chaves estrangeiras: s podem ser valores existentes nas tabelas Departamento e Funcionrio.

Modelo Lgico Departamento N Lotao N Funcionrio

Departamento Cdigo depto Descrio 1 N

Lotao N Cdigo depto Matrcula Dt Incio Dt Fim 1

Funcionrio Matrcula Nome Data Nasc. Nacionalidade Sexo Estadi C ivil Rg Cic Endereo Telefone Data Admisso

chave primria chave estrangeira atributo da chave

Modelo Fsico

Figura 4: Modelo de dados com relacionamento transformado em tabelas: chaves primrias e chaves estrangeiras.

No modelo lgico/fsico mostrado na Figura 4 um funcionrio estar lotado em departamentos diferentes desde que em perodos distintos de tempo, indicado pelo atributo Dt Incio como integrante da chave primria, juntamente com as duas chaves estrangeiras. Isso identifica unicamente cada um dos perodos de lotao do funcionrio. Na Figura 5 mostrado um exemplo de como ficaria preenchida a tabela de Lotao conforme a especificao feita acima. Note que os campos referentes s chaves estrangeiras, que combinados com o campo do atributo Dt Incio definem a chave primria dessa tabela, s podem conter valores previamente inclusos nas tabelas de origem, Departamento e Funcionrio. Nessa tabela possvel observar que o funcionrio com nmero de matrcula 34535 saiu do departamento com cdigo 101 em 14/05/1999 e passou a trabalhar no departamento com cdigo 102 em 15/05/2000.

Pgina 7/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Tabela Departamento Tabela Lotao Cdigo depto Descrio


101 102 103 Administ

Cdigo depto Matrcula Dt Incio


Diretoria 101 Engenharia 101 76786 34535 01/02/1999 15/05/1999 102 34535

Dt Fim

12/09/1989 14/05/1999

Tabela Funcionrio

Matrcula
34535 76786 08789

Nome
Joo Roberto Alcides Paula

chave primria chave estrangeira valores importados atributo da chave

Figura 5: Exemplo de registros na tabela Lotao definida conforme a Figura 4. Note-se que as chaves estrangeiras devem existir como chaves primrias nas tabelas de origem, de onde os valores so importados.

Outra situao de dominncia entre objetos envolve o que se denomina entidades fracas. Na Figura 4 as entidades Departamento e Funcionrios so ditas entidades fortes ou dominantes, pois no tem a sua existncia sujeita a outro objeto: elas possuem chave primria prpria. Entidades fracas, por sua vez, dependem de entidades fortes para existirem: sua chave primria s pode ser definida se for composta por uma chave estrangeira, proveniente da entidade forte, como exemplificado na Figura 6.

Funcionrio

dependncia

Dependente

Funcionrio Matrcula Nome Data Nasc. :


chave primria

Dependente 1 N Matrcula Nome Data Nasc.

Uma ocorrncia na entidade fraca Dependente s pode ser identificada unicamente se estiver associada a uma ocorrncia na entidade Funcionrio: "um dependente s pode existir se depender de algum".

chave estrangeira

atributo da chave

Figura 6: Uma entidade fraca depende de chaves estrangeiras para formar a sua prpria chave; essa entidade s existe se estiver relacionada a uma entidade forte.

2.1.5 Um Modelo Completo comum empresas manterem dados cadastrais de funcionrios. Um modelo de ficha com esses dados mostrado na Figura 7.
DADOS CADASTRAIS DO FUNCIONRIO Matrcula: Data Nasc: Est. Civil: Nome: Nacionalidade: RG: Sexo: CIC:

Pgina 8/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Endereo: Data Admisso: Cargo: Cargo: Depto: Depto: Nome: Nome: Figura 7: Exemplo de ficha cadastral. Cargos Ocupados Dt Incio: Dt Incio: Departamento de Lotao Dt Incio: Dt Incio: Dependentes

Telefone:

Dt Fim: Dt Fim: Dt Fim: Dt Fim: Data Nasc: Data Nasc:

Se tal ficha cadastral fosse implementada eletronicamente, seria necessrio armazenar os dados em um banco de dados no computador. O modelo de dados correspondente a esse modelo de ficha pode ser visto na Figura 8. Transformando esse modelo de dados em definies das tabelas a serem construdas em um SGBD obtm-se como resultado o modelo fsico 5 apresentado na Figura 9. A partir desse ltimo modelo j possvel iniciar a implementao em computador do banco de dados pretendido.
N N N
Cdigo depto Descrio Cdigo depto Matrcula Dt Incio Dt Fim Matrcula Nome Data Nasc. Nacionalidade Sexo Estado Civil Rg Cic Endereo Telefone Data Admisso

Departamento

lotao

Funcionrio

dependncia

Dependentes
Matrcula Nome Data Nasc.

Cargos
Cdigo cargo Descrio

ocupao
Cdigo cargo Matrcula Dt Incio Dt Fim

Modelo de Dados Cadastro de Funcionrios

Figura 8: Modelo de Dados Diagrama de Entidade-Relacionamento.

A bem da verdade, o modelo fsico teria outros detalhes a se definir, como veremos mais adiante.

Pgina 9/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Departamento 1 Cdigo depto Descrio N

Lotao N Cdigo depto Matrcula Dt Incio Dt Fim 1

Funcionrio Matrcula Nome Data Nasc. Nacionalidade Sexo Estado Civil Rg 1 Cic Endereo Telefone Data Admisso

chave primria chave estrangeira atributo da chave

Dependentes 1 N Matrcula Nome Data Nasc.

Cargo 1 Cdigo cargo Descrio N

Ocupao N Cdigo cargo Matrcula Dt Incio Dt Fim

Modelo Fs ico Cadastro de Func ion rios

Figura 9: Modelo fsico gerado a partir do diagrama de Entidade-Relacionamento .

2.2 O Access
O Access um SGBD interativo para o Microsoft Windows. Sua utilizao bastante simples, no sendo necessrio programar para criar um banco de dados. No ambiente dessa ferramenta trabalha-se com objetos, que so unidades que podem ser selecionadas e manipuladas. No Access existem alguns tipos de objetos que podem ser criados e utilizados, tais como tabelas, formulrios e relatrios. Outros recursos tambm considerados como objetos so: figuras, grficos, caixas de dilogos, etc. No prximo item utilizaremos o Access para criar um pequeno banco de dados.

3. SEQNCIA DA AULA
3.1 O Banco de Dados a Ser Criado
De posse de um modelo fsico, possvel passar para a fase de implementao usando um SGBD. Assim sendo, vamos utilizar o MS-Access para implementar o modelo mostrado na Figura 9.

3.2 Inicializao do Access


Para iniciar o Access basta procurar por Microsoft Access no menu Iniciar/Programas. O banco de dados a ser criado ser vazio, e dever ser salvo na pasta c:\temp\<seu nome> (ex.: c:\temp\fulano), como mostrado na Figura 10.

Leitura: 1 departamento aparece N vezes na tabela Lotao; 1 funcionrio aparece 1 vez na tabela Lotao; 1 cargo aparece N vezes na tabela Ocupao; 1 funcionrio aparece N vezes na tabela Ocupao (N cargos ao longo do tempo); 1 funcionrio aparece N vezes na tabela Dependente.

Pgina 10/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

c:\temp\fulano

Banco de dados vazio

Nome do BD (MeuDB.mdb)

Figura 10: Criao de uma banco de dados (vazio) no Access.

Na Figura 11 temos a janela do Access com o banco de dados MeuDB vazio criado. Nessa figura pode-se ver a relao de objetos que podem ser manipulados nessa ferramenta, estando selecionada a opo tabelas; vamos cri-las no prximo item.

Figura 11: Aspecto da tela do Access com um banco de dados aberto.

Para salvar o banco de dados em outro disco, como o disquete, necessrio fechar o banco de dados (sem esquecer de salv-lo na pasta atual). Em seguida, atravs do Windows Explorer o arquivo *.mdb (exemplo: MeuDB.mdb) contendo o banco de dados deve ser copiado para o outro disco, ou disquete.

Pgina 11/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

3.3 Criando as Tabelas


Existem trs formas de se criar uma tabela no Access. Em nosso exemplo, vamos criar as tabelas no modo estrutura. Para tal, basta selecionar Criar tabela no modo estrutura (veja Figura 11) e clicar em Modo Estrutura no menu na parte superior da janela. Assim sendo, crie as tabelas especificadas na Tabela 3 at a Tabela 6. Note que nessas tabelas os atributos que compem a chave primria esto em negrito. Para definir um atributo como chave primria, basta selecion-lo e clicar sobre o cone correspondente, mostrado ao lado.
TABELA FUNCIONRIO Campo Tipo de Dados (Propriedades do Campo - Geral) 7 AutoNumerao Matrcula Nome Texto (Tamanho do campo: 80, Requerido: Sim) - veja Figura 12 Data Nascimento Data/Hora [Formato Data abreviada, Mscara de entrada 00/00/0000;0;_ (clicar em ... , selecionar Data Abreviada e concluir), Legenda Dt.Nasc.,Requerido: Sim] Nacionalidade Texto (Tamanho do campo 20, Requerido Sim) Sexo Assistente de pesquisa, "eu digitarei os valores que eu desejo" e avanar, nmero de colinas 1, Col1: F na 1a linha, M na 2a linha e concluir (Tamanho do campo 2, Regra de validao "F" Ou "M", Requerido Sim) Estado Civil Assistente de pesquisa, "eu digitarei os valores que eu desejo" e avanar, nmero de colinas 1, Col1: Solteiro na 1a linha, Casado na 2a linha, Divorciado na 3a linha, Vivo na 4a linha e concluir (Tamanho do campo 15, Legenda Est.Civil,Requerido Sim) RG Texto [Tamanho do campo 20, Mscara de entrada: Carteira de Identidade (clicar em ... , selecionar Carteira de identidade, avanar e mudar para 99.000.000, concluir), Requerido Sim] CIC Texto (Tamanho do campo 20, Requerido Sim) Endereo Texto (Tamanho do campo 120, Requerido Sim) Telefone Texto [Mscara de entrada: (09) 999-9999;;_ (clicar em ... , selecionar Telefone, avanar e mudar mscara para (09) 999-9999, concluir), Requerido Sim] Data Admisso Data/Hora [Formato Data abreviada, Mscara de entrada 00/00/0000;0;_ (clicar em ... , selecionar Data Abreviada e concluir), Legenda Dt.Admis.,Requerido: Sim] Tabela 3: Definio dos campos da tabela Funcionrio. TABELA DEPARTAMENTO Campo Tipo de Dados (propriedades) Nmero (Tamanho do campo Inteiro longo, Valor padro <em branco>, Requerido Sim, Cdigo Indexado Sim(duplicao no autorizada)) Descrio Texto (Tamanho do campo 80, Requerido Sim) Tabela 4: Definio dos campos da tabela Departamento. TABELA CARGO Campo Cdigo Descrio

Tipo de Dados (propriedades) Nmero (Tamanho do campo Inteiro longo, Valor padro <em branco>, Requerido Sim, Indexado Sim(duplicao no autorizada)) Texto (Tamanho do campo 80, Requerido Sim) Tabela 5: Definio dos campos da tabela Cargo.

Apenas as propriedades com valores diferentes dos valores padres (defaults) so mostradas, indicando a alterao.

Pgina 12/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

TABELA DEPENDENTE Campo Tipo de Dados (propriedades) Nmero (Tamanho do campo Inteiro longo, Valor padro <em branco>, Requerido Sim) Matrcula Texto (Tamanho do campo 80, Requerido Sim) Nome Data Nascimento Data/Hora [Formato Data abreviada, Mscara de entrada 00/00/0000;0;_ (clicar em ... , selecionar Data Abreviada e concluir), Legenda Dt.Nasc.,Requerido: Sim] Tabela 6: Definio dos campos da tabela Dependente.

Figura 12: Definio dos campos da tabela Funcionrio no Access: campo Nome.

Mais adiante, ao definirmos os relacionamentos entre as tabelas sero estabelecidas regras de integridade referencial que o Microsoft Access utiliza para garantir que os relacionamentos entre registros de tabelas relacionadas sejam vlidos e que voc no exclua ou altere, acidentalmente, dados relacionados. Alm disso, quando a integridade referencial imposta, voc no pode inserir um valor no campo da chave estrangeira da tabela relacionada que no exista na chave primria da tabela "forte" ou "dominante". Exemplo: na tabela Dependente, a matrcula s pode ser de um funcionrio existente na tabela Funcionrio. Para estabelecer a integridade referencial, algumas condies devem ser satisfeitas, entre elas o fato dos campos relacionados deverem ter o mesmo tipo de dados. Uma exceo, e que ocorre no modelo que estamos construindo, a seguinte: um campo AutoNumerao (veja Matrcula na Tabela 3) pode ser relacionado a um campo Nmero com uma configurao da propriedade tamanho do campo como Inteiro longo (veja Tabela 4, Tabela 5 e Tabela 6). Detalhes sero discutidos mais adiante.

3.4 Estabelecendo os Relacionamentos


3.4.1 Criando as Tabelas de Juno Relacionamentos podem ter ou no atributos. Um relacionamento sem atributos geralmente associa um campo de uma determinada tabela a uma chave primria de outra tabela, que atuar como uma chave estrangeira para validao daquele campo. Por exemplo, o campo matrcula na tabela Dependente s pode assumir valores de matrcula de funcionrios cadastrados - o que diz o bom Pgina 13/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

senso - o que garante que s dependentes de funcionrios cadastrados sejam inseridos. Assim sendo, o campo matrcula na tabela Dependente uma chave estrangeira oriunda da tabela Funcionrio. No caso de relacionamentos com atributos, uma tabela de juno deve ser criada para conter esses atributos, sendo a chave primria dessa tabela composta pelas chaves estrangeiras oriundas das chaves primrias de cada tabela relacionada. Por exemplo, as tabelas Funcionrio e Departamento esto relacionadas atravs da tabela de juno Lotao, ao passo que as Tabelas Funcionrio e Cargo so relacionados atravs da tabela de juno Ocupao. Alm das chaves estrangeiras oriundas das tabelas relacionadas, cada uma dessas possuem os seguintes atributos: data de incio e de fim da lotao/ocupao de cada funcionrio. Antes de construir o relacionamento indicado no modelo de dados, cada tabela de juno deve ser criada. Para nosso exemplo, crie as tabelas conforme definido na Tabela 7 e na Tabela 8.
TABELA DE JUNO LOTAO Campo Tipo de Dados (propriedades) Nmero (Tamanho do campo Inteiro longo, Valor padro <em branco>, Requerido Sim) Matrcula Nmero (Tamanho do campo Inteiro longo, Valor padro <em branco>, Requerido Sim) CodDepto Data/Hora [Formato Data abreviada, Mscara de entrada 00/00/0000;0;_ (clicar em ... , selecionar Data Incio Data Abreviada e concluir), Legenda Dt.Incio.,Requerido: Sim] Data Fim Data/Hora [Formato Data abreviada, Mscara de entrada 00/00/0000;0;_ (clicar em ... , selecionar Data Abreviada e concluir), Legenda Dt.Fim.,Requerido: Sim] Tabela 7: Definio dos campos da tabela de juno Lotao. TABELA DE JUNO OCUPAO Campo Tipo de Dados (propriedades) Nmero (Tamanho do campo Inteiro longo, Valor padro <em branco>, Requerido Sim) Matrcula Nmero (Tamanho do campo Inteiro longo, Valor padro <em branco>, Requerido Sim) CodCargo Data/Hora [Formato Data abreviada, Mscara de entrada 00/00/0000;0;_ (clicar em ... , selecionar Data Incio Data Abreviada e concluir), Legenda Dt.Incio.,Requerido: Sim] Data Fim Data/Hora [Formato Data abreviada, Mscara de entrada 00/00/0000;0;_ (clicar em ... , selecionar Data Abreviada e concluir), Legenda Dt.Fim.,Requerido: Sim] Tabela 8: Definio dos campos da tabela de juno Ocupao.

3.4.2 Relacionando as Tabelas O Access um SGBD Relacional - SGBDR. Como o prprio nome sugere, ele permite estabelecer relacionamentos entre as tabelas. Vamos fazer isso relacionando as tabelas Funcionrio e Departamento atravs da tabela de juno Lotao. Para fazer isso, os passos a seguir so os seguintes: 1) Com todas as tabelas fechadas, na janela de Banco de Dados selecionar a opo Ferramentas/Relacionamentos..., ou clicar no cone correspondente na barra de ferramentas, mostrado ao lado. 2) Na janela Relacionamentos, selecionar a opo Relacionamentos/Mostrar tabela, ou clicar no cone correspondente na barra de ferramentas, mostrado ao lado. Na janela que abrir deve-se selecionar as tabelas Funcionrio, Lotao e Departamento (para fazer a seleo mltipla, basta clicar sobre o nome de cada tabela mantendo a tecla [Ctrl] pressionada). Feito isso, clicar em Adicionar. 3) Para facilitar o trabalho, dispor as tabelas de tal forma que a tabela de juno fique entre as outras duas. Departamentos 4) Arrastar o campo Matrcula, da tabela Funcionrio, para o Lotao campo Matrcula, da tabela Lotao. Na janela que se abrir, Impor Integridade Referencial marcando a caixa correspondente; no Funcionrio marcar as opes de propagao. 5) Arrastar o campo Cdigo/Departamento para o campo CodDepto/Lotao. Na janela que se abrir, Impor Integridade Referencial marcando a caixa correspondente; no marcar as opes de propagao. Pgina 14/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Nos relacionamentos acima, as tabelas Funcionrio e Departamento so as tabelas principais, e a tabela Lotao denominada tabela relacionada. importante que, ao se fazer um relacionamento, os campos relacionados tenham o mesmo tipo de dados e contenham o mesmo tipo de informaes. Um exceo quando a chave estrangeira do tipo AutoNumerao, que pode ser associada a um campo Nmero/Inteiro longo na tabela relacionada. O mesmo procedimento dever ser aplicado s outras tabelas para estabelecer os relacionamentos que faltam (Funcionrio x Ocupao e Funcionrio x Dependente) conforme mostrado na Tabela 9. O diagrama de relacionamentos resultante pode ser visto na Figura 13.
# 1 2 3 4 5 Tabela.Campo de origem Tabela.Campo de destino Funcionrio.Matrcula Lotao.Matrcula Departamento.Cdigo Lotao.CodDepto Funcionrio.Matrcula Ocupao.Matrcula Cargos.Cdigo Ocupao.CodCargo Funcionrio.Matrcula Dependentes.Matrcula Na caixa de relacionamento: impor integridade relacional. Tabela 9: Campos relacionados do modelo da Figura 9. OK

Figura 13: Diagrama de relacionamentos no Access correspondente ao modelo da Figura 9.

3.4.3 Integridade Referencial Como mencionado anteriormente, a integridade referencial um sistema de regras que um SGBDR como o Access possui assegurando que os relacionamentos entre os registros sejam vlidos e que dados relacionados no sejam alterados ou excludos acidentalmente. Algumas dessas regras so: 1. os dados de uma tabela relacionada s sero aceitos se existirem na tabela principal; 2. os dados de uma tabela principal s podero ser apagados ou modificados se no existirem dados relacionados a esse registro na tabela relacionada. A regra 2 acima no ser vlida se, ao criar o relacionamento no Access, as caixas de verificao Propagar Excluso dos registros relacionados e Propagar atualizao de campos relacionados forem selecionadas. Com essas caixas selecionadas, quando registros so excludos ou valores so alterados em uma tabela primria, o Access faz as alteraes necessrias nas tabelas relacionadas, preservando a integridade referencial. 3.4.4 Insero de Dados Para inserir dados em uma tabela basta dar um duplo clique sobre o nome dela: nesse momento aparece uma janela na forma de tabela onde os dados podem ser inseridos (modo Folha de Dados) . Entretanto, dependendo do tamanho da tabela (muito grande), essa forma pode no ser conveniente. Outra maneira de inserir dados em um banco de dados atravs de formulrios, os quais permitem a Pgina 15/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

insero de dados referentes a registros de tabelas diferentes simultaneamente, alm de possibilitar a formatao da tela numa forma mais ergonmica. o que ser visto a seguir.

3.5 Formulrios
3.5.1 Como Criar Nesse item vamos criar formulrios para inserir/editar dados nas tabelas Funcionrio, Cargo, Departamento e Dependente. Mais adiante montaremos um formulrio um pouco mais complexo: ser a nossa ficha cadastral completa. Para criar os formulrios para editar cada uma das tabelas citadas no pargrafo anterior, os passos descritos abaixo devem ser seguidos. 1. Mude para a guia Formulrio. 2. Solicite para criar um novo formulrio atravs do Assistente de Formulrio. 3. Selecione a tabela que ser fonte dos campos a serem colocados no formulrio (na Figura ao lado, a tabela Funcionrios foi Tabela: Funcionrio escolhida). 4. Selecione todos os campos disponveis para serem colocados no formulrio (basta clicar o boto >> ). Avance. 5. Defina o layout (coluna, tabela, folha de dados ou justificado) a ser utilizado para o formulrio (sugesto: para cada tabela, crie um formulrio com um tipo de layout diferente para voc ver quais so as variaes possveis). Avance. 6. Defina o estilo do formulrio (Arenito, Cianotipo Expedio, etc.), avance e conclua o processo definindo o ttulo do formulrio. Na Figura 14 mostrado um exemplo de um formulrio criado para inserir dados na tabela Funcionrio.

Figura 14: Formulrio para preenchimento da tabela Funcionrio - layout justificado.

Pgina 16/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Para os formulrios de edio das tabelas Cargos, Departamentos e Dependentes, o procedimento a ser realizado o mesmo. Uma vez construdos os formulrios, eles podem ser usados para inserir os dados. A Figura 15 indica qual ser o contedo das tabelas Departamento e Cargo.

TABELA DEPARTAMENTO Cdigo Descrio 1 Administrao 2 Financeiro 3 Engenharia

TABELA CARGO Cdigo 101 102 103 Descrio Gerente Supervisor Encarregado

Figura 15: Contedo das tabelas Departamento e Cargo.

Os formulrios referentes s tabelas da Figura 15 podem ser vistos na Figura 16. Esses formulrios foram criados a partir do assistente, porm para fazer com que mltiplas linhas/registros apaream necessrio realizar a seqncia de operaes descrita na Figura 17.

Figura 16: Formulrios criados paras as tabelas Departamento e Cargo.

Pgina 17/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Selecionar Departamento e clicar na opo Estrutura 1 Clicar o boto direito do mouse sobre a barra Detalhes

3 Selecionar Propriedades, e na Janela Seo: Detalhe, tab Formato, definir o atributo Pode ampliar como Sim

Figura 17: Seqncia de operaes para permitir mltiplas linhas no formulrio Departamento.

O formulrio para a tabela dependente pode ser criado de maneira semelhante aos das tabelas Departamento e Cargo. Na Figura 18 mostrado esse formulrio com os dependentes do funcionrio com nmero de matrcula 4.

Figura 18: Formulrio criado para a tabela Dependente mltiplas linhas permitem uma visualizao melhor do contedo em tabelas com poucos campos.

Para criar um formulrio no Access equivalente ficha cadastral mostrada na Figura 7, ser preciso trabalhar com subformulrios.

Pgina 18/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

3.5.2 Subformulrios 8 Um subformulrio um formulrio dentro de outro. O formulrio primrio chamado de formulrio principal e o formulrio dentro do formulrio denominado subformulrio. Uma combinao formulrio/subformulrio sempre citada como um formulrio hierrquico, um formulrio mestre/detalhe ou um formulrio pai/filho. Os subformulrios so eficientes principalmente quando se deseja exibir dados de tabelas ou consultas com um relacionamento um-para-muitos. Por exemplo, voc poderia criar um formulrio com um subformulrio para exibir dados de uma tabela de categorias e de uma tabela de produtos Figura 19. Os dados na tabela de categorias correspondem ao lado "um" do relacionamento. Os dados na tabela de produtos correspondem ao lado "muitos" do relacionamento - cada categoria pode ter mais de um produto.

Figura 19: Exemplo de subformulrio.

O formulrio principal e o subformulrio neste tipo de formulrio so vinculados de tal forma que o subformulrio exiba apenas registros que esto relacionados ao registro atual no formulrio principal. Por exemplo, quando o formulrio principal exibir a categoria Bebidas, o subformulrio exibir apenas os produtos na categoria Bebidas. Quando voc utiliza um formulrio com um subformulrio para inserir novos registros, o Microsoft Access salva o registro atual no formulrio principal quando voc entra no subformulrio. Isto assegura que os registros na tabela "muitos" tero um registro na tabela "um" com o qual se relacionar. Isto tambm salva automaticamente cada registro medida que so adicionados ao subformulrio. Um subformulrio pode ser exibido como uma folha de dados, como na ilustrao anterior, ou pode ser exibido como um formulrio simples ou contnuo. Um formulrio principal somente pode ser exibido como um formulrio simples. Um formulrio principal poder ter qualquer nmero de subformulrios se voc colocar cada um deles no formulrio principal. Voc tambm pode aninhar at sete nveis de subformulrios. Isto significa que voc pode ter um subformulrio dentro de um formulrio principal e um outro subformulrio dentro daquele subformulrio e assim por diante. Por exemplo, voc pode ter um formulrio principal que exiba clientes, um subformulrio que exiba pedidos e outro subformulrio que exiba detalhes do pedido. 3.5.3 Criando um Formulrio Hierrquico O objetivo agora montar uma ficha cadastral eletrnica completa para funcionrios semelhante mostrada na Figura 20.

O texto deste item foi tirado da ajuda (help) do prprio Access, praticamente sem nenhuma alterao.

Pgina 19/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Figura 20: Ficha cadastral a ser criada.

1. 2. 3. 4. 5. 6. 7.

8. 9.

Os passos a serem seguidos so os seguintes. Selecionar a guia formulrio. Selecionar o formulrio Funcionrio, construdo anteriormente, copiar e colar ([Ctrl][c] e [Ctrl][v]) com o nome Ficha Cadastral. Entrar no modo estrutura para editar o novo formulrio; aumente o tamanho do formulrio para poder colocar os subformulrios na parte inferior. Na caixa de ferramentas (se no estiver vendo, selecione Exibir/Caixa de Ferramentas) clique no cone Subformulrio/Sub-relatrio ( ). Marque a regio que ser ocupada pelo subformulrio Cargos Ocupados e, em seguida, solte o boto do mouse: nesse momento aparecer a janela com o Assistente de Formulrio. Selecione Usar tabelas e consultas existentes e avance. Selecione os seguintes campos para insero no subformulrio, nessa ordem: tabela: Ocupao campo CdCargo tabela: Cargo campo Descrio tabela: Ocupao campo CdCargo Data incio tabela: Ocupao campo CdCargo Data fim Avance. Na vinculao de campos, mantenha Escolher da lista e avance. Defina o ttulo do formulrio - Cargos Ocupados - e conclua. Pgina 20/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Repita os passos 4 at 9 acima para os dois subformulrios seguintes, cujos ttulos e campos esto definidos na Tabela 10 para os passos 7 e 9.
Ttulo Campos Departamentos de Lotao Lotao CdDepto Departamento Descrio Lotao Data incio Lotao Data fim Dependentes Dependentes Nome Dependente Dependentes Data Nascimento

Tabela 10: Definio dos subformulrios referentes s tabelas Lotao e Dependente

3.5.4 Ajustando os Formulrios O assistente de formulrio bastante til, facilitando o processo de criao, mas mesmo assim alguns pequenos detalhes precisam ser ajustados para que a ficha cadastral funcione a contento.
3.5.4.1 Ajuste de Tamanho

A primeira coisa a ser feita ajustar os tamanhos e as posies dos subformulrios: eles devero ficar com a aparncia mostrada na Figura 20. Para tal, deve-se fazer o seguinte: 1. selecionar o formulrio Ficha Cadastral e entrar no modo Estrutura; 2. habilitar a opo Formatar/Encaixar na Grade; 3. definir a altura de cada formulrio em 2 cm: clicar sobre o formulrio com o boto direito do mouse, selecionar a opo Propriedades, e no tab Formato digitar 2 no campo Altura; 4. selecionar cada um dos formulrios e mov-lo para a posio desejada, alinh-los e ajustar a largura de cada um conforme a largura ocupada pelos campos do formulrio principal (todas essas operaes podem ser feitas apenas com o auxlio do mouse); 5. em cada subformulrio realizar o procedimento descrito na Figura 17 para possibilitar que mltiplos registros possam ser apresentados.
3.5.4.2 Bloqueando Campos para Edio

Nos subformulrios Cargos Ocupados e Departamentos aparecem descries provenientes das tabelas Cargo e Departamento, respectivamente. Essas descries servem para confirmar a validade dos cdigos de cargos ou departamentos inseridos nos subformulrios, pois se esses cdigos realmente existirem nas suas tabelas de origem, as descries sero automaticamente apresentadas nos subformulrios. Os campos restantes desses formulrios sero inseridos, junto com a matrcula do funcionrio, nas tabelas Ocupao e Departamento. Mas h um problema. Quando um subformulrio criado pelo assistente, todos os campos podem ser editados, inclusive os de outras tabelas que no aquelas as quais queremos alimentar com os dados do subformulrio. o caso dos campos de descrio citados acima, que servem apenas para confirmar se cada cdigo digitado daquele departamento ou cargo a ser inserido no registro da tabela Lotao ou Ocupao. No conveniente ou recomendvel que algum possa alterar essas descries em outros locais que no os prprios formulrios criados para estas duas tabelas (Figura 16). necessrio bloquear esses campos para edio nos subformulrios. A Figura 21 descreve o procedimento para bloquear a edio do campo Descrio no subformulrio Cargos Ocupados. O mesmo procedimento deve ser aplicado ao campo Descrio no subformulrio Departamentos.

Pgina 21/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Clicar o boto direito do mouse sobre o campo Descrio e selecionar Propriedades

Mudar o contedo do campo Bloqueado para Sim

Figura 21: Bloqueio do campo Descrio do subformulrio Cargos Ocupados - essa descrio s pode ser alterada atravs do formulrio Cargo.

3.6 Consultas
Consultas so utilizadas para exibir, alterar e analisar dados de vrias maneiras. Tambm possvel utiliz-las como fonte de registros para formulrios, relatrios e pginas de acesso a dados. Para entender melhor o que uma consulta e para que serve, vamos construir duas consultas em nosso banco de dados: uma para obter as datas de aniversrio dos funcionrios, e outra para obter a relao de funcionrias. Para criar a consulta "Aniversrios", os passos descritos abaixo devem ser seguidos. 1. Mude para a guia Consulta. Tabela: Funcionrio 2. Solicite para criar uma nova consulta usando o assistente. 3. Selecione a tabela que ser fonte dos campos a serem colocados na consulta (na Figura ao lado, a tabela Funcionrios foi Campos: escolhida para construir a consulta Nome Data Nascimento Aniversrios). 4. Selecione os campos a serem colocados na consulta: Nome e Data Nascimento (aps selecionar o campo, basta clicar o boto > ). Avance. 5. Definir o ttulo da consulta - Aniversrios - e selecione Modificar a estrutura da Consulta. Conclua. 6. Na janela que se abre na seqncia (Figura 22), defina a classificao do campo nome como crescente (ordem alfabtica). Isso feito, salve a consulta e Figura 22: Criao da consulta "Aniversrios". feche a sua janela.

Pgina 22/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Na Figura 23a mostrado o resultado desse processo, e a Figura 23b mostra a mesma consulta com as larguras das colunas com os melhores ajustes. Note que os nomes dos funcionrios esto em ordem alfabtica, conforme solicitado na classificao.

a) Larguras padro

Para ajustar a largura de uma coluna numa consulta, abra-a e clique com o boto direito do mouse sobre o ttulo da coluna, selecione a opo Largura da coluna... e, na janela que se abre, clique em Melhor ajuste

b) Larguras ajustadas

Figura 23: Consulta "Aniversrios" - ajuste das largura dos campos

Para criar a consulta "Funcionrias", os passos descritos abaixo devem ser seguidos. 1. Mude para a guia Consulta. 2. Solicite para criar uma nova consulta usando o assistente. 3. Selecione a tabela que ser fonte dos campos a serem colocados na consulta - Funcionrios. 4. Selecione os campos a serem colocados na consulta: Nome e Sexo (aps selecionar o campo, basta clicar o boto > ). Avance. 5. Defina o ttulo da consulta - Funcionrias - e selecione Modificar a estrutura da Consulta. Conclua. 6. Na janela que se abre na seqncia, defina a classificao do campo nome como crescente (ordem alfabtica), defina o critrio do campo Sexo como "F" (apenas os registros com o campo Sexo igual a "F" sero selecionados para a consulta) e torne esse campo invisvel na coluna (no mostrar) veja Figura 24. Isso feito, salve Figura 24: Definio da classificao, critrio e visibilidade dos campos da consulta "Funcionrias" a consulta e feche a sua janela. o campo Ssexo no visvel. 7. Abra a consulta e ajuste as larguras conforme descrito na Figura 23. O resultado desse processo mostrado na Figura 25. Note que, apesar do campo Sexo ter sido includo na consulta, ele no mostrado. Na verdade, a sua utilidade apenas para selecionar os registros de funcionrias atravs da aplicao do critrio no campo Sexo, e alm disso no teria sentido mostrar o sexo nessa consulta: sero sempre funcionrios do sexo feminino.

Figura 25: Consulta "Funcionrias".

3.7 Relatrios
Informaes obtidas em bancos de dados podem tambm ser impressas. Imagine que voc deseja-se gerar uma pequena lista telefnica com os telefones dos funcionrios da empresa. Essa lista pode ser obtida gerando-se um relatrio.

Pgina 23/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

Figura 26: Relatrio gerado pelo assistente - lista telefnica dos funcionrios.

Para gerar um relatrio como o mostrado na Figura 26, os passos descritos abaixo devem ser seguidos. 1. Mude para a guia Relatrios. 2. Solicite para criar um novo relatrio usando o assistente. 3. Selecione a tabela que ser fonte dos campos a serem colocados na consulta - Funcionrios. 4. Selecione os campos a serem colocados na consulta: Nome e Telefone (aps selecionar o campo, basta clicar o boto > ). Avance. 5. No adicionar nveis de grupo. Avance. 6. Classificar os registros por nome, em ordem alfabtica (figura ao lado). Avance. 7. Ordenar o relatrio usando layout Tabela e orientao Retrato. Avance. 8. Escolha o estilo que desejar. Avance. 9. Defina o nome do relatrio - Lista Telefnica - e conclua. Realizados os passos acima, o relatrio criado e visualizado em seguida.

Pgina 24/24

Princpios de Informtica

BANCO DE DADOS - ACCESS

4. REFERNCIAS
As seguintes fontes foram utilizadas como material de referncia para confeco dessa apostila: Sistema de Bancos de Dados - Henry F. Korth, Abraham Silberschatz - 2a edio, So Paulo, Makron Books, 1995. Introduo ao Access 97 Centro de Computao Unicamp. Apostila disponvel no servidor ftp annimo (www.unicamp.br). Banco de Dados Bsico Centro de Computao Unicamp. Apresentao disponvel no servidor ftp annimo (www.unicamp.br). Textos da funo ajuda do Microsoft Access 2000.

Pgina 25/24

Das könnte Ihnen auch gefallen