You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
313 lines
9.1 KiB
313 lines
9.1 KiB
12 years ago
|
<!--
|
||
|
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
|
||
|
-->
|
||
|
|
||
|
<chapter id="building-databases">
|
||
|
<title
|
||
|
>Criando Bancos de Dados Simples</title>
|
||
|
<sect1 id="building-intro">
|
||
|
<title
|
||
|
>Introdução</title>
|
||
|
<para
|
||
|
>Para aprender os fundamentos do &kexi;, você poderá criar um banco de dados simples, usando as funcionalidades mais elementares do &kexi;. Para tornar as coisas mais simples, os tópicos avançados de desenho de bancos de dados não serão cobertos aqui. </para>
|
||
|
<para
|
||
|
>Comece por criar uma nova <emphasis
|
||
|
>Agenda Telefônica</emphasis
|
||
|
> vazia. </para>
|
||
|
|
||
|
<para
|
||
|
>Tendo um projeto de banco de dados novo e vazio, execute os seguintes passos:</para>
|
||
|
<procedure>
|
||
|
<step
|
||
|
><para
|
||
|
>Desenhe as tabelas do banco de dados. Leia <xref linkend="designing-tables"/>.</para
|
||
|
></step>
|
||
|
<step
|
||
|
><para
|
||
|
>Insira dados nas tabelas. Leia <xref linkend="entering-data-into-tables"/>.</para
|
||
|
></step>
|
||
|
<step
|
||
|
><para
|
||
|
>Desenhe as consultas do banco de dados. Leia <xref linkend="designing-queries"/>.</para
|
||
|
></step>
|
||
|
<step
|
||
|
><para
|
||
|
>Desenhe os formulários do banco de dados. Leia <xref linkend="designing-forms"/>.</para
|
||
|
></step>
|
||
|
<step
|
||
|
><para
|
||
|
>Use os formulários para inserir dados. Leia <xref linkend="entering-data-using-forms"/>.</para
|
||
|
></step>
|
||
|
</procedure>
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="designing-tables">
|
||
|
<title
|
||
|
>Desenhando as Tabelas de Banco de Dados</title>
|
||
|
<para
|
||
|
>Primeiro, irão existir duas tabelas que serão adicionadas ao seu banco de dados: a <emphasis
|
||
|
>pessoas</emphasis
|
||
|
> e a <emphasis
|
||
|
>telefones</emphasis
|
||
|
>. Elas são exatamente as mesmas tabelas que estão descritas no capítulo <link linkend="database-and-spreadsheet"
|
||
|
>Banco de dados e planilha</link
|
||
|
>. Poderá ser encontrado um formato para a <emphasis
|
||
|
>Pessoas</emphasis
|
||
|
> na seção de <link linkend="data-integrity-and-validity"
|
||
|
>Integridade e validade dos dados</link
|
||
|
> nesse capítulo. </para>
|
||
|
|
||
|
<procedure>
|
||
|
<step>
|
||
|
<para
|
||
|
>Selecione a opção do menu <menuchoice
|
||
|
><guimenu
|
||
|
>Inserir</guimenu
|
||
|
><guimenuitem
|
||
|
>Tabela</guimenuitem
|
||
|
> </menuchoice
|
||
|
>. Você poderá também usar o botão <guilabel
|
||
|
>Criar objeto: tabela</guilabel
|
||
|
> da <link linkend="project-navigator-pane"
|
||
|
>barra do Navegador do Projeto</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; sugeriu um nome genérico do tipo <emphasis
|
||
|
>modelo</emphasis
|
||
|
> para a nova tabela. O desenho da tabela ainda não está salvo, assim você poderá atribuir um nome mais apropriado mais tarde. 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 Projeto</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
|
||
|
>Nome do <guilabel
|
||
|
>Título do Campo</guilabel
|
||
|
> - o título do campo que será exibido durante a entrada de dados. </para
|
||
|
></listitem>
|
||
|
<listitem
|
||
|
><para
|
||
|
>Tipo de Da<guilabel
|
||
|
>dos</guilabel
|
||
|
> - uma lista com os tipos de dados que permite atribuir uma regra principal para os dados inseridos num determinado campo. Por exemplo, quando um campo for do tipo de números inteiros, o usuário do banco de dados não poderá inserir letras neste campo. </para
|
||
|
></listitem>
|
||
|
<listitem
|
||
|
><para
|
||
|
>Comentário<guilabel
|
||
|
>s</guilabel
|
||
|
> - você poderá introduzir aqui quaisquer informações úteis para compreender para que serve o campo indicado. Este texto adicional será salvo dentro do desenho das tabelas e só ficará visível no modo de desenho. </para
|
||
|
></listitem>
|
||
|
</itemizedlist>
|
||
|
<para
|
||
|
>Na janela do <guilabel
|
||
|
>Desenhador de tabelas</guilabel
|
||
|
>, cada linha corresponde a um único campo da tabela. Você poderá reconhecer que está no <emphasis
|
||
|
>modo de desenho</emphasis
|
||
|
>, porque o botão do <guibutton
|
||
|
>Mudar para o modo Visão de Desenho</guibutton
|
||
|
> está ativo na barra de ferramentas principal do &kexi;. </para>
|
||
|
|
||
|
|
||
|
<procedure>
|
||
|
<title
|
||
|
>Desenhando a tabela de <emphasis
|
||
|
>Pessoas</emphasis
|
||
|
>:</title>
|
||
|
<step
|
||
|
><para
|
||
|
>Na primeira linha, clique na célula da coluna do <guilabel
|
||
|
>Título 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 nome do campo é uma palavra usada pelo banco de dados que normalmente não está visível para os usuários do banco de dados. O nome não pode conter caracteres especiais (nacionais, como o ±, ¶, Ü) ou espaços. Os nomes só poderão conter letras romanas, números e o sinal de sublinhado "_". Use a última opção em vez dos espaços ou hífens. </para
|
||
|
></listitem>
|
||
|
<listitem
|
||
|
><para
|
||
|
>Os nomes dos campos deverão começar por uma letra ou sublinhado "_", nunca por um número. </para
|
||
|
></listitem>
|
||
|
<listitem
|
||
|
><para
|
||
|
>Não importa se está usando letras maiúsculas ou minúsculas. Para as bases de dados do &kexi;, o nome "Pessoas" é a mesma coisa que "pessoas". </para
|
||
|
></listitem>
|
||
|
<listitem
|
||
|
><para
|
||
|
>O título do campo, por outro lado, permite-lhe inserir quaisquer letras ou caracteres especiais. Será apresentado para os usuários da aplicação do banco de dados. </para
|
||
|
></listitem>
|
||
|
</itemizedlist>
|
||
|
</step>
|
||
|
|
||
|
<step>
|
||
|
<itemizedlist>
|
||
|
<title
|
||
|
>De forma semelhante, insira os seguintes campos no desenho da tabela:</title>
|
||
|
<listitem
|
||
|
><para
|
||
|
><guilabel
|
||
|
>sobrenome</guilabel
|
||
|
></para
|
||
|
></listitem>
|
||
|
<listitem
|
||
|
><para
|
||
|
>rua</para
|
||
|
></listitem>
|
||
|
<listitem
|
||
|
><para
|
||
|
>numero_casa</para
|
||
|
></listitem>
|
||
|
<listitem
|
||
|
><para
|
||
|
>cidade</para
|
||
|
></listitem>
|
||
|
</itemizedlist>
|
||
|
</step>
|
||
|
|
||
|
<step
|
||
|
><para
|
||
|
>Todos os campos acima, exceto o <emphasis
|
||
|
>numero_casa</emphasis
|
||
|
> são do tipo texto. Mude o tipo de campo do <emphasis
|
||
|
>numero_casa</emphasis
|
||
|
> para <emphasis
|
||
|
>número inteiro</emphasis
|
||
|
>. Para fazer isto, clique numa célula da coluna do <guilabel
|
||
|
>Tipo de Dados</guilabel
|
||
|
>, na linha <emphasis
|
||
|
>numero_casa</emphasis
|
||
|
> e clique então no botão da lista (você poderá também clicar 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. Selecione o tipo <emphasis
|
||
|
>Número inteiro</emphasis
|
||
|
>. </para
|
||
|
><para
|
||
|
>A partir de agora, o campo <emphasis
|
||
|
>numero_casa</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. Clique no botão <guibutton
|
||
|
>Mudar para a Visão de Dados</guibutton
|
||
|
> da barra de ferramentas para terminar o desenho e mudar para Visão de Dados da tabela. Isto permite-lhe inserir dados na tabela. </para
|
||
|
></step>
|
||
|
|
||
|
<step
|
||
|
><para
|
||
|
>Como o desenho ainda não está salvo no banco de dados, a janela para <guibutton
|
||
|
>Salvar Objeto Como</guibutton
|
||
|
> irá aparecer. Você terá que especificar o nome da tabela nova. </para>
|
||
|
<para
|
||
|
>O &kexi; oferece um nome genérico <emphasis
|
||
|
>Tabela1</emphasis
|
||
|
>. Para mudar o nome, insira <emphasis
|
||
|
>Pessoas</emphasis
|
||
|
> no campo do <emphasis
|
||
|
>Título</emphasis
|
||
|
> e pressione a tecla <keycombo
|
||
|
><keycap
|
||
|
>Enter</keycap
|
||
|
></keycombo
|
||
|
> ou clique <guibutton
|
||
|
>OK. O campo d</guibutton
|
||
|
>o <guilabel
|
||
|
>Título</guilabel
|
||
|
> será usado para mostrar a tabela para os usuários finais do banco de dados, ⪚, 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
|
||
|
>. Para sua conveniência, a regra de utilização de apenas caracteres romanos, números e sublinhados "_" mantém-se. Você poderá alterar o conteúdo do campo <guilabel
|
||
|
>Nome, se o dese</guilabel
|
||
|
>jar. </para
|
||
|
></step>
|
||
|
|
||
|
<step
|
||
|
><para
|
||
|
>Você será questionado se concorda com a adição automática de uma chave primária à tabela. Clique no botão <guibutton
|
||
|
>Adicionar chave primária</guibutton
|
||
|
> para continuar. </para
|
||
|
></step>
|
||
|
|
||
|
<step
|
||
|
><para
|
||
|
>A tabela <emphasis
|
||
|
>Pessoas</emphasis
|
||
|
> foi criada e aberta na Visão de Dados. O seu nome aparecerá no painel do <guilabel
|
||
|
>Navegador do Projeto</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 um 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
|
||
|
>Clique no botão <guibutton
|
||
|
>Mudar para Visão de Dados</guibutton
|
||
|
> na barra de ferramentas e insira <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>
|
||
|
|