Home » Projets » MyBo

Environnement

Java 1.6
La machie virtuelle pour cette version peut être téléchargé sur le site officiel de java (Windows et Linux) ou ici (Mac OS X).

Description

Pour la persistance dans la base de données il faut 6 tables:

  • une table pour les auteurs

    CREATE TABLE `authors` (`id` int(11) NOT NULL auto_increment, `name` varchar(100) NOT NULL, `givenName` varchar(100) NOT NULL, PRIMARY KEY  (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  • une table pour les livres

    CREATE TABLE `books` ( `isbn` varchar(20) NOT NULL, `title` varchar(100) NOT NULL, `publisherId` int(11) NOT NULL, `languageId` int(11) NOT NULL, `categoryId` int(11) NOT NULL, `isRead` tinyint(1) NOT NULL default '0', PRIMARY KEY  (`isbn`), KEY `languageId` (`languageId`), KEY `editorId` (`publisherId`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • une table pour les catégories

    CREATE TABLE `categories` ( `id` int(11) NOT NULL auto_increment, `code` varchar(10) NOT NULL, `label` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  • une table pour les langues

    CREATE TABLE `languages` ( `id` int(11) NOT NULL auto_increment, `code` varchar(3) NOT NULL, `label` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ; INSERT INTO `languages` VALUES (1, 'ES', 'Spanish'); INSERT INTO `languages` VALUES (2, 'FR', 'French'); INSERT INTO `languages` VALUES (3, 'DE', 'German'); INSERT INTO `languages` VALUES (4, 'GB', 'English'); INSERT INTO `languages` VALUES (5, 'LU', 'Luxembourgish');

  • une table pour les éditeurs

    CREATE TABLE `publishers` ( `id` int(11) NOT NULL auto_increment, `name` varchar(100) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

  • une table lien auteurs / livres

    CREATE TABLE `authors_books` ( `authorId` int(11) NOT NULL, `bookIsbn` varchar(20) NOT NULL, PRIMARY KEY (`authorId`,`bookIsbn`), KEY `bookIsbn` (`bookIsbn`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Sur ces tables il y a les contraintes suivantes:

  • Contraintes pour la table auteurs / livres

    ALTER TABLE `authors_books` ADD CONSTRAINT `authors_books_ibfk_2` FOREIGN KEY (`bookIsbn`) REFERENCES `books` (`isbn`), ADD CONSTRAINT `authors_books_ibfk_1` FOREIGN KEY (`authorId`) REFERENCES `authors` (`id`);

  • Contraintes pour la table livres

    ALTER TABLE `books` ADD CONSTRAINT `books_ibfk_2` FOREIGN KEY (`languageId`) REFERENCES `languages` (`id`), ADD CONSTRAINT `books_ibfk_1` FOREIGN KEY (`publisherId`) REFERENCES `publishers` (`id`);

Le fichier SQL de création peut être téléchargé ici.

Modèles

  • Modèle conceptuel selon Merise

    Modele conceptuel

  • Modèle logique selon Merise

    Modele logique

  • Diagramme UML

    Modele UML

Installation

Documentation

Téléchargement