IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Looping , logiciel gratuit et libre d'utilisation de Modélisation Conceptuelle de Données version 4.1 disponible (avec Rétroconception)

Le , par Paprick

0PARTAGES

36  0 
Bonjour à tous,

La version 4.1 de Looping est maintenant disponible sur https://www.looping.fr

Voici les fonctionnalités supplémentaires apportées par cette nouvelle version :

  • Rétroconception : création d'un MCD à partir d'instructions DDL
  • Défilement horizontal des modèles avec la roulette+"Shift"
  • Multi-sélection des classes d’entités pour le choix des couleurs
  • Individualisation des couleurs de liens
  • Option d’affichage des noms d’index dans le MCD
  • Colonnes NOT NULL et UNIQUE dans fenêtres Entité et Association
  • Masquage de caractères spéciaux exclusivement conceptuels
  • Option de migration des rubriques des surtypes vers les sous-types dans les MLD
  • Génération noms logiques avec typologie au choix (Snake, Camel, Pascal, …)
  • Options de déplacement des contraintes de clés dans des ALTER TABLE en fin de DDL
  • Présentation simplifiée des CIF sans les émetteurs
  • Optimisation du Théorème K(PK) pour les multi-CIF à unicité incomplète


+ plein d'autres optimisations, astuces et petits ajustements !


Et, en préparation dans la version 4.2 :

  • Interface trilignue : anglais, français et espagnol


Par ailleurs, mon nouveau livre "Conception des bases de Données - De la modélisation conceptuelle à la génération SQL du schéma relationnel" inclut une notice d'utilisation de Looping avec de nombreux trucs et astuces pour un usage optimal du logiciel.

Je tiens à remercier les contributeurs de ce forum qui, par leurs idées et leur expertise, ont permis cette évolution majeure de
Looping.


Vous avez lu gratuitement 507 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de escartefigue
Modérateur https://www.developpez.com
Le 07/03/2025 à 21:25
Formidable !

Je ne peux malheureusement plus télécharger les nouvelles versions de Looping sur mon fixe, trop ancien (Windows 7..., plein de DLL manquantes), mais je vais le tester sur le portable (Windows 10) dès que possible.

Merci encore Paprick
0  0 
Avatar de fsmrel
Expert éminent sénior https://www.developpez.com
Le 07/03/2025 à 22:05
Grand merci, Paprick !
0  0 
Avatar de ced
Rédacteur/Modérateur https://www.developpez.com
Le 11/03/2025 à 8:34
Excellente nouvelle !
Bravo pour tout le travail accompli !
0  0 
Avatar de seabs
Membre éprouvé https://www.developpez.com
Le 13/03/2025 à 7:52
Bonjour,

Merci pour cette nouvelle version.

Bravo
0  0 
Avatar de fsmrel
Expert éminent sénior https://www.developpez.com
Le 13/03/2025 à 17:09
Salve,

J’ai un peu testé la rétroconception.

Soit le MCD suivant (repris ici, post #84) :
 
 
Et le DDL correspondant :
 
Code SQL : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
CREATE TABLE Employe(
   EmployeId INT,
   Matricule VARCHAR(8) NOT NULL,
   EmployeNom VARCHAR(50) NOT NULL,
   EmployePrenom VARCHAR(50) NOT NULL,
   CONSTRAINT Employe_PK PRIMARY KEY(EmployeId),
   CONSTRAINT Employe_AK UNIQUE(Matricule)
);
 
CREATE TABLE Voiture(
   VoitureId INT,
   Immatriculation VARCHAR(16) NOT NULL,
   CONSTRAINT Voiture_PK PRIMARY KEY(VoitureId),
   CONSTRAINT Voiture_AK UNIQUE(Immatriculation)
);
 
CREATE TABLE Chauffeur(
   EmployeId INT,
   CONSTRAINT Chauffeur_PK PRIMARY KEY(EmployeId),
   CONSTRAINT Chauffeur_Employe_FK FOREIGN KEY(EmployeId) REFERENCES Employe(EmployeId)
);
 
CREATE TABLE ChauffeurOccasionnel(
   EmployeId INT,
   CONSTRAINT ChauffeurOccasionnel_PK PRIMARY KEY(EmployeId),
   CONSTRAINT ChauffeurOccasionnel_Chauffeur_FK FOREIGN KEY(EmployeId) REFERENCES Chauffeur(EmployeId)
);
 
CREATE TABLE ChauffeurSociete(
   EmployeId INT,
   CONSTRAINT ChauffeurSociete_PK PRIMARY KEY(EmployeId),
   CONSTRAINT ChauffeurSociete_Chauffeur_FK FOREIGN KEY(EmployeId) REFERENCES Chauffeur(EmployeId)
);
 
CREATE TABLE VoitureSociete(
   VoitureId INT,
   CONSTRAINT VoitureSociete_PK PRIMARY KEY(VoitureId),
   CONSTRAINT VoitureSociete_Voiture_FK FOREIGN KEY(VoitureId) REFERENCES Voiture(VoitureId)
);
 
CREATE TABLE TypeMission(
   TypeMissionId INT,
   TypeMissionDesignation VARCHAR(50) NOT NULL,
   CONSTRAINT TypeMission_PK PRIMARY KEY(TypeMissionId)
);
 
CREATE TABLE Fonction(
   FonctionId INT,
   FonctionDesignation VARCHAR(50) NOT NULL,
   CONSTRAINT Fonction_PK PRIMARY KEY(FonctionId)
);
 
CREATE TABLE MoyenDeplacement(
   MoyenDeplacementId INT,
   MoyenDeplacementDesignation VARCHAR(50) NOT NULL,
   CONSTRAINT MoyenDeplacement_PK PRIMARY KEY(MoyenDeplacementId)
);
 
CREATE TABLE Mission(
   MissionId INT,
   MissionCode VARCHAR(8) NOT NULL,
   MissionDateDebut DATE NOT NULL,
   MissionDateFin DATE NOT NULL,
   MissionDesignation VARCHAR(50) NOT NULL,
   MoyenDeplacementId INT NOT NULL,
   TypeMissionId INT NOT NULL,
   CONSTRAINT Mission_PK PRIMARY KEY(MissionId),
   CONSTRAINT Mission_AK UNIQUE(MissionCode),
   CONSTRAINT Mission_MoyenDeplacement_FK FOREIGN KEY(MoyenDeplacementId) REFERENCES MoyenDeplacement(MoyenDeplacementId),
   CONSTRAINT Mission_TypeMission_FK FOREIGN KEY(TypeMissionId) REFERENCES TypeMission(TypeMissionId)
);
 
CREATE TABLE EmployeMission(
   MissionId INT,
   EmployeId INT,
   CONSTRAINT EmployeMission_PK PRIMARY KEY(MissionId, EmployeId),
   CONSTRAINT EmployeMission_Mission_FK FOREIGN KEY(MissionId) REFERENCES Mission(MissionId),
   CONSTRAINT EmployeMission_Employe_FK FOREIGN KEY(EmployeId) REFERENCES Employe(EmployeId)
);
 
CREATE TABLE VoiturePersonnelle(
   VoitureId INT,
   EmployeId INT NOT NULL,
   CONSTRAINT VoiturePersonnelle_PK PRIMARY KEY(VoitureId),
   CONSTRAINT VoiturePersonnelle_AK UNIQUE(EmployeId),
   CONSTRAINT VoiturePersonnelle_Voiture_FK FOREIGN KEY(VoitureId) REFERENCES Voiture(VoitureId),
   CONSTRAINT VoiturePersonnelle_ChauffeurOccasionnel_FK FOREIGN KEY(EmployeId) REFERENCES ChauffeurOccasionnel(EmployeId)
);
 
CREATE TABLE MissionAchauffeurSte(
   MissionId INT,
   VoitureId INT NOT NULL,
   EmployeId INT NOT NULL,
   CONSTRAINT MissionAchauffeurSte_PK PRIMARY KEY(MissionId),
   CONSTRAINT MissionAchauffeurSte_Mission_FK FOREIGN KEY(MissionId) REFERENCES Mission(MissionId),
   CONSTRAINT MissionAchauffeurSte_VoitureSociete_FK FOREIGN KEY(VoitureId) REFERENCES VoitureSociete(VoitureId),
   CONSTRAINT MissionAchauffeurSte_ChauffeurSociete_FK FOREIGN KEY(EmployeId) REFERENCES ChauffeurSociete(EmployeId)
);
 
CREATE TABLE MissionAchaufeurOccas(
   MissionId INT,
   VoitureId INT NOT NULL,
   CONSTRAINT MissionAchaufeurOccas_PK PRIMARY KEY(MissionId),
   CONSTRAINT MissionAchaufeurOccas_Mission_FK FOREIGN KEY(MissionId) REFERENCES Mission(MissionId),
   CONSTRAINT MissionAchaufeurOccas_VoiturePersonnelle_FK FOREIGN KEY(VoitureId) REFERENCES VoiturePersonnelle(VoitureId)
);
 
CREATE TABLE EmployeFonction(
   EmployeId INT,
   FonctionId INT,
   CONSTRAINT EmployeFonction_PK PRIMARY KEY(EmployeId, FonctionId),
   CONSTRAINT EmployeFonction_Employe_FK FOREIGN KEY(EmployeId) REFERENCES Employe(EmployeId),
   CONSTRAINT EmployeFonction_Fonction_FK FOREIGN KEY(FonctionId) REFERENCES Fonction(FonctionId)
);
 
--La date de début d'une mission ne doit pas être postérieure à sa date fin.
ALTER TABLE MISSION  
  ADD CONSTRAINT Mission_Datedebut_Avant_Datefin_Chck 
    CHECK (MissionDateDebut <= MissionDateFin) ;
 
Ça se passe bien, avec toutefois deux impedimenta
 
(1) La présence dans le code de l’instruction ALTER TABLE MISSION empêche la rétroconception : Looping produit le message « TABLE MISSION n’existe pas » !

En attendant, j’ai viré cette instruction ALTER.
 
(2) L’instruction suivante génère 0,n au lieu de 0,1 entre les classes d’entités MISSION et MissionAchaufeurOccas :
 
Code SQL : Sélectionner tout
1
2
3
4
5
6
CREATE TABLE MissionAchaufeurOccas(
   MissionId INT,
   VoitureId INT NOT NULL,
   CONSTRAINT MissionAchaufeurOccas_PK PRIMARY KEY(MissionId),
   CONSTRAINT MissionAchaufeurOccas_Mission_FK FOREIGN KEY(MissionId) REFERENCES Mission(MissionId),
   CONSTRAINT MissionAchaufeurOccas_VoiturePersonnelle_FK FOREIGN KEY(VoitureId) REFERENCES VoiturePersonnelle(VoitureId)

En aparté :
Accessoirement, les forums Looping, Schéma, Merise, DB2 et j’en passe sont ignorés dans la rubrique « Derniers messages ». Par contre, on y apprend « Comment transformer la France en démocratie » : quel rapport avec l’informatique ? Pour reprendre une expression d’André Frossard : sans doute les rapports qui existent entre la Compagnie du gaz et Léonard de Vinci...

En attendant nos chances que les visiteurs voient nos messages (je pense en particulier à l’annonce de la 4.1 de Looping) sont réduites d’autant...
0  0 
Avatar de Paprick
Membre émérite https://www.developpez.com
Le 13/03/2025 à 17:50
Bonjour François,

Avant que j'aille plus loin dans les recherches des impedimenta, il faudrait que tu vérifies ton MCD et ton DDL.
En effet, ils ne correspondent pas... Par exemple, les tables "Fonction", "EmployerFonction" et "MoyenDeplacement" du DDL ne sont pas présentes dans le MCD que tu as affiché.

Merci de vérifier afin que je puisse rechercher efficacement la nature du problème.

0  0 
Avatar de Paprick
Membre émérite https://www.developpez.com
Le 13/03/2025 à 17:59
Pour le ALTER, il faut juste que tu enlèves les blancs qui sont derrière le nom de la table MISSION !
Je vais bien sûr enlever cette exigence !
0  0 
Avatar de fsmrel
Expert éminent sénior https://www.developpez.com
Le 13/03/2025 à 18:14
D’accord Patrick,

Carramba ! de fait, j’ai plusieurs images du MCD et je n’ai pas choisi la bonne.

Voici celle qui devrait correspondre au DDL :

0  0