Aller au contenu
  • 0
NoémiV

Thesaurus à 4 niveaux minimum

Question

Bonjour !

Je me permets de créer un nouveau sujet ici car après recherche j'ai remarqué que tous les sujets apparentés sont assez vieux et donc les liens ne sont plus actuels, et je ne trouve pas ce que je recherche.

Je viens de reprendre la gestion d'une base de données pour un projet de recherche et j'aimerais simplifier pas mal sa hiérarchie. Pour ce faire, j'aurais besoin de créer une liste de valeurs hiérarchique - un thésaurus. Il s'agit ici de définir une période d'occupation de site archéologique, lesquels sont plus ou moins précisément datables (par ères historiques - périodes - dynasties - règne de pharaons - datation absolue à 25 ans près).

Je n'ai malheureusement trouvé nulle part comment procéder (j'ai notamment un fichier excel qui contient déjà ces valeurs, utilisé pour créer un Thesaurus dans l'application IMDAS Pro).

Est-ce qu'une bonne âme aurait la gentillesse de m'indiquer comment procéder ou une référence où cela est expliqué ?

 

Merci d'avance,

Noémi

 

Partager ce message


Lien à poster
Partager sur d’autres sites

19 réponses à cette question

Messages recommandés

  • 0

Bonjour et bienvenue,

Ici tu trouveras toute l'aide recherchée, c'est garanti.

Mais, il faut que tu expliques mieux ce que tu cherches à faire et dans quel contexte en pensant que  "liste hiérarchique" n'est pas automatiquement compréhensible.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci pour ta réponse !

Je joins ici un fichier Excel pour montrer ce que je voudrais, j'espère que cela sera plus clair. Il manque encore la datation absolue ici, mais elle suit le même principe. Ce que je voudrais, c'est qu'il y ait une possibilité d'avoir autant de champs que de colonnes (ou alors un champ où l'information du dernier niveau s'affiche) et que si j'entre une information dans un des champs, les champs précédents se remplissent automatiquement (par exemple, si j'introduis dans le champ "pharaon" - Ramses II , Le champ dynastie se remplisse automatiquement avec l'information "19th dynasty", le champ Période "Nouvel Empire" etc.).

Ce qui est important, c'est que lorsque les utilisateurs de la base feront des recherches, ils pourront demander à voir tous les enregistrements datant du Nouvel Empire, et que cet enregistrement qui a été fait avec le terme "Ramses II" apparaisse dans la liste.

 

J'espère être claire ...

Merci pour ta réponse !

Je joins ici un fichier Excel pour montrer ce que je voudrais, j'espère que cela sera plus clair. Il manque encore la datation absolue ici, mais elle suit le même principe. Ce que je voudrais, c'est qu'il y ait une possibilité d'avoir autant de champs que de colonnes (ou alors un champ où l'information du dernier niveau s'affiche) et que si j'entre une information dans un des champs, les champs précédents se remplissent automatiquement (par exemple, si j'introduis dans le champ "pharaon" - Ramses II , Le champ dynastie se remplisse automatiquement avec l'information "19th dynasty", le champ Période "Nouvel Empire" etc.).

Ce qui est important, c'est que lorsque les utilisateurs de la base feront des recherches, ils pourront demander à voir tous les enregistrements datant du Nouvel Empire, et que cet enregistrement qui a été fait avec le terme "Ramses II" apparaisse dans la liste.

 

J'espère être claire ...

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Thesaurus Temporel.xlsx

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour
Il y a peut etre qq chose qui pourrait vous aiguiller.
ca a été développé par Jérémie je crois

 

Bertrand

 

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Menus sous menus V1.fmp12.zip

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
il y a 23 minutes, Bertrand d'Aubais a dit :

ca a été développé par Jérémie je crois

Bertrand

Bonjour,

Merci pour la citation, Bertrand !   ?

Noémie, je pense que ce qu'il te faut, c'est un système hiérarchique : dans chaque enregistrement, il te faut le cumul de tous les enregistrements parents.

Exemple : dans l'enregistrement Darius, il te faut :

Pharaonic periodLate period27th Dynasty (First Persian Dynasty)Darius

Dans l'enregistrement 27th Dynasty (First Persian Dynasty), tu auras seulement :

Pharaonic periodLate period27th Dynasty (First Persian Dynasty)

Cela est possible en ayant, comme dans mon exemple, tout dans une table unique categorie. Dans mon fichier, tel que transmis par Bertrand, il n'y a pas cette accumulation de données, mais elle est assez simple à mettre en place.

Pour bien faire, cela peut se stocker dans un champ hierarchie, avec une autoentrée sans l'option "ne pas remplacer valeur existante".

Dans un premier temps, je te propose de passer par un calcul non mémorisé : hierarchie = Liste ( categorie_parente::hierarchie ; nom ).

Ensuite, il suffit que les recherche portent sur la rubrique hierarchie.

Bonne journée !

Jérémie

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Voici une nouvelle version du fichier, qui te servira peut-être.

Tu y trouveras une rubrique hierarchie propre (c'est à dire indexable) et un filtrage.

NB : les enfants et moi sommes à fond dans l'Egypte ancienne, en ce moment, donc ça tombe bien !!   :D

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Menus sous menus V2 hierarchie.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Noémie,

Éant moi-même archéo, je comprends très bien ta question. Je te conseille une alternative à celle de Jérémie qui serait plus simple à mettre en oeuvre.

L'idée est de créer une table dédiée à la chronologie où chaque période chrono est renseignée avec tous ses niveaux hiérarchiques correspondant. Cette table et ses occurrences seraient ensuite reliées à ta table site.

La table site doit contenir autant de rubriques chrono que de rangs de classement souhaités. Chaque rubrique est renseignée par une liste de valeur définie par les différents rangs renseignés dans la table chrono et est conditionnée par la valeur du rang chronologique supérieur indiqué dans la table site .

Un exemple valant mieux qu'une explication, je t'ai glissé un petit exemple de liste de valeur en cascade qui reprends ce que je t'ai écrit.

Bon courage !

Archeo

CHRONO_CASCADE.fmp12

CHRONO_CASCADE.fmp12

CHRONO_CASCADE.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci beaucoup !

J'ai finalement, grâce à la base de Jérémie, compris à peu près ce que je devais faire et j'ai créé des tables en cascade pour chaque niveau, un peu comme tu as fait ! Je ne sais pas si j'ai trop compliqué la chose, mais cela me permet d'avoir un affichage automatique pour chaque entrée. Mais ta solution m'intrigue, 1. parce qu'elle a l'air plus simple que la mienne en un sens, et 2. parce que tu utilises une liste de valeurs conditionnée et que je n'ai pas encore compris comment faire cela. Il faut que je me penche dessus, cela va m'aider pour un autre domaine de la base, où je dois créer une liste hiérarchique des types de sols, et ta solution a l'air d'être exactement ce que je veux obtenir !

Maintenant j'ai un nouveau problème qui se pose (sinon cela ne serait pas drôle) concernant la recherche. L'idée est de dater des phases d'occupation de sites grâce à cette chronologie. Pour un site qui serait utilisé uniquement sur 25 ans(par ex. -1475 - -1451), il suffit de remplir la case des 25 ans concernés et ensuite tout le reste se renseigne tout seul. Pour un site qui a une durée d'occupation d'une dynastie entière, il suffit de remplir la dynastie concernée. Mais quand on veut rechercher quels sont les sites qui sont occupés entre 1475 - -1451, il faut que les sites qui sont occupés pendant toute la dynastie ou le règne du pharaon concerné apparaissent aussi dans les résultats de la recherche. Et jusqu'ici je n'ai pas encore trouvé la solution. J'imagine qu'il faudrait que tous les sous-groupes liés à une époque particulière se cochent automatiquement en arrière-plan ? Ou as-tu / avez-vous une autre idée ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Noémie,

Si je comprends bien la situation, il y a au moins 2 thématique.

 

1/ la recherche "occupé de D1 jusqu'à D2"

--> (Ceci rejoint la configuration d'un stock d'objets en location : "objet occupé de D1 jusqu'à D2")

--> Quand on fait une recherche, on veut "tous les éléments dont la date de fin dépasse D1 et dont la date de début est avant D2".

--> Dans ton exemple : un site occupé de -1500 à -1460 doit apparaître car il se termine après le début de ta période de recherche ; un site occupé de -1460 à -1400 doit également apparaître ; et bien sûr, un site occupé de -1470 à -1460 aussi.

Donc, le premier défi est de bien programmer la recherche "FIN ≥ D1 ET DEBUT ≤ D2". En script, cela se fait facilement.

 

2/ le report des dates DEBUT et FIN vers les sites

Apparemment, certains sites ont leur propres dates, alors que d'autres héritent leurs dates depuis une dynastie ou un règne.

Dans les 2 cas, je ne pense pas indispensable de créer X enregistrements "annee_d_occupation". Il me semble suffisant de bien gérer le report des dates de dynastie ou de règne vers les dates du site quand c'est le cas.

Comme tu le dis, "il suffit de remplir la dynastie concernée" : quand on fait cela, il faut que les valeurs de DEBUT et de FIN d'occupation du site se mettent à jour en fonction. Et ceci peut se faire :

- par entrée automatique,

- par script.


Une question qui me vient : un site peut avoir plusieurs périodes d'occupation. As-tu prévu une table "occupation", qui contiendrait les rubriques suivantes ?

- ID du site (qui renverra à la table des sites eux-mêmes)

- ID de la dynastie ou du règne

- caractère "prend les dates complètes de la dynastie ou du règne"

- date de début (manuelle ou automatique selon la rubrique ci-dessus)

- date de fin (idem)

- type d'utilisation (militaire, religieuse, civile) sur cette période

- nombre maximal d'occupants sur cette période

- etc.

NB : n'étant pas du sérail, ces pensées me viennent suite à la lecture récente d'un Que sais-je ? sur les manuscrits de la Mer Morte…

 

N'hésite pas à me dire si cela ne correspond pas à ta question.

Bon début de semaine !

Jérémie

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Jérémie !

 

Merci de ta réponse !

concernant le point 1), oui, c'est exactement cela.

concernant le point 2), en fait, chaque site est occupé pendant un certain moment. Dans certains cas, la période d'utilisation est continue et dure sur une dynastie entière ou carrément une Période entière (tout le Nouvel Empire). Parfois, il y a différentes phases d'occupation bien distinctes, durant lesquelles le site est transformé ou détruit puis reconstruit etc, et celles-ci sont beaucoup plus courtes. Il va donc y avoir des différences assez grandes dans la précision de datation de ces phases d'occupation, sachant que le plus précis que l'on peut faire est de dater à 25 ans près (d'où 4 blocs fixes par siècle, mais qui sont indépendants du règne d'un pharaon (Par exemple, les 10 premières années sous le règne d'un pharaon donné, et les 15 années suivantes sous son successeur).

Pour le moment, j'ai développé ce que j'appelle le "Module Chronologie" dans une base séParée et je compte le copier dans la base principale quand tout sera réglé.

Je trouve ton idée de "Date de début d'occupation" et "Date de fin d'occupation" très intéressante, mais j'ai une question à ce sujet : il me semble que si on configure un champ pour afficher une date, celle-ci doit être au format jj.mm.yyyy, ce qui ne convient pas car il me faut une date où seule l'année apparaît ...

Concernant la table de "Phase d'occupation", oui, elle est prévue, avec les rubriques

ID Site

Type d'utilisation

tous les champs nécessaires à la description de cette phase d'occupation

ID de la phase d'occupation

Nom de la phase (=nom du site concaténé avec le nom de la période d'occupation ou quelque chose comme ça, je dois encore affiner)

pour tout ce qui concerne la chronologie, je pensais l'afficher dans une table externe qui serait une table jointe "module de chronologie" (je peux attacher ici le modèle, mais j'ai encore quelques ajustements à faire pour qu'il fonctionne vraiment avec les blocs de 25 ans)

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Noémie,

Pour les "date de début d'occupation" et "date de fin d'occupation", tu peux bien sûr les remplacer par "année de début" et "année de fin", avec deux rubriques de type nombre.

Si j'ai bien compris, ces 2 rubriques seront dans la table "phase d'occupation", où elles seront :

- soit saisies directement,

- soit héritées depuis les dates d'un règne, d'une dynastie, etc.

Ensuite, au niveau du site, tu pourrais hériter une "année de début de la première occupation" et une "année de fin de la dernière occupation", si cela t'est utile.

 

Pour les quarts de siècle, cela pourrait être une simple liste de valeurs : -2000, -1975, -1950, -1900, etc. (?)

 

Si tu le souhaites, tu peux joindre une copie de ton fichier Module Chronologie, je pourrais peut-être te donner des avis plus précis… (Ou bien en message privé si tu préfères)

Bonne journée !

Jérémie

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Jérémie,

Merci beaucoup pour ton aide !

Je mets le fichier en pièce jointe. Je fais tous mes tests dans une base de données de test, donc le reste de la base n'est pas dedans et du coup la table "sites" est vraiment minimale, ce qui en réalité n'est pas le cas.

Je suppose que c'est pas mal de la bidouille ce que j'ai fait ...

Bonne Journée également !

Noémi

Test Chronology.fmp12

Test Chronology.fmp12

Test Chronology.fmp12

Test Chronology.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Bonjour Noémi,

(Pardon pour le "e" les fois précédentes)

Je vais prendre une petite heure pour regarder cela…

A suivre !

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Noemi,

Voici un fichier avec le modèle des Sites tel que je le comprends. On peut y ajouter 1 ou plusieurs périodes d'occupation.

Chaque période d'occupation peut recevoir une date de début et une date de fin (avec liste déroulante proposant dans tranches de 25 ans) ou bien être liée à une ère, une période, une dynastie ou un règne.

En fonction des dates fixées ci-dessus, on voit ensuite apparaître :

- les ères concernées,

- les règnes concernés.

On pourrait aussi afficher une liste des dynasties concernées, ainsi qu'une pour les périodes. Je te laisse le soin : soit d'afficher ces listes en utilisant le même principe que pour les ères et les règnes ; soit d'utiliser un lien remontant du règne jusqu'aux niveaux supérieurs (puisque ces liens sont existants et renseignés).

L'essentiel étant avant tout de définir ce que tu souhaiteras afficher et à quel endroit…

Te souhaitant bonne soirée et bon weekend !

Jérémie

PS : cadeau bonus, un système de suivi des tickets de développement, que tu verras dans le crayon en haut à droite.

Test Chronology V2.fmp12

Test Chronology V2.fmp12

Test Chronology V2.fmp12

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Wow Merci beaucoup, et d'avoir pris tout ce temps pour mon problème !

Je vais plancher sur tout cela et l'intégrer dans ma base principale :)

 

Les tickets de suivi c'est super aussi !

Je te tiens au courant et te montrerai un jour le résultat final (ça va durer, la base est grande)

Noémi

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Attention, certains des tickets, je les ai déjà traités, mais j'ai oublié de les fermer.

En revanche, le ticket indiquant que les clés étrangères (par exemple, Era_ID dans la table Period) ne devrait pas être en "référence externe" est important ! Je n'ai pas modifié car ça n'est peut-être pas ainsi sur ton fichier final, mais il serait bon de t'en assurer.

Bon courage, bon weekend !   ?

Jérémie

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Merci !

Puisqu'on en est là, j'ai une question : pourquoi est-ce que cela ne doit pas être en référence externe ? j'ai fait cela à d'autres endroits également, quand je veux lier un enregistrement à celui d'une autre table (relation 1:n) sans avoir à passer par une table externe ... du coup ce serait bien que je sache si je dois changer cela ailleurs aussi !

Bon week end également !

Noémi

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0

Prenons un exemple :

regne::id_dynastie   <->   dynastie::id

Dans cette relation, le champ regne::id_dynastie recevra par exemple 23 pour que le règne soit relié à la dynastie 23.

Autres champs dans ces tables :

regne::nom_de_la_dynastie qui irait chercher, par référence externe, la valeur de dynastie::nom

Si on en vient à corriger le nom de la dynastie, on peut ensuite rafraîchir cette donnée dans regne::nom_de_la_dynastie pour que la nouvelle orthographe y soit reportée.

En revanche, une rubrique identifiant n'est pas censée être modifiée. Même, elle ne DOIT jamais être modifiée, donc aucune raison qu'elle soit en référence externe.

Dans l'exemple :

- dans dynastie::id : le 23 ne doit jamais être modifié

- dans regne::id_dynastie : si le 23 est remplacé par un 25, ça signifie que le règne est raccroché à une autre dynastie que précédemment, mais cette modification est faite par un utilisateur, elle n'est pas une conséquence ni de l'enregistrement 23 ni du 25.

En enlevant toutes les références externes non nécessaires de tes fichiers, je ne pense pas que tu rencontres de souci. Je l'ai fait sur l'ensemble de tes liens règne <-> dynastie <-> période <-> ère sans voir aucune différence.

Partager ce message


Lien à poster
Partager sur d’autres sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invité
Répondre à cette question…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement

  • En ligne récemment   0 membre est en ligne

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...