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