<!--
  <!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
-->

<chapter id="building-databases">
<title
>Criar Bases de Dados Simples</title>
<sect1 id="building-intro">
<title
>Introdução</title>
<para
>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. </para>
<para
>Comece por criar uma <emphasis
>Agenda Telefónica</emphasis
> nova e vazia. </para>

<para
>Em tendo um projecto de base de dados novo e vazio, efectue os seguintes passos:</para>
<procedure>
<step
><para
>Desenhe as tabelas da base de dados. Leia a secção <xref linkend="designing-tables"/>.</para
></step>
<step
><para
>Introduza os dados nas tabelas. Leia a secção <xref linkend="entering-data-into-tables"/>.</para
></step>
<step
><para
>Desenhe as pesquisas da base de dados. Leia a secção <xref linkend="designing-queries"/>.</para
></step>
<step
><para
>Desenhe os formulários. Leia a secção <xref linkend="designing-forms"/>.</para
></step>
<step
><para
>Use os formulários para introduzir dados. Leia a secção <xref linkend="entering-data-using-forms"/>.</para
></step>
</procedure>
</sect1>

<sect1 id="designing-tables">
<title
>Desenhar as Tabelas de Base de Dados</title>
<para
>Primeiro, irão existir duas tabelas que serão adicionadas à sua base de dados: a <emphasis
>pessoas</emphasis
> e a <emphasis
>telefones</emphasis
>. Estas são exactamente as mesmas tabelas que estão descritas no capítulo <link linkend="database-and-spreadsheet"
>Bases de dados e folhas de cálculo</link
>. Poderá ser encontrado um formato para a <emphasis
>Pessoas</emphasis
> na secção de <link linkend="data-integrity-and-validity"
>Integridade e validade dos dados</link
> nesse capítulo. </para>

<procedure>
<step>
<para
>Seleccione a opção do menu <menuchoice
><guimenu
>Inserir</guimenu
><guimenuitem
>Tabela</guimenuitem
> </menuchoice
>. Poderá também usar o botão <guilabel
>Criar um objecto: tabela</guilabel
> da <link linkend="project-navigator-pane"
>barra do Navegador do Projecto</link
>. </para>
</step>
<step>
<para
>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 <emphasis
>modelo</emphasis
> 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 <link linkend="project-navigator-pane"
>Navegador do Projecto</link
>. </para>
</step>
</procedure>


<sect2 id="design-window">
<title
>A Janela do Desenhador de Tabelas</title>
<itemizedlist>
<title
>A janela do Desenhador de Tabelas consiste nas seguintes colunas:</title>
<listitem
><para
><guilabel
>PK</guilabel
> - Chave Primária. </para
></listitem>
<listitem
><para
><guilabel
>Nome do Campo</guilabel
> - o nome do campo (por outras palavras:  o nome da coluna)  que será visível durante a introdução de dados. </para
></listitem>
<listitem
><para
><guilabel
>Tipo de Dados</guilabel
> - 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. </para
></listitem>
<listitem
><para
><guilabel
>Comentários</guilabel
> - 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. </para
></listitem>
</itemizedlist>
<para
>Na janela do <guilabel
>Desenhador de tabelas</guilabel
>, todas as linhas correspondem a um campo de uma única tabela. Poderá reconhecer que está no <emphasis
>modo de desenho</emphasis
>, porque o botão do <guibutton
>modo para Mudar para a Vista de Desenho</guibutton
> está activo na barra de ferramentas principal do &kexi;. </para>


<procedure>
<title
>Desenhar a tabela de <emphasis
>Pessoas</emphasis
>:</title>
<step
><para
>Na primeira linha, carregue na célula da coluna do <guilabel
>Nome do campo</guilabel
> e escreva <emphasis
>nome</emphasis
> como nome para o campo. </para>
<itemizedlist>
<title
>Notas sobre os nomes e títulos dos campos</title>
<listitem
><para
>Cada campo da tabela deverá ter um nome e um título, que não poderão estar vazios. </para
></listitem>
<listitem
><para
>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 &quot;_&quot;. Use a última opção em vez dos espaços ou hífenes. </para
></listitem>
<listitem
><para
>Os nomes dos campos deverão começar por uma letra ou sublinhado &quot;_&quot;, nunca por um número. </para
></listitem>
<listitem
><para
>Não interessa se está a usar letras maiúsculas ou minúsculas. Para as bases de dados do &kexi;, a &quot;Pessoas&quot; é a mesma coisa que &quot;pessoas&quot;. </para
></listitem>
<listitem
><para
>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. </para
></listitem>
</itemizedlist>
</step>

<step>
<itemizedlist>
<title
>De forma semelhante, indique os seguintes campos no desenho da tabela:</title>
<listitem
><para
><guilabel
>apelido</guilabel
></para
></listitem>
<listitem
><para
>rua</para
></listitem>
<listitem
><para
>numero_porta</para
></listitem>
<listitem
><para
>cidade</para
></listitem>
</itemizedlist>
</step>

<step
><para
>Todos os campos acima, excepto o <emphasis
>numero_porta</emphasis
> são do tipo texto. Mude o tipo de campo do <emphasis
>numero_porta</emphasis
> para <emphasis
>número inteiro</emphasis
>. Para o fazer, carregue numa célula da coluna do <guilabel
>Tipo de Dados</guilabel
>, na linha <emphasis
>numero_porta</emphasis
> e carregue então no botão da lista (poderá também carregar em <keycombo
><keycap
>F4</keycap
></keycombo
> ou em <keycombo action="simul"
>&Alt;<keycap
>Baixo</keycap
></keycombo
>. A lista de tipos de dados irá então aparecer. Seleccione o tipo <emphasis
>Número inteiro</emphasis
>. </para
><para
>Por agora, o campo <emphasis
>numero_porta</emphasis
> só aceita números. </para
></step>

<!-- TODO setting additional properties: e.g. caption -->
<step
><para
>O desenho da tabela <emphasis
>Pessoas</emphasis
> está pronto. Carregue no botão <guibutton
>Mudar para a Vista de Dados</guibutton
> da barra de ferramentas para terminar o desenho e mudar para Vista de Dados da tabela. Isto permite-lhe introduzir dados na tabela. </para
></step>

<step
><para
>Como o desenho ainda não está gravado na base de dados, a janela para <guibutton
>Gravar o Objecto Como</guibutton
> irá aparecer. Terá de indicar o nome da tabela nova. </para>
<para
>O &kexi; oferece um nome genérico <emphasis
>Tabela1</emphasis
>. Para mudar o nome, indique <emphasis
>Pessoas</emphasis
> no campo do <emphasis
>Título</emphasis
> e carregue na tecla <keycombo
><keycap
>Enter</keycap
></keycombo
> ou no botão <guibutton
>OK</guibutton
>. O campo do <guilabel
>Título</guilabel
> será usado para mostrar a tabela para os utilizadores finais da base de dados, &eg;, como um formulário. Ao contrário do nome, o título poderá conter quaisquer caracteres, incluindo espaços e caracteres especiais. </para>
<para
>Lembre-se que o preenchimento do campo <guilabel
>Título</guilabel
> preenche automaticamente o campo <guilabel
>Nome</guilabel
>. Por razões de conveniência, a regra de utilização de apenas caracteres latinos, números e sublinhados &quot;_&quot; mantém-se. Poderá alterar o conteúdo do campo <guilabel
>Nome</guilabel
>, se o desejar. </para
></step>

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

<step
><para
>A tabela <emphasis
>Pessoas</emphasis
> foi criada e aberta na Vista de Dados. O seu nome aparecerá na área do <guilabel
>Navegador do Projecto</guilabel
>. </para
></step>

<step
><para
>Crie a tabela de <emphasis
>telefones</emphasis
>, de forma semelhante à da tabela <emphasis
>pessoas</emphasis
>. </para
></step>

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

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

</sect2>

</sect1>
&enteringdataintotables; &querydesigning; &designingforms; &enteringdatausingforms; </chapter>

