# Criar Bases de Dados Simples

## Introdução

Para aprender as bases do &kexi;, poderá criar uma base de dados simples, usando as funcionalidades mais elementares do &kexi;. Para tornar as coisas mais simples, os tópicos avançados de desenho de bases de dados não serão aqui cobertos.

Comece por criar uma Agenda Telefónica nova e vazia.

Em tendo um projecto de base de dados novo e vazio, efectue os seguintes passos:

1. Desenhe as tabelas da base de dados. Leia a secção designing-tables.

2. Introduza os dados nas tabelas. Leia a secção entering-data-into-tables.

3. Desenhe as pesquisas da base de dados. Leia a secção designing-queries.

4. Desenhe os formulários. Leia a secção designing-forms.

5. Use os formulários para introduzir dados. Leia a secção entering-data-using-forms.

## Desenhar as Tabelas de Base de Dados

Primeiro, irão existir duas tabelas que serão adicionadas à sua base de dados: a pessoas e a telefones. Estas são exactamente as mesmas tabelas que estão descritas no capítulo Bases de dados e folhas de cálculo. Poderá ser encontrado um formato para a Pessoas na secção de Integridade e validade dos dados nesse capítulo.

1. Seleccione a opção do menu Inserir Tabela . Poderá também usar o botão Criar um objecto: tabela da barra do Navegador do Projecto.

2. A janela do Desenhador de Tabelas irá aparecer. Se olhar para o topo da janela de desenho, você irá reparar que o &kexi; propôs-lhe um nome genérico do tipo modelo para a tabela nova. O desenho da tabela ainda não está gravado, como tal poderá atribuir um nome mais apropriado mais tarde. Para além disso, devido à mesma razão, o nome da tabela ainda não está visível no Navegador do Projecto.

### A Janela do Desenhador de Tabelas

### A janela do Desenhador de Tabelas consiste nas seguintes colunas:

- PK - Chave Primária.

- Nome do Campo - o nome do campo (por outras palavras: o nome da coluna) que será visível durante a introdução de dados.

- Tipo de Dados - uma lista com os tipos de dados que permite atribuir uma regra principal para os dados introduzidos num determinado campo. Por exemplo, quando um campo for do tipo de números inteiros, o utilizador da base de dados não poderá introduzir letras neste campo.

- Comentários - poderá introduzir aqui quaisquer informações úteis para compreender para que serve o campo indicado. Este texto adicional poderá ser gravado dentro do desenho das tabelas e só ficará visível quando for desenhado.

Na janela do Desenhador de tabelas, todas as linhas correspondem a um campo de uma única tabela. Poderá reconhecer que está no modo de desenho, porque o botão do modo para Mudar para a Vista de Desenho está activo na barra de ferramentas principal do &kexi;.

### Desenhar a tabela de Pessoas:

1. Na primeira linha, carregue na célula da coluna do Nome do campo e escreva nome como nome para o campo.

   ### Notas sobre os nomes e títulos dos campos

   - Cada campo da tabela deverá ter um nome e um título, que não poderão estar vazios.

   - O nomes do campo é uma palavra usada pela base de dados, que não está normalmente visível para os utilizadores da aplicação de bases de dados. O nome não pode conter caracteres nacionais (como o ±, ¶, Ü), caracteres especiais ou espaços. Os nomes só poderão conter letras alfabéticas, números e o sinal de sublinhado "_". Use a última opção em vez dos espaços ou hífenes.

   - Os nomes dos campos deverão começar por uma letra ou sublinhado "_", nunca por um número.

   - Não interessa se está a usar letras maiúsculas ou minúsculas. Para as bases de dados do &kexi;, a "Pessoas" é a mesma coisa que "pessoas".

   - O título do campo, por outro lado, permite-lhe introduzir quaisquer letras ou caracteres especiais. Será apresentado para os utilizadores da aplicação de base de dados.

2. ### De forma semelhante, indique os seguintes campos no desenho da tabela:

   - apelido

   - rua

   - numero_porta

   - cidade

3. Todos os campos acima, excepto o numero_porta são do tipo texto. Mude o tipo de campo do numero_porta para número inteiro. Para o fazer, carregue numa célula da coluna do Tipo de Dados, na linha numero_porta e carregue então no botão da lista (poderá também carregar em F4 ou em &Alt;Baixo. A lista de tipos de dados irá então aparecer. Seleccione o tipo Número inteiro.

   Por agora, o campo numero_porta só aceita números.

4. O desenho da tabela Pessoas está pronto. Carregue no botão Mudar para a Vista de Dados da barra de ferramentas para terminar o desenho e mudar para Vista de Dados da tabela. Isto permite-lhe introduzir dados na tabela.

5. Como o desenho ainda não está gravado na base de dados, a janela para Gravar o Objecto Como irá aparecer. Terá de indicar o nome da tabela nova.

   O &kexi; oferece um nome genérico Tabela1. Para mudar o nome, indique Pessoas no campo do Título e carregue na tecla Enter ou no botão OK. O campo do Título será usado para mostrar a tabela para os utilizadores finais da base de dados, ⪚, como um formulário. Ao contrário do nome, o título poderá conter quaisquer caracteres, incluindo espaços e caracteres especiais.

   Lembre-se que o preenchimento do campo Título preenche automaticamente o campo Nome. Por razões de conveniência, a regra de utilização de apenas caracteres latinos, números e sublinhados "_" mantém-se. Poderá alterar o conteúdo do campo Nome, se o desejar.

6. É-lhe perguntado se concorda com a adição automática de uma chave primária à tabela. Carregue no botão Adicionar uma chave primária para continuar.

7. A tabela Pessoas foi criada e aberta na Vista de Dados. O seu nome aparecerá na área do Navegador do Projecto.

8. Crie a tabela de telefones, de forma semelhante à da tabela pessoas.

9. Crie o campo pessoa do tipo Número inteiro e o telefone do tipo Texto. Não use um número aqui, porque os números de telefone poderão conter vários formatos e prefixos.

10. Carregue no botão Mudar para a Vista de Dados na barra de ferramentas e indique Telefones como título da tabela. Como na sua tabela anterior, permita ao &kexi; criar uma chave primária automaticamente.

&enteringdataintotables; &querydesigning; &designingforms; &enteringdatausingforms;