Il n'y a pas de réflexion sur les relation (0,n 1,1 ...)
C'est juste une schéma pour poser les ET et commencer à se poser les questions (c'est un brouillon sur le coin d'une table, mais fait à l'ordi lol)
Il n'y a pas de réflexion sur les relation (0,n 1,1 ...)
C'est juste une schéma pour poser les ET et commencer à se poser les questions (c'est un brouillon sur le coin d'une table, mais fait à l'ordi lol)
Bonjour Scamphp
La langue française n'étant pas mon métier, bien que je m'y intéresse pour sa richesse et tous ses pièges qui en font un jeu passionnant, je suis allé consulter quelques sites consacrés et fort utiles pour votre exercice.
Il en ressort que l'appartenance à un groupe associée à un temps ne permet pas de déterminer la terminaison.
De plus, des verbes comme "aller", "moudre" ou "vendre", tous trois du 3ème groupe, n'ont pas du tout les mêmes terminaisons.
"aller" et "moudre" sont des verbes irréguliers dont la conjugaison est particulière.
Vous trouverez la liste des verbes irréguliers ici :
https://www.conjugaisonfrancaise.com...reguliers.html
Par ailleurs la relation ternaire que vous avez construite entre "GROUPE", "TEMPS" et "TERMINAISON" ne va pas, pour les verbes réguliers, c'est l'association "GROUPE + TEMPS" qui détermine la terminaison.
Compte tenu de ce qui précède, il me semble que le modèle adéquat serait plutôt celui-ci
VERBE 1,1 --- grouper --- 0,n GROUPE 1,n --- terminer --- 0,n TEMPS
.....└---0,n --- conjuguer ------------------------------------------┘
Avec ce modèle
- la relation "terminer" remplace votre relation "conjuguer". C'est cette relation qui sera porteuse des terminaisons pour les verbes réguliers (notamment tous ceux du premier groupe)
- La relation "conjuguer" servira pour les verbes irréguliers, ceux pour lesquels on ne peut pas appliquer les terminaisons régulières
Encore une fois, prudence, je ne suis pas grammairien, ni linguiste, ni de toute autres spécialité experte dans le domaine, mais il me semble que ce modèle est plus proche de la réalité
Sinon, vous avez bien fait de prévoir plusieurs auxiliaires possibles pour un même verbe, cf. les cas d'utilisation ici : https://www.francaisfacile.com/exerc...ncais-8451.php
Au passage, si l'on veut modéliser avec rigueur, il faut définir une entité-type "MODE" qui sera en relation avec l'ET "TEMPS", en effet le temps seul n'est pas unique, c'est le couple TEMPS+MODE qui l'est (par exemple : présent du subjonctif), et la conjugaison ou la terminaison sont bien conséquentes d'un temps dans un certain mode
Pour le coup, j'ai reproduit sans comprendre
J'essaye d'expliquer autrement, avec des exemples
- Cas le plus simple : les verbes du 1er et du 2ème groupe (verbes réguliers)
Si on connait le mode (ex : indicatif) et le temps (ex : futur simple), tous les verbes du 1er et 2ème groupe fonctionnent de la même façon, à savoir radical du verbe + terminaison commune à tous les verbes.
Je donnerai tu donneras il/elle donnera nous donnerons vous donnerez ils/elles donneront
Et aussi
Je mangerai tu mangeras il/elle mangera nous mangerons vous mangerez ils/elles mangeront
Il faut bien sur, comme vous l'avez prévu, prévoir des terminaisons différentes pour les verbes du 1er et du 2ème groupe.
- Cas plus complexes : les verbes du 3ème groupe (verbes irréguliers)
Cette méthode, que vous aviez proposée initialement, est parfaite pour les verbes réguliers. Avec juste le radical du verbe on peut appliquer la conjugaison très facilement, la terminaison ne change pas en fonction du verbe.
Malheureusement, on ne peut pas appliquer ce fonctionnement aux verbes irréguliers.
C'est pourquoi je propose, pour les verbes du 3ème groupe qui sont irréguliers, une relation "conjuguer" entre "VERBE" et "TEMPS". Pour ces verbes on ne peut pas appliquer la règle commune.
Exemples
(vendre) je vends tu vends il/elle vend nous vendons vous vendez ils/elles vendent
mais
(devoir) Je dois tu dois il doit nous devons vous devez ils doivent
Et pire encore
(aller) Je vais tu vas il va nous allons vous allez ils/elles vont
A ma connaissance, la relation "modeler" (modaliser serait plus adapté ) devrait avoir une cardinalité minimale de 1 de chaque coté : il n'existe pas de mode sans temps ni de temps sans mode
Ce que je ne comprend pas c'est ou sont stocké les terminaisons pour le 1er et 2eme groupe (pour les je, tu, el...) dans qu'elle table ? ->
Et ou sont stocké les terminaisons pour les verbes irréguliers (je, tu, il....).
Dans TEMPS -> c'est les temps
Dans GROUPE -> c'est les groupes
Si j'ai bien compris
dans TEMPS -> j'ai le temps + les terminaisons (PAS QUE LES TEMPS, MAIS TEMPS + TERMINAISONS) sans créer des ET TERMINAISONS spécifiques pour chaque temps (les terminaisons sont dans l'ET TEMPS)
et dans conjuguer, je dois rajouter les attributs Terminaisons des verbes irrégulier.
Ne faudrait-il pas utiliser l'héritage pour définir les verbes REGULIERS et IRREGULIERS
Bon je pense que CinePhil et escartefigue ont lâchés l'affaire... j'ai du les épuiser lol
J'ai effectivement un peu lâché cette affaire de dictionnaire parce que, au départ, tu disais que c'était pour toi un exercice simple pour comprendre comment modéliser.
Petit à petit, tu as complexifié ton exercice et ça commence à devenir usine à gaz !
Le dictionnaire simple du début était un bon exercice ; le dictionnaire qui se complique l'est moins. C'est aussi moins motivant parce qu'il existe déjà une foultitude de dictionnaires qui n'utilisent d'ailleurs généralement pas une base de données relationnelle. C'est donc moins intéressant pour nous de t'aider sur un truc fictif qui se complique un peu inutilement.
À ta place, toujours dans le but d'apprendre, je m'attaquerais maintenant à un cas d'aspect un peu plus concret, ou même à un cas réel.
Je te recommande aussi la lecture des tutoriels et de la FAQ Merise. Tu y trouveras sans doute pas mal de réponses à tes interrogations.
À bientôt !
Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise la suite Linux Mageïa !
Bonjour Scamphp
Je ne suis pas très disponible en ce moment, car je suis pris à d'autres taches, désolé.
Vos dernières questions sont pertinentes, mais comme précisé à plusieurs reprises dans mes réponses qui précèdent, nous nous sommes engouffrés dans des choix incertains, faute d'avoir pour interlocuteurs des gens du métier pour valider les règles de gestion.
Il est donc possible que certains choix ne soient pas opportuns.
Au sujet de l'héritage, oui, pourquoi pas : des attributs ou des relations spécifiques à tel(s) sous-type(s) peuvent le justifier
Et, j'insiste, la relation entre "TEMPS" et "MODE" devrait s'appeler "modaliser" plutôt que "modeler". Le choix des bons termes pour nommer les objets n'est pas neutre, il permet de clarifier le contenu
Quelques définitions :
modeler
modaliser
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager