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

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

Este artigo tem os seguintes tópicos:

Criando um Compartimento

Ao se inscrever 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 de criar uma tabela do Oracle NoSQL Database Cloud Service, a Oracle recomenda configurar o compartimento ao qual a tabela deverá pertencer.

Você cria compartimentos no serviço Oracle Cloud Infrastructure Identity and Access Management (IAM). Consulte Configurando sua Tenancy e Gerenciando Compartimentos na Documentação do Oracle Cloud Infrastructure.

Criando Tabelas Únicas

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

A console NoSQL permite que você crie as tabelas do Oracle NoSQL Database Cloud Service de 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 criar uma instrução DDL.
  2. Modo de Entrada DDL Avançada: você pode usar esse modo para criar a tabela do NoSQL Database Cloud Service usando uma instrução DDL.

Criando uma Tabela Única: Modo de Entrada Simples

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

Para criar uma tabela:
  1. Acesse a console NoSQL na Console de Infraestrutura. Consulte Accessing the Service from the Infrastructure Console.
  2. Clique em Criar Tabela.
  3. Na caixa de diálogo Criar Tabela, selecione Entrada simples para o Modo de Criação de Tabela.
  4. Em Capacidade Reservada, você tem as opções a seguir.
    • Configuração Sempre Grátis:

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

      Se você ativar o botão de alternância para criar uma tabela NoSQL Always Free, os campos 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.


      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 (ReadUnits): insira o número de unidades de leitura. Consulte Estimando a Capacidade para aprender sobre unidades de leitura.
      • Capacidade de Gravação (WriteUnits): insira o número de unidades de gravação. Consulte Estimando a Capacidade para aprender sobre unidades de gravação.
      • Disco Storage (GB): especifique o espaço em disco em gigabytes (GB) a ser usado pela tabela. Consulte Estimando a Capacidade para obter mais informações sobre capacidade de armazenamento.


    • Modo de capacidade

      Você pode especificar a opção para o modo Capacity como Provisioned Capacity ou On Demand Capacity. 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 precisará especificar a capacidade de leitura/gravação da tabela. Você será cobrado pelo uso real das unidades de leitura e gravação, não pelo uso provisionado.

      Ativar a Capacidade do On Demand para uma tabela é uma boa opção se qualquer uma das seguintes condiçõ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 de 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 pelas unidades da tabela Capacidade do On Demand do que pelas unidades da tabela provisionada.


      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.


  5. No campo Nome, informe um nome de tabela que seja exclusivo na sua tenancy.
    Os nomes de tabela devem estar em conformidade com as convenções de nomeação do Oracle NoSQL Database Cloud Service. Consulte Limites do Oracle NoSQL Database Cloud Service.
  6. Na seção Colunas de Chave Principal, informe os detalhes da chave principal:
    • Nome da Coluna: informe um nome de coluna para a chave primária da 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 da sua coluna de chave primária.
    • Precisão: isso se aplica somente a colunas tipadas 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 nenhum segundo fracionário é armazenado, 3 significa que o timestamp armazena milissegundos e 9 significa uma precisão de nanossegundos. 0 é a precisão mínima e 9 é o máximo.
    • Set as Shard Key: clique nesta opção para definir essa coluna de chave primária como uma chave de partição. A chave de partição é distribuir dados no cluster do Oracle NoSQL Database Cloud Service para aumentar a eficiência e posicionar os registros que compartilham a chave de partição localmente para fácil referência e acesso. Os registros que compartilham a chave de partição são armazenados no mesmo local físico e podem ser acessados de forma 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 (com várias colunas).
    • Use as setas para cima e para baixo para alterar a sequência de colunas ao criar uma chave primária composta.

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

    • Nome da Coluna: informe o nome da coluna. Verifique se você está de acordo com os requisitos de nomeação de coluna descritos em Limites do Oracle NoSQL Database Cloud Service.
    • Tipo: selecione o tipo de dados da sua coluna.
    • Precisão: isso se aplica somente a colunas tipadas 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 nenhum segundo fracionário é armazenado, 3 significa que o timestamp armazena milissegundos e 9 significa uma precisão de nanossegundos. 0 é a precisão mínima e 9 é o máximo.
    • Tamanho: aplica-se somente às colunas tipadas BINARY. Especifique o tamanho em bytes para tornar o 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 dos tipos de dados binário e JSON.
    • Valor não nulo: clique nessa opção para especificar que uma coluna sempre deverá 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) Para especificar opções avançadas, clique em Mostrar Opções Avançadas e informe os detalhes avançados:
    • Tempo de Vida (Dias): (opcional) especifique a duração de expiração (no de dias) para as linhas da tabela. Depois do número de dias, as linhas expirarão automaticamente e não estarão mais disponíveis. O valor padrão é zero, indicando que não há tempo de expiração.

      Observação:

      A Atualização do Tempo de Vida (TTL) da Tabela não altera o valor de TTL dos dados existentes na tabela. O novo valor de TTL só será aplicado às linhas adicionadas à tabela após esse valor ser modificado e às linhas para as quais nenhum valor específico de linha de substituição foi fornecido.
    Na seção Tags, informe:
    • Namespace de Tag: selecione um namespace de tag na lista de seleção. 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.
    • Tag Key: insira 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: insira o valor a ser fornecido para a tag.
    • + Tag Adicional: clique para adicionar mais tags.

  9. Clique em Criar tabela.
A tabela é criada e listada na console NoSQL.
Para exibir a ajuda da página atual, clique no link de ajuda na parte superior da página.

Criando uma Tabela Singleton: Modo de Entrada DDL Avançada

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

Para criar uma tabela:
  1. Acesse a console NoSQL na Console de Infraestrutura. Consulte Accessing the Service from the Infrastructure Console.
  2. Clique em Criar Tabela.
  3. Na janela Criar Tabela, selecione Entrada DDL Avançada para o Modo de Criação de Tabela.
  4. Em Capacidade Reservada, você tem as opções a seguir.
    • Configuração Sempre Grátis:

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

      Se você ativar o botão de alternância para criar uma tabela NoSQL Always Free, os campos 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.


      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 (ReadUnits): insira o número de unidades de leitura. Consulte Estimando a Capacidade para aprender sobre unidades de leitura.
      • Capacidade de Gravação (WriteUnits): insira o número de unidades de gravação. Consulte Estimando a Capacidade para aprender sobre unidades de gravação.
      • Disco Storage (GB): especifique o espaço em disco em gigabytes (GB) a ser usado pela tabela. Consulte Estimando a Capacidade para obter mais informações sobre capacidade de armazenamento.


    • Modo de capacidade

      Você pode especificar a opção para o modo Capacity como Provisioned Capacity ou On Demand Capacity. 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 precisará especificar a capacidade de leitura/gravação da tabela. Você será cobrado pelo uso real das unidades de leitura e gravação, não pelo uso provisionado.

      Ativar a Capacidade do On Demand para uma tabela é uma boa opção se qualquer uma das seguintes condiçõ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 de 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 pelas unidades da tabela Capacidade do On Demand do que pelas unidades da tabela provisionada.


      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.


  5. Na seção entrada de DDL, insira a instrução DDL de criação de tabela para Consulta. Você pode receber um erro informando que sua instrução está Incompleta ou com falha. 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 Developers Guide para obter exemplos sobre a instrução create table.
  6. (Opcional) Para especificar opções avançadas, clique em Mostrar Opções Avançadas e informe os detalhes avançados:
    • Namespace de Tag: selecione um namespace de tag na lista de seleção. 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.
    • Tag Key: insira 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: insira o valor a ser fornecido para a tag.
    • + Tag Adicional: clique para adicionar mais tags.

  7. Clique em Criar Tabela.
A tabela é criada e listada na console 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 da Tabela

Você pode usar a instrução create table para criar uma tabela como uma tabela filho de outra tabela, que depois se torna 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 recebe o nome composto A.B.C e assim por diante.

Propriedades das tabelas filhas:

  • Você não pode especificar os limites de capacidade de Leitura, Capacidade de gravação ou Armazenamento em disco ao criar uma tabela filho. A tabela filho compartilha os valores correspondentes da tabela pai.
  • Uma tabela filho é contada em relação ao número total de tabelas de uma tenancy.
  • Uma tabela pai e suas tabelas filhas estão sempre no mesmo compartimento.
  • As informações da métrica são coletadas e agregadas no nível pai. Nenhuma métrica está visível no nível das tabelas filho.
  • Uma tabela filho tem suas próprias tags, independentemente da tabela pai.
  • Uma tabela filho também herda o modelo de preço de capacidade da tabela pai. Por exemplo, se a tabela pai estiver configurada com a Capacidade do On Demand, a tabela filho também poderá ser configurada com o mesmo modelo de preço de capacidade.

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:
  • Declare uma tabela como filho de outra tabela.
  • Use a API writeMutliple para adicionar operações para tabelas pai e filho.
Se as tabelas filho não estiverem lá, alcançar transações ACID em vários objetos é um procedimento entediante. Sem tabelas filho, você faz o seguinte:
  • Localize os valores de chave de partição para todos os objetos que você deseja incluir em uma transação.
  • Certifique-se de que as chaves de partição de todos os objetos sejam iguais.
  • Use a API writeMutliple para adicionar cada objeto a uma coleção.

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

Autorização em uma tabela filho:

Se você não for proprietário de uma tabela e quiser lê-la, excluí-la ou inseri-la, duas condições deverão ser atendidas:
  • Você tem o privilégio específico (READ/INSERT/DELETE) para a tabela filho.
  • Você tem os mesmos privilégios, ou pelo menos o privilégio de leitura, para a tabela pai da tabela filho específica na hierarquia.

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

Por exemplo, se quiser inserir dados na tabela filho myTable.child1, que você não possui, deverá ter o privilégio INSERT na tabela filho e os privilégios READ e/ou INSERT em myTable. Conceder privilégios a tabelas filho é independente de conceder privilégios à tabela pai. Isso significa que você pode conceder privilégios específicos à tabela filho sem conceder o mesmo privilégio a sua tabela pai. Qualquer consulta de junção pai/filho requer os privilégios relevantes em todas as tabelas usadas na consulta. Consulte Usando junções Externas Esquerda com tabelas pai-filho para obter mais detalhes.

Criando uma tabela filho

  • Clique na tabela pai para exibir seus detalhes. A lista de tabelas filho já presentes para o pai é exibida.
  • No menu de navegação esquerdo, em Resources, clique em Child tables.

  • Você pode escolher o método de entrada simples ou o método de entrada DDL avançada para criar a tabela filha.
  • Especifique um nome para a tabela filho. Isso é prefixado automaticamente com o nome da tabela pai seguido por um ponto. Especifique a lista de colunas e colunas de chave primária.



  • A caixa de seleção Definir como chave de partição não é mostrada durante a criação de uma tabela filho, pois as tabelas filho herdam sua chave de partição da tabela pai de nível superior.

Observação:

Os campos Capacidade de Leitura, Capacidade de Gravação e Armazenamento em Disco não são especificados, pois 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.