Introdução aos
Sistemas de Gestão de Bases de Dados
usando o OpenOffice Base
Manual de Apoio
Raquel Vaz
Sónia Alves
Maio/2005
Manual de Apoio
1/61
Manual de Apoio
2/61
Índice
1 INTRODUÇÃO........................................................................................................ .....................4
1.1 Base de Dados................................................................................................................ ..........4
1.2 Sistemas de Gestão de Base de Dados....................................................................... .............5
1.3 O OpenOffice Base.......................................................................................... .........................5
2 CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES......................................................... ......7
2.1 Especificação....................................................................................................... .....................7
2.2 Realização................................................................................................................................ .7
2.2.1 Criar uma nova base de dados............................................................................................. ..7
2.2.2 Abrir uma base de dados existente................................................................ ........................9
2.2.3 Tabela.......................................................................................................... ........................11
2.2.4 Formulário........................................................................................................ ....................17
2.2.5 Relatório.................................................................................................................. .............21
3 BASES DE DADOS RELACIONAIS................................................................................ ...........25
3.1 Modelos de base de dados....................................................................... ..............................25
3.2 Estrutura de uma base de dados relacional............................................... .............................26
3.3 Tipos de atributos........................................................................................................ ............27
3.4 Tipo de relações........................................................................................................... ...........28
3.5 Entidades, relações e tabelas................................................................................................. .31
3.6 Integridade.................................................................................................... ..........................31
4 CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL................................................... ...33
4.1 Especificação.................................................................................................... ......................33
4.2 Realização.............................................................................................................................. .33
4.2.1 Tabelas................................................................................................. ...............................34
4.2.2 Formulários............................................................................................... ...........................37
4.2.3 Consultas................................................................................................... ..........................40
4.2.4 Relatórios......................................................................................................... ....................47
5 ELEMENTOS AVANÇADOS.......................................................................................... ............50
5.1 Propriedades dos campos............................................................................................ ...........50
5.2 Subformulários.................................................................................................. ......................52
6 BIBLIOGRAFIA.............................................................................................. ............................56
7 ANEXOS............................................................................................................. .......................57
7.1 Instalação do OpenOffice Base em Ambiente Windows.................................................... ......57
Manual de Apoio
3/61
1
INTRODUÇÃO INTRODUÇÃO
1 INTRODUÇÃO
Nos dias de hoje, o uso do computador é uma prática comum. A necessidade de
registar os dados no computador prende-se com o grande crescimento, ao nível do
volume, da informação armazenada. Em bases de dados tradicionais, de registo das
obras de uma biblioteca ou de dados de clientes de uma empresa, por exemplo, o suporte
utilizado (papel ou cartão) era de fácil deterioração, sendo difícil a alteração e pesquisa de
informação armazenada quando o arquivo tomava grandes dimensões. Uma base de
dados neste suporte traz também o inconveniente do espaço físico ocupado, havendo
também forte possibilidade de duplicação da informação.
A utilização de bases de dados em computador veio solucionar diversos problemas.
O suporte utilizado é de menor deterioração, ocupando menor espaço físico, a
manipulação de informação é facilitada, podendo ser eliminados dados redundantes.
1.1 Base de Dados
Uma Base de Dados é um sistema de armazenamento de dados relacionados entre
si, de uma forma permanente, num sistema informático, com redundância controlada,
acessíveis a um grupo de utilizadores e estruturado sob a forma de ficheiros de dados ou
tabelas. Assim, por exemplo, uma lista de endereços, um conjunto de dados sobre
clientes ou ainda uma lista organizada de CD’s podem ser consideradas bases de dados.
A Base de Dados (database) pode também ser designada por Banco de Dados
(databank). Estes dois termos são sinónimos, embora o segundo seja mais popular no
Brasil.
Quando falamos de bases de dados, é importante distinguir Dados de Informação.
Os Dados são os elementos isolados, significativos, rigorosos e relevantes. São os factos
do mundo real. Podem ser vistos como a matéria-prima necessária para um determinado
processamento. A Informação é o conjunto de dados, organizados e sujeitos a um
tratamento, tornando assim possível a sua utilização num determinado contexto. Os
dados não têm qualquer valor e só se transformam em informação quando relacionados,
ou interpretados, de alguma forma.1
Para uma base de dados deve existir um Administrador. Este é o responsável
máximo da base de dados. Cabe-lhe gerir todos os acessos e realizar a coordenação e
monitorização do seu uso.
Existe uma grande variedade de classificações para bases de dados, de acordo com
o modelo de programação associado. Durante muito tempo, foi usual considerar três
principais modelos conceptuais de bases de dados: modelo hierárquico, modelo em rede
e modelo relacional. O modelo mais utilizado é o modelo relacional, que se baseia num
conjunto de operações lógicas de álgebra e cálculo relacionais. Neste modelo, as bases
de dados são constituídas por tabelas e relacionamentos entre elas. A correcta
estruturação das tabelas e seus relacionamentos garantirá, conjuntamente com um
1
Antão, António; Fernandes, Eduardo; Couto, Hélder; Almeida, Hugo; Antão, Rui (2005), TIC10 Parte 2. Lisboa: Areal
Editores
Manual de Apoio
4/61
1
INTRODUÇÃO Base de Dados
sistema de gestão de bases de dados relacional, um funcionamento coerente de uma
base de dados, relativamente a operações típicas como consulta, actualização, adição e
eliminação. Este conceito é de extrema importância e será desenvolvido adiante neste
manual.
1.2 Sistemas de Gestão de Base de Dados
Para gerir as bases de dados foram criadas ferramentas do tipo SGBD – Sistema de
Gestão de Bases de Dados.
Um sistema de gestão de bases de dados (SGBD) é um programa que disponibiliza
todos os serviços básicos relacionados com as bases de dados, como operações de
definição de estrutura, manipulação dos dados e controlo dos dados.
Existem diversas escolhas no mercado de SGBD, podendo dividir-se em dois
grandes grupos:
● Grande porte – Exemplos: ORACLE, Microsoft SQL Server, MySQL, Ingres,
Informix e DB2.
Uso pessoal (doméstico) e/ou de pequenas empresas – Exemplos: Dbase,
FoxPro, Microsoft Access e OpenOffice Base.
●
1.3 O OpenOffice Base
O sistema de gestão de bases de dados que é utilizado neste Manual é o
OpenOffice Base, versão 2.0, em português do Brasil. Este produto é o mais recente
programa do conjunto de programas que constituem o OpenOffice.
O OpenOffice.org é baseado numa antiga versão do StarOffice, o StarOffice 5.1,
adquirido pela Sun Microsystems em Agosto de 1999. O código fonte foi disponibilizado,
dando início a um projecto de desenvolvimento de software de código aberto em Julho de
2000, o OpenOffice.org. O principal objectivo era fornecer uma alternativa de baixo custo,
de alta qualidade e de código aberto, podendo competir com o Microsoft Office. O projecto
e o software são designados habitualmente por “OpenOffice” mas, devido a uma disputa
de marca registada, a Sun adoptou o nome “OpenOffice.org”. No Brasil, do qual a versão
utilizada tem origem (uma vez que a versão de português de Portugal não se encontra
desenvolvida) o programa tem a designação BrOffice.org.2 Neste manual será usada
apenas a designação OpenOffice.
A
transferência
do
OpenOffice
pode
ser
feita
gratuitamente
em
http://www.openoffice.org/ ou, no caso da versão em português do Brasil, no sítio do
projecto brasileiro em http://www.openoffice.org.br/.
As Bases de Dados em OpenOffice necessitam de instalação do Java JRE (Java
runtime environment) da Sun, que pode ser descarregado em http://www.java.com. Para o
registar, vá à barra de menus, em Ferramentas > Opções > OpenOffice.org > Java.
2
Fonte: http://pt.wikipedia.org
Manual de Apoio
5/61
1
INTRODUÇÃO O OpenOffice Base
O OpenOffice Base cria ficheiros com a extensão .odb, que constituem as siglas de
Open Document Base.
O ambiente de trabalho do Base apresenta barras e caixas. A caixa “Banco de
Dados” fornece um acesso rápido às Tabelas, Consultas, Formulários e Relatórios, onde
se farão as operações essenciais relacionadas com a base de dados. Para cada um deles
é possível observar, na caixa de Tarefas, as Tarefas possíveis de realizar, juntamente
com uma breve Descrição. Estes menus, bem como os conceitos associados, serão
explorados em pormenor, neste manual, à medida que forem sendo necessários.
Neste manual partir-se-á de uma base de dados simples, pretendendo armazenar os
dados dos utilizadores de uma biblioteca. A partir desta base de dados monotabela serão
explorados os conceitos básicos relacionados com as bases de dados – tabela,
formulário, relatório, chave primária, etc. Seguidamente descobriremos os inconvenientes
de uma base de dados monotabela, surgindo o modelo relacional como uma solução.
Com a criação de uma base de dados relacional serão introduzidos conceitos novos e
poderemos aprofundar os conhecimentos adquiridos anteriormente.
Exercícios de revisão:
➢ Recorrendo à sua memória pessoal relativamente ao que tem visto em filmes e referido
na imprensa, mencione abaixo exemplos e contextos em que apareciam bases de
dados, para que fim e como eram utilizadas, etc.
➢ Recorrendo à pesquisa na Teia Mundial e à consulta do livro, defina: Dados;
Informação; Base de Dados; Base de Dados Relacional; SGBD.
➢ Qual a diferença entre uma base de dados (“database”) e um banco de dados
(“databank”)?
➢ Dê exemplos de aplicações de SGBD disponíveis comercialmente.
➢ Qual a extensão de um ficheiro de base de dados do OpenOffice Base?
Manual de Apoio
6/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
SIMPLES
CONSTRUÇÃO DE UMA BASE DE DADOS
2 CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
2.1 Especificação
Ao longo deste capítulo pretende-se construir uma base de dados que armazene os
dados de um utilizador de uma biblioteca. Os dados a guardar sobre o utilizador são:
●
Número/código de sócio da biblioteca;
●
Nome;
●
Morada;
●
Data de Nascimento;
●
Telefone;
●
Foto.
A tabela a criar deverá ser definida para poder guardar correctamente estes dados.
Deverão ser criados meios para facilitar a introdução dos dados e deverá poder emitir
relatórios com os nomes de utilizador e seu respectivo número de sócio.
2.2 Realização
Para realizar uma base de dados há alguns processos que é necessário conhecer.
Precisamos de saber como se cria uma base de dados e como se abre uma base de
dados existente. Os dados serão armazenados em tabelas. Cada tabela é designada por
um nome único dentro da base de dados e corresponde a uma classe de entidades
(tabelas). A informação presente em cada entidade (tabela) é estruturada em registos
(tuplos ou linhas) e campos (atributos ou colunas).
É preciso saber como se cria uma tabela. A tabela vai traduzir nas suas diversas
colunas (que serão os campos) a realidade representada. Cada registo dessa tabela
corresponderá a um utilizador da biblioteca. Para facilitar a interacção com o utilizador da
base de dados, na introdução de dados novos, são criados formulários. Para que
possam ser geradas listas com todos os utilizadores e seus respectivos números de sócio
serão criados relatórios.
2.2.1 Criar uma nova base de dados
Para criar uma base de dados pode usar um destes processos:
●
Processo 1:
Clicar sobre Iniciar > Todos os Programas > BrOffice.org 2.0 > BrOffice.org
Base.
Manual de Apoio
7/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
●
Criar uma nova base de dados
Processo 2:
Tendo o OpenOffice aberto clicar em Arquivo > Novo > Banco de Dados.
Em qualquer dos casos surgirá o Assistente de Bancos de Dados. Para criar uma
nova Base de Dados seleccionar a opção Criar novo banco de dados.
Manual de Apoio
8/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Criar uma nova base de dados
Na etapa seguinte, é perguntado se deseja registar a base de dados no
OpenOffice.org. Se não for registada, não será acessível a outros componentes do
OpenOffice.org (ex.: Writer, Calc). Vamos seleccionar Sim, registe o banco de dados
para mim. Na questão seguinte surge seleccionado Abrir o banco de dados para
edição, havendo também a opção simultânea Criar tabelas usando o Assistente de
Tabelas, que abre o Assistente imediatamente. Vamos manter apenas a opção
previamente assinalada. Depois de fazer as escolhas, clique em Concluir.
É ainda pedido para guardar o ficheiro. Escolha a localização desejada e atribua ao
ficheiro um nome apropriado. Será guardado com a extensão .odb.
2.2.2 Abrir uma base de dados existente
Para abrir uma base de dados existente pode usar um destes processos:
●
Processo 1:
Fazer duplo clique no nome do ficheiro. O ficheiro de base de dados terá este ícone:
Manual de Apoio
9/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
●
Abrir uma base de dados existente
Processo 2:
Clicar sobre Iniciar > Todos os Programas > BrOffice.org 2.0 > BrOffice.org
Base. No Assistente de Bancos de Dados seleccionar a opção Abre um arquivo de
banco de dados existente, podendo estar na lista de Usado recentemente, ou ser
localizado através de clique no botão Abrir….
●
Processo 3:
Estando uma janela do OpenOffice aberta, clicar em Arquivo > Abrir, pesquisando
de seguida a localização do ficheiro desejado.
Manual de Apoio
10/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Tabela
2.2.3 Tabela
Exercício:
➢ Crie uma base de dados com uma tabela para armazenar os dados de um utilizador de
uma biblioteca.
Depois de criar a base de dados, vamos criar a tabela, onde serão armazenados os
dados dos utilizadores.
A um quadro como o mostrado acima dá-se o nome de tabela. Cada linha contendo
dados tem o nome de registo e a cada coluna é dado o nome de campo.
Existem outros termos com o mesmo significado para tabela, registo e campos.
Cada tabela é designada por um nome único dentro da base de dados e corresponde a
uma classe de entidades (tabelas). A informação presente em cada entidade (tabela) é
estruturada em registos (tuplos ou linhas) e campos (atributos ou colunas).
Exemplo:
Na fase inicial da criação da base de dados, ao serem definida(s) a(s) tabela(s),
apenas os nomes dos atributos devem ser indicados, só depois, através do SGDB são
preenchidos os dados.
Na caixa Banco de Dados seleccionamos o botão Tabelas. Na lista de Tarefas
surgem três opções. Iremos sempre usar a Vista de Estrutura: Criar tabela na exibição
de design....
Manual de Apoio
11/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Tabela
Aparece-nos a janela de Design de tabela, que corresponde à vista de estrutura.
Nesta janela iremos definir os campos necessários para armazenar os dados. Os campos
são as colunas da tabela. Nesta tabela teremos seis campos designados por:
Número_Utilizador, Nome, Morada, Data_Nascimento, Telefone e Foto. Para cada um
deles corresponde um Tipo de campo (Tipo de Dados) para os valores que os campos
podem receber.
O primeiro campo, cujo Nome do campo é Número_Utilizador, refere-se ao número
de sócio do utilizador da biblioteca. O Tipo de campo será um número inteiro,
incrementado de cada vez que se introduz um novo utilizador, de modo a que cada um
tenha um número diferente. Para que o tipo de dados seleccionado seja um inteiro
seleccionamos a opção Integer [INTEGER]. Para que este valor seja incrementado
automaticamente devemos seleccionar, nas Propriedades do campo a opção 'Sim' em
AutoValor. Quando se selecciona esta opção desaparece a propriedade 'Entrada
obrigatória'. Esta ficará logo escolhida, dado que este campo será sempre preenchido
automaticamente.
As Propriedades do campo dependem do Tipo de campo escolhido e servem para
definir características mais pormenorizadas relativas aos campos. No caso de um número
inteiro podemos, por exemplo, definir que se incremente automaticamente (AutoValor). No
caso de um campo do tipo Texto podemos escolher o número máximo de caracteres que
Manual de Apoio
12/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Tabela
o texto pode conter. Para todos eles podemos definir um Exemplo de Formatação. Esta
máscara de introdução é bastante interessante para o caso das datas, dado que
podemos escolher o formato da data (DD-MM-AA, DD-MM-AAAA, etc). Clicando no botão
'...' surge-nos uma janela onde podemos definir o formato de data desejado.
Em todos eles temos a opção Entrada obrigatória. No caso de se escolher 'Sim'
nesta propriedade, cada registo introduzido pelo operador da base de dados terá
necessariamente que digitar informação relativa a este campo. É aconselhado escolher
esta opção em campos que se considerem essenciais. No entanto, o utilizador pode, por
exemplo, não dispor de telefone. A escolha de certos campos com entrada obrigatória
pode levantar alguns problemas ao operador da base de dados.
Assim sendo, definiremos para cada campo os seguintes tipos de dados:
O campo Número_Utilizador tem ainda uma particularidade muito importante para
uma base de dados. O número de cada utilizador é diferente para cada utilizador. Podem
existir sócios da biblioteca com o mesmo nome, mas o seu número é necessariamente
diferente. O mesmo se pode dizer da Morada, Data de Nascimento e número de Telefone.
Podemos identificar de forma unívoca cada registo da tabela utilizador através deste
atributo. A este atributo chamamos Chave Primária. Ao criar uma tabela devemos definir
sempre uma chave primária entre os atributos da entidade ou, no caso de não existir, criar
um campo próprio para esse fim.
Para guardarmos uma tabela clicamos no símbolo
ou vamos através do menu
Arquivo > Salvar. É pedido para que atribuamos o nome da tabela.
Ao guardarmos a tabela, se não tivermos definido uma chave primária obtemos esta
mensagem de erro:
Manual de Apoio
13/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Tabela
Vamos Cancelar e atribuir a nossa chave primária. Seleccionamos o campo
Número_Utilizador e, clicando em cima do símbolo verde com o botão secundário,
escolhemos a opção Chave primária. Seguidamente guardamos a tabela.
Após a criação da tabela surge-nos um leque variado de opções. Fechamos a tabela
e voltamos a ver a janela principal do programa. Na caixa Tabelas veremos a tabela
criada. Um duplo clique na tabela criada fará abrir a tabela na Vista de Folha de Dados.
Esta vista serve para a introdução de dados. Clicando com o botão secundário sobre a
tabela podemos ver várias opções. A opção Abrir corresponde à Vista de Folha de
Dados, para introdução de dados. A opção Editar corresponde à Vista de Estrutura
(Design de Tabela) e permite-nos fazer modificações nos campos, tipos de campos e
propriedades dos campos. Excluir apaga a tabela criada, Copiar permite a criação de
uma nova tabela baseada na anterior e Renomear permite alteração do nome da tabela.
As opções Assistente de Formulários... e Assistente de Relatórios... dão início à
criação de formulários e relatórios serão desenvolvidas nos próximos capítulos.
Manual de Apoio
14/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Tabela
Vamos agora introduzir dados na tabela. Temos que passar da vista de estrutura
da tabela para a vista de folha de dados.
Colocando o cursor sobre cada uma das células escrevemos o texto pretendido. Não
é possível preencher os campos que foram definidos como Campo Automático. Nestes
casos, o sistema encarrega-se de o preencher. No caso de campos definidos com
Entrada obrigatória o utilizador terá necessariamente que introduzir dados nesses campos
antes de passar ao registo seguinte.
A coluna Foto (do tipo Imagem) contém o atributo <OBJECT> e, actualmente, não
pode ser editada na janela de edição.
É possível formatar a tabela para que possa ter maior legibilidade. Colocando o
cursor nas linhas que separam os campos e arrastando poderemos aumentar a largura
das colunas, para que se possa ver todo o texto introduzido. Também se pode definir a
largura de uma coluna clicando sobre a coluna desejada com o botão secundário e
escolhendo a opção 'Largura da Coluna...', definindo de seguida o valor em centímetros
para a largura da coluna.
Manual de Apoio
15/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Tabela
Para se ocultar uma coluna basta clicar com o botão secundário sobre a tabela que
se pretende ocultar e seleccionar a opção Ocultar Colunas. Esta operação é reversível,
bastando clicar novamente com o botão secundário sobre uma outra coluna e escolher
'Mostrar Colunas'.
Para se definir o formato de uma coluna é necessário efectuar uma selecção da
opção Formato da Coluna.... Com esta ferramenta é possível alterar o alinhamento do
texto, centrando-o na coluna, por exemplo. Isto é conseguido no separador Alinhamento.
No caso de campos do tipo Data pode-se alterar o formato apresentado da data. No
separador Formato escolhemos o modo de apresentação desejado. Esta opção é igual à
que pode ser feita durante a criação da tabela na propriedade do campo Exemplo de
Formatação.
Exercícios de revisão:
➢ Explique como se constrói uma tabela utilizando a Vista de Estrutura (Exibição de
design).
➢ O que são Tipos de dados (campos)?
➢ Antes de gravar a tabela é necessário escolher uma chave primária. Como é que se cria
esta chave?
➢ Considere a tabela de utilizadores da biblioteca, cujos campos são: Número_Utilizador,
Nome, Morada, Data_Nascimento, Telefone. Qual é o campo mais adequado para
funcionar como chave primária?
➢ Considere a tabela de utilizadores da biblioteca. Insira dados na tabela.
Manual de Apoio
16/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Formulário
2.2.4 Formulário
A terceira secção de trabalho da janela principal da base de dados chama-se
Formulários. Os formulários constituem uma forma de mostrar os dados de tabelas ou
consultas com uma melhor apresentação, facilitando a visualização e introdução de novos
dados.
Exercício:
➢ Crie um formulário com o Assistente de formulários a partir da tabela Utilizador.
Resolução do Exercício:
Para iniciar a criação de um formulário teremos de seleccionar, na janela principal da
base de dados, a secção Formulários. Nesta secção, temos duas opções: Criar
formulário na exibição de design... e Usar assistente para criar formulário.... Vamos
usar o assistente.
O Assistente de Formulários permite criar formulários através de rotinas internas
do programa, tendo em conta diversas informações solicitadas ao utilizador. O assistente
de formulários também pode ser iniciado com clique no botão do lado direito sobre a
tabela, na secção de tabelas. Ao iniciar, o assistente abrirá também a aplicação
OpenOffice Writer.
As primeiras informações que o assistente de formulários nos pede são relativas à
tabela (ou consulta, veremos o que são mais tarde) com base na qual irá ser criado o
formulário, bem como os campos que pretendemos incluir no formulário.
Na caixa de listagem Tabelas ou consultas escolhemos a tabela ou consulta para a
qual pretendemos criar um formulário. Na caixa Campos disponíveis escolhemos os
campos da tabela que surgirão no formulário. Podemos inserir campo a campo, através
do botão com a forma de um sinal maior (>) ou inserir todos os campos de uma só vez,
com o botão (>>). Os botões (<) e (<<) permitem retirar um campo ou todos os campos,
respectivamente. Repare que não aparece o campo Foto.
Manual de Apoio
17/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Formulário
O passo seguinte permite a adição de um subformulário. Este é considerado um
tópico avançado e será abordado no final do livro. Clicar em Avançar.
No ponto que se segue o assistente permite-nos escolher a disposição dos
controles do formulário. Primeiro definimos a disposição das caixas de introdução de
texto, segundo um dos quatro modelos possíveis: Colunar – Etiquetas à Esquerda,
Colunar – Etiquetas em Cima, Como planilha de dados e Em Blocos – Etiquetas Acima.
Podemos ver no fundo o aspecto que terá, na folha do documento do Writer. Os formatos
em colunas são os formatos mais típicos dos formulários, em que os registos são
apresentados um de cada vez, com os campos alinhados em colunas. Clicar em Avançar.
Depois temos que definir a entrada de dados. Nesta fase temos que indicar ao
assistente o modo de entrada dos dados. Se se tratar de um formulário apenas para
inserção de novos dados, onde não se pretenda a visualização de dados existentes
marcamos a primeira opção. No caso de pretendermos visualizar os dados todos no
formulário escolhemos a segunda selecção e podemos estabelecer algumas limitações,
marcando os quadrados respectivos. Estas limitações podem ser: impedir modificação de
dados já inseridos, impedir a eliminação de dados já inseridos, impedir a adição de novos
dados (no caso de se pretender apenas visualizar os registos e não inserir novos).
Escolhas feitas, clicar em Avançar.
A fase seguinte é a fase de aplicar estilos. Nesta fase escolhemos o fundo e o
aspecto das caixas de introdução de dados através dos estilos predefinidos no Base.
Manual de Apoio
18/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Formulário
Finalmente é solicitado que indique um nome para o formulário. Escolha um nome
apropriado e escreva-o no espaço respectivo. O programa pergunta o que deseja fazer a
seguir à construção do formulário. Se desejar trabalhar com o formulário, fazendo
introdução de dados novos ou visualização dos existentes marque a primeira opção. No
caso de desejar modificar o formulário, alterando o aspecto ou características do
formulário seleccione a segunda opção. Neste caso, abrirá o formulário no modo de
edição. Vamos escolher a opção predefinida (trabalhar com o formulário) e clicar em
Concluir.
Encontramos o formulário criado. O formulário apresenta botões de navegação
bastante úteis:
O primeiro e quarto botões permitem o deslocamento para o primeiro e último
registo, respectivamente. Os botões do meio permitem que passemos ao registo anterior
e ao registo seguinte. O último botão insere um novo registo, no fim da lista.
Não é possível inserir dados em campos definidos como Campo Automático (já que
este é preenchido de forma automática pelo programa) e é necessário preencher todos os
campos que foram definidos com Entrada obrigatória.
Manual de Apoio
19/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Formulário
Na janela principal do programa encontramos o formulário criado. Clicando com o
botão secundário em cima do nome do formulário encontramos diversas opções. A opção
Abrir coloca o formulário no modo de visualização e introdução de dados. A opção Editar
permite alterar o desenho do formulário, abrindo-o na Vista de Estrutura. Neste modo
podemos alterar a estrutura ou a aparência do formulário, com operações como:
acrescentar títulos ou texto, inserir figura, alterar a posição dos campos, etc.
Para inserir imagens nas tabelas temos que Editar o formulário. Estamos a
visualizar o formulário criado na Vista de Estrutura. Seleccionamos um campo qualquer
do formulário principal e, com esse campo seleccionado, clicamos no botão Adicionar
campo da barra de ferramentas, existente no fundo da página.
Surge uma lista com os campos da tabela Utilizador. Dê um duplo clique sobre o
campo Foto e observe que um novo campo com o rótulo Foto foi adicionado no
formulário. Mova-o para a posição desejada e feche a janela Adicionar campo.
Guarde o formulário e feche-o. Repare que agora já pode inserir fotos no formulário,
fazendo um duplo clique em cima do espaço onde deve ficar a foto ou clicando com o
botão secundário e seleccionando a opção Inserir figura de....
Manual de Apoio
20/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Formulário
Exercícios de revisão:
➢ Qual a importância dos formulários nos sistemas de gestão de bases de dados?
➢ Explique como se constrói um formulário utilizando o Assistente de formulários.
➢ Considere o formulário criado para a tabela Utilizador. Usando o formulário criado
introduza dados na tabela.
➢ Considere o formulário criado para a tabela Utilizador. Modifique o tipo de letra dos
atributos
2.2.5 Relatório
Um Relatório, no contexto de um SGBD, é uma forma de organizar uma
determinada parte da informação contida numa base de dados, principalmente com o
objectivo de poder imprimir os dados com uma boa apresentação.3
Exercício:
➢ Crie um relatório com o Assistente de relatórios a partir da tabela Utilizador. Escolha
apenas os seguintes atributos: Número do utilizador e Nome.
Resolução do Exercício:
Para iniciar a criação de um relatório teremos de seleccionar, na janela principal da
base de dados, a secção Relatórios. Nesta secção a opção Usar assistente para criar
relatório.... Tal como no assistente de relatórios, é pedido para seleccionar a Tabela ou
consulta, seguido dos campos que devem constar no relatório. O botão (>) selecciona
um de cada vez e o botão (>>) selecciona todos os campos da tabela ou consulta.
3
Fonte: Azul, Artur Augusto; Azul, Nuno; Fonseca, Dalila; Marques, Fernando; Pacheco, Deolinda; Soares, Ricardo
(2005). Tecnologias da Informação e Comunicação 10 – Unidades Essenciais: 1.ª Parte. Porto: Porto Editora.
Manual de Apoio
21/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Relatório
Depois temos a oportunidade de rotular os campos com nomes diferentes dos
atribuídos nas tabelas da base de dados. Por exemplo, o campo com o nome
Número_Utilizador pode ser exibido no relatório com o nome Número de Sócio. Depois de
definir os rótulos clique em Avançar.
O passo Agrupamento altera a disposição dos campos, podendo ser útil quando se
realizarem relatórios com base em várias tabelas.
Seguidamente, em Opções de classificação, podemos definir a ordenação dos
registos no relatório. Por exemplo, se for escolhido o campo Nome, com ordenação
Crescente, os registos surgirão no relatório por ordem alfabética.
Manual de Apoio
22/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Relatório
Nesta fase temos a oportunidade de definir a aparência do relatório. Existem
diversos esboços à escolha. Podemos ver no fundo, na janela do Writer, o aspecto que
terá o relatório. O texto que aparece em vez dos nossos dados serve apenas de
orientação. Na janela do assistente encontramos este aviso: “O texto fictício será
substituído por dados do banco de dados quando o relatório for criado”. Podemos
escolher também se queremos que a folha do relatório tenha Orientação horizontal
(Paisagem) ou vertical (Retrato).
Finalmente é pedido para indicar o Título do relatório e o Tipo de relatório. No tipo
de relatório vamos escolher Relatório dinâmico. O relatório dinâmico é actualizado de
cada vez que são inseridos novos dados. A opção Relatório estático bloqueia as restantes
opções.
Quando é pedido para indicar como deseja proceder depois de criar o relatório
temos duas hipóteses: Modificar layout de relatório e Criar relatório agora. A primeira
permite editar o relatório, abrindo-o no Writer. Permite alterar a largura das colunas, tipo
de letra, alinhamento do texto, inserir figura, etc. A segunda gera imediatamente o
relatório, abrindo-o para exibição de seguida.
Manual de Apoio
23/61
2
CONSTRUÇÃO DE UMA BASE DE DADOS SIMPLES
Relatório
Exercícios de revisão:
➢ Qual a importância dos Relatórios nos sistemas de gestão de bases de dados?
➢ Explique como se constrói um relatório utilizando o Assistente de relatórios.
Manual de Apoio
24/61
3
BASES DE DADOS RELACIONAIS
BASES DE DADOS RELACIONAIS
3 BASES DE DADOS RELACIONAIS
3.1 Modelos de base de dados
A ideia de criar bases de dados, em alternativa a colocar os dados em ficheiros
independentes, trouxe várias vantagens, mas também trouxe o problema de saber qual a
melhor maneira de organizar e relacionar os dados para formar a base de dados. “Ao
longo dos anos, vários têm sido os modelos propostos, não existindo o modelo perfeito,
na medida em que todos têm vantagens e desvantagens. No entanto, existe um modelo
ao qual facilmente se adapta a maioria das situações: é o modelo relacional.
De notar que o modelo relacional não é exclusivo das bases de dados informáticas,
antes destas existirem a organização dos ficheiros ou fichas em papel, já seguia este
modelo. Tomando como exemplo o empréstimo de uma biblioteca, a ficha de empréstimo
remete para uma ficha de utilizador e para a ficha de livro (exactamente a mesma
estrutura que as bases de dados informáticas).
O modelo (de base de dados) relacional foi desenvolvido por Edgar "Ted" Frank
Codd (*) (1924–2003), matemático de Oxford (Grã-Bretanha), durante o seu
desenvolvimento como investigador num laboratório de pesquisa da IBM4 em San Jose,
CA (EUA).
O modelo relacional tem como fundamento teórico uma teoria matemática – a
álgebra relacional (uma modalidade da teoria de conjuntos). É dessa teoria que deriva o
nome modelo relacional. Este será o modelo que vamos usar e como veremos é muito
intuitivo, flexível e fácil de compreender e aplicar.
Os elementos fundamentais de uma base de dados elaborada segundo o modelo
relacional são as tabelas – em que a informação é estruturada em campos (atributos ou
colunas) e registos (tuplos ou linhas).
Cada tabela é designada por um nome único dentro da base de dados e
corresponde a uma classe de entidades (tabelas ou relações) ou a um relacionamento
(relação) entre entidades.
4 IBM – Internacional Business Machines é uma empresa americana de informática
(*) Para mais informação consulte o artigo do autor em http://www.acm.org/classics/nov95
Manual de Apoio
25/61
3
BASES DE DADOS RELACIONAIS
Estrutura de uma base de dados relacional
3.2 Estrutura de uma base de dados relacional
Como vimos em capítulos anteriores, o modelo mais simples que uma base de
dados pode ter é o que assenta numa única tabela, ao estilo das tabelas das folhas de
cálculo. A esse modelo dá-se o nome de monotabela.
Será que uma tabela é suficiente e eficaz? De seguida vamos ver os principais
inconvenientes de construir uma base de dados monotabela.
Considere a seguinte tabela e observe bem tanto a respectiva estrutura, como os
dados nela presentes.
Exercícios:
➢ Considere a tabela que se segue:
Como sabe, uma tabela corresponde a uma entidade. Qual seria um nome com
sentido para a entidade representada nesta tabela?
Descubra os dados que se encontram repetidos em cada campo. Porque se
encontram repetidos?
Que inconvenientes, ou limitações, resultam da situação de dados repetidos?
Consegue imaginar uma forma de evitar os inconvenientes identificados na questão
anterior? Qual?
Nome
Morada
Designação
Data_
Empréstimo
Data_
Devolução
Título
Autor
Ricardo Magalhães
Guarda
Docente
28-11-05
22-12-05
Razão e Diálogo
Neves Vicente
Ana Melo
Abrantes
Aluno
13-11-05
23-12-05
Cadernos de História da Arte
Ana Lídia Pinto
José Sócrates
Faro
Funcionário
03-10-05
10-11-05
Introdução ao Direito
Carlos Batalhão
Diana Gentil
Porto
Funcionário
12-01-06
27-01-06
Razão e Diálogo
Neves Vicente
Ana Melo
Abrantes
Aluno
13-11-05
23-12-05
Introdução ao Direito
Carlos Batalhão
Raquel Amorim
Lisboa
Aluno
28-12-05
19-01-06
Tecnologias da Informação e Comunicação
Artur Azul
Miguel Prates
Coimbra
Docente
03-01-06
22-01-06
Razão e Diálogo
Neves Vicente
Diana Gentil
Porto
Funcionário
12-01-06
27-01-06
Introdução ao Direito
Carlos Batalhão
Raquel Amorim
Lisboa
Aluno
20-12-05
29-01-06
Razão e Diálogo
Neves Vicente
Bruna Filipe
Aveiro
Aluno
13-01-06
10-02-06
Cadernos de História da Arte
Ana Lídia Pinto
José Sócrates
Faro
Funcionário
16-10-05
30-11-05
Tecnologias da Informação e Comunicação
Artur Azul
Podemos visualizar nesta base de dados, do tipo monotabela, que existem vários
problemas, tais como:
1) Repetição dos dados (ou redundância dos dados), isto é, estamos a guardar
os mesmos dados em mais que um local;
Manual de Apoio
26/61
3
BASES DE DADOS RELACIONAIS
Estrutura de uma base de dados relacional
2) Isto provoca um desperdício de espaço no armazenamento de dados;
3) E torna mais difícil a manutenção e a actualização dos dados, o que pode
levantar problemas de coerência dos dados.
A solução dos problemas mencionados anteriormente é usar mais que uma tabela e
estabelecer relações entre elas, ou seja, usar o modelo relacional.
“ Os sistemas de bases de dados relacionais caracterizam-se por permitirem criar
bases de dados com tabelas relacionadas entre si. Os relacionamentos entre
tabelas baseiam-se nas chaves das tabelas. ”
Atributos chave
(chave candidata, chave primária e chave estrangeira)
“O conceito de chave é muito importante no modelo relacional. Para cada tabela
deve existir uma chave, que vai ser constituída por um conjunto de um ou mais atributos,
que identifica cada registo de modo único.
Não podem existir dois registos (tuplos) com os mesmos dados para o mesmo
atributo ou conjunto de atributos. Quando uma chave é composta apenas por um atributo,
podemos dizer que se trata de uma chave simples. Uma chave constituída por mais do
que um atributo é denominada chave composta.
Chaves candidatas são todos os conjuntos de um ou mais atributos possíveis para
identificar cada tuplo de um modo único. No entanto, para proceder a esta selecção de
chaves candidatas, é necessário conhecer bem a realidade de cada um dos atributos da
relação e qual o seu domínio.
De entre todas as chaves candidatas apenas uma será escolhida para identificar
cada registo (tuplo) de forma única. A chave seleccionada de entre as chaves candidatas
é designada chave primária da relação.
Em todas as tabelas deve existir sempre uma chave primária e os atributos que a
constituem não podem conter valores nulos.
Uma chave estrangeira é um conjunto de um ou mais atributos que são a chave
primária numa outra relação.”
3.3 Tipos de atributos
Alguns atributos como, por exemplo, a idade e o número de identidade (BI) de uma
pessoa podem ser considerados atributos atómicos, visto que, não se podem decompor
por unidades mais elementares.
Manual de Apoio
27/61
3
BASES DE DADOS RELACIONAIS
Tipos de atributos
Outros atributos podem ser considerados atributos compostos, ou seja, são
atributos que se podem decompor em parcelas elementares.
Por exemplo, o nome de uma pessoa, visto que, normalmente é possível decompor
esse atributo nas parcelas elementares primeiro nome e último nome. O mesmo se
passa em relação à data de nascimento (dia, mês e ano). A tabela seguinte ilustra os
vários tipos de atributos:
3.4 Tipo de relações
Como se relacionam as várias tabelas (entidades) entre si?
Após serem bem identificadas as entidades, as relações entre elas e os seus
atributos, será depois muito fácil obter as tabelas e os campos que as vão compor. Para
isso terá que se saber como se concebe um diagrama E-R (Entidade-Relação), ou seja,
um esquema que mostre as entidades e as relações entre elas. Para conceber um
diagrama destes temos de pensar nas:
–
entidades que queremos;
–
nas relações que existem entre elas;
–
nos atributos de cada entidade;
–
e na chave de cada entidade.
Nas bases de dados relacionais existem três tipos de relações entre entidades:
Um para Um; (1 : 1)
Um para Muitos; (1 : M ou 1 : ∞)
Muitos para Muitos. (M : M ou ∞ : ∞)
Relação Um para Muitos (1 : M)
Nas relações do tipo “um para muitos” ou “1 para M”, um registo na tabela “do lado
1” poderá ter vários registos correspondentes na tabela “do lado M”, mas um registo da
tabela “do lado M” só poderá ter um registo correspondente na tabela “do lado 1”.
Manual de Apoio
28/61
3
BASES DE DADOS RELACIONAIS
Tipo de relações
Em matemática, na teoria de conjuntos, chama-se relação unívoca a uma relação de
“1 para M”. Cada tabela é um conjunto. A função que relacione uma relação do lado “M”
com um elemento do lado “1” é uma relação unívoca.
A uma relação “1 para 1” chama-se uma relação biunívoca.
Exemplo:
Lê-se:
● Num Departamento trabalham vários empregados
● 1 Empregado trabalha num e num só Departamento
Relação Um para Um (1 : 1)
Neste tipo de relação, a cada registo de cada uma das tabelas corresponde um e
apenas um registo na outra tabela.
Exemplo:
Lê-se:
● 1 Professor lecciona uma e uma só Disciplina
● 1 Disciplina é leccionada por um e um só Professor
Manual de Apoio
29/61
3
BASES DE DADOS RELACIONAIS
Tipo de relações
Relação Muitos para Muitos (M : M)
Com este tipo de relação, um registo da tabela da esquerda pode ter vários registos
correspondentes na tabela da direita e um registo da tabela da direita pode ter vários
registos correspondentes na tabela da esquerda.
Exemplo:
Lê-se:
● 1 Autor escreve vários Livros
● 1 Livro é escrito por vários Autores
A título de exemplificação apresenta-se um exemplo de um diagrama E-R:
A aplicação suporta o registo de diversa informação, a saber:
· Categorias de software: nome da categoria;
· Software disponível: nome, descrição, suporte (CD / DVD), número de disco
(número presente em todos os CDs/DVDs e que identifica um CD);
Manual de Apoio
30/61
3
BASES DE DADOS RELACIONAIS
Tipo de relações
· Exemplares: para cada CD/DVD tem de ser mantida a informação da existência de
cada exemplar, uma vez que o que são emprestados são os exemplares. É importante
definir a forma como cada exemplar será identificado;
· Utilizadores: Nome, Laboratório (unidade a que o utilizador pertence), Tipo de
Utilizador (Aluno, Bolseiro, Docente);
· Custo das Multas Por Tipo de utilizador - valor da multa associada;
· A aplicação deve permitir o registo das cobranças e recebimentos dos valores das
multas, por utilizador;
3.5 Entidades, relações e tabelas
Podemos determinar as tabelas, os campos e as relações da nossa base de dados
segundo este exemplo:
Notar que:
Utilizador, Empréstimo e Livro são as tabelas.
As chaves primárias na tabela Utilizador é o atributo cod_Utilizador, na tabela
Empréstimo é o atributo cod_ Empréstimo e na tabela Livro é o atributo cod_Livro.
As chaves estrangeiras só existem na tabela Empréstimo e são os atributos
cod_Utilizador e cod_Livro.
O tipo de relações existentes é de um para muitos.
Exercício de revisão:
➢ Enumere as vantagens deste esquema em comparação com o da base de dados
monotabela.
3.6 Integridade
Como vimos anteriormente, é necessário que a manutenção e a actualização dos
dados, seja fácil e acessível, ou seja, temos de manter a integridade da informação.
Existem dois tipos de integridade:
Manual de Apoio
31/61
3
BASES DE DADOS RELACIONAIS
Integridade
Integridade de Entidade
Se o valor do atributo (ou dos atributos) que corresponde (m) à chave primária de
uma entidade são todos não-nulos e distintos entre si, temos integridade de entidade.
Exemplos:
- O número de cada aluno numa turma.
- O número de cada utilizador numa biblioteca, clube de ténis, piscina, …
Integridade Referencial
Uma BD relacional deve assegurar a integridade de entidade e a integridade
referencial.
Há integridade referencial quando todos os valores de uma chave estrangeira
existem como elementos constituintes da chave primária da tabela relacionada com
aquela chave estrangeira.
Exemplo:
- Todos os alunos têm de ter um “valor” no atributo que é chave estrangeira na
tabela Aluno com correspondência na tabela Turma.
Por fim, podemos de uma forma resumida dizer que, os objectivos a atingir num
projecto de uma base de dados:
1) Tornar possível a inclusão de toda a informação relevante;
2) Evitar a redundância ou repetição desnecessária;
3) Procurar assegurar a consistência e integridade da informação;
4) Proporcionar interfaces fáceis de compreender e administrar;
5) Proporcionar formas de controlo do acesso à informação.
Manual de Apoio
32/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
RELACIONAL
CONSTRUÇÃO DE UMA BASE DE DADOS
4 CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Ao longo deste capítulo vai ser construída uma base de dados para auxiliar a gestão
de uma Biblioteca Escolar. Esta base de dados será constituída por várias tabelas.
4.1 Especificação
A aplicação (base de dados) a desenvolver deve suportar o registo de diversa
informação, a saber:
● Para todos os utilizadores deve guardar o número/código de utilizador, o nome, a
morada e o telefone;
● A biblioteca só deve possuir livros e estes devem ser identificados pelo
número/código, título e autor;
● Como a Biblioteca vai emprestar os seus livros a todos os utilizadores da escola,
devem ser guardados os seguintes dados em cada empréstimo: o número de
empréstimo/código de empréstimo, a data de empréstimo, a data de devolução e ainda
informações relativas ao utilizador e aos livros que são requisitados.
4.2 Realização
Após a análise da especificação é fácil verificar que as tabelas a realizar são:
Utilizador (cod_Utilizador, Nome, Morada, Telefone);
Livro (cod_Livro, Título, Autor);
Empréstimo (cod_Empréstimo, Data_Empréstimo, Data_Devolução, cod_Utilizador,
cod_Livro).
A notação usada anteriormente é outra forma de representar as tabelas e os seus
atributos, ou seja, é equivalente a ter:
Manual de Apoio
33/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Tabelas
4.2.1 Tabelas
Exercício:
➢ Crie uma base de dados para a Biblioteca com três tabelas, de acordo com a
especificação anterior.
A construção das tabelas é feita de forma idêntica à demonstrada no ponto 2 (2.2.1
Tabela) deste Manual. Coloque o Tipo de campo como os indicados nas seguintes
imagens:
Relações entre tabelas
Antes de inserir os dados nas tabelas é necessário estabelecer relações entre elas.
A vantagem de estabelecer relações tem a ver com o facto das relações poderem impor
determinadas obrigações, no nosso exemplo, só podemos preencher com dados a tabela
Empréstimo se as outras tabelas já tiverem os dados inseridos, evitando assim erros, ou
seja, violação da integridade referencial.
O relacionamento entre tabelas é uma operação muito fácil se as chaves foram
criadas com cuidado, isto é, se os campos através dos quais as tabelas vão relacionar-se
tiverem tipos idênticos ou no mínimo compatíveis.
Para estabelecer relações entre tabelas devemos seguir os seguintes passos:
Manual de Apoio
34/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Tabelas
►Ir ao menu Ferramentas seleccionar Relações e aparecerá a seguinte janela:
►Depois ir ao menu Inserir e seleccionar Adicionar tabelas ou premir o botão
Aparecerá uma janela com as diferentes tabelas, devemos seleccionar as tabelas
uma por uma e adicioná-las.
Quando estiverem as tabelas todas adicionadas fecha-se a janela de Adicionar
tabelas.
Antes de estabelecer as relações deve-se organizar a disposição das tabelas,
apenas para maior legibilidade.
Manual de Apoio
35/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Tabelas
Estamos agora preparados para estabelecer as relações entre as tabelas, para isso
só devemos “clicar” sobre a chave primária de uma tabela e arrastar o cursor do rato,
premindo o seu lado esquerdo, até ao campo correspondente da outra tabela.
Essa operação fará surgir as relações entre as várias tabelas se as chaves foram
bem definidas. No Base para visualizar a tabela de edição das relações podemos “clicar”
sobre a linha das relações, com o cursor do rato premindo o seu lado direito, seguido de
Editar…ou ir ao menu Inserir à Nova relação ou premir o botão
Aparecerá em todos os casos a seguinte janela:
Por regra, não é necessário abrir esta janela porque automaticamente são
estabelecidas as relações. A título de curiosidade podemos ver como são estabelecidas
as relações, por exemplo, as tabelas que estão envolvidas no processo e os campos que
estabelecem as relações.
Manual de Apoio
36/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Tabelas
Inserção de dados nas tabelas
O próximo passo será introduzir dados nas tabelas. A introdução de dados é feita do
mesmo modo que no ponto 2 (2.2.3 Tabela) deste Manual. Se inserirmos os dados que
constam nas tabelas abaixo:
Tabela Utilizador
cod_Utilizador
Nome
Morada
Telefone
0
Sandra Sousa
Braga
253786978
1
Ricardo Magalhães
Guarda
454567585
2
Ana Melo
Abrantes
223459735
3
José Sócrates
Faro
567567567
4
Diana Gentil
Porto
224534666
5
Raquel Amorim
Lisboa
216865785
Tabela Livro
cod_Livro
Título
Autor
0
Matemática A
Afonso Silva
1
Tecnologias da Informação e Comunicação
Artur Azul
2
Razão e Diálogo
Neves Vicente
3
Introdução ao Direito
Carlos Batalhão
4
Desenho e Geometria Descritiva
Luís Gonçalves
5
Cadernos de História da Arte
Ana Lídia Pinto
6
Introdução ao Desenvolvimento Económico e Social
José Laranjo
Tabela Empréstimo
cod_Empréstimo
Data_Empréstimo
Data_Devolução
cod_Utilizador
cod_Livro
0
21-12-05
21-01-06
1
2
1
03-01-05
30-01-06
3
4
2
05-01-06
01-02-06
0
3
3
06-01-06
15-01-06
2
1
4
07-01-06
08-01-06
4
5
Exercícios de revisão:
➢ Defina chave estrangeira.
➢ Como se criam relações entre tabelas?
4.2.2 Formulários
A construção de formulários é feita de forma idêntica à demonstrada no ponto 2
(2.2.4 Formulário) deste Manual.
Manual de Apoio
37/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Formulários
Para o exemplo da Biblioteca, vamos construir os três formulários para introdução de
dados nas três tabelas criadas. Por razões de simplicidade, atribuimos o mesmo nome da
tabela ao formulário respectivo.
Vemos que, na tabela Empréstimo, os campos cod_Utilizador e cod_Livro
correspondem a campos das tabelas Utilizador e Livro, respectivamente. Só interessa
adicionar registos que já existam nestas duas tabelas. Uma vantagem que nos trazem as
Caixas de Combinação é poder seleccionar a estas tabelas os valores que desejamos
guardar na tabela Empréstimo. As caixas de combinação podem assim facilitar-nos a
inserção de dados em alguns campos.
As caixas de combinação criam-se já depois do formulário criado. Clicando com o
botão secundário sobre o formulário Empréstimo escolhemos a opção Editar. Com a tecla
CTRL premida clicamos sobre a caixa de introdução de dados do cod_Livro e apagamola.
Seguidamente, na barra de ferramentas, seleccionamos o botão Combo Box
desenhamos uma caixa semelhante à caixa que existia anteriormente. Depois de
desenhar a caixa surge-nos esta janela:
Manual de Apoio
38/61
e
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Formulários
Esta janela permite-nos escolher a tabela a partir de onde queremos buscar os
elementos para guardar no campo cod_Livro. Neste caso, pretendemos buscar o campo
cod_Livro à tabela Livro. Seleccionamos Livro e clicamos em Próximo.
De seguida seleccionamos o campo cod_Livro e clicamos em Próximo.
É-nos ainda perguntado se desejamos salvar este valor num campo da base de
dados ou se pretendemos apenas usar este valor para exibição. Seleccionamos a opção
Sim, desejo salvá-lo no seguinte campo do banco de dados, pois pretendemos, não
apenas visualizar os códigos de Livro existentes na biblioteca, mas também armazenar
este código na informação de empréstimo do mesmo livro. Escolhemos da caixa de
listagem a opção cod_Livro, pois pretendemos que este valor seja armazenado no campo
cod_Livro. Finalmente clicamos em Concluir.
Salvamos o formulário e, quando o abrimos novamente, verificamos que temos à
disposição a caixa de combinação, que nos permite seleccionar o código do livro que
pretendemos requisitar, em vez de termos de introduzir esse código à mão.
Manual de Apoio
39/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Formulários
É importante fazer o mesmo procedimento para o campo cod_Utilizador.
4.2.3 Consultas
As consultas são um dos diferentes objectos que constam numa base de dados.
Permitem ao utilizador analisar as várias tabelas e retirar informação das mesmas. Por
exemplo, numa tabela que contenha as moradas, se pretendermos saber quem mora em
Sintra, podemos fazer uma consulta e obter uma nova tabela mas só com os utilizadores
que habitam em Sintra.
Os principais objectivos duma consulta são:
● Mostrar apenas os registos que obedeçam a um critério definido pelo utilizador;
● Ordenar os registos por um ou mais campos;
● Mostrar os campos de tabelas relacionadas por uma ordem diferente da original;
● Efectuar operações em campos do tipo numérico (Número ou Integer, Data, …);
● Eliminar ou adicionar registos segundo um determinado critério definido pelo
utilizador.
Consultas simples
Exercício:
➢ Para a base de dados com três tabelas da biblioteca crie as seguintes consultas
simples:
Todos os Livros existentes (visualize todos os atributos).
Todos os Empréstimos, exibindo o nome do utilizador, o título do livro e a data de
devolução.
Manual de Apoio
40/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Consultas
Vamos criar sempre consultas na vista de estrutura (exibição de design). No
separador Consultas da nossa base de dados seleccionamos a opção Criar consulta na
exibição de design.... Neste tipo de vista a parte superior da janela apresenta-nos as
tabelas seleccionadas para consulta. Na parte inferior são indicados os campos que
pretendemos visualizar na consulta, bem como os critérios de selecção para filtragem dos
dados.
Pretendendo exibir todos os registos da tabela Utilizador, na janela de Adicionar
tabelas escolhemos a tabela Utilizador e clicamos em Adicionar.
Para escolha dos campos a exibir na consulta temos que colocar na secção inferior
os campos que queremos. Pode ser feita de duas maneiras. Uma é seleccionar o campo
que queremos e arrastá-lo para a secção inferior.
Outra é colocar o cursor no espaço em branco Campo e seleccionar o campo da
tabela por uma selecção da lista que aparece, como se pode ver na figura seguinte.
Manual de Apoio
41/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Consultas
Depois de escolhidos todos os campos pretendidos para a consulta clicamos no
botão Salvar.
É-nos pedido para introduzir o nome da consulta.
Esta consulta criada é uma consulta simples, quando se pretende apenas exibir
registos de uma só tabela. É também possível criar consultas com base em mais do
que uma tabela. Podemos pretender, por exemplo, criar uma listagem com os nomes dos
utilizadores, títulos dos livros requisitados e data de devolução. Estes três dados
encontram-se em três tabelas diferentes.
Para iniciar a criação de uma consulta clicamos em Criar consulta na exibição de
design... e seleccionamos cada uma das três tabelas, clicando em Adicionar. Um duplo
clique no nome da tabela faz a mesma operação.
Manual de Apoio
42/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Consultas
Seguidamente arrastamos o campo Nome da tabela Utilizador, o campo Título da
tabela Livro e o campo Data_Devolução da tabela Empréstimo. Clicamos no botão Salvar
e atribuimos um nome à consulta.
Um duplo clique na consulta criada permite-nos observar que apenas obtivemos os
dados referentes aos campos escolhidos das três tabelas.
Para além da criação de consultas simples com base em várias tabelas podemos
também fazer consultas com critérios e consultas com parâmetros.
Consultas com critérios
Exercício:
➢ Efectue uma consulta com critérios que mostre os Utilizadores a quem foram
emprestados os livros de TIC.
Resolução do Exercício:
Por exemplo, podemos querer saber os nomes dos utilizadores que requisitaram
livros com título “TIC”.
Para isso, no design de consulta, arrastamos para a parte inferior os campos
Nome da tabela Utilizador e Título da tabela Livro.
Na secção Critério escrevemos TIC e a consulta gerada fará uma selecção,
excluindo todas as requisições que não tenham sido efectuadas sobre o livro com nome
“TIC”.
Manual de Apoio
43/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Consultas
Como podemos ver na consulta criada, são exibidos os nomes de utilizador e títulos
do livro que correspondem apenas a uma requisição de livro com nome “TIC”.
Consultas com parâmetros
Exercício:
➢ Efectue uma consulta com parâmetros que mostre todos os empréstimos de um
utilizador a especificar.
Resolução do Exercício:
Numa consulta deste tipo, o valor do critério será solicitado ao comandar a
execução. Criamos parâmetros colocando na secção do Critério o sinal de
interrogação, ? , como no exemplo:
Manual de Apoio
44/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Consultas
Ao executar esta consulta o diálogo <Entrada de Parâmetro> será exibido:
Analise o resultado da consulta com parâmetros.
Exercício:
➢ Pretende-se consultar a lista de todos utilizadores, com número superior ou igual ao
introduzido como parâmetro.
Manual de Apoio
45/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Consultas
Resolução do Exercício:
Ao executar esta consulta o diálogo <Entrada de Parâmetro> será exibido:
Resultado da consulta:
Exercícios de revisão:
➢ Defina, por palavras suas, o que é uma consulta.
➢ Que nos permite fazer as consultas nos sistemas de gestão de bases de dados?
Manual de Apoio
46/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Relatórios
4.2.4 Relatórios
A construção de relatórios é feita de forma idêntica à demonstrada no ponto 2 (2.2.5
Relatório) deste Manual.
Já aprendemos a criar consultas, agora vamos criar relatórios com base em
consultas.
O processo de geração de relatórios com base em consultas é semelhante ao
processo de criação de relatórios com base numa tabela. No separador Relatórios,
escolhemos a opção Usar assistente para criar relatório... e, em vez de seleccionarmos
uma tabela, seleccionamos uma consulta.
Mais uma vez, usamos os botões > e >> para escolhermos os campos da consulta
que desejamos que apareçam no relatório. Na secção seguinte, podemos atribuir nomes
para os rótulos dos campos, se desejarmos que não sejam os mesmos nomes dos
campos. Isto pode tornar o relatório mais compreensível ao utilizador final.
Definirmos, se desejarmos, opções de agrupamento e escolhemos o aspecto do
relatório. Finalmente, atribuimos um nome ao relatório, definimo-lo como relatório
dinâmico e seleccionamos Criar relatório agora, clicando em Concluir. O relatório
desejado será imediatamente criado.
Manual de Apoio
47/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Relatórios
Exercícios de revisão:
➢ Um médico pediu-lhe para elaborar uma base de dados de modo a poder fazer um
controlo dos seus pacientes. Para isso ele pretende ter dois tipos de elementos
separados: informação dos pacientes e informação das consultas. Sobre os pacientes
pretende guardar o n.º do processo, nome, data de nascimento, sexo, morada, telefone,
profissão. Sobre as consultas pretende guardar o n.º da consulta, data, nome do
médico, observações e medicação.
Defina quais as características da cada campo e construa pelo menos duas tabelas.
Uma para a Identificação e outra para a Informação das Consultas. Estabeleça as
relações entre as tabelas com base no número do processo.
Defina também dois formulários, um para cada tabela. Introduza uma caixa de
combinação para ir buscar o número do processo à tabela de identificação para
armazenar na tabela de informação das consultas.
Manual de Apoio
48/61
4
CONSTRUÇÃO DE UMA BASE DE DADOS RELACIONAL
Relatórios
Crie uma consulta para seleccionar todos os pacientes do sexo feminino.
Crie um relatório com a consulta feita na alínea anterior.
➢ Está inscrito num clube? Faça um levantamento de informação relevante para ser
armazenada numa base de dados de um clube. Que dados devem ser guardados sobre
os atletas? Que informações são importantes sobre as modalidades?
De acordo com a sua pesquisa, crie uma base de dados. Defina duas tabelas: uma
para a inscrição dos atletas no clube, outra para as modalidades com os três campos
seguintes: Nome da modalidade, Valor da mensalidade e Federada. Crie as relações
entre as tabelas.
Crie os formulários para inserção de dados.
Introduza registos nas tabelas.
Crie uma consulta para seleccionar dados de todos os atletas existentes; apenas
deverão aparecer como resultado da consulta os números e o nomes dos atletas.
Crie uma consulta para seleccionar os dados completos de todos os atletas com o
nome Francisco.
Crie um relatório com a consulta feita no ponto anterior.
Defina uma caixa de combinação numa tabela, num campo em que ache isso
conveniente.
➢ De acordo com o que já aprendeu, crie uma base de dados para armazenamento de
informação da sua colecção de cds. Esta base de dados poderá armazenar também
dados de empréstimo dos seus cds a amigos, dados sobre os artistas, etc. Crie as
tabelas necessárias, formulários para inserção de dados, consultas e relatórios.
Manual de Apoio
49/61
5
ELEMENTOS AVANÇADOS
ELEMENTOS AVANÇADOS
5 ELEMENTOS AVANÇADOS
5.1 Propriedades dos campos
Além do Nome de campo e do Tipo de campo, os campos possuem também
Propriedades do campo, definições de pormenor que podem ser importantes. Nem
todas as propriedades podem ser usadas com todos os tipos, mas o Base encarrega-se
de, para cada campo, mostrar apenas as propriedades aplicáveis.
A título de exemplo, serão mostradas as imagens das Propriedades do campo que
existem no Base, para os seguintes Tipos de campos: inteiro, texto e data:
Manual de Apoio
50/61
5
ELEMENTOS AVANÇADOS
Propriedades dos campos
Observação: Em campos como o cod_Empréstimo ou cod_Livro, podemos optar
pelo tipo AutoValor, uma vez que pretendemos um número diferente para cada
empréstimo ou para cada Livro.
Como se pode ver pelas imagens, para os diferentes Tipos de campos existem
propriedades comuns e propriedades específicas que permitem o controlo da
apresentação do campo e a introdução de dados por parte do utilizador.
Propriedade do campo
Significado
AutoValor
Podemos escolher entre Sim ou Não. Em caso de Sim aparece
IDENTITY em Incrementar automaticamente ... (estas duas
propriedades complementam-se).
Incrementar automaticamente ...
Tamanho
Exemplo de formatação
Entrada obrigatória
Valor padrão
Valor preenchido automaticamente.
Número de caracteres que lá podem ser escritos (texto) ou
número máximo de algarismos (Integer)
Permite criar regras de introdução, o que facilita a introdução
de dados nos campos, de modo a evitar erros de digitação por
parte dos utilizadores.
Para indicar se o campo é ou não de preenchimento
obrigatório.
Valor com que o campo é automaticamente preenchido.
De seguida, vamos analisar a Propriedade do campo designada por Exemplo de
formatação, para Tipos de campos: inteiro, texto e data:
Manual de Apoio
51/61
5
ELEMENTOS AVANÇADOS
Subformulários
5.2 Subformulários
É possível incluir um formulário noutro para que o segundo fique dependente do
primeiro. A forma mais fácil de o fazer é criá-lo em simultâneo através do Assistente de
formulários.
Vamos dar início à criação de um formulário com subformulário, tomando como
exemplo, a base de dados de um Clube de Desportos Náuticos, com a seguinte estrutura:
Exercício:
➢ Construa a base de dados (Clube de Desportos Náuticos) com a estrutura que é dada,
ficando ao seu critério as definições dos Tipos e Propriedades dos Campos.
Criação de um formulário com subformulário utilizando o assistente
Pretende-se que, para todos os membros existentes no clube se possa verificar os
dados referentes ás inscrições e modalidades de cada um. No formulário teremos os
dados da tabela Inscrição e no subformulário os dados referentes á tabela Modalidade.
Como vimos em capítulos anteriores, no Base temos que seguir um conjunto de
etapas que o Assistente de Formulários nos indica:
Manual de Apoio
52/61
5
ELEMENTOS AVANÇADOS
Subformulários
● Primeiro temos de seleccionar a tabela e escolher os campos que pretendemos
para o formulário
● O próximo passo é configurar o subformulário, ou seja, temos de seleccionar a
tabela, da qual iremos escolher os campos para o subformulário
● Escolhe-se os campos que pretendemos para o subformulário
Manual de Apoio
53/61
5
ELEMENTOS AVANÇADOS
Subformulários
● E a disposição dos campos do formulário e do subformulário respectivamente
● As três etapas seguintes são definidas do mesmo modo e têm o mesmo
significado que no ponto 2 (2.2.4 Formulário) deste Manual.
Manual de Apoio
54/61
5
ELEMENTOS AVANÇADOS
Subformulários
Resultado final:
Manual de Apoio
55/61
6
BIBLIOGRAFIA
BIBLIOGRAFIA
6 BIBLIOGRAFIA
(1) Antão, António; Fernandes, Eduardo; Couto, Hélder; Almeida, Hugo; Antão, Rui
(2005). TIC10: Parte 2. Lisboa: Areal Editores.
(2) Augusto, Artur. (2003), Aplicações Informáticas 11ºano (Curso Tecnológico de
Informática). Porto: Porto Editora.
(3) Azul, Artur Augusto; Azul, Nuno; Fonseca, Dalila; Marques, Fernando; Pacheco,
Deolinda; Soares, Ricardo (2005). Tecnologias da Informação e Comunicação 10 –
Unidades Essenciais: 1.ª Parte. Porto: Porto Editora.
(4) http://pt.wikipedia.org
Manual de Apoio
56/61
7
ANEXOS
ANEXOS
7 ANEXOS
7.1 Instalação do OpenOffice Base em Ambiente Windows
O texto que se segue pretende explicar o processo de instalação do conjunto de
programas que compõem o OpenOffice, que inclui o OpenOffice Base. É conveniente
instalar o pacote completo, dado que o Base utiliza outros recursos do OpenOffice (como
o Writer, por exemplo, para os Formulários). Além disso, o tamanho total da instalação
não é significativo.
Neste manual vamos usar a versão 2.0, em português do Brasil. Após ter sido feita a
transferência
do
ficheiro
de
instalação
em
http://www.openoffice.org.br/, um duplo clique no ficheiro fará aparecer a seguinte janela:
Clicar em ‘Avançar’ para continuar.
Manual de Apoio
57/61
7
ANEXOS
Instalação do OpenOffice Base em Ambiente Windows
O OpenOffice terá que descomprimir os ficheiros para uma pasta, antes de proceder
à instalação. No fim da instalação, esta pasta poderá ser apagada. Memorizar a
localização dessa pasta ou indicar uma pasta de destino facilmente localizável. Depois de
escolhida a Pasta de destino, clicar em ‘Descompactar’.
Aguardar que os ficheiros sejam descomprimidos. Seguidamente clicar em
‘Avançar’.
Surge a janela de Contrato de Licença:
É necessário escolher a opção ‘Aceito os termos do contrato de licença’.
Manual de Apoio
58/61
7
ANEXOS
Instalação do OpenOffice Base em Ambiente Windows
Introduza o nome do Utilizador e a Organização. Esta informação aparecerá nas
propriedades dos documentos criados.
Como havia sido dito há pouco, é conveniente instalar o pacote completo, o que
corresponde à selecção da opção ‘Concluir’. Isto corresponde à opção tipicamente
designada de “recomendada”. No entanto, é possível excluir algum componente não
desejado, através da opção ‘Personalizada’. Neste caso, aparecerão todos os
componentes do OpenOffice:
Manual de Apoio
59/61
7
ANEXOS
Instalação do OpenOffice Base em Ambiente Windows
No exemplo excluímos a aplicação de criação de apresentações Impress. Essa
selecção faz-se com clique no botão do lado direito.
No caso da instalação completa, é questionado de seguida se deseja abrir ficheiros
do Office da Microsoft com as aplicações convenientes do OpenOffice:
Se seleccionar estas alíneas, qualquer ficheiro deste tipo será aberto, por
predefinição, com a aplicação do OpenOffice. Esta questão só se aplica ao Microsoft
Word (que será aberto com o OpenOffice Write), Microsoft Excel (OpenOffice Calc) e
Microsoft PowerPoint (OpenOffice Impress).
Depois de feitas todas as opções, está pronto para instalar. Clicar em ‘Instalar’.
Aguardar a instalação do OpenOffice.
Manual de Apoio
60/61
7
ANEXOS
Instalação do OpenOffice Base em Ambiente Windows
No final da instalação surge a janela seguinte. Clicar em ‘Concluir’.
Manual de Apoio
61/61
Download

Manual dos SGBD com o OpenOffice Base