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

En savoir plus sur la création et la gestion de tables et d'index Oracle NoSQL Database Cloud Service à partir de la console.

Cet article comprend les rubriques suivantes :

Création d'un compartiment :

Lors de l'inscription à Oracle Cloud Infrastructure, Oracle crée votre location avec un compartiment racine contenant toutes vos ressources cloud. Vous créez ensuite des compartiments supplémentaires dans la location (compartiment racine) et des stratégies correspondantes pour contrôler l'accès aux ressources dans chaque compartiment. Avant de créer une table Oracle NoSQL Database Cloud Service, Oracle recommande de configurer le compartiment auquel la table doit appartenir.

Créez des compartiments dans Oracle Cloud Infrastructure Identity and Access Management (IAM). Reportez-vous à Configuration de votre location et à Gestion des compartiments dans la documentation Oracle Cloud Infrastructure.

Création de tables singleton

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

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

Création d'une table singleton : mode d'entrée simple

Découvrez comment créer une table à partir de la console NoSQL en utilisant le mode de création de table d'entrée simple.

Créer une table :
  1. Accédez à la console NoSQL à partir de la console d'infrastructure. Reportez-vous à la section Accessing the Service from the Infrastructure Console.
  2. Cliquez sur Créer une table.
  3. Dans la boîte de dialogue Créer une table, sélectionnez entrée simple pour mode de création de table.
  4. Sous Capacité réservée, vous disposez des options suivantes.
    • Configuration Toujours gratuit :

      Activez le bouton bascule pour créer une table NoSQL Toujours gratuit. La désactivation du bouton de bascule crée une table NoSQL standard. Vous pouvez créer jusqu'à trois tables NoSQL Toujours gratuit dans la location. Si la location comporte trois tables NoSQL Toujours gratuit, le bouton à bascule permettant de créer une table SQL Toujours gratuit est désactivé.

      Si vous activez le bouton bascule pour créer une table NoSQL Toujours gratuit, les valeurs par défaut sont affectées aux champs Capacité de lecture, Capacité d'écriture et Stockage sur disque. Le mode de capacité devient Capacité provisionnée. Vous ne pouvez pas modifier ces valeurs.


      Si vous souhaitez créer une table standard, désactivez le bouton à bascule. Vous pourrez saisir les valeurs de capacité appropriées pour la table.
      • Capacité de lecture (ReadUnits) : saisissez le nombre d'unités de lecture. Pour en savoir plus sur l'estimation de la capacité.
      • Capacité d'écriture (WriteUnits) : saisissez le nombre d'unités d'écriture. Pour plus d'informations sur les unités d'écriture, reportez-vous à estimation de la capacité.
      • stockage sur disque (Go) : indiquez l'espace disque en Go à utiliser par la table. Pour plus d'informations sur la capacité de stockage, reportez-vous à estimation.


    • Mode de capacité

      Vous pouvez définir l'option du mode Capacité sur Capacité provisionnée ou Capacité à la demande. Les modes Capacité provisionnée et Capacité à la demande s'excluent mutuellement. Si vous activez la capacité à la demande pour une table, vous n'avez pas besoin d'indiquer 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 celle provisionnée.

      L'activation de la capacité On Demand pour une table est une bonne option si l'une des conditions suivantes est remplie :
      1. Vous créez des 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 relatives à l'activation de la capacité On Demand pour une table :
      1. La capacité à la demande limite la capacité de la table à 5 000 écritures et 10 000 lectures.
      2. Le nombre de tables avec une capacité On Demand par locataire est limité à 3.
      3. Vous payez plus par unité pour les unités de table Capacité à la demande que pour les unités de table provisionnées.


      La sélection de Capacité à la demande désactive la configuration Toujours gratuit. Les zones de saisie Capacité de lecture et Capacité d'écriture passent en lecture seule et affichent le texte Capacité à la demande. Les tables de capacité On Demand affichent la capacité On Demand dans leurs colonnes de capacité de lecture et d'écriture. Si le mode Capacité est Capacité à la 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 de dénomination Oracle NoSQL Database Cloud Service. Reportez-vous aux limites Oracle NoSQL Database Cloud Service.
  6. Dans la section Colonnes de clé primaire, saisissez les détails de la clé primaire :
    • Nom de colonne : saisissez le nom d'une colonne pour la clé primaire dans la table. Reportez-vous aux limites Oracle NoSQL Database Cloud Service pour en savoir plus sur les exigences en matière de dénomination des colonnes.
    • Type : sélectionnez le type de données de la colonne de clé primaire.
    • Description : cette option s'applique uniquement aux colonnes de type TIMESTAMP. Les valeurs d'horodatage ont une précision en fraction de seconde 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 une précision de nanosecondes. 0 est la précision minimale et 9 est le maximum.
    • Définir en tant que clé de shard : cliquez sur cette option pour définir cette colonne de clé primaire en tant que clé de shard. La clé de partage est de distribuer des données dans le cluster Oracle NoSQL Database Cloud Service pour améliorer l'efficacité, et de placer des enregistrements qui partagent la clé de partage localement pour faciliter l'accès et le référencement. Les enregistrements partageant la clé de shard sont stockés dans le même emplacement physique et vous pouvez y accéder de manière atomique et efficace.
    • + Autre colonne de clé primaire : cliquez sur ce bouton pour ajouter d'autres colonnes lors de la création d'une clé primaire composite (plusieurs colonnes).
    • Utilisez les boutons Flèche Haut et Flèche 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 d'une colonne secondaire :

    • Nom de la colonne : saisissez le nom de la colonne. Vous devez respecter les exigences relatives à la dénomination de colonne décrites dans Limites Oracle NoSQL Database Cloud Service.
    • Type : sélectionnez le type de données de la colonne.
    • Description : cette option s'applique uniquement aux colonnes de type TIMESTAMP. Les valeurs d'horodatage ont une précision en fraction de seconde 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 une précision de nanosecondes. 0 est la précision minimale et 9 est le maximum.
    • Taille : ce paramètre s'applique uniquement aux colonnes de type BINARY. Indiquez la taille en octets pour rendre le fichier binaire fixe.
    • Valeur par défaut : (facultatif) indiquez une valeur par défaut pour la colonne.

      Remarques :

      Impossible d'indiquer des valeurs par défaut pour les colonnes de type de données JSON et binaire.
    • La valeur n'est pas NULL : cliquez sur cette option pour indiquer qu'une colonne doit toujours comporter une valeur.
    • + 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 saisissez les détails avancés :
    • Durée de vie de la table (jours) : (facultatif) indiquez la durée d'expiration (nombre de jours) des lignes de la table. Après le nombre de jours, les lignes arrivent automatiquement à expiration et ne sont plus disponibles. La valeur par défaut est zéro, ce qui indique l'absence de délai d'expiration.

      Remarques :

      La mise à jour de la durée de vie de la table ne modifie pas la valeur de durée de vie des données existantes dans la table. La nouvelle valeur de durée de vie s'applique uniquement aux lignes ajoutées à la table après la modification de cette valeur et aux lignes pour lesquelles aucune valeur spécifique de ligne de remplacement n'a été fournie.
    Dans la section Tags entrez les informations suivantes :
    • Espace de noms de balise : sélectionnez-en un dans la liste de sélection. Un espace de noms de balise est comme un conteneur pour vos clés de balise. Il ne fait pas la distinction entre les majuscules et les minuscules, et doit être unique dans la location.
    • Clé de balise : entrez le nom à utiliser pour faire référence à la balise. Une clé de balise n'est pas sensible à la casse et doit être unique dans un espace de noms.
    • Valeur : entrez la valeur à attribuer à la balise.
    • + Balise supplémentaire : cliquez ici pour ajouter d'autres balises.

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

Création d'une table unique : mode d'entrée DDL avancée

Découvrez comment créer une table à partir de la console NoSQL en utilisant le mode de création de table DDL d'entrée avancée.

Créer une table :
  1. Accédez à la console NoSQL à partir de la console d'infrastructure. Reportez-vous à la section Accessing the Service from the Infrastructure Console.
  2. Cliquez sur Créer une table.
  3. Dans la fenêtre Créer une table, sélectionnez entrée DDL avancée pour mode de création de table.
  4. Sous Capacité réservée, vous disposez des options suivantes.
    • Configuration Toujours gratuit :

      Activez le bouton bascule pour créer une table NoSQL Toujours gratuit. La désactivation du bouton de bascule crée une table NoSQL standard. Vous pouvez créer jusqu'à trois tables NoSQL Toujours gratuit dans la location. Si la location comporte trois tables NoSQL Toujours gratuit, le bouton à bascule permettant de créer une table SQL Toujours gratuit est désactivé.

      Si vous activez le bouton bascule pour créer une table NoSQL Toujours gratuit, les valeurs par défaut sont affectées aux champs Capacité de lecture, Capacité d'écriture et Stockage sur disque. Le mode de capacité devient Capacité provisionnée. Vous ne pouvez pas modifier ces valeurs.


      Si vous souhaitez créer une table standard, désactivez le bouton à bascule. Vous pourrez saisir les valeurs de capacité appropriées pour la table.
      • Capacité de lecture (ReadUnits) : saisissez le nombre d'unités de lecture. Pour en savoir plus sur l'estimation de la capacité.
      • Capacité d'écriture (WriteUnits) : saisissez le nombre d'unités d'écriture. Pour plus d'informations sur les unités d'écriture, reportez-vous à estimation de la capacité.
      • stockage sur disque (Go) : indiquez l'espace disque en Go à utiliser par la table. Pour plus d'informations sur la capacité de stockage, reportez-vous à estimation.


    • Mode de capacité

      Vous pouvez définir l'option du mode Capacité sur Capacité provisionnée ou Capacité à la demande. Les modes Capacité provisionnée et Capacité à la demande s'excluent mutuellement. Si vous activez la capacité à la demande pour une table, vous n'avez pas besoin d'indiquer 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 celle provisionnée.

      L'activation de la capacité On Demand pour une table est une bonne option si l'une des conditions suivantes est remplie :
      1. Vous créez des 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 relatives à l'activation de la capacité On Demand pour une table :
      1. La capacité à la demande limite la capacité de la table à 5 000 écritures et 10 000 lectures.
      2. Le nombre de tables avec une capacité On Demand par locataire est limité à 3.
      3. Vous payez plus par unité pour les unités de table Capacité à la demande que pour les unités de table provisionnées.


      La sélection de Capacité à la demande désactive la configuration Toujours gratuit. Les zones de saisie Capacité de lecture et Capacité d'écriture passent en lecture seule et affichent le texte Capacité à la demande. Les tables de capacité On Demand affichent la capacité On Demand dans leurs colonnes de capacité de lecture et d'écriture. Si le mode Capacité est Capacité à la demande, le contrôle Toujours gratuit est désactivé.


  5. Dans la section entrée DDL, entrez l'instruction DDL de création de table dans Requête. Vous pouvez obtenir une erreur indiquant que votre instruction est incomplète ou défectueuse. Reportez-vous à Débogage des erreurs d'instruction SQL dans la console OCI pour en savoir plus sur les erreurs possibles dans la console OCI et sur la façon de les corriger. Reportez-vous au Guide des développeurs pour obtenir des exemples d'instruction de création de table.
  6. (Facultatif) Pour spécifier des options avancées, cliquez sur Afficher les options avancées et saisissez les détails avancés :
    • Espace de noms de balise : sélectionnez-en un dans la liste de sélection. Un espace de noms de balise est comme un conteneur pour vos clés de balise. Il ne fait pas la distinction entre les majuscules et les minuscules, et doit être unique dans la location.
    • Clé de balise : entrez le nom à utiliser pour faire référence à la balise. Une clé de balise n'est pas sensible à la casse et doit être unique dans un espace de noms.
    • Valeur : entrez la valeur à attribuer à la balise.
    • + Balise supplémentaire : cliquez ici pour ajouter d'autres balises.

  7. Cliquez sur Créer une table.
La table est créée et répertoriée dans la console NoSQL.
Pour afficher l'aide de la page en cours, 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 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 identifiants 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 de composite A.B. Le niveau suivant de la table enfant C obtient le nom de composite A.B.C, etc.

Propriétés des tables enfant :

  • Vous ne pouvez pas spécifier les limites de capacité de lecture, de capacité 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 par rapport au nombre total de tables d'une location.
  • Une table parent et ses tables enfant 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 enfant.
  • 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 Capacité On Demand, la table enfant peut également être configurée avec le même modèle de tarification de la capacité.

Transactions dans des tables parent-enfant

Une table parent et une table enfant partagent la même clé de shard. A l'aide de tables enfant, vous pouvez réaliser des transactions ACID sur plusieurs objets en procédant comme suit :
  • 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 enfant ne sont pas présentes, la réalisation de transactions ACID sur plusieurs objets est une procédure fastidieuse. Sans tables enfant, procédez comme suit :
  • Recherchez les valeurs de clé de shard pour tous les objets à inclure dans une transaction.
  • Assurez-vous que les clés de shard pour tous les objets sont égales.
  • Utilisez l'API writeMutliple pour ajouter chaque objet à une collection.

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

Autorisation dans une table enfant :

Si vous ne possédez pas de table et que vous souhaitez lire, supprimer ou 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 au moins du privilège de lecture, pour la table parent de la table enfant spécifique dans la hiérarchie.

Pour plus d'informations, reportez-vous à Stratégies IAM pour l'autorisation.

Par exemple, si vous voulez insérer des données dans la table enfant myTable.child1 qui ne vous appartient pas, 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 à des tables enfant 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. Toute requête de jointure parent/enfant nécessite les privilèges appropriés sur toutes les tables utilisées dans la requête. Pour plus d'informations, reportez-vous à Utilisation de jointures externes de gauche avec des tables parent-enfant.

Créer une table enfant

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

  • Vous pouvez choisir la méthode d'entrée simple ou la méthode d'entrée DDL avancée pour créer la table enfant.
  • Nommez 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 en tant que clé de shard n'est pas affichée lors de la création d'une table enfant, car les tables enfant héritent de leur clé de shard de leur table parent de niveau supérieur.

Remarques :

Les champs Read Capacity, Write Capacity et Disk Storage 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.

Visualisation des détails d'une table enfant

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