Introdução ao Derby
Version 10.2
Derby Document build:
August 10, 2009, 1:07:09 PM (PDT)
Version 10.2 Introdução ao Derby
Contents
Direitos autorais reservados •
Licença •
Introdução ao Derby •
Opções de implementação •
Requisitos do Sistema •
A biblioteca do Derby •
Instalação e utilização do Derby •
Instalação do Derby •
Configuração do ambiente Java •
Utilização das ferramentas e dos utilitários de inicialização •
Utilização do sysinfo •
Execução do ij •
Configuração manual das variáveis de ambiente e caminhos •
Definição da variável de ambiente DERBY_INSTALL •
Configuração do caminho de classe •
Guia de iniciação rápida para usuários de JDBC experientes •
Ambientes nos quais o Derby pode ser executado •
Ambiente incorporado •
Ambiente cliente/servidor •
Drivers disponíveis •
URL de conexão com banco de dados •
Convenções da documentação •
Terminologia •
Sintaxe SQL •
Convenções tipográficas •
Bibliotecas e scripts do Derby: referência completa •
Bibliotecas fornecidas pelo Derby •
Bibliotecas não fornecidas pelo Derby •
Scripts fornecidos pelo Derby •
Marcas Registradas •
•
Introdução ao Derby
Apache Software Foundation Introdução ao Derby Apache Derby
Direitos autorais reservados
Copyright 2004, 2006 The Apache Software Foundation
Licenciado sob a Licença Apache, Versão 2.0 (doravante chamada apenas de "Licença"); este arquivo não pode ser utilizado a não ser em conformidade com a Licença. Pode ser obtida uma cópia da Licença em

    http://www.apache.org/licenses/LICENSE-2.0

Informações relacionadas
Licença
Licença
Licença Apache, Versão 2.0

                                   Apache License
                               Version 2.0, January 2004
                            http://www.apache.org/licenses/

       TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

       1. Definitions.

          "License" shall mean the terms and conditions for use,
          reproduction, and distribution as defined by Sections 1 through
          9 of this document.

          "Licensor" shall mean the copyright owner or entity authorized
          by the copyright owner that is granting the License.

          "Legal Entity" shall mean the union of the acting entity and all
          other entities that control, are controlled by, or are under
          common control with that entity. For the purposes of this
          definition, "control" means (i) the power, direct or indirect,
          to cause the direction or management of such entity, whether by
          contract or otherwise, or (ii) ownership of fifty percent (50%)
          or more of the outstanding shares, or (iii) beneficial ownership
          of such entity.

          "You" (or "Your") shall mean an individual or Legal Entity
          exercising permissions granted by this License.

          "Source" form shall mean the preferred form for making
          modifications, including but not limited to software source code,
          documentation source, and configuration files.

          "Object" form shall mean any form resulting from mechanical
          transformation or translation of a Source form, including but
          not limited to compiled object code, generated documentation,
          and conversions to other media types.

          "Work" shall mean the work of authorship, whether in Source or
          Object form, made available under the License, as indicated by a
          copyright notice that is included in or attached to the work
          (an example is provided in the Appendix below).

          "Derivative Works" shall mean any work, whether in Source or
          Object form, that is based on (or derived from) the Work and
          for which the editorial revisions, annotations, elaborations,
          or other modifications represent, as a whole, an original work
          of authorship.  For the purposes of this License, Derivative
          Works shall not include works that remain separable from, or
          merely link (or bind by name) to the interfaces of, the Work
          and Derivative Works thereof.

          "Contribution" shall mean any work of authorship, including
          the original version of the Work and any modifications or
          additions to that Work or Derivative Works thereof, that is
          intentionally submitted to Licensor for inclusion in the Work
          by the copyright owner or by an individual or Legal Entity
          authorized to submit on behalf of the copyright owner. For the
          purposes of this definition,
          "submitted" means any form of electronic, verbal, or written
          communication sent to the Licensor or its representatives,
          including but not limited to communication on electronic mailing
          lists, source code control systems, and issue tracking systems
          that are managed by, or on behalf of, the Licensor for the
          purpose of discussing and improving the Work, but excluding
          communication that is conspicuously marked or otherwise
          designated in writing by the copyright owner as "Not a
          Contribution."

          "Contributor" shall mean Licensor and any individual or Legal
          Entity on behalf of whom a Contribution has been received by
          Licensor and subsequently incorporated within the Work.

       2. Grant of Copyright License. Subject to the terms and conditions
          of this License, each Contributor hereby grants to You a
          perpetual, worldwide, non-exclusive, no-charge, royalty-free,
          irrevocable copyright license to reproduce, prepare Derivative
          Works of, publicly display, publicly perform, sublicense, and
          distribute the Work and such Derivative Works in Source or
          Object form.

       3. Grant of Patent License. Subject to the terms and conditions of
          this License, each Contributor hereby grants to You a perpetual,
          worldwide, non-exclusive, no-charge, royalty-free, irrevocable
          (except as stated in this section) patent license to make, have
          made, use, offer to sell, sell, import, and otherwise transfer
          the Work, where such license applies only to those patent claims
          licensable by such Contributor that are necessarily infringed by
          their Contribution(s) alone or by combination of their
          Contribution(s) with the Work to which such Contribution(s) was
          submitted. If You institute patent litigation against any entity
          (including a cross-claim or counterclaim in a lawsuit) alleging
          that the Work or a Contribution incorporated within the Work
          constitutes direct or contributory patent infringement, then any
          patent licenses granted to You under this License for that Work
          shall terminate as of the date such litigation is filed.

       4. Redistribution. You may reproduce and distribute copies of the
          Work or Derivative Works thereof in any medium, with or without
          modifications, and in Source or Object form, provided that You
          meet the following conditions:

          (a) You must give any other recipients of the Work or
              Derivative Works a copy of this License; and

          (b) You must cause any modified files to carry prominent notices
              stating that You changed the files; and

          (c) You must retain, in the Source form of any Derivative Works
              that You distribute, all copyright, patent, trademark, and
              attribution notices from the Source form of the Work,
              excluding those notices that do not pertain to any part of
              the Derivative Works; and

          (d) If the Work includes a "NOTICE" text file as part of its
              distribution, then any Derivative Works that You distribute
              must include a readable copy of the attribution notices
              contained within such NOTICE file, excluding those notices
              that do not pertain to any part of the Derivative Works, in
              at least one of the following places: within a NOTICE text
              file distributed as part of the Derivative Works; within the
              Source form or documentation, if provided along with the
              Derivative Works; or, within a display generated by the
              Derivative Works, if and wherever such third-party notices
              normally appear. The contents of the NOTICE file are for
              informational purposes only and do not modify the License.
              You may add Your own attribution notices within Derivative
              Works that You distribute, alongside or as an addendum to
              the NOTICE text from the Work, provided that such additional
              attribution notices cannot be construed as modifying the
              License.

          You may add Your own copyright statement to Your modifications
          and may provide additional or different license terms and
          conditions for use, reproduction, or distribution of Your
          modifications, or for any such Derivative Works as a whole,
          provided Your use, reproduction, and distribution of the Work
          otherwise complies with the conditions stated in this License.

       5. Submission of Contributions. Unless You explicitly state
          otherwise, any Contribution intentionally submitted for
          inclusion in the Work by You to the Licensor shall be under the
          terms and conditions of this License, without any additional
          terms or conditions.  Notwithstanding the above, nothing herein
          shall supersede or modify the terms of any separate license
          agreement you may have executed with Licensor regarding such
          Contributions.

       6. Trademarks. This License does not grant permission to use the
          trade names, trademarks, service marks, or product names of the
          Licensor, except as required for reasonable and customary use
          in describing the origin of the Work and reproducing the content
          of the NOTICE file.

       7. Disclaimer of Warranty. Unless required by applicable law or
          agreed to in writing, Licensor provides the Work (and each
          Contributor provides its Contributions) on an "AS IS" BASIS,
          WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
          implied, including, without limitation, any warranties or
          conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or
          FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for
          determining the appropriateness of using or redistributing the
          Work and assume any risks associated with Your exercise of
          permissions under this License.

       8. Limitation of Liability. In no event and under no legal theory,
          whether in tort (including negligence), contract, or otherwise,
          unless required by applicable law (such as deliberate and
          grossly negligent acts) or agreed to in writing, shall any
          Contributor be liable to You for damages, including any direct,
          indirect, special, incidental, or consequential damages of any
          character arising as a result of this License or out of the use
          or inability to use the Work (including but not limited to
          damages for loss of goodwill, work stoppage, computer failure or
          malfunction, or any and all other commercial damages or losses),
          even if such Contributor has been advised of the possibility of
          such damages.

       9. Accepting Warranty or Additional Liability. While redistributing
          the Work or Derivative Works thereof, You may choose to offer,
          and charge a fee for, acceptance of support, warranty, indemnity,
          or other liability obligations and/or rights consistent with this
          License. However, in accepting such obligations, You may act only
          on Your own behalf and on Your sole responsibility, not on behalf
          of any other Contributor, and only if You agree to indemnify,
          defend, and hold each Contributor harmless for any liability
          incurred by, or claims asserted against, such Contributor by
          reason of your accepting any such warranty or additional
          liability.

       END OF TERMS AND CONDITIONS

       APPENDIX: How to apply the Apache License to your work.

          To apply the Apache License to your work, attach the following
          boilerplate notice, with the fields enclosed by brackets "[]"
          replaced with your own identifying information. (Don't include
          the brackets!)  The text should be enclosed in the appropriate
          comment syntax for the file format. We also recommend that a
          file or class name and description of purpose be included on the
          same "printed page" as the copyright notice for easier
          identification within third-party archives.

       Copyright [yyyy] [name of copyright owner]

       Licensed under the Apache License, Version 2.0 (the "License");
       you may not use this file except in compliance with the License.
       You may obtain a copy of the License at

           http://www.apache.org/licenses/LICENSE-2.0

       Unless required by applicable law or agreed to in writing, software
       distributed under the License is distributed on an "AS IS" BASIS,
       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
       implied.  See the License for the specific language governing
       permissions and limitations under the License.

Introdução ao Derby
Bem vindo ao Derby! O Derby é um sistema gerenciador de banco de dados relacional (SGBDR) baseado em Java(TM) e SQL.
Esta seção descreve o Derby.
Opções de implementação
O Derby pode ser implementado de várias maneiras diferentes.
As opções de implementação incluem:

• |  | Incorporado a um aplicativo Java de um único usuário. O Derby pode ficar praticamente invisível ao usuário final, porque não requer administração e executa na mesma máquina virtual Java (JVM) que o aplicativo.
• |  | Incorporado a um aplicativo multiusuário como um servidor Web, um servidor de aplicativos, ou um ambiente de desenvolvimento compartilhado.
• |  | Incorporado a uma estrutura de servidor. Pode ser utilizado o Network Server com o driver de cliente da rede, ou um servidor de livre escolha.

Requisitos do Sistema
O Derby é um mecanismo de banco de dados escrito inteiramente em Java; executa em qualquer Máquina Virtual Java (JVM) certificada.
A biblioteca do Derby
A biblioteca do Derby inclui os manuais do Derby e a referência da API.
Guia do Desenvolvedor do Derby
Descreve as funcionalidades e recursos do Derby comuns a todas as implementações, como as especificidades do JDBC e do SQL do Derby, implementação dos aplicativos Derby, segurança, e outros recursos avançados.
Manual de Referência do Derby
Documenta a implementação da linguagem SQL no Derby. Além disso, fornece informações de referência para as implementações de JDBC e JTA, palavras-chave, tabelas do sistema, propriedades e SQLExceptions do Derby.
Ajuste do Derby
Explica como configurar e ajustar o Derby através de propriedades, e fornece informações de referência sobre as propriedades. Também oferece dicas de desempenho, discussão detalhada sobre desempenho, e informações sobre o otimizador do Derby.
Guia das Ferramentas e Utilitários do Derby
Um guia para trabalhar com as ferramentas do Derby como o ij, e utilitários mais avançados como importação/exportação e o carregador de classes do banco de dados.
Guia do Servidor e Administração do Derby
A Parte Um deste guia discute a configuração dos servidores, como programar aplicativos cliente, e administração do banco de dados.
Além disso, alguns sistemas podem requerer tarefas administrativas, como fazer cópia de segurança do banco de dados. Estas tarefas não dependem de nenhuma estrutura do servidor, sendo somente para sistemas multi-usuários ou grandes.
A Parte Dois deste guia discute questões administrativas como cópia de segurança e depuração de impasses (deadlocks).
javadoc da API do Derby
Gerado automaticamente para todas as classes públicas do Derby (Não é fornecido nenhum javadoc para a API do JDBC, que faz parte da Java 2 Platform, Standard Edition). Para obter mais informações sobre as classes da API, deve ser consultada a publicação Manual de Referência do Derby.
Instalação e utilização do Derby
Se você for inexperiente com o Derby e programação JDBC, esta seção vai ajudá-lo a começar a usar este produto.
Se você for um programador JDBC experiente, então veja o Guia de iniciação rápida para usuários de JDBC experientes.
Instalação do Derby
Para poder instalar o Derby, primeiro é necessário baixar o arquivo zip ou tar do Derby do site do Derby na Web.
Acesse a página http://db.apache.org/derby/derby_downloads.html utilizando o navegador Web. Esta página contém várias distribuições do Derby, incluindo pacotes instantâneos e distribuições binárias de versões estáveis. Também são encontradas informações sobre como acessar a distribuição do código ativo do Derby. As distribuições se encontram em pacotes bin, lib e src. Este guia assume que foi baixado o pacote de distribuição bin.
Extraia o pacote baixado. A instalação extraída contém vários subdiretórios:

• |  | O subdiretório demo contém programas de demonstração.
• |  | O subdiretório frameworks contém scripts para a execução de utilitários e configuração do ambiente.
• |  | O subdiretório javadoc contém a documentação da api gerada a partir dos comentários do código fonte.
• |  | O subdiretório doc contém a documentação do Derby.
• |  | O subdiretório lib contém os arquivos jar do Derby.

Configuração do ambiente Java
É necessário configurar a variável de ambiente PATH para que a JVM e os aplicativos Java executem corretamente. Isto é extremamente importante para o sucesso da instalação, porque a variável PATH permite que o sistema operacional encontre os programas apropriados a partir de qualquer diretório.
Se houver mais de uma JVM instalada, a JVM que se deseja utilizar deve estar antes de qualquer outra na variável PATH.
Para verificar a variável de ambiente PATH:

1. |  | Em uma janela de comando, digite:
    java -version
Se o caminho estiver definido corretamente, será exibida uma informação indicando a versão da JVM.
2. |  | Se o comando não retornar a versão correta da JVM, a variável PATH deve ser configurada adicionando o subdiretório bin do diretório da JVM ao começo do caminho. Por exemplo, se o diretório for C:\JDK1.4, deve ser adicionado C:\JDK1.4\bin ao começo do caminho.
3. |  | O passo 1 deve ser repetido para haver certeza que a variável de ambiente PATH está configurada corretamente.

Utilização das ferramentas e dos utilitários de inicialização
As ferramentas do Derby incluem o dblook, o ij e o sysinfo. Os utilitários do Derby incluem os utilitários de importação e exportação, e os utilitários de carga de classe do banco de dados.
O diretório /frameworks/embedded/bin contém scripts para executar algumas das ferramentas e utilitários do Derby no modo incorporado. Podem ser encontrados scripts semelhantes para executar ferramentas e utilitários do Network Server no diretório /frameworks/NetworkServer/bin. Na discussão sobre estas ferramentas e utilitários no modo incorporado o diretório /frameworks/embedded/bin é referenciado como diretório /bin, a menos que indicado de outra forma.
Os scripts possuem nomes descritivos, como sysinfo.bat ou ij.ksh. Como os scripts de caminho de classe, estes scripts terminam com extensões diferentes dependendo do ambiente. Os scripts para o Windows possuem extensão .bat, enquanto os scripts para o Unix possuem extensão .ksh. Pode ser necessário modificar estes scripts para que as ferramentas e utilitários executem de forma apropriada nas plataformas Windows e Unix.
A informações a seguir se aplicam apenas às plataformas UNIX.
Para se poder utilizar os arquivos de scripts deve ser feito o seguinte:

1. |  | Ativar o bit de executável para os arquivos de script. Por exemplo:
    chmod +x nomeArquivo
onde nomeArquivo é qualquer arquivo de script com uma extensão .ksh. Isto informa ao sistema para executar os comandos no script toda vez que este for utilizado.
2. |  | Adicionar o diretório /bin à variável PATH. Isto permite a utilização de comandos curtos para iniciar as ferramentas do Derby.

Para obter mais informações sobre os scripts consulte Scripts fornecidos pelo Derby.
Utilização do sysinfo
A ferramenta sysinfo do Derby mostra informações sobre o ambiente Java e a versão do Derby.
O script sysinfo define as variáveis de ambiente apropriadas, incluindo o caminho de classe, e executa o programa sysinfo. Uma vez que se tenha o diretório /bin na variável PATH, o sysinfo pode ser executando digitando em uma janela de comando:

    sysinfo

Execução do ij
A ferramenta ij pode ser utilizada para conectar a um banco de dados Derby.
O diretório /bin deve estar incluído na variável de ambiente PATH para executar o ij.

• |  | O ij pode ser executado digitando o seguinte comando:
    ij
O script ij executa o programa ij e define variáveis de ambiente, como CLASSPATH.
• |  | Para criar um banco de dados utilizando o ij, deve ser digitado o seguinte comando:
    ij> connect 'jdbc:derby:bdteste;create=true';
Este comando cria o banco de dados chamado bdteste no diretório atual, preenche as tabelas do sistema, e conecta ao banco de dados. Em seguida podem ser executadas quaisquer instruções SQL a partir da linha de comandos do ij.
• |  | Quando estiver pronto para sair do ij, digite:
    ij> exit;

Para obter mais informações sobre a utilização do ij deve ser consultado o Guia das Ferramentas e Utilitários do Derby.
Configuração manual das variáveis de ambiente e caminhos
Se não for possível executar os scripts das ferramentas e utilitários do Derby, determinadas etapas deverão ser concluídas manualmente.
Os seguintes tópicos mostram como configurar o ambiente e executar as ferramentas manualmente.
Definição da variável de ambiente DERBY_INSTALL
Durante a instalação é criado um diretório base, onde o produto é instalado. Este documento assume que este diretório se chama Derby_10. Este documento faz referência a este diretório como o diretório base do Derby.
Caso se planeje utilizar os scripts presentes no diretório /frameworks/embedded/bin, e se o sistema operacional suportar, deve ser criada uma variável de ambiente chamada DERBY_HOME e definido seu valor como o caminho para o diretório base do Derby. Isto permite a utilização de comandos curtos para executar as ferramentas e utilitários do Derby.
Por exemplo, se o produto está instalado em c:\Derby_10, a variável de ambiente DERBY_HOME deve ser definida com o valor c:\Derby_10:

    set DERBY_HOME=c:\Derby_10

Configuração do caminho de classe
A JVM precisa conhecer o caminho de todos os arquivos de classe necessários ao aplicativo. O caminho de classe é uma lista de bibliotecas de classe requeridas pela JVM e outros aplicativos Java para executar o programa.
A variável de ambiente CLASSPATH pode ser definida no sistema operacional de forma temporária, permanente, ou em tempo de execução quando for iniciado o aplicativo Java e a JVM. Se a variável de ambiente for definida temporariamente, esta deve ser definida toda vez que é aberta uma nova janela de comandos.
Na maioria dos ambientes de desenvolvimento, é melhor definir a variável de ambiente CLASSPATH do sistema operacional temporariamente. O Derby fornece alguns scripts para ajudar a definir o caminho de classe desta maneira; estão localizados no diretório /frameworks/embedded/bin e no diretório /frameworks/NetworkServer/bin. Para definir o caminho de classe temporariamente, deve ser executado um script toda vez que for aberta uma nova janela de comandos.

• |  | Definir a variável CLASSPATH para que inclua os arquivos derby.jar e derbytools.jar. Por exemplo:
    set CLASSPATH=%DERBY_HOME%\lib\derby.jar;
    %DERBY_HOME%\lib\derbytools.jar;%CLASSPATH%
• |  | Para executar manualmente o utilitário sysinfo, deve ser introduzido o seguinte comando em uma janela de comandos ou no interpretador de comandos:
    java org.apache.derby.tools.sysinfo
• |  | Para executar manualmente o utilitário ij e conectar ao banco de dados:
a. |  | Introduza em uma janela de comandos ou no interpretador de comandos:
    java org.apache.derby.tools.ij
    ij> connect 'jdbc:derby:<nome_do_bd>;create=true';
onde <nome_do_bd> é o nome do banco de dados onde está sendo feita a conexão.
b. |  | Para sair do utilitário ij deve ser digitado:
    ij> exit;

Para obter informações adicionais sobre a execução dos utilitários ij e sysinfo deve ser consultada a publicação Guia das Ferramentas e Utilitários do Derby
Guia de iniciação rápida para usuários de JDBC experientes
Esta seção se destina a programadores JDBC experientes, que já sabem como definir o caminho de classes, como executar um programa Java, e como utilizar um driver de JDBC.
Para obter informações mais detalhadas sobre os tópicos cobertos por esta seção devem ser consultadas as publicações Guia do Desenvolvedor do Derby e Guia das Ferramentas e Utilitários do Derby.
Ambientes nos quais o Derby pode ser executado
Antes de configurar o sistema para executar o Derby, é útil compreender algo sobre os diferentes ambientes nos quais o Derby pode executar, porque estes ambientes afetam o caminho de classe, o nome do driver e a URL de conexão com o banco de dados.
Para obter mais informações sobre os ambientes do Derby deve ser consultado o Guia do Desenvolvedor do Derby.
Ambiente incorporado
Um ambiente incorporado é um ambiente no qual somente um único aplicativo pode acessar o banco de dados de cada vez, sem que ocorra nenhum acesso pela rede.
Quando um aplicativo inicia uma instância do Derby na sua JVM, o aplicativo executa em um ambiente incorporado. A carga do driver incorporado inicia o Derby.
Ambiente cliente/servidor
Um ambiente cliente/servidor é um ambiente no qual vários aplicativos se conectam ao Derby através da rede.
O Derby executa incorporado a uma estrutura de servidor que permite várias conexões de rede. (A própria estrutura inicia uma instância do Derby e executa em um ambiente incorporado. Entretanto, os aplicativos cliente não executam no ambiente incorporado.)
O Derby também pode ser incorporado a qualquer estrutura de servidor Java.
Para obter informações adicionais sobre como executar o Derby em um servidor deve ser consultada a publicação Guia do Servidor e Administração do Derby.
Drivers disponíveis
Estão disponíveis drivers de JDBC diferentes dependendo do ambiente escolhido para o Derby.

• |  | org.apache.derby.jdbc.EmbeddedDriver Um driver para ambientes incorporados, onde o Derby executa na mesma JVM do aplicativo.
• |  | org.apache.derby.jdbc.ClientDriver Um driver para o ambiente Network Server. O Network Server configura um ambiente cliente/servidor.

URL de conexão com banco de dados
Para conectar ao banco de dados deve ser utilizada uma URL de conexão com banco de dados, quando é utilizado o driver incorporado fornecido pelo Derby.
O formato da URL de conexão com banco de dados para conectar ao banco de dados é o seguinte:

    jdbc:derby:nomeBancoDados;atributoURL

onde:

• |  | nomeBancoDados O nome do banco de dados ao qual se deseja conectar
• |  | atributoURL Um ou mais dos atributos suportados pela URL de conexão com banco de dados, como: ;locale=ll_CC ou ;create=true. Para obter informações adicionais deve ser consultada a publicação Guia do Desenvolvedor do Derby.

Para o driver cliente da rede fornecido pelo Derby, o formato da URL de conexão com banco de dados para conectar ao banco de dados é o seguinte:

    jdbc:derby://<servidor>[:<porta>]/nomeBancoDados
    [;atributoURL=<valor> [;...]]

onde <servidor> e <porta> especificam o nome do hospedeiro (ou endereço de IP) e o número da porta onde o servidor está atendendo as solicitações. O atributoURL pode ser um atributo do Derby incorporado ou do cliente da rede. Para obter informações adicionais sobre como acessar o Network Server utilizando o cliente da rede deve ser consultada a publicação Guia do Servidor e Administração do Derby.
Convenções da documentação
Esta seção descreve a terminologia, sintaxe e convenções tipográficas da documentação do Derby.
Terminologia
A documentação do Derby utiliza o termo especializado ambiente para descrever o método utilizado pelo aplicativo para interagir com o Derby.
O ambiente é algumas vezes referenciado como estrutura. Os dois tipos de ambiente são ambiente incorporado e ambiente cliente/servidor.
Sintaxe SQL
A sintaxe SQL é apresentada em notação BNF modificada.
Os metassímbolos do BNF são:

Símbolo | Significado
| | “ou”. Escolha de um dos itens
[ ] | Circunda itens opcionais.
* | Sinaliza que o item pode ser repetido zero ou mais vezes. Possui significado especial nas instruções SQL.
{ } | Agrupa itens para que possam ser marcados por um dos outros símbolos, ou seja, [ ], | ou *.
( ) . , | Outra pontuação que faz parte da sintaxe.

Exemplo de como a sintaxe SQL é apresentada:

    CREATE [ UNIQUE ] INDEX nomeIndice
    ON nomeTabela ( nomeColunaSimples [ , nomeColunaSimples ] * )

A sintaxe da linha de comando para executar programas e utilitários Java (bem como exemplos), sempre inicia pela palavra java:

    java org.apache.derby.tools.ij

Além disso, esta documentação utiliza o estilo do IBM Software Development Kit para definir os argumentos e as propriedades da JVM. Se for utilizada uma outra Máquina Virtual Java, a forma de definir os argumentos e as propriedades da JVM podem ser diferentes.
Convenções tipográficas
Esta documentação utiliza algumas convenções tipográficas para realçar elementos da linguagem SQL, comandos do sistema operacional e da linguagem de programação Java.
Tabela 1. Convenções tipográficas do Derby

Utilização | Tipo | Exemplos
Novos termos | Itálico | definido por chaves
Nomes de arquivos e diretórios | Itálico | C:\derby
Objetos do dicionário | Itálico | A tabela Empregados
Os itens que não são digitados exatamente como aparecem na sintaxe, sendo substituídos pelo nome apropriado | Itálico | CREATE TABLE nomeTabela
Exemplos de SQL | Negrito e/ou largura fixa | SELECT nome_cidade FROM Cidades
Exemplos de aplicativos Java | Negrito e/ou largura fixa | Connection conn = DriverManager.getConnection ("jdbc:derby:Sample")
O que se digita no prompt de comando | Negrito e/ou largura fixa | java org.apache.derby.tools.ij
Comentários nos exemplos | Negrito e/ou largura fixa | --Linha ignorada
Palavras chave SQL (comandos) | Tudo em letras maiúsculas | Pode ser utilizada a instrução CREATE TABLE

Bibliotecas e scripts do Derby: referência completa
Este apêndice descreve as bibliotecas e scripts do Derby.
Bibliotecas fornecidas pelo Derby
Esta seção mostra as diferentes bibliotecas utilizadas pelo Derby e suas funções.
Tabela 2. Bibliotecas do Derby e suas utilizações

Nome da biblioteca | Utilização
Biblioteca de mecanismos Sempre necessária em ambientes incorporados. Para ambientes cliente/servidor somente é necessária no servidor.
derby.jar | Para bancos de dados incorporados
Biblioteca de ferramentas Nos ambientes incorporados é necessária a presença da biblioteca no caminho de classe para utilizar uma ferramenta. Para o ambiente cliente/servidor a biblioteca somente é necessária no cliente.
derbytools.jar | Requerida para a execução de todas as ferramentas do Derby (como ij, dblook e import/export).
Biblioteca do Network Server
derbynet.jar | Requerida para iniciar o Derby Network Server.
Biblioteca cliente da rede
derbyclient.jar | Requerida para utilizar o driver cliente da rede do Derby.
Bibliotecas de idioma
• |  | derbyLocale_cs.jar
• |  | derbyLocale_es.jar
• |  | derbyLocale_de_DE.jar
• |  | derbyLocale_fr.jar
• |  | derbyLocale_hu.jar
• |  | derbyLocale_it.jar
• |  | derbyLocale_ja_JP.jar
• |  | derbyLocale_ko_KR.jar
• |  | derbyLocale_pl.jar
• |  | derbyLocale_pt_BR.jar
• |  | derbyLocale_ru.jar
• |  | derbyLocale_zh_CN.jar
• |  | derbyLocale_zh_TW.jar
| Requeridas para fornecer mensagens traduzidas para o idioma indicado.

Bibliotecas não fornecidas pelo Derby
No ambiente Java Development Kit Versão 1.3 algumas funcionalidades especiais do Derby requerem que sejam instaladas bibliotecas adicionais, e que estas sejam colocadas no caminho de classe (O Java Development Kit Versão 1.4 já inclui todas estas bibliotecas).

• |  | LDAP (consulte a publicação Guia do Desenvolvedor do Derby)
• |  | JTA (consulte a publicação Manual de Referência do Derby)
• |  | JDBC 2.0 Extensions (consulte a publicação Manual de Referência do Derby)

Scripts fornecidos pelo Derby
O Derby fornece scripts no diretório /bin. Cada script vem em duas modalidades, uma terminada por .bat e outra terminada por .ksh.
Abaixo está a relação completa:

• |  | frameworks/embedded/bin/dblook Executa o dblook.
• |  | frameworks/embedded/bin/ij Inicia o ij.
• |  | frameworks/embedded/bin/setEmbeddedCP Coloca todas as bibliotecas do Derby para o ambiente incorporado no caminho de classe.
• |  | frameworks/embedded/bin/sysinfo Executa o sysinfo.
• |  | frameworks/NetworkServer/bin/dblook Executa o dblook em um contexto de cliente do Network Server.
• |  | frameworks/NetworkServer/bin/ij Executa o ij em um contexto de cliente do Network Server.
• |  | frameworks/NetworkServer/bin/NetworkServerControl Executa o NetworkServerControl.
• |  | frameworks/NetworkServer/bin/setNetworkClientCP Coloca as bibliotecas necessárias para conectar ao Derby Network Server no caminho de classe.
• |  | frameworks/NetworkServer/bin/setNetworkServerCP Coloca todas as bibliotecas necessárias para o Derby Network Server no caminho de classe.
• |  | frameworks/NetworkServer/bin/startNetworkServer Inicia o Network Server na máquina local.
• |  | frameworks/NetworkServer/bin/stopNetworkServer Pára o Network Server na máquina local.
• |  | frameworks/NetworkServer/bin/sysinfo Obtém informações do sistema de um Derby Network Server em execução.

Marcas Registradas
Os seguintes termos são marcas registradas de outras empresas e foram utilizados em pelo menos um dos documentos da biblioteca de documentação do Apache Derby:
Cloudscape, DB2, DB2 Universal Database, DRDA e IBM são marcas registradas da International Business Machines Corporation nos EUA, outros países, ou ambos.
Microsoft, Windows, Windows NT e o logotipo do Windows são marcas registradas da Microsoft Corporation nos EUA, outros países, ou ambos.
Java e todas as marcas registradas baseadas no Java são marcas registradas da Sun Microsystems, Inc. nos EUA, outros países, ou ambos.
UNIX é uma marca registrada do The Open Group nos EUA e outros países.
Outros nomes de empresas, produtos ou serviços podem ser marcas registradas ou marcas de serviços de terceiros.
•