[Résolu] Redondance évitée entre enregistrements de tables

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
martinterrier
Membre OOrganisé
Membre OOrganisé
Messages : 97
Inscription : 21 avr. 2021 17:28

[Résolu] Redondance évitée entre enregistrements de tables

Message par martinterrier »

Bonjour,

Après avoir compris le fonctionnement des liens entre tables et la simplicité que permet une liaison via des ID de type INTEGER (avec AUTOCHAMP), je me pose néanmoins la question suivante, induite justement par l'usage de l'ID :

comment garantir, dans une table, l'absence de redondance entre entrées.

En effet, si chaque entrée d'ID est unique (puisqu'AUTOCHAMP), comment garantir que les champs qui composent l'enregistrement ne sont pas redondants les uns avec les autres?

Dans l'exemple annexé, en table ETAT_CIVIL_MAR, les ID 0 et 1 sont similaires sans entrainer d'erreurs (ce qui ne me surprend pas).
Dans ce que je recherche, il serait intéressant d'obtenir un message d'erreur à partir du moment où 2 champs (par ex: NOM et prénom) sont similaires. Cela permettrait, lors de l'incrémentation de la base, de ne pas avoir la possibilité de créer deux ID différents avec les mêmes données (Je précise qu'aucun des champs n'est unique, d'où la nécessité d'avoir au moins deux champs).

Bonne journée à tous et merci pour vos contributions!
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par martinterrier le 29 avr. 2021 13:30, modifié 1 fois.
Obligation de version :
Libre Office 7.1.8.1 (x64) sous Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Eviter la redondance entre enregistrements d'une même ta

Message par jeanmimi »

Bonjour,
martinterrier a écrit :comment garantir, dans une table, l'absence de redondance entre entrées.
En général, lorsqu'on crée une Table avec des données, on prend soin de vérifier que les mêmes données ne sont pas saisies deux fois.
Lorsque le formulaire est sous forme de Grille, c'est aussi facile à contrôler visuellement que lorsqu'on fait une saisie sur une feuille de Tableur.
Formulaire saisie.jpg
Pour répondre à la question de l'alerte, il doit être possible de la déclencher par une Macro.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
martinterrier
Membre OOrganisé
Membre OOrganisé
Messages : 97
Inscription : 21 avr. 2021 17:28

Re: Eviter la redondance entre enregistrements d'une même ta

Message par martinterrier »

Bonjour,

Merci pour votre réponse.

je suis d'accord avec vous, mais il s'agit d'une table dans laquelle les données sont ajoutées au fur et à mesure: sur plusieurs années, la personne qui renseigne le tableau peut avoir changé et/ou avoir oublié ce qu'elle a renseigné.

Je verrai donc pour la création d'une macro ultérieurement, ne sachant pas du tout me servir de cet outil!

Bon après-midi.
Obligation de version :
Libre Office 7.1.8.1 (x64) sous Windows 10