MCD 3ème version

Aide à la conception


une Personne : 
- appartient à 1 ou plusieurs service(s)
- appartient à 1 ou plusieurs agence(s)
- possède 1 calendrier

un Calendrier :
- possède plusieurs évènements
- appartient à une personne

un Evènement :
- possède 1 coordonnée
- possède 1 ou plusieurs personne(s)

Une Agence :
- possède 1 ou plusieurs service(s)
- possède 1 ou plusieurs personne(s)
- possède 1 coordonnée

Une Coordonnée :
- possède 0 ou plusieurs téléphone(s)
- possède 1 adresse
- possède 0 ou plusieurs mail(s)

Un numéro de tel :
- appartient à 1 coordonnée

Um mail :
- appartient à 1 coordonnée

Une adresse :
- appartient à 1 coordonnée

Un Service :
- possède 1 responsable
- possède 1 coordonnée
- possède plusieurs personnes

Graphique du MCD


Graphique du MLD


Tables créées sur phpmyadmin


Table Acces

Table Personnes

Table Events

Requetes SQL


Sub Create_Tables()

DoCmd.RunSQL "CREATE TABLE agence(" & _
   "idAgence INT," & _
   "nom VARCHAR(50)," & _
   "idCoordonnees VARCHAR(50)," & _
   "responsable VARCHAR(50)," & _
   "PRIMARY KEY(idAgence)" & _
");"   

DoCmd.RunSQL "CREATE TABLE services(" & _
   "idService BYTE," & _
   "nom VARCHAR(50)," & _
   "responsable VARCHAR(50)," & _
   "PRIMARY KEY(idService)" & _
");"   

DoCmd.RunSQL "CREATE TABLE acces(" & _
   "idAcces INT," & _
   "lire LOGICAL," & _
   "creer LOGICAL," & _
   "ajouter LOGICAL," & _
   "supprimer LOGICAL," & _
   "nom VARCHAR(50)," & _
   "PRIMARY KEY(idAcces)" & _
");"   

DoCmd.RunSQL "CREATE TABLE Personnes(" & _
   "idPersonne BYTE," & _
   "nom VARCHAR(50)," & _
   "prenom VARCHAR(50)," & _
   "idCoordonnees VARCHAR(50)," & _
   "idAcces INT NOT NULL," & _
   "PRIMARY KEY(idPersonne)," & _
   "FOREIGN KEY(idAcces) REFERENCES acces(idAcces)" & _
");"   

DoCmd.RunSQL "CREATE TABLE coordonnees(" & _
   "idCoordonnee BYTE," & _
   "idTel VARCHAR(50)," & _
   "idMail VARCHAR(50)," & _
   "idAdresse VARCHAR(50)," & _
   "idAgence INT NOT NULL," & _
   "idPersonne BYTE NOT NULL," & _
   "PRIMARY KEY(idCoordonnee)," & _
   "FOREIGN KEY(idAgence) REFERENCES agence(idAgence)," & _
   "FOREIGN KEY(idPersonne) REFERENCES Personnes(idPersonne)" & _
");"   

DoCmd.RunSQL "CREATE TABLE tel(" & _
   "idTel BYTE," & _
   "numero VARCHAR(50)," & _
   "proPerso VARCHAR(50)," & _
   "mobilFix VARCHAR(50)," & _
   "idCoordonnee BYTE NOT NULL," & _
   "PRIMARY KEY(idTel)," & _
   "FOREIGN KEY(idCoordonnee) REFERENCES coordonnees(idCoordonnee)" & _
");"   

DoCmd.RunSQL "CREATE TABLE mail(" & _
   "idMail BYTE," & _
   "proPerso VARCHAR(50)," & _
   "email VARCHAR(50)," & _
   "idCoordonnee BYTE NOT NULL," & _
   "PRIMARY KEY(idMail)," & _
   "FOREIGN KEY(idCoordonnee) REFERENCES coordonnees(idCoordonnee)" & _
");"   

DoCmd.RunSQL "CREATE TABLE events(" & _
   "idEvent BYTE," & _
   "startEvent DATETIME," & _
   "endEvent DATETIME," & _
   "description VARCHAR(50)," & _
   "name VARCHAR(20)," & _
   "type VARCHAR(50) COLLATE travail; congs; runion," & _
   "invites VARCHAR(50)," & _
   "idCoordonnee BYTE NOT NULL," & _
   "PRIMARY KEY(idEvent)," & _
   "FOREIGN KEY(idCoordonnee) REFERENCES coordonnees(idCoordonnee)" & _
");"   

DoCmd.RunSQL "CREATE TABLE adresse(" & _
   "idAdresse VARCHAR(50)," & _
   "nom VARCHAR(50)," & _
   "description VARCHAR(50)," & _
   "norue BYTE," & _
   "rue VARCHAR(50)," & _
   "batiment VARCHAR(50)," & _
   "residence VARCHAR(50)," & _
   "lieudit VARCHAR(50)," & _
   "codepostal BYTE," & _
   "ville VARCHAR(50)," & _
   "pays VARCHAR(50)," & _
   "idCoordonnee BYTE NOT NULL," & _
   "PRIMARY KEY(idAdresse)," & _
   "FOREIGN KEY(idCoordonnee) REFERENCES coordonnees(idCoordonnee)" & _
");"   

DoCmd.RunSQL "CREATE TABLE possedePersonne(" & _
   "idPersonne BYTE," & _
   "idAgence INT," & _
   "PRIMARY KEY(idPersonne, idAgence)," & _
   "FOREIGN KEY(idPersonne) REFERENCES Personnes(idPersonne)," & _
   "FOREIGN KEY(idAgence) REFERENCES agence(idAgence)" & _
");"   

DoCmd.RunSQL "CREATE TABLE possedeService(" & _
   "idAgence INT," & _
   "idService BYTE," & _
   "PRIMARY KEY(idAgence, idService)," & _
   "FOREIGN KEY(idAgence) REFERENCES agence(idAgence)," & _
   "FOREIGN KEY(idService) REFERENCES services(idService)" & _
");"   

DoCmd.RunSQL "CREATE TABLE appartientService(" & _
   "idPersonne BYTE," & _
   "idService BYTE," & _
   "PRIMARY KEY(idPersonne, idService)," & _
   "FOREIGN KEY(idPersonne) REFERENCES Personnes(idPersonne)," & _
   "FOREIGN KEY(idService) REFERENCES services(idService)" & _
");"   

DoCmd.RunSQL "CREATE TABLE servicePossedeCoordonnee(" & _
   "idCoordonnee BYTE," & _
   "idService BYTE," & _
   "PRIMARY KEY(idCoordonnee, idService)," & _
   "FOREIGN KEY(idCoordonnee) REFERENCES coordonnees(idCoordonnee)," & _
   "FOREIGN KEY(idService) REFERENCES services(idService)" & _
");"   

DoCmd.RunSQL "CREATE TABLE possedeEvents(" & _
   "idPersonne BYTE," & _
   "idEvent BYTE," & _
   "PRIMARY KEY(idPersonne, idEvent)," & _
   "FOREIGN KEY(idPersonne) REFERENCES Personnes(idPersonne)," & _
   "FOREIGN KEY(idEvent) REFERENCES events(idEvent)" & _
");"   

End Sub

MCD 2ème version

Graphique du MLD


MCD 1ère version

Aide à la conception


une Personne : 
- appartient à 1 ou plusieurs service(s)
- appartient à 1 ou plusieurs agence(s)
- possède 1 calendrier

un Calendrier :
- possède plusieurs évènements
- appartient à une personne

un Evènement :
- possède 1 coordonnée
- possède 1 ou plusieurs personne(s)

Une Agence :
- possède 1 ou plusieurs service(s)
- possède 1 ou plusieurs personne(s)
- possède 1 coordonnée

Une Coordonnée :
- possède 0 ou plusieurs téléphone(s)
- possède 1 adresse
- possède 0 ou plusieurs mail(s)

Un numéro de tel :
- appartient à 1 coordonnée

Um mail :
- appartient à 1 coordonnée

Une adresse :
- appartient à 1 coordonnée

Un Service :
- possède 1 responsable
- possède 1 coordonnée
- possède plusieurs personnes

Graphique du MCD


Graphique du MLD