Utilisation de la console pour créer des tables dans Oracle NoSQL Database Cloud Service

Voyez comment créer et gérer des tables et des index Oracle NoSQL Database Cloud Service à partir de la console.

Cet article contient les informations suivantes :

Création d'un compartiment

Lors de votre inscription à Oracle Cloud Infrastructure, Oracle crée votre location avec un compartiment racine qui contient toutes vos ressources en nuage. Vous créez ensuite des compartiments supplémentaires au sein de la location (compartiment racine), ainsi que des politiques pour contrôler l'accès aux ressources dans chaque compartiment. Avant la création d'une table Oracle NoSQL Database Cloud Service, Oracle recommande de configurer le compartiment auquel la table doit appartenir.

Vous créez des compartiments dans le service Oracle Cloud Infrastructure Identity and Access Management (IAM). Voir Configuration de votre location et Gestion des compartiments dans la documentation Oracle Cloud Infrastructure.

Création de tables singleton

Vous pouvez créer une nouvelle table Oracle NoSQL Database Cloud Service à partir de la console NoSQL.

La console NoSQL vous permet de créer des tables Oracle NoSQL Database Cloud Service dans deux modes :
  1. Mode Entrée simple : Vous pouvez utiliser ce mode pour créer une table du service NoSQL Database Cloud de manière déclarative, c'est-à-dire sans écrire d'énoncé LDD.
  2. Mode Entrée LDD avancée : Vous pouvez utiliser ce mode pour créer une table du service NoSQL Database Cloud à l'aide d'un énoncé LDD.

Création d'une table à jonction unique : Mode Entrée simple

Voyez comment créer une table à partir de la console NoSQL en mode de création de table Entrée simple.

Pour créer une table :
  1. Accédez à la console NoSQL à partir de la console Infrastructure. Voir Accès au service à partir de la console d'infrastructure.
  2. Cliquez sur Créer une table.
  3. Dans la boîte de dialogue Créer une table, sélectionnez Entrée simple dans le champ Mode de création de la table.
  4. Sous Capacité réservée, vous avez la possibilité d'activer la configuration de type Toujours gratuit ou de configurer le mode Capacité. La configuration de type Toujours gratuit est actuellement disponible uniquement dans la région Phoenix.
    • Configuration de type Toujours gratuit (Disponible uniquement dans la région Phoenix) :

      Activez le bouton d'activation/désactivation pour créer une table NoSQL de type Toujours gratuit. La désactivation du bouton d'activation/désactivation crée une table NoSQL normale. Vous pouvez créer jusqu'à trois tables NoSQL de type Toujours gratuit dans la location. Si vous avez trois tables NoSQL de type Toujours gratuit dans la location, le bouton d'activation/désactivation pour créer une table SQL de type Toujours gratuit est désactivé.

      Si vous activez le bouton d'activation/désactivation pour créer une table NoSQL de type Toujours gratuit, les champs Capacité de lecture, Capacité d'écriture et Stockage de disque sont affectés par défaut. Le mode de capacité devient Capacité provisionnée. Ces valeurs ne peuvent pas être modifiées.


      Si vous voulez créer une table standard, désactivez le bouton à bascule. Vous pourrez entrer les valeurs de capacité appropriées pour la table.
      • Lire la capacité (ReadUnits) : Entrez le nombre d'unités de lecture. Voir estimation de la capacité pour en savoir plus sur les unités de lecture.
      • Capacité d'écriture (WriteUnits) : Entrez le nombre d'unités d'écriture. Voir estimation de la capacité pour en savoir plus sur les unités d'écriture.
      • Service de stockage sur disque (Go) : Spécifiez l'espace disque en Go utilisé par la table. Voir estimation de la capacité pour en savoir plus sur la capacité de stockage.


    • Mode de capacité

      Vous pouvez spécifier l'option du mode Capacité comme Capacité provisionnée ou Capacité sur demande. Les modes Capacité provisionnée et Capacité sur demande s'excluent mutuellement. Si vous activez la capacité sur demande pour une table, vous n'avez pas besoin de spécifier la capacité de lecture/écriture de la table. L'utilisation réelle des unités de lecture et d'écriture vous est facturée et non l'utilisation provisionnée.

      L'activation de la capacité sur demande pour une table est une bonne option si l'une des conditions suivantes est vraie :
      1. Vous créez de nouvelles tables avec des charges globales inconnues.
      2. Vous avez un trafic d'application imprévisible.
      3. Vous préférez la facilité de payer uniquement pour ce que vous utilisez.
      Limites d'activation de la capacité sur demande pour une table :
      1. La capacité sur demande limite la capacité de la table à 5 000 écritures et 10 000 lectures.
      2. Le nombre de tables avec capacité sur demande par client est limité à 3.
      3. Vous payez plus d'unités par unité pour les unités de la table Capacité sur demande que pour les unités de la table provisionnée.


      La sélection de Capacité sur demande désactive la configuration de type Toujours gratuit. Les zones d'entrée Capacité de lecture et Capacité d'écriture deviennent en lecture seule et affichent le texte Capacité sur demande. Les tableaux Capacité sur demande affichent Capacité sur demande dans leurs colonnes de capacité de lecture et d'écriture. Si le mode Capacité est Capacité sur demande, le contrôle Toujours gratuit est désactivé.


  5. Dans le champ Nom, entrez un nom de table unique dans votre location.
    Les noms de table doivent être conformes aux conventions d'attribution de nom d'Oracle NoSQL Database Cloud Service. Voir Limites du service Oracle NoSQL Database Cloud Service.
  6. Dans la section Colonnes de clé primaire, entrez les détails de la clé primaire :
    • Nom de la colonne : Entrez un nom de colonne pour la clé primaire de votre table. Voir Limites du service Oracle NoSQL Database Cloud Service pour en savoir plus sur les exigences d'attribution de nom de colonne.
    • Type : Sélectionnez le type de données pour la colonne de clé primaire.
    • Note : S'applique uniquement aux colonnes de type TIMESTAMP. Les valeurs d'horodatage ont une précision en secondes fractionnaires comprise entre 0 et 9. Par exemple, une précision de 0 signifie qu'aucune fraction de seconde n'est stockée, 3 signifie que l'horodatage stocke des millisecondes et 9 signifie une précision de nanosecondes. 0 est la précision minimale et 9 est la précision maximale.
    • Définir en tant que clé de partition : Sélectionnez cette option pour définir cette colonne de clé primaire en tant que clé de partition. La clé de partition consiste à distribuer les données dans la grappe Oracle NoSQL Database Cloud Service pour une efficacité accrue et à positionner localement les enregistrements qui partagent la clé de partition pour faciliter les références et l'accès. Les enregistrements qui partagent la clé de partition sont stockés dans le même emplacement physique et sont accessibles individuellement et de manière efficace.
    • + Une autre colonne de clé primaire : Cliquez sur ce bouton pour ajouter des colonnes lors de la création d'une clé primaire composite (multicolonne).
    • Utilisez les flèche vers le haut et le bas pour modifier la séquence des colonnes lors de la création d'une clé primaire composite.

  7. Dans la section Colonnes, entrez les détails de la colonne non principale :

    • Nom de la colonne : Entrez le nom de la colonne. Assurez-vous de vous conformer aux exigences d'attribution de nom de colonne décrites dans Limites du service Oracle NoSQL Database Cloud Service.
    • Type : Sélectionnez le type de données de la colonne.
    • Note : S'applique uniquement aux colonnes de type TIMESTAMP. Les valeurs d'horodatage ont une précision en secondes fractionnaires comprise entre 0 et 9. Par exemple, une précision de 0 signifie qu'aucune fraction de seconde n'est stockée, 3 signifie que l'horodatage stocke des millisecondes et 9 signifie une précision de nanosecondes. 0 est la précision minimale et 9 est la précision maximale.
    • Taille : S'applique uniquement aux colonnes de type BINARY. Indiquez la taille en octets pour rendre la valeur binaire fixe.
    • Valeur par défaut : (facultatif) Indiquez une valeur par défaut pour la colonne.

      Note :

      Vous ne pouvez pas définir de valeur par défaut pour les colonnes de type de données binaire et JSON.
    • La valeur n'est pas nulle : Sélectionnez cette option pour spécifier qu'une colonne doit toujours avoir une valeur.
    • + Une autre colonne : Cliquez sur ce bouton pour ajouter d'autres colonnes.
    • Cliquez sur l'icône de suppression pour supprimer une colonne.
  8. (Facultatif) Pour spécifier des options avancées, cliquez sur Afficher les options avancées et entrez les détails suivants :
    • Durée de vie de la table (jours) : (facultatif) Spécifiez la durée d'expiration (nombre de jours) des rangées de la table. Après le nombre de jours, les rangées expirent automatiquement et ne sont plus disponibles. La valeur par défaut est zéro, ce qui signifie qu'il n'y a pas de délai d

      Note :

      La mise à jour de la durée de vie de la table ne modifie pas la durée de vie des données présentes dans la table. La nouvelle durée de vie ne s'applique qu'aux rangées ajoutées à la table après la modification de cette valeur et aux rangées pour lesquelles aucune valeur spécifique de rangée de remplacement n'a été fournie.
    Dans la section Marqueurs, entrez les valeurs suivantes :
    • espace de noms de marqueur : Sélectionnez un espace de noms de marqueur dans la liste. Un espace de noms de marqueur joue le rôle de conteneur de vos clés de marqueur. Il n'est pas sensible à la casse et doit être unique dans toute la location.
    • Clé de marqueur : Entrez le nom à utiliser pour référencer le marqueur. Une clé de marqueur n'est pas sensible à la casse et doit être unique dans un espace de noms.
    • Valeur : Entrez la valeur à attribuer à votre marqueur.
    • + marqueur supplémentaire : Cliquez pour ajouter des marqueurs supplémentaires.

  9. Cliquez sur Créer une table.
La table est créée et listée dans la console NoSQL.
Pour afficher l'aide sur la page courante, cliquez sur le lien d'aide en haut de la page.

Création d'une table à un seul trait : Mode Entrée LDD avancée

Voyez comment créer une table à partir de la console NoSQL en mode de création de table Entrée LDD avancée.

Pour créer une table :
  1. Accédez à la console NoSQL à partir de la console Infrastructure. Voir Accès au service à partir de la console d'infrastructure.
  2. Cliquez sur Créer une table.
  3. Dans la fenêtre Créer une table, sélectionnez Entrée LDD avancée dans le champ Mode de création de la table.
  4. Sous Capacité réservée, vous avez l'option d'activer la configuration de type Toujours gratuit ou de configurer le mode Capacité.
    • Configuration de type Toujours gratuit (Disponible uniquement dans la région Phoenix) :

      Activez le bouton d'activation/désactivation pour créer une table NoSQL de type Toujours gratuit. La désactivation du bouton d'activation/désactivation crée une table NoSQL normale. Vous pouvez créer jusqu'à trois tables NoSQL de type Toujours gratuit dans la location. Si vous avez trois tables NoSQL de type Toujours gratuit dans la location, le bouton d'activation/désactivation pour créer une table SQL de type Toujours gratuit est désactivé.

      Si vous activez le bouton d'activation/désactivation pour créer une table NoSQL de type Toujours gratuit, les champs Capacité de lecture, Capacité d'écriture et Stockage de disque sont affectés par défaut. Le mode de capacité devient Capacité provisionnée. Ces valeurs ne peuvent pas être modifiées.


      Si vous voulez créer une table standard, désactivez le bouton à bascule. Vous pourrez entrer les valeurs de capacité appropriées pour la table.
      • Lire la capacité (ReadUnits) : Entrez le nombre d'unités de lecture. Voir estimation de la capacité pour en savoir plus sur les unités de lecture.
      • Capacité d'écriture (WriteUnits) : Entrez le nombre d'unités d'écriture. Voir estimation de la capacité pour en savoir plus sur les unités d'écriture.
      • Service de stockage sur disque (Go) : Spécifiez l'espace disque en Go utilisé par la table. Voir estimation de la capacité pour en savoir plus sur la capacité de stockage.


    • Mode de capacité

      Vous pouvez spécifier l'option du mode Capacité comme Capacité provisionnée ou Capacité sur demande. Les modes Capacité provisionnée et Capacité sur demande s'excluent mutuellement. Si vous activez la capacité sur demande pour une table, vous n'avez pas besoin de spécifier la capacité de lecture/écriture de la table. L'utilisation réelle des unités de lecture et d'écriture vous est facturée et non l'utilisation provisionnée.

      L'activation de la capacité sur demande pour une table est une bonne option si l'une des conditions suivantes est vraie :
      1. Vous créez de nouvelles tables avec des charges globales inconnues.
      2. Vous avez un trafic d'application imprévisible.
      3. Vous préférez la facilité de payer uniquement pour ce que vous utilisez.
      Limites d'activation de la capacité sur demande pour une table :
      1. La capacité sur demande limite la capacité de la table à 5 000 écritures et 10 000 lectures.
      2. Le nombre de tables avec capacité sur demande par client est limité à 3.
      3. Vous payez plus d'unités par unité pour les unités de la table Capacité sur demande que pour les unités de la table provisionnée.


      La sélection de Capacité sur demande désactive la configuration de type Toujours gratuit. Les zones d'entrée Capacité de lecture et Capacité d'écriture deviennent en lecture seule et affichent le texte Capacité sur demande. Les tableaux Capacité sur demande affichent Capacité sur demande dans leurs colonnes de capacité de lecture et d'écriture. Si le mode Capacité est Capacité sur demande, le contrôle Toujours gratuit est désactivé.


  5. Dans la section Entrée LDD, entrez l'énoncé LDD de création de table dans le champ Interrogation. Vous pouvez obtenir une erreur indiquant que votre instruction est incomplète ou défectueuse. Voir Débogage des erreurs d'énoncé SQL dans la console OCI pour en savoir plus sur les erreurs possibles dans la console OCI et savoir comment les corriger. Voir le guide des développeurs pour obtenir des exemples d'énoncé de création de table.
  6. (Facultatif) Pour spécifier des options avancées, cliquez sur Afficher les options avancées et entrez les détails suivants :
    • espace de noms de marqueur : Sélectionnez un espace de noms de marqueur dans la liste. Un espace de noms de marqueur joue le rôle de conteneur de vos clés de marqueur. Il n'est pas sensible à la casse et doit être unique dans toute la location.
    • Clé de marqueur : Entrez le nom à utiliser pour référencer le marqueur. Une clé de marqueur n'est pas sensible à la casse et doit être unique dans un espace de noms.
    • Valeur : Entrez la valeur à attribuer à votre marqueur.
    • + marqueur supplémentaire : Cliquez pour ajouter des marqueurs supplémentaires.

  7. Cliquez sur Créer une table.
La table est créée et listée dans la console NoSQL.
Pour afficher l'aide sur la page courante, cliquez sur le lien d'aide en haut de la page.

Créer une table enfant

Avec Oracle NoSQL Database, vous pouvez créer des tables dans une structure hiérarchique (en tant que tables parent-enfant).

Hiérarchies de la table

Vous pouvez utiliser l'instruction create table pour créer une table en tant que table enfant d'une autre table, qui devient alors le parent de la nouvelle table. Pour ce faire, utilisez un nom de composite (name_path) pour la table enfant. Un nom composite est constitué d'un nombre N (N > 1) d'identificateurs séparés par des points. Le dernier identificateur est le nom local de la table enfant et les N-1 premiers identificateurs sont le nom du parent.
   
           A   
         /   \ 
      A.B    A.G  
       /  
    A.B.C   
     /  
   A.B.C.D

La table parent la plus élevée est A. La table enfant B obtient le nom du composite A.B. Le niveau suivant de la table enfant C obtient le nom du composite A.B.C et ainsi de suite.

Propriétés des tables enfants :

  • Vous ne pouvez pas spécifier les limites de capacité de lecture, d'écriture ou de stockage sur disque lors de la création d'une table enfant. La table enfant partage les valeurs correspondantes de la table parent.
  • Une table enfant est comptée dans le nombre total de tables d'une location.
  • Une table parent et ses tables enfants se trouvent toujours dans le même compartiment.
  • Les informations de mesure sont collectées et agrégées au niveau parent. Aucune mesure n'est visible au niveau des tables enfants.
  • Une table enfant a ses propres balises indépendantes de la table parent.
  • Une table enfant hérite également du modèle de tarification de la capacité de la table parent. Par exemple, si la table parent est configurée avec la capacité sur demande, la table enfant peut également être configurée avec le même modèle de tarification de capacité.

Transactions dans les tables parent-enfant

Une table parent et une table enfant partagent la même clé de partition. À l'aide de tables enfants, vous pouvez réaliser des transactions ACID sur plusieurs objets à l'aide des deux étapes simples suivantes :
  • Déclarez une table en tant qu'enfant d'une autre table.
  • Utilisez l'API writeMutliple pour ajouter des opérations pour les tables parent et enfant.
Si les tables enfants ne sont pas présentes, il est fastidieux d'effectuer des transactions ACID sur plusieurs objets. Sans tables enfants, procédez comme suit :
  • Recherchez les valeurs de clé de partition pour tous les objets à inclure dans une transaction.
  • Assurez-vous que les clés de partition pour tous les objets sont égales.
  • Utilisez l'API writeMutliple pour ajouter chaque objet à une collection.

Utilisez des tables enfants pour réaliser facilement des transactions ACID sur plusieurs objets.

Autorisation dans une table enfant :

Si vous n'êtes pas propriétaire d'une table et que vous souhaitez la lire, la supprimer ou l'insérer dans cette table, deux conditions doivent être remplies :
  • Vous disposez du privilège spécifique (READ/INSERT/DELETE) pour la table enfant.
  • Vous disposez des mêmes privilèges, ou du moins du privilège de lecture, pour la table parent de la table enfant spécifique dans la hiérarchie.

Pour plus de détails, voir Politiques IAM pour l'autorisation.

Par exemple, si vous voulez insérer des données dans la table enfant myTable.child1, dont vous n'êtes pas propriétaire, vous devez disposer du privilège INSERT sur la table enfant et des privilèges READ et/ou INSERT sur myTable. L'octroi de privilèges aux tables enfants est indépendant de l'octroi de privilèges à la table parent. Cela signifie que vous pouvez accorder des privilèges spécifiques à la table enfant sans accorder le même privilège à sa table parent. Toutes les interrogations de jointure parent/enfant nécessitent les privilèges appropriés sur toutes les tables utilisées dans l'interrogation. Pour plus de détails, voir Utilisation de jointures externes de gauche avec des tables parent-enfant.

Créer une table enfant

  • Cliquez sur la table parent pour voir ses détails. La liste des tables enfants déjà présentes pour le parent s'affiche.
  • Dans le menu de navigation de gauche, sous Ressources, cliquez sur Tables enfants.

  • Vous pouvez choisir la méthode Entrée simple ou Entrée LDD avancée pour créer la table enfant.
  • Indiquez le nom de la table enfant. Il est automatiquement précédé du nom de la table parent suivi d'un point. Indiquez la liste des colonnes et des colonnes de clé primaire.



  • La case à cocher Définir comme clé de partition n'est pas affichée lors de la création d'une table enfant, car les tables enfants héritent de leur clé de partition de leur table parent de niveau supérieur.

Note :

Les champs Capacité de lecture, Capacité d'écriture et Stockage sur disque ne sont pas spécifiés car une table enfant hérite de ces limites de la table de niveau supérieur. Les limites définies pour la table de niveau supérieur sont automatiquement appliquées à la table enfant.

Consultation des détails d'une table enfant

Vous pouvez voir les détails d'une table enfant après sa création.