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
|
DROP TABLE IF EXISTS `Acces`, `StatApplication`, `BaseAssoc`, `VersionApplication`, `BaseDonnee`, `Poste`, `Matrice`, `Application`, `Utilisateur`|
CREATE TABLE IF NOT EXISTS `Application` (
`numApplication` SMALLINT(5) UNSIGNED AUTO_INCREMENT COMMENT 'Identifiant d''une application dans la base de donnée.',
`nomApplication` VARCHAR(255) NOT NULL COMMENT 'Nom d''une application.',
PRIMARY KEY (`numApplication`),
UNIQUE INDEX (`nomApplication`)
) COMMENT 'Table contenant toutes les application (sans leurs version).' ENGINE=InnoDB DEFAULT CHARSET=utf8|
CREATE TABLE IF NOT EXISTS `VersionApplication` (
`numApplication` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Numéro d''une application dans la base de donnée.',
`versionApplication` VARCHAR(255) NOT NULL COMMENT 'Version d''une application.',
`tailleApplication` BIGINT NOT NULL COMMENT 'Taille d''une application.',
`nbUtilisateur` INT(10) UNSIGNED DEFAULT 0 COMMENT 'Nombre d''utilisateurs d''une version d''aplication.',
PRIMARY KEY (`numApplication`, `versionApplication`),
INDEX (`numApplication`),
FOREIGN KEY (`numApplication`) REFERENCES `Application`(`numApplication`) ON UPDATE CASCADE ON DELETE CASCADE,
INDEX (`versionApplication`(255))
) COMMENT 'Table contenant la corespondance Application/VersionApplication ainsi que la taille d''une application.' ENGINE=InnoDB DEFAULT CHARSET=utf8|
CREATE TABLE IF NOT EXISTS `StatApplication` (
`numApplication` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Identifiant d''une application dans la base de donnée.',
`versionApplication` VARCHAR(255) NOT NULL COMMENT 'Version d''une application.',
`date` DATE NOT NULL COMMENT 'Date de statistics.',
`nbAcces` INT(10) UNSIGNED COMMENT 'Nombre d''accès total pour une version d''application à une date donnée.',
PRIMARY KEY (`numApplication`, `versionApplication`, `date`),
INDEX (`numApplication`),
FOREIGN KEY (`numApplication`) REFERENCES `Application`(`numApplication`) ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (`versionApplication`) REFERENCES `VersionApplication`(`versionApplication`)
) COMMENT 'Table contenant les statistics d''accès pour les applications.' ENGINE=InnoDB DEFAULT CHARSET=utf8|
CREATE TABLE IF NOT EXISTS `BaseDonnee` (
`numBase` INT(10) UNSIGNED AUTO_INCREMENT COMMENT 'Identifiant d''une base de donnée dans la base de donnée.',
`pathBase` VARCHAR(255) DEFAULT NULL COMMENT 'Chemin d''une base de donnée.',
`tailleBase` BIGINT DEFAULT NULL COMMENT 'Taille d''une base de donnée.',
`uniteLogique` VARCHAR(255) DEFAULT NULL COMMENT 'Unité logique d''une base de donnée.',
PRIMARY KEY (`numBase`)
) COMMENT 'Table contenant les multiples bases de données utilisées par les différentes applications.' ENGINE=InnoDB DEFAULT CHARSET=utf8|
CREATE TABLE IF NOT EXISTS `BaseAssoc` (
`numApplication` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Identifiant d''une application dans la base de donnée.',
`numBaseAssoc` INT(10) UNSIGNED NOT NULL COMMENT 'Identifiant d''une base de donnée dans la base de donnée.',
PRIMARY KEY (`numApplication`,`numBaseAssoc`),
INDEX (`numApplication`),
FOREIGN KEY (`numApplication`) REFERENCES `Application`(`numApplication`) ON UPDATE CASCADE ON DELETE CASCADE,
INDEX (`numBaseAssoc`),
FOREIGN KEY (`numBaseAssoc`) REFERENCES `BaseDonnee`(`numBase`) ON UPDATE CASCADE ON DELETE CASCADE
) COMMENT 'Table contenant la correspondance Application/BaseDonnee.' ENGINE=InnoDB DEFAULT CHARSET=utf8|
CREATE TABLE IF NOT EXISTS `matrice` (
`numMatrice` SMALLINT(5) UNSIGNED AUTO_INCREMENT COMMENT 'Identifiant d''une matrice dans la base de donnée.',
`socleTechnique` VARCHAR(255) NOT NULL COMMENT 'Socle technique d''une matrice.',
PRIMARY KEY (`numMatrice`),
UNIQUE INDEX (`socleTechnique`)
) COMMENT 'Table contenant les différentes matrices' ENGINE=InnoDB DEFAULT CHARSET=utf8|
CREATE TABLE IF NOT EXISTS `poste` (
`numPoste` INT(10) UNSIGNED AUTO_INCREMENT COMMENT 'Identifiant d''un poste dans la base de donnée.',
`ip` VARCHAR(15) NOT NULL COMMENT 'Adresse IP d''un poste.',
`numMatrice` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Numéro de la matrice d''un poste.',
PRIMARY KEY (`numPoste`),
INDEX (`numMatrice`),
FOREIGN KEY (`numMatrice`) REFERENCES `Matrice`(`numMatrice`) ON UPDATE CASCADE ON DELETE CASCADE
) COMMENT 'Table contenant les informations sur les différents postes.' ENGINE=InnoDB DEFAULT CHARSET=utf8|
CREATE TABLE IF NOT EXISTS `Utilisateur` (
`numUtilisateur` INT(10) UNSIGNED AUTO_INCREMENT COMMENT 'Identifiant d''un utilisateur dans la base de donnée.',
`login` VARCHAR(255) NOT NULL COMMENT 'Login d''un utilisateur.',
PRIMARY KEY (`numUtilisateur`),
UNIQUE INDEX (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8|
CREATE TABLE IF NOT EXISTS `acces` (
`numApplication` SMALLINT(5) UNSIGNED NOT NULL COMMENT 'Identifiant de l''application ayant effectué un accès.',
`versionApplication` VARCHAR(255) NOT NULL COMMENT 'Version de l''aplication ayant effectué un accès.',
`numUtilisateur` int(10) UNSIGNED NOT NULL COMMENT 'Identifiant de l''utilisateur de l''application ayant effectuer un accès.',
`numPoste` INT(10) UNSIGNED NOT NULL COMMENT 'Identifiant du poste où l''application est utilisé.',
`date` DATETIME NOT NULL COMMENT 'Date d''un accès.',
PRIMARY KEY (`numApplication`,`versionApplication`,`numUtilisateur`,`numPoste`,`date`),
INDEX (`numApplication`),
FOREIGN KEY (`numApplication`) REFERENCES `Application`(`numApplication`) ON UPDATE CASCADE ON DELETE CASCADE,
FOREIGN KEY (`versionApplication`) REFERENCES `VersionApplication`(`versionApplication`) ON UPDATE CASCADE ON DELETE CASCADE,
INDEX (`numUtilisateur`),
FOREIGN KEY (`numUtilisateur`) REFERENCES `Utilisateur`(`numUtilisateur`) ON UPDATE CASCADE ON DELETE CASCADE,
INDEX (`numPoste`),
FOREIGN KEY (`numPoste`) REFERENCES `Poste`(`numPoste`) ON UPDATE CASCADE ON DELETE CASCADE
) COMMENT 'Table contenant tous les accès effectué par les différentes applications.' ENGINE=InnoDB DEFAULT CHARSET=utf8| |
Partager