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
Table Acces
Table Personnes
Table Events
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; congés; réunion," & _ "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
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