Usando a Console para Criar Tabelas no Oracle NoSQL Database Cloud Service

Saiba como criar e gerenciar índices e tabelas do Oracle NoSQL Database Cloud Service na console.

Este artigo tem os seguintes tópicos:

Criando um Compartimento

Quando você se inscreve no Oracle Cloud Infrastructure, a Oracle cria sua tenancy com um compartimento raiz que contém todos os seus recursos de nuvem. Em seguida, você cria compartimentos adicionais na tenancy (compartimento-raiz) e políticas correspondentes para controlar o acesso aos recursos em cada compartimento. Antes que você crie uma tabela do Oracle NoSQL Database Cloud Service, a Oracle recomenda que você configure o compartimento ao qual deseja que a tabela pertença.

Você cria compartimentos no Oracle Cloud Infrastructure Identity and Access Management (IAM). Consulte Configurando Sua Tenancy e Gerenciando Compartimentos

Criando Tabelas Únicas

Você pode criar uma nova tabela do Oracle NoSQL Database Cloud Service com a console do NoSQL.

A console NoSQL permite que você crie as tabelas do Oracle NoSQL Database Cloud Service em dois modos:

  1. Modo de Entrada Simples: Você pode usar este modo para criar a tabela do NoSQL Database Cloud Service de forma declarativa, ou seja, sem gravar uma instrução DDL.

  2. Modo Avançado de Entrada de DDL: Você pode usar esse modo para criar a tabela do NoSQL Database Cloud Service usando uma instrução DDL.

Criando Tabela Singleton: Modo de Entrada Simples

Saiba como criar uma tabela na console do NoSQL usando o modo de criação de tabela de Entrada Simples.

Para criar uma tabela:

  1. Acesse a console do NoSQL na Console do Infrastructure. Consulte Acessando o Serviço pela Console de Infraestrutura.

  2. Clique em Criar Tabela.

  3. Na caixa de diálogo Criar Tabela, selecione Entrada simples para Modo de Criação de Tabela.

  4. Em Capacidade Reservada, você tem a opção de ativar a configuração Always Free ou configurar o Modo de capacidade. A configuração Always Free só está disponível no momento na região Phoenix.

    • Configuração Always Free (Disponível somente na região Phoenix):

      Ative o botão de alternância para criar uma tabela Always Free NoSQL. A desativação do botão de alternância cria uma tabela NoSQL regular. Você pode criar até três tabelas Always Free NoSQL na tenancy. Se você tiver três tabelas Always Free NoSQL na tenancy, o botão de alternância para criar uma tabela Always Free SQL será desativado.

      Se você ativar o botão de alternância para criar uma tabela NoSQL Always Free, os campos de capacidade de Leitura, capacidade de Gravação e armazenamento em Disco receberão valores padrão. O modo Capacidade se torna Capacidade Provisionada. Esses valores não podem ser alterados.

      Para saber mais sobre os detalhes, os recursos e as restrições das tabelas criadas com a opção Configuração Always Free, você pode ver Always Free Service.

      Veja a seguir a descrição da ilustração crttbl_af_prov.png

      Descrição da ilustração crttbl_af_prov.png

      Se quiser criar uma tabela regular, desative o botão de alternância. Você poderá informar os valores de capacidade apropriados para a tabela.

      • Capacidade de leitura (Unidades de leitura): Informe o número de unidades de leitura. Consulte Estimando a Capacidade para aprender sobre unidades de leitura.

      • Capacidade de Gravação (Unidades de Gravação): Informe o número de unidades de gravação. Consulte Estimando a Capacidade para aprender sobre unidades de gravação.

      • Armazenamento de Disco (GB): Especifique o espaço em disco em gigabits (GB) a ser usado pela tabela. Consulte Estimando a Capacidade para obter mais informações sobre capacidade de armazenamento.

      Veja a seguir a descrição da ilustração crttbl_paid_prov.png

      Descrição da ilustração crttbl_paid_prov.png

    • Modo de capacidade

      Você pode especificar a opção para o modo Capacidade como Capacidade Provisionada ou Capacidade Sob Demanda. Os modos Capacidade Provisionada e Capacidade Sob Demanda são opções mutuamente exclusivas. Se você ativar a Capacidade do On Demand para uma tabela, não será necessário especificar a capacidade de leitura/gravação da tabela. Você é cobrado pelo uso real de unidades de leitura e gravação, não pelo uso provisionado.

      A ativação da Capacidade do On Demand para uma tabela será uma boa opção se alguma das seguintes afirmações for verdadeira:

      1. Você cria novas tabelas com cargas de trabalho desconhecidas.

      2. Você tem tráfego de aplicativos imprevisível.

      3. Você prefere a facilidade de pagar apenas pelo que usa.

      Limitações da ativação da Capacidade do On Demand para uma tabela:

      1. A Capacidade do On Demand limita a capacidade da tabela a 5.000 gravações e 10.000 leituras.

      2. O número de tabelas com Capacidade Sob Demanda por tenant é limitado a 3.

      3. Você paga mais por unidade para as unidades da tabela Capacidade do On Demand do que as unidades da tabela provisionada.

      Veja a seguir a descrição da ilustração crttbl_paid_prov.png

      Descrição da ilustração crttbl_paid_prov.png

      A seleção de Capacidade sob Demanda desativa a Configuração Always Free. As caixas de entrada Capacidade de Leitura e Capacidade de Gravação se tornam somente leitura e mostram o texto Capacidade Sob Demanda. As tabelas de Capacidade do On Demand mostrarão Capacidade do On Demand em suas colunas de capacidade de leitura e gravação. Se o modo Capacidade for Capacidade sob Demanda, o controle Always Free será desativado. Especifique o valor de Armazenamento em disco (GB).

      Veja a seguir a descrição da ilustração crttbl_ondemand.png

      Descrição da ilustração crttbl_ondemand.png

  5. No campo Nome, informe um nome de tabela que seja exclusivo em sua tenancy.

    Os nomes de tabela devem estar em conformidade com as convenções do Oracle NoSQL Database Cloud Service. Consulte Limites do Serviço Oracle NoSQL Database Cloud Service.

  6. Na seção Colunas de Chave Primária, informe detalhes de chave primária:

    • Nome da Coluna: Informe um nome de coluna para a chave primária em sua tabela. Consulte Limites do Oracle NoSQL Database Cloud Service para aprender sobre os requisitos de nomeação de coluna.

    • Tipo: Selecione o tipo de dados para a coluna de chave primária.

    • Precisão:Isso se aplica somente a colunas digitadas TIMESTAMP. Os valores de timestamp têm precisão em segundos fracionais que variam de 0 a 9. Por exemplo, uma precisão de 0 significa que não há segundos fracionários armazenados, 3 significa que o timestamp armazena milissegundos e 9 significa uma precisão de nanossegundos. 0 é a precisão mínima e 9 é a máxima.

    • Definir como Chave de Shard: Clique nesta opção para definir esta coluna da chave primária como chave de shard. A chave de shard é distribuir dados entre o cluster do Oracle NoSQL Database Cloud Service para obter maior eficiência e posicionar registros que compartilham a chave de shard localmente para facilitar a referência e o acesso. Os registros que compartilham a chave de shard são armazenados no mesmo local físico e podem ser acessados de maneira atômica e eficiente.

    • + Outra Coluna de Chave Primária: Clique neste botão para adicionar mais colunas ao criar uma chave primária composta (múltiplas colunas).

    • Use as setas para cima e para baixo para alterar a sequência de colunas ao criar uma chave primária composta. Veja a seguir a descrição da ilustração createtable_setpk.png

      Descrição da ilustração createtable_setpk.png

  7. Na seção Colunas, informe os detalhes da coluna não principal:

    A seguir, é mostrada a descrição de createtable_col.png

    Descrição da ilustração createtable_col.png

    • Nome da Coluna: Informe o nome da coluna. Ensure that you conform to column naming requirements described in Oracle NoSQL Database Cloud Service Limits .

    • Tipo: Selecione o tipo de dados da sua coluna.

    • Precisão:Isso se aplica somente a colunas digitadas TIMESTAMP. Os valores de timestamp têm precisão em segundos fracionais que variam de 0 a 9. Por exemplo, uma precisão de 0 significa que não há segundos fracionários armazenados, 3 significa que o timestamp armazena milissegundos e 9 significa uma precisão de nanossegundos. 0 é a precisão mínima e 9 é a máxima.

    • Tamanho: Aplicável apenas a colunas digitadas BINARY. Especifique o tamanho em bytes para tornar o binário um binário fixo.

    • Valor Padrão: (opcional) Forneça um valor padrão para a coluna.

      Observação: não é possível especificar valores padrão para colunas de tipo de dados binários e JSON.

    • Valor Não Nulo: Clique nesta opção para especificar que uma coluna deve sempre ter um valor.

    • + Outra Coluna: Clique neste botão para adicionar mais colunas.

    • Clique no ícone de exclusão para excluir uma coluna.

  8. (Opcional) Especifique a duração da expiração (nº de dias) para as linhas na tabela no campo Tempo de vida da tabela (dias). Após o número de dias, as linhas expiram automaticamente e não estão mais disponíveis. O valor padrão é zero, indicando que não há tempo de expiração.

    Observação: A atualização do TTL (Table Time to Live) não alterará o valor de TTL de nenhum dado existente na tabela. O novo valor de TTL só se aplicará às linhas adicionadas à tabela após a modificação desse valor e às linhas para as quais nenhum valor específico da linha de substituição foi fornecido.

  9. (Opcional) Para especificar opções avançadas, selecione Mostrar Opções Avançadas e informe detalhes avançados:

    Na seção Tags, informe:

    • Namespace de Tags: Selecione um namespace de tag na lista selecionada. Um namespace de tag é como um contêiner para as suas chaves de tag. Não faz distinção entre maiúsculas e minúsculas e deve ser exclusivo na tenancy.

    • Chave de Tag: Informe o nome a ser usado para fazer referência à tag. Uma chave de tag não faz distinção entre maiúsculas e minúsculas e deve ser exclusiva dentro de um namespace.

    • Valor da tag: Informe o valor para fornecer sua tag.

    • Adicionar Tag: Clique para adicionar mais tags. A seguir, é mostrada a descrição de createtable_adv.png

      Descrição da ilustração createtable_adv.png

  10. Selecione Criar tabela.

A tabela é criada e listada na console do NoSQL.

Para exibir a ajuda da página atual, clique no link de ajuda na parte superior da página.

Criando Tabela Singleton: Modo de Entrada DDL Avançada

Saiba como criar uma tabela na console do NoSQL usando o modo de criação de tabela Entrada DDL Avançada.

Para criar uma tabela:

  1. Acesse a console do NoSQL na Console do Infrastructure. Consulte Acessando o Serviço pela Console de Infraestrutura.

  2. Selecione Criar Tabela.

  3. Na janela Criar Tabela, selecione Entrada de DDL Avançada para o Modo de Criação de Tabela

  4. Em Capacidade Reservada, você tem a opção de ativar a configuração Always Free ou configurar o Modo de capacidade.

    • Configuração Always Free (Disponível somente na região Phoenix):

      Ative o botão de alternância para criar uma tabela Always Free NoSQL. A desativação do botão de alternância cria uma tabela NoSQL regular. Você pode criar até três tabelas Always Free NoSQL na tenancy. Se você tiver três tabelas Always Free NoSQL na tenancy, o botão de alternância para criar uma tabela Always Free SQL será desativado.

      Se você ativar o botão de alternância para criar uma tabela NoSQL Always Free, os campos de capacidade de Leitura, capacidade de Gravação e armazenamento em Disco receberão valores padrão. O modo Capacidade se torna Capacidade Provisionada. Esses valores não podem ser alterados.

      Para saber mais sobre os detalhes, os recursos e as restrições das tabelas criadas com a opção Configuração Always Free, você pode ver Always Free Service.

      Veja a seguir a descrição da ilustração crttbladv_af_prov.png

      Descrição da ilustração crttbladv_af_prov.png

      Se quiser criar uma tabela regular, desative o botão de alternância. Você poderá informar os valores de capacidade apropriados para a tabela.

      • Capacidade de leitura (Unidades de leitura): Informe o número de unidades de leitura. Consulte Estimando a Capacidade para aprender sobre unidades de leitura.

      • Capacidade de Gravação (Unidades de Gravação): Informe o número de unidades de gravação. Consulte Estimando a Capacidade para aprender sobre unidades de gravação.

      • Armazenamento de Disco (GB): Especifique o espaço em disco em gigabits (GB) a ser usado pela tabela. Consulte Estimando a Capacidade para obter mais informações sobre capacidade de armazenamento.

      Veja a seguir a descrição da ilustração crttbladv_paid_prov.png

      Descrição da ilustração crttbladv_paid_prov.png

    • Modo de capacidade

      Você pode especificar a opção para o modo Capacidade como Capacidade Provisionada ou Capacidade Sob Demanda. Os modos Capacidade Provisionada e Capacidade Sob Demanda são opções mutuamente exclusivas. Se você ativar a Capacidade do On Demand para uma tabela, não será necessário especificar a capacidade de leitura/gravação da tabela. Você é cobrado pelo uso real de unidades de leitura e gravação, não pelo uso provisionado.

      A ativação da Capacidade do On Demand para uma tabela será uma boa opção se alguma das seguintes afirmações for verdadeira:

      1. Você cria novas tabelas com cargas de trabalho desconhecidas.

      2. Você tem tráfego de aplicativos imprevisível.

      3. Você prefere a facilidade de pagar apenas pelo que usa.

      Limitações da ativação da Capacidade do On Demand para uma tabela:

      1. A Capacidade do On Demand limita a capacidade da tabela a 5.000 gravações e 10.000 leituras.

      2. O número de tabelas com Capacidade Sob Demanda por tenant é limitado a 3.

      3. Você paga mais por unidade para as unidades da tabela Capacidade do On Demand do que as unidades da tabela provisionada.

      Veja a seguir a descrição da ilustração crttbladv_paid_prov.png

      Descrição da ilustração crttbladv_paid_prov.png

      A seleção de Capacidade sob Demanda desativa a Configuração Always Free. As caixas de entrada Capacidade de Leitura e Capacidade de Gravação se tornam somente leitura e mostram o texto Capacidade Sob Demanda. As tabelas de Capacidade do On Demand mostrarão Capacidade do On Demand em suas colunas de capacidade de leitura e gravação. Se o modo Capacidade for Capacidade sob Demanda, o controle Always Free será desativado. Especifique o valor de Armazenamento em disco (GB).

      Veja a seguir a descrição da ilustração crttbladv_ondemand.png

      Descrição da ilustração crttbladv_ondemand.png

  5. Na seção Entrada DDL, informe a instrução DDL create table para Consulta. Você pode obter um erro de que sua declaração é incompleta ou defeituosa. Consulte Depurando erros de instrução SQL na console do OCI para saber mais sobre possíveis erros na console do OCI e como corrigi-los. Consulte o Guia de Desenvolvedores para obter exemplos sobre a instrução de criação de tabela.

  6. (Opcional) Para especificar opções avançadas, selecione Mostrar Opções Avançadas e informe detalhes avançados:

    • Namespace de Tags: Selecione um namespace de tag na lista selecionada. Um namespace de tag é como um contêiner para as suas chaves de tag. Não faz distinção entre maiúsculas e minúsculas e deve ser exclusivo na tenancy.
    • Chave de Tag: Informe o nome a ser usado para fazer referência à tag. Uma chave de tag não faz distinção entre maiúsculas e minúsculas e deve ser exclusiva dentro de um namespace.
    • Valor da tag: Informe o valor para fornecer sua tag.
    • Adicionar Tag: Clique para adicionar mais tags.

      A seguir, é mostrada a descrição de createtable_adv.png

      Descrição da ilustração createtable_adv.png

  7. Clique em Criar Tabela.

A tabela é criada e listada na console do NoSQL.

Para exibir a ajuda da página atual, clique no link de ajuda na parte superior da página.

Criando uma tabela filho

Com o Oracle NoSQL Database, você pode criar tabelas em uma estrutura hierárquica (como tabelas pai-filho).

Hierarquias de Tabelas

Você pode usar a instrução create table para criar uma tabela como uma tabela filho de outra tabela, a qual se tornará o pai da nova tabela. Isso é feito usando um nome composto (um name_path) para a tabela filho. Um nome composto consiste em um número N (N > 1) de identificadores separados por pontos. O último identificador é o nome local da tabela filho e os primeiros identificadores N-1 são o nome do pai.

        A
      /   \
   A.B    A.G
    /
 A.B.C
  /
A.B.C.D

A tabela pai mais alta é A. A tabela filho B recebe o nome composto A.B. O próximo nível da tabela filho C obtém o nome composto A.B.C e assim por diante.

Propriedades das tabelas filho:

Transações em tabelas pai-filho

Uma tabela pai e uma tabela filho compartilham a mesma chave de partição. Usando tabelas filho, você pode obter transações ACID em vários objetos usando as duas etapas simples a seguir:

Se não houver tabelas filho, obter transações ACID em vários objetos será um procedimento monótono. Sem tabelas filho, você faz o seguinte:

Use tabelas filho para obter facilmente transações ACID em vários objetos.

Autorização em uma tabela filho:

Se você não tiver uma tabela e quiser ler, excluir ou inserir nela, duas condições deverão ser atendidas:

Consulte Políticas do serviço IAM para autorização para obter mais detalhes.

Por exemplo, se você quiser inserir dados na tabela filho myTable.child1, que você não possui, então você deve ter o privilégio INSERT na tabela filho e os privilégios READ e/ou INSERT em myTable. A concessão de privilégios a tabelas filho independe da concessão de privilégios à tabela pai. Isso significa que você pode conceder privilégios específicos à tabela filho sem conceder o mesmo privilégio à sua tabela pai. Todas as consultas de junção pai/filho exigem os privilégios relevantes em todas as tabelas usadas na consulta. Consulte Usando junções Externas Esquerdas com tabelas pai-filho para obter mais detalhes.

Criando uma tabela filho

Observação: os campos Capacidade de Leitura, Capacidade de Gravação e Armazenamento em Disco não são especificados porque uma tabela filho herda esses limites da tabela de nível superior. Os limites definidos para a tabela de nível superior são aplicados automaticamente à tabela filho.

Exibindo os detalhes de uma tabela filho

Você pode exibir os detalhes de uma tabela filho após sua criação.

Veja a seguir a descrição da ilustração viewtbl-childtbl.png

Descrição da ilustração viewtbl-childtbl.png