[Résolu] Clé Primaire : INTEGER obligatoire ?

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.
jean83fun
Membre hOOnoraire
Membre hOOnoraire
Messages : 153
Inscription : 06 févr. 2013 21:10

[Résolu] Clé Primaire : INTEGER obligatoire ?

Message par jean83fun »

bonjour à tous,

Je suis tombé sur ce tuto un peu ancien https://forum.openoffice.org/fr/forum/v ... 68#p207468
et j'ai quelques questions dessus. Alors si j'ai bien compris, c'est une question par sujet.

Il me semblait qu'une clé primaire devait être de type INTEGER. Est-ce toujours valable ?
Capture d’écran 2022-08-01 à 18.44.44.png
Capture d’écran 2022-08-01 à 18.44.44.png (106.02 Kio) Consulté 638 fois
Dernière modification par jean83fun le 05 août 2022 09:37, modifié 2 fois.
Jean

"Donne un poisson à un homme, il mangera un jour, apprends-lui à pêcher, il mangera tous les jours."

MacOS X 12.4 M1
LO 7.2.7.2
AOO 4.1.10
temurin-8.jdk


MacOS X 12.6.7 Intel
LO 7.2.7.2
AOO 4.1.3
jdk 1.8.0_333 (??)
pulcinopio
NéOOphyte
NéOOphyte
Messages : 243
Inscription : 13 juil. 2022 19:13

Re: Clé Primaire : INTEGER obligatoire ?

Message par pulcinopio »

Bonjour,

J'aimerais, par mon expérience te dire que, personnellement pour mes petites bases de données de chez moi, je n'utilise pas de code EAN ou ISBN etc.
Je me permettrais donc d'affirmer ton propos pour une gestion casanière. Evidemment cela peut se compliquer si les produits de la base de données font l'objet par exemple d'un passage de propriété - et cela va mieux si le code est univoque.

C'est mon opinion, mais je suis certain que les modérateurs de ce forum en savent plus que moi.
:)
Libre Office 6.0.4 sur Ubuntu 18.04
Avatar de l’utilisateur
jf.l
Membre enthOOusiaste
Membre enthOOusiaste
Messages : 474
Inscription : 18 mai 2010 20:49

Re: Clé Primaire : INTEGER obligatoire ?

Message par jf.l »

Bonjour jean83fun.
Pour une base de données relationnelle un index doit avoir une valeur unique pour chaque enregistrement d'une table indexée. Il peut y avoir des tables non indexées.
Dans l'exemple cité, nous avons deux raisons d'utiliser un code sur trois caractères : premièrement il n'y a que 109 indicatifs départementaux et deuxièmement il y a déjà une nomenclature établie normalisée par le Code officiel géographique et connue de tous depuis les bancs de l'école.
On utilise un entier incrémenté automatiquement (qui est proposé par défaut) quand on n'a pas se système de valeurs déjà instauré ou que le champ identifiant unique d'usage sera établi après la création de l'enregistrement. Dans ce cas la seule caractéristique que l'on souhaite de ce champ d'index est son unicité et sa valeur exacte est à priori sans signification.
Cordialement,
JF.L
Linux Mint 21.1 x64 + LibO 7.3.1 / LibO 7.1.1 + W10 x64
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1398
Inscription : 18 janv. 2008 10:02
Localisation : Val de Marne

Re: Clé Primaire : INTEGER obligatoire ?

Message par jeanmi2403 »

Bonjour,
La clé primaire (selon moi) sert essentiellement pour les relations. On utilise le plus souvent un numéro d'ordre (INTEGER) en Autovaleur (pour ne pas avoir à s'en occuper !)
Pour une petite table peu évolutive comme celle là, on peut effectivement utiliser un autre codage.
Un autre type ( à part SMALL qui est plus limité) ne permet pas l'autovaleur.
Cordialement,
Dernière modification par jeanmi2403 le 03 août 2022 16:14, modifié 2 fois.
Jean-Michel
LibO 7.5.9 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 7.6 sur OpenSuse & Linux MX
pulcinopio
NéOOphyte
NéOOphyte
Messages : 243
Inscription : 13 juil. 2022 19:13

Re: Clé Primaire : INTEGER obligatoire ?

Message par pulcinopio »

Vous avez répondu à juste tritre. Une écriture comptable est pour ainsi dire "progressive", donc, pour enregistrer un évènement, j'utilise de même que vous une autovaleur.

Bien à vous
Libre Office 6.0.4 sur Ubuntu 18.04
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Clé Primaire : INTEGER obligatoire ?

Message par Dude »

Salut,

Une clé primaire est obligatoire si tu veux faire fonctionner Base.
C'est marqué dans le tutoriel Démarrer avec Base (page 10)
pulcinopio
NéOOphyte
NéOOphyte
Messages : 243
Inscription : 13 juil. 2022 19:13

Re: Clé Primaire : INTEGER obligatoire ?

Message par pulcinopio »

:)
Libre Office 6.0.4 sur Ubuntu 18.04
jean83fun
Membre hOOnoraire
Membre hOOnoraire
Messages : 153
Inscription : 06 févr. 2013 21:10

Re: Clé Primaire : INTEGER obligatoire ?

Message par jean83fun »

Dude a écrit : 04 août 2022 15:45 Une clé primaire est obligatoire si tu veux faire fonctionner Base.
ce n'est pas ça ma question.
Jean

"Donne un poisson à un homme, il mangera un jour, apprends-lui à pêcher, il mangera tous les jours."

MacOS X 12.4 M1
LO 7.2.7.2
AOO 4.1.10
temurin-8.jdk


MacOS X 12.6.7 Intel
LO 7.2.7.2
AOO 4.1.3
jdk 1.8.0_333 (??)
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Clé Primaire : INTEGER obligatoire ?

Message par Dude »

Je complétais celle de jf.l
Qu'est ce que tu n'as pas compris jusque là ?
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
pulcinopio
NéOOphyte
NéOOphyte
Messages : 243
Inscription : 13 juil. 2022 19:13

Re: Clé Primaire : INTEGER obligatoire ?

Message par pulcinopio »

Bonjour Jean,

Il doit sûrement y avoir un qui pro quo car l'affaire commence à courir sur le fil à M. Dude. Revenons donc à nos "moutons".
La relation clé primaire-clé étrangère est en quelque sorte le premier pilier sur lequel est fondé le DataBaseRelationalManagementSystem
Si vous souhaitez donc utiliser ce système, il faudra bien en quelque sorte appliquer sa théorie....

Si vous me le permettez, ne vous laissez pas turlupiner par des soi-disant GOUROUS du programme Filemaker...

Bien à vous
:?
Libre Office 6.0.4 sur Ubuntu 18.04
jean83fun
Membre hOOnoraire
Membre hOOnoraire
Messages : 153
Inscription : 06 févr. 2013 21:10

Re: Clé Primaire : INTEGER obligatoire ?

Message par jean83fun »

Dude a écrit : 05 août 2022 09:10 Qu'est ce que tu n'as pas compris jusque là ?
Ce que je ne comprends pas à présent, c'est comment j'ai fait pour croire qu'une clé primaire ne put être autre chose qu' INTEGER...
Dernière modification par jean83fun le 05 août 2022 10:17, modifié 1 fois.
Jean

"Donne un poisson à un homme, il mangera un jour, apprends-lui à pêcher, il mangera tous les jours."

MacOS X 12.4 M1
LO 7.2.7.2
AOO 4.1.10
temurin-8.jdk


MacOS X 12.6.7 Intel
LO 7.2.7.2
AOO 4.1.3
jdk 1.8.0_333 (??)
pulcinopio
NéOOphyte
NéOOphyte
Messages : 243
Inscription : 13 juil. 2022 19:13

Re: [Résolu] Clé Primaire : INTEGER obligatoire ?

Message par pulcinopio »

Jean, mon cher ami,

Votre question a déjà été satisfaite plus haut. Il est donc clair qu'un champ VARCHAR ne peut PAS ETRE AUTOMATIQUE.

Bien à vous

8)
La modération vous a écrit: Il est inutile de surenchérir sur un sujet déclaré résolu.
Sujet verrouillé.

Libre Office 6.0.4 sur Ubuntu 18.04
Verrouillé