[BASE DE DONNEES MULTIMEDIA]
|
|
- Didier Larivière
- il y a 8 ans
- Total affichages :
Transcription
1 2011 RAPPORT DE BASE DE DONNEES MULTIMEDIA M me Nadine Cullot David MARTINS Sylvain LAMBERTVELLER [BASE DE DONNEES MULTIMEDIA] Ce document constitue notre rapport pour l unité d enseignement «BDM». Il synthétise tout le travail effectué lors de notre projet. Aussi bien au niveau technique qu analytique.
2 Table des matières I - Introduction... 2 Spécificité des bases de données multimédia Répartition des taches... 2 II - Partie analytique... 3 Caractéristiques générales de l application Notre base de données Notre schéma navigationnel Les différents types... 5 Notre base de données finale... 7 III Partie conception de l application... 7 Gestion de l affichage des différents modules... 8 Partie Administration... 9 Administration des genres... 9 Administration des photos Partie Utilisateur Recherche de film Recherche textuelle de photos Recherche d acteur et de genre Comparaison de deux images Similarité d image Intermedia Text Thesaurus IV Conclusion Améliorations Et si on recommençait? Conclusion générale ANNEXES ANNEXE A RAPPORT DE BASE DE DONNEES MULTIMEDIA I - Introduction 1
3 I - Introduction Ce document constitue notre rapport pour l unité d enseignement «Base de données multimédia». Celui-ci décrira, de façon précise, quelles ont été les demandes spécifiques de ce projet, comment nous sommes nous organisés, comment notre travail s est déroulé et enfin, quels ont été les problèmes rencontrés. A titre informatif, nous avons développé notre application sous Windows XP à l aide de l IDE (Environnement de développement intégré) NetBeans. Nous travaillons avec une base de données Oracle 10g Le but de ce projet était de concevoir une application en JAVA qui allait nous permettre de manipuler notre base de données multimédia, celle-ci devait permettre de rechercher des images dans notre base. Quant au choix de la base de données, celui-ci nous appartenait totalement. Spécificité des bases de données multimédia. Les bases de données relationnelles sur lesquelles nous avons pu travailler jusqu à présent nous permettait de stocker uniquement des chaînes de caractères. Au vue de l évolution des technologies (Capacité de stockage, bande passante, puissance des machines, Sites internet de plus en plus complets,...) le besoin de pouvoir stocker, organiser et manipuler des données multimédia (données sonores, vidéos, images,...) ne cessait de croitre, c est ainsi que les bases de données multimédia sont nées. Les bases de données multimédia s appuient le plus souvent sur des architectures de base de données existantes. Les plus utilisées étant le modèle objet et le modèle relationnel. Répartition des tâches Etant donné que nous étions deux à travailler sur ce projet, il a fallu déterminer exactement le rôle de chacun. Concernant l élaboration de la base de données, nous avons décidé de la concevoir ensemble pour qu on puisse chacun s exprimer sur le sujet. La conception de la base de données comprenait la création du diagramme de classe, création du schéma navigationnel, création des types, création de la base de données puis enfin création des classes JAVA. Concernant la partie programmation, nous avons décidé de repartir les taches de la façon suivant : David s occuperait de la partie administration, et Sylvain de la partie utilisateur. Bien évidemment, si l un d entre nous finissait sa partie avant l autre, celui-ci aurait aidé son camarade. RAPPORT DE BASE DE DONNEES MULTIMEDIA I - Introduction 2
4 II - Partie analytique Caractéristiques générales de l application. Notre application devait répondre à des critères assez précis. Elle devait être développée à l aide du langage de programmation JAVA et devait implémenter les fonctionnalités suivantes : - Gérer les informations descriptives et contextuelles d images dans notre base de données. - Avoir des méta-données sur les images disponibles (taille de l image, format,...) - Informations sur le contenu de notre image (par exemple, notre image représente une voiture,...) - Concevoir toute une partie administration qui permet l ajout, l édition et la suppression de contenu dans notre base. - Une partie dédiée à l utilisateur qui lui donnera le moyen d interroger notre base via différents critères (format de l image, comparaison via une image modèles tout en ayant la possibilité de pondérer les critères de comparaison (couleur, forme,...), contenu de l image,...) Gestion des objets multimédia : Gestion des objets multimédia Comparaison d'image Recherche textuelle ORDImage ORDAudio ORDVideo ORDImageSignature Module Intermédia Text Thesaurus de termes Notre base de données. Dans note cas, nous avons choisi de réaliser une base de données assez simple pour ne pas s encombrer avec tout un tas de relations. En effet le but du projet était de manipuler des objets multimédia, non pas de réaliser une base de données complexe. Nous avons quand même réussi à faire une base assez cohérente. Voici le diagramme UML de notre base de données, il comportera 4 classes : RAPPORT DE BASE DE DONNEES MULTIMEDIA II - Partie analytique 3
5 La plupart des méthodes étant assez explicites, nous n allons pas les décrire, cependant, quelquesunes peuvent paraitre un peu ambiguës. - getwithrestriction : retourne un ensemble d objet répondant à des critères passés en paramètres de la méthode - compareimages : Compare deux images, retourne un tableau de chaîne de caractère qui représente l évaluation du score. - intermediatext : retourne un ensemble d objet photo répondant aux critères de recherche. - listethesaurus : retourne un ensemble de photo en fonction de critères définis préalablement. - chargement : charge l image dans la base de données. - similaritéphoto : retourne un ensemble de photos qui sont similaire à une image modèle. On constate que la grande majorité de ces méthodes sont uniquement présentes dans la classe Photo. Cela s explique tout simplement par le fait que c est dans cette classe que nous allons gérer nos objets multimédia. Nous avons implémenté toutes ces classes en JAVA. Notre schéma navigationnel. RAPPORT DE BASE DE DONNEES MULTIMEDIA II - Partie analytique 4
6 Lors de la réalisation d un schéma navigationnel, le nombre de possibilité pour réaliser celuici est assez important. Il n y a pas de solution unique (Comme pour un diagramme de classe d ailleurs) et il faut adapter la solution retenue en fonction de nos besoins. Dans notre cas, nous avons mis en œuvre tous ce que nous avons vus en cours (tables imbriquées, pointeurs,...). Voici la solution retenue : Les différents types RAPPORT DE BASE DE DONNEES MULTIMEDIA II - Partie analytique 5
7 Suite à l élaboration de notre schéma navigationnel, nous avons créé les types suivants. Nous listerons uniquement les différents types crées, mais si vous souhaitez consulter le code complet des types, nous vous invitons à aller consulter notre annexe «ANNEXE A» Types représentant des collections (collections de références) photos_type films_type Types destinés a la création des tables genre_type film_type acteur_type photo_type filmacteur_type (pour la relation entre film et acteur) types références (pour les collections) photo_ref_type film_ref_type Nous avons également implémenté des méthodes dans les types crées. Les types concernés sont genre_type et acteur_type. Nous allons prendre l exemple de genre_type. Ce type contient les méthodes : - updategenre(nomg IN VARCHAR2) ; Pour mettre à jour le nom du genre - suppgenre() ; Supprimer le genre de la BD En revanche, pour pouvoir appeler ces méthodes, nous devons passer par des procédures PLSQL. Avant de passer à autre chose, intéressons-nous au type photo_type. C est dans ce type que nous avons nos objets multimédias. Voici sa description : photo_type numphoto : integer nom : varchar2(100) taille : integer format : varchar2(10) description : varchar2(200) mots_cles : varchar2(200) signature : ORDSYS.ORDSignature image : ORDSYS.ORDImage acteurp ref acteur_type filmp ref film_type Focalisons notre attention sur les attributs signature et image. Si vous n avez fait que de la base de données relationnelle ou objet, vous n avez jamais dû voir ce type d attribut. Effectivement, ces types ne sont utilisés que dans les bases de données multimédia. Un attribut ORDSignature va nous servir principalement pour la comparaison d images. La signature d une image peut être assimilée à l ADN humain. La signature contient toutes les RAPPORT DE BASE DE DONNEES MULTIMEDIA II - Partie analytique 6
8 informations propre à l image comme sa forme, sa texture, sa couleur,... selon chaque zone de l image. Un attribut ORDImage est ce qui contient l image. Cela sert à stocker notre image dans la base de données. Notre base de données finale Apres la création des types, des méthodes et des procédures PLSQL, nous avons pu finalement créer notre base de données. Voici la liste des tables présentes : III Partie conception de l application RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 7
9 Gestion de l affichage des différents modules Etant donné que notre application comporte plusieurs modules, nous ne pouvions pas afficher tous ces modules dans une seule fenêtre. Pour la gestion des fenêtres (composants graphique sous forme de JPanel) nous avons utilisé un CardLayout. Un CardLayout permet d avoir un ensemble de composant graphique tel que l un d entre eux soit seulement visible à un moment donné. A l initialisation de l application, nous créons notre CardLayout vide. Nous créons ensuite nos composants graphiques, à savoir nos JPanel. Une fois ceux-là créés nous les ajoutons à notre CardLayout. Pour afficher une composant graphique, nous utilisons la méthode show(component) ; Pour le switch entre les différents Jpanel cards = new JPanel(); cards.setlayout(new CardLayout()); cards.add(mainpanel,"mainpanel"); mainpanel cards.add(new Jpnl_GenreAdmin(),"AdminGenrePanel"); cards.add(new Jpnl_FilmAdmin(),"AdminFilmPanel"); cards.add(new Jpnl_FilmacteurAdmin(),"AdminFilmacteurPanel"); cards.add(new Jpnl_Acteur_Admin(),"AdminActeurPanel"); cards.add(new Jpnl_PhotoAdmin(),"AdminPhotoPanel"); cards.add(new Crechercheacteur(),"RechercheacteurPanel"); cards.add(new Crecherchefilm(),"RecherchefilmPanel"); cards.add(new Jpnl_Comparaison_photo(),"ComparaisonphotoPanel"); cards.add(new Jpnl_similarité_photo(),"SimilaritePhotoPanel"); cards.add(new Jpnl_intermediaText(),"intermediaTextPanel"); cards.add(new Crecherchephoto(),"RecherchephotoPanel"); cards.add(new Jpnl_Thesaurus(),"ThesaurusPanel"); this.getframe().add(cards, BorderLayout.CENTER); Pour changer de fenêtre, nous avons à notre disposition un menu qui nous propose les différents modules accessibles. A chaque clique sur un item du menu, nous appellerons donc notre méthode show. Voici le code lors du clique sur le menu Administration > Film private void jmenuitemfilmactionperformed(java.awt.event.actionevent evt) { Jpnl_FilmAdmin j = ((Jpnl_FilmAdmin)cards.getComponent(2)); j.updatepanel(); ((CardLayout)cards.getLayout()).show(this.cards,"AdminFilmPanel"); A ce stade de l application, nous avons un système de Switch entre nos différents JPanel. Notons que c est grâce à ce système que nous avons pu travailler chacun de notre coté sans nous marcher sur les pieds. RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 8
10 Partie Administration La partie administration allait nous permettre de gérer notre base de données. Nous pouvons donc opérer sur celle ci en ajoutant, modifiant ou supprimant des t-uples. La partie administration se voit doté de 4 modules : - Administration des genres - Administration des Films - Administration des Acteurs - Administration des Photos Pour ne pas polluer ce rapport avec des pages inutiles, nous traiterons uniquement le module d administration de photo et de genre. Pourquoi? Et bien parce que les modules pour le genre, films et acteurs étant très étroitement similaires, l intérêt d expliquer le détail de chacun est très limité. En revanche, le module photo est peut-être celui le plus intéressant dans la mesure où c est dans ce module que nous allons enregistrer une photo dans la base de données. Administration des genres Le module d administration des genres comporte un tableau (JTable) qui contient la liste des genres enregistrés dans notre base de données. A tout instant, l utilisateur peut cliquer sur l une des lignes de ce tableau, soit pour modifier son contenu, soit pour afficher ses informations ou encore pour supprimer celui-ci. De plus, le JPanel d administration des genres comporte des champs textes permettant l ajout et la modification de genre (Pour la modification, il faut tout d abord sélectionner un genre dans le tableau). Initialisation du JPanel Lorsque que l utilisateur souhaite afficher ce JPanel (qui fait donc partie du CardLayout), celui ci va initialiser ses différents attributs. Cela consiste à : - Mettre le tableau à vide. - Mettre tous les champs textes à vide Pour l initialisation du tableau, c est lors du clique sur l item du menu que celui ci sera mis a jour. public Jpnl_GenreAdmin() Voila le code permettant { de réaliser ces actions : initcomponents(); JPanel_ajoutModif.setBorder(BorderFactory.createTitledBorder("Modification")); jpanelajoutgenre.setborder(borderfactory.createtitledborder("ajouter")); entetetblgenre = new String[2]; entetetblgenre[0] = "Numéro"; entetetblgenre[1] = "Nom"; listeg RAPPORT = null; DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 9 lbl_info.settext("");
11 Et la méthode qui permet de mettre à jour notre tableau public void updatepanel(){ Récupération de tous les genres try{ listeg = Cgenre.getAll(); catch(sqlexception e){ System.out.print(e.getMessage()); return; On vide le tableau dtm_listegenre = new DefaultTableModel(null,enteteTblGenre); tbladmin_genre.setmodel(dtm_listegenre); for(cgenre g: listeg){ String[] values = new String[2]; values[0] = ""+g.numero; values[1] = g.nom; dtm_listegenre.addrow(values); btn_modifgenre.setenabled(false); btn_suppression.setenabled(false); lbl_numgenre.settext("- - -"); txt_nomgenre.settext(""); Ajout d un genre Pour ajouter un genre dans notre BDD, nous procédons de la manière suivante : - Récupération des informations saisies par l utilisateur - Instanciation d un nouvel objet Genre (Classe JAVA qui permet d interagir avec notre private void BDD) btn_ajoutergenreactionperformed(java.awt.event.actionevent evt) { if(txt_ajoutg.gettext().equals("")){ - Appel de la méthode enregistrer(). lbl_info.settext("veuillez renseigner le nom du genre"); else{- Mise à jour du tableau en ajoutant l objet enregistrer directement a la fin. Cgenre g = new Cgenre(0,txt_ajoutG.getText()); try{ enregistrement de notre Genre g.enregistrer(); mise a jour du tableau String[] values = new String[2]; values[0] = ""+g.numero; values[1] = g.nom; RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 10 dtm_listegenre.addrow(values); txt_ajoutg.settext(""); lbl_info.settext("ajout confirmé");
12 Intéressons nous maintenant au code de la méthode enregistrer() de notre classe JAVA Genre. Cette méthode va manipuler la base de données via un objet Connection. Pour préparer la requête à l envoi, on instancie un objet PreparedStatement. Pour l envoyer, nous utiliserons la méthode executeupdate(). Cette dernière méthode renvoie un booléen qui retourne true si tout s est bien passé. La requete envoyée est une banale requete INSERT INTO permet d'enregistrer un genre public boolean enregistrer() throws SQLException{ boolean resultat = false; Connection cnx = BDM_projetView.connect; this.numero = this.getnewid(); String newgenre="insert into genre values("+this.numero+",'"+nom+"',films_type())"; PreparedStatement st = cnx.preparestatement(newgenre); if(st.executeupdate()!= 1){ resultat=false; else{ resultat=true; System.out.println("ajout du film confirmée"); return resultat; Modification d un genre La procédure est un peu différente, car il faut que l utilisateur choisisse le genre à modifier dans le tableau. Une fois cliqué sur une ligne du tableau, on met à jour les champs texte, l utilisateur pourra dès lors modifier les champs texte et cliquer sur modifier quand il le souhaite. Instanciation de l objet lors du clique sur une ligne du tableau : private void tbladmin_genremouseclicked(java.awt.event.mouseevent evt) { on active la modification et la suppression btn_modifgenre.setenabled(true); btn_suppression.setenabled(true); RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 11 lbl_info.settext(""); int index = tbladmin_genre.getselectedrow();
13 Il ne nous reste plus qu a modifier l enregistrement dans la base de données. Tout cela se fait via le clique du bouton modifier. private void btn_modifgenreactionperformed(java.awt.event.actionevent evt) { int selection=tbladmin_genre.getselectedrow(); int numero=integer.parseint(tbladmin_genre.getvalueat(selection, 0).toString()); if(txt_nomgenre.gettext().equals("")){ lbl_info.settext("veuillez renseigner le nom du genre"); else{ Cgenre gmodf = new Cgenre(numero,txt_nomGenre.getText()); try{ gmodf.modifier(); updatepanel(); lbl_info.settext("modification confirmée"); catch(exception e){ e.printstacktrace(); lbl_info.settext("erreur lors de la modification"); Nous pouvons voir que nous utilisons une méthode modifier de la classe Genre. Voici sa définition : utilisation de la procedure pour modifier le genre public boolean modifier() throws SQLException{ boolean resultat = false; Connection cnx = BDM_projetView.connect; CallableStatement cstmt = cnx.preparecall("{call majgenre(?,?)"); cstmt.setint(1, this.numero); cstmt.setstring(2, this.nom); cstmt.execute(); System.out.println("modification faite"); return resultat; Si nous regardons de plus près cette méthode, nous remarquons cette ligne : CallableStatement cstmt = cnx.preparecall("{call majgenre(?,?)"); RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 12
14 En fait, cette méthode JAVA va appeler une procédure PLSQL. Cette méthode PLSQL va à son tour appeler une méthode déclarée dans notre type SQL : genre_type. Voici la procédure PLSQL : create or replace procedure majgenre(nom in varchar2) is genr genre_type; begin select value(g) into genr from genre g where g.numgenre=self.num; genr.updategenre(nom); END; Et le corps de la méthode updategenre : CREATE OR REPLACE TYPE BODY genre_type AS INSTANTIABLE FINAL MEMBER PROCEDURE updategenre(nomg in varchar2) IS begin update genre set nom=nomg where numgenre=self.numgenre; end updategenre; Suppression d un genre La suppression d un genre est strictement identique à la modification. Il doit choisir le genre à supprimer et cliquer sur le bouton supprimer. Voila pourquoi nous ne copierons pas le code. En revanche, nous mettrons tout ce code en ANNEXE B. (Code de la classe JAVA) Pour finir, voici à quoi ressemble notre interface : Administration des photos RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 13
15 L administration des photos est un peu particulier car c est à partir d ici que nous allons enregistrer notre image dans la base de données. Nous nous intéresserons uniquement l enregistrement de photo et à sa suppression. Enregistrement d une photo Dans un premier temps, nous décrirons la démarche à suivre : - Remplissage des différents champs (format de la photo, description, mots clés,...) - Possibilité de lier la photo à un acteur etou un film - Choisir la photo à ajouter (depuis notre machine) - Ajout de la photo (attributs + image) dans la base de données Techniquement, cela se passe de cette façon : Instancie un objet de type Photo en initialisant les différents attributs à partir des informations saisies Insertions des données textuelles dans notre base de données Insertion dans les tables imbriquées si nécessaire. (table FILM etou ACTEUR) Rafraichissement du tableau contenant la liste des images dans notre base de données. chargement de l'image choisie dans la base de données via un objet de type ORDImage et la méthode setoradata On dissocie l enregistrement des données textuelles de l enregistrement de la photo proprement dite. Pour l enregistrement des données textuelles, nous utiliserons la méthode enregistrer de l objet Photo. Pour l enregistrement de la photo dans la base de données, nous utiliserons la méthode chargement. L enregistrement des données textuelles est tout ce qu il y a de plus basique, nous utilisons permet une d'enregistrer requête INSERT INTO. une photo En revanche, nous devons vérifier si la photo est liée à un acteur ou à un public film boolean car si c est enregistrer() le cas, nous devons throws insérer SQLException{ la photo dans la table imbriquée de la table boolean resultat = false; correspondante. Connection cnx = BDM_projetView.connect; this.numero = this.getnewid(); String newphoto; insertion dans la table photo if (this.film==0 && this.acteur==0){ newphoto="insert into photo(numphoto,nom,taille,format,description,mot_cles,image,signature) values("+this.numero+",'"+nom+"',"+this.taille+",'"+this.format+"','"+this.description+"', '"+this.motscles+"',ordsys.ordimage.init(),ordsys.ordimagesignature.init())"; else{ RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 14 if (this.film==0 && this.acteur>0){ newphoto="insert into photo(numphoto,nom,taille,format,description,mot_cles,acteurp,image,signature)
16 PreparedStatement stp = cnx.preparestatement(newacteurphoto); if(stp.executeupdate()!= 1){ resultat=false; else{ resultat=true; System.out.println("ajout de la la photo à l'acteur confirmée"); stp.close(); reconstruction de l'index de mot clés qui sert pour intermedia text String RAPPORT index DE BASE ="ALTER DE DONNEES index motcles_index MULTIMEDIA III rebuild";mise Partie conception de à l application jour de l'index 15 de texte "mot_index" PreparedStatement stp = cnx.preparestatement(index);
17 A ce stade, nous avons établi le lien entre la photo et les autres tables (FILM et ACTEUR), en revanche, l objet multimédia ORDSYS.ORDImage est encore vide. Nous allons donc voir la méthode qui permet l ajout de l image. methode du chargement d'un fichier de la photo dans l'ordimage public void chargement(string nomfichier, int idphoto) throws IOException{ charge l'image quie est dans nomfichier, dans la photo d'ienditifiant idphoto generation des paquets et de la signature de l'image connexion a la base byte[] ctx[] = new byte[4000][1];pour la generation de la signature OrdImage imgobj; OrdImageSignature sig; try{ recuperation des attributs image et imagesig pour la photo idphoto Connection conn=bdm_projetview.connect; conn.setautocommit(false); Statement stmt = conn.createstatement(); String req = "SELECT image,signature FROM photo WHERE numphoto="+idphoto+" FOR UPDATE"; OracleResultSet rs = (OracleResultSet) stmt.executequery(req); while(rs.next()){ imgobj = (OrdImage) rs.getoradata(1, OrdImage.getORADataFactory()) ; sig = (OrdImageSignature) rs.getoradata(2, generation des propriétés (meta données de l'objet java) OrdImageSignature.getORADataFactory() ); imgobj.setproperties(); this.image=imgobj; generation de la signature de l'image chargement du fichier dans l'ordimage (java) sig.generatesignature(imgobj); Envoi de l'image dans l'attribut localdata du type ORDImage mise a jour de la base avec les objets java imgobj.loaddatafromfile(nomfichier); image generation des propriétés (meta données de l'objet java) imgobj.setproperties(); String req2 = "UPDATE photo SET image =? WHERE numphoto = "+idphoto; generation de la signature de l'image OraclePreparedStatement opst = (OraclePreparedStatement) sig.generatesignature(imgobj); conn.preparecall(req2); mise a jour de la base avec les objets java opst.setoradata(1, imgobj); image opst.execute(); signature String req2 "UPDATE photo SET image =? WHERE numphoto = "+idphoto; RAPPORT String DE req3 BASE = DE "UPDATE DONNEES photo MULTIMEDIA SET signature III Partie = conception? WHERE de numphoto l application = "+idphoto; 16 OraclePreparedStatement opst = (OraclePreparedStatement) OraclePreparedStatement opst2 = (OraclePreparedStatement) conn.preparecall(req2); conn.preparecall(req3); opst.setoradata(1, imgobj);
18 Avec cette méthode, nous avons maintenant notre image stockée dans notre base de données. Nous pourrons par la suite l utiliser pour la comparer à d autres images présentes dans notre base. Suppression d une photo Si nous n avions qu à supprimer la photo sans se soucier des relations, nous aurions pu utiliser une simple requête DELETE, en effet celle-ci s occupera de supprimer toutes les données textuelles mais l objet multimédia également. Cependant, n oublions pas que notre photo est présente dans la table photo, mais elle est susceptible d exister également dans les tables imbriquées d ACTEUR et FILM. Pour la suppression de la photo en elle même, nous utiliserons la requête suivante : String delphoto="delete FROM photo p where p.numphoto="+this.numero; Et pour la suppression dans les tables imbriquées, nous utiliserons une requête de type DELETE FROM THE String delacteurimbriquee="delete FROM the (select acteur.photoa from acteur a WHERE a.numacteur ="+this.acteur + ") p where DEREF(p.photoR).numphoto="+this.numero; Une fois nos requêtes construites, nous n avons plus qu a les exécuter via un objet PreparedStatement. Notons qu il faut d abord supprimer dans les tables imbriquées avant de supprimer dans la table photo. Voici l interface pour la gestion des photos : RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 17
19 Partie Utilisateur La partie utilisateur représente en réalité l exploitation de la base de données. Nous devons permettre à l utilisateur de retrouver des films, acteurs, ou photos en fonction de critères spécifiques, ou en comparant deux éléments de notre base de données (Deux images) Recherche de film La recherche de films est plutôt basique, l utilisateur a à sa disposition plusieurs moyens pour retrouver un film : - Par le numéro de film - Par son nom - Par sa durée Une fois la recherche lancée, le programme va afficher à l écran tous les films correspondant dans un tableau. Pour chaque film, il peut y avoir plusieurs photos associées. Nous avons donc mis une liste déroulante pour visualiser les différentes images associées à ce film. RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 18
20 Pour mettre à jour notre liste, nous utilisons la table imbriquée contenant la liste des photos. A chaque changement sur la liste déroulante, nous mettons à jour la photo affichée à l écran. De plus, nous avons des informations liées au film qui s affiche sur le JPanel. Le code n étant pas très excitant, nous allons uniquement afficher les requêtes utilisées pour la récupération des films. if (dur==0) maxid = "select f.numfilm,f.nom,f.duree,deref(f.genref).numgenre,f.photof from film f where numfilm like '%"+ numero+"%' and nom like '%"+ nom+"%'"; else maxid = "select f.numfilm,f.nom,f.duree,deref(f.genref).numgenre,f.photof from film f where numfilm like '%"+ numero+"%' and nom like '%"+ nom+"%' and duree like '%"+ dur+"%' "; Voici une capture d écran pour la recherche d un film : RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 19
21 Recherche textuelle de photos La recherche de photo, c est un peu le même principe qu au dessus, il n y a rien de très innovant et très intéressant dans le code proprement dit. Pour la rechercher, nous allons uniquement utiliser les informations textuelles de la photo pour proposer à l utilisateur des photos susceptible de correspondre à sa recherche. C est pourquoi nous n allons pas mettre de code, mais nous allons expliquer à partir de quel critère nous pouvons retrouver une photo : - Son numéro d identification, - Son nom, - Sa taille, - Son format (JPG, PNG, GIF,...) - Sa description, - Et enfin mots-clés. Cela n a donc rien de nouveau par rapport aux bases de données relationnelles, la requête retourne uniquement des lignes que nous affichons directement dans le tableau. Le seul aspect intéressant est comment on récupère la photo de notre base de données et comment l affiche t on à l écran. Dans le cas qui va suivre, la méthode va récupérer toute les photos et retourner un tableau de CPhoto permet d'obtenir toutes les photos public static Cphoto[] getall() throws SQLException{ int i=0; int nbphoto = Cphoto.getNbPhoto(); Cphoto[] listep = new Cphoto[nbPhoto]; OrdImage imgobj; String maxid = "Select numphoto,nom,taille,format,description,mot_cles, DEREF(acteurP).numacteur,DEREF(filmP).numfilm,image FROM photo ORDER BY numphoto"; PreparedStatement stmax = BDM_projetView.connect.prepareStatement(maxId); OracleResultSet rset = (OracleResultSet)stmax.executeQuery(); while(rset.next()){ imgobj = (OrdImage) rset.getoradata(9, OrdImage.getORADataFactory()) ; listep[i] = new Cphoto(rset.getInt(1), rset.getstring(2),rset.getint(3), rset.getstring(4),rset.getstring(5), rset.getstring(6),rset.getint(7),rset.getint(8),imgobj); i++; return listep; i++; return listep; RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 20
22 La ligne qui nous intéresse pour récupérer notre objet photo directement depuis notre base de données est celle-ci : imgobj = (OrdImage) rset.getoradata(9, OrdImage.getORADataFactory()) ; Le premier paramètre est le numéro de colonne ou se trouve notre objet ORDImage, et la méthode getoradatafactory() récupère la l image réelle. Enfin, pour afficher notre image dans un composant graphique JAVA, nous avons créé une méthode dans notre classe CPhoto ou nous passons en argument le composant à modifier : affiche une image avec en paramètre un objet de type photo public void afficher2(jlabel pan,string nomfichier) throws IOException{ try { affiche la photo dans le JPanel pan --> on recupère l'ordimage, on le met dans un fichier intermédiaire, et on l'affiche on recupère l'ordimage on ecrit dans le fichier intermediaire System.out.println(nomfichier); this.image.getdatainfile(nomfichier); System.out.println("entrer"); catch (SQLException ex) { Logger.getLogger(Cphoto.class.getName()).log(Level.SEVERE, null, ex); System.out.println("entrer2"); img attribut de la classe de type Image Icon flageu = new ImageIcon(nomfichier); ImageIcon icone = new ImageIcon(nomfichier); Image imag=icone.getimage(); System.out.println("entre2r"); Image imag2=imag.getscaledinstance(200,200,imag.scale_default); System.out.println("oki"); ImageIcon icone2 = new ImageIcon(imag2); System.out.println("oki"); pan.seticon(icone2); Recherche d acteur et de genre Ces modules sont très similaires à ce que nous avons vu précédemment (Film et photo). Il est inutile de revoir ce qui as déjà été vu. Comparaison de deux images La comparaison d images permet de savoir si deux images sont similaires. Pour mettre en œuvre cette technique, nous utiliserons deux méthodes déjà définies dans ORDImage et ORDImageSignature. RAPPORT DE BASE DE DONNEES MULTIMEDIA III Partie conception de l application 21
Programmation d application Bases de données avec Java
Plan du document Programmation d application Bases de données avec Java INT Problématique slide 3 Correspondance diagramme de classe slide 4 UML vers schéma relationnel Programmation BD avec JDBC slide
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailJava DataBaseConnectivity
Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage
Plus en détailCOMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2
SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailBases de Données relationnelles et leurs systèmes de Gestion
III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailCompte-rendu de projet de Système de gestion de base de données
Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison
Plus en détailTP Programmation Java / JDBC / Oracle
TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie
Plus en détailPaginer les données côté serveur, mettre en cache côté client
Paginer les données côté serveur, mettre en cache côté client Vous voulez sélectionner des lignes dans une table, mais celle-ci comporte trop de lignes pour qu il soit réaliste de les ramener en une seule
Plus en détailApplication BdD et JDBC. Introduction 1/28. I Dans tout les cas, une seule problématique. I Quelques alternatives :
ntroduction 1/28 2/28 Anne-Cécile Caron Licence MAGE - Bases de Données 2013-2014 Application base de données Pour le développeur : Quel est l environnement? type de client (mode client serveur, intranet,...)
Plus en détailIntroduction à JDBC. Accès aux bases de données en Java
Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity
Plus en détailEncryptions, compression et partitionnement des données
Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des
Plus en détailLicence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées
Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :
Plus en détailBases de données relationnelles
Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses
Plus en détailOlivier Mondet http://unidentified-one.net
T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage
Plus en détailLes BASES de DONNEES dans WampServer
Les BASES de DONNEES dans WampServer 1 Définitions Générales Une base de données (BDD) permet d'enregistrer, de stocker, de ranger des données de façon organisée et hiérarchisée. SQL est le langage qui
Plus en détailBases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications
Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/
Plus en détailTP Contraintes - Triggers
TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution
Plus en détailCours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions
Plus en détailA QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Plus en détailModule Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)
Plus en détailCREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
Plus en détailCréation et Gestion des tables
Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5
Plus en détailLangage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Plus en détailLe langage SQL pour Oracle - partie 1 : SQL comme LDD
Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger
Plus en détailCOURS WINDEV NUMERO 3
COURS WINDEV NUMERO 3 01/02/2015 Travailler avec un fichier de données Etude du gestionnaire d analyse, Manipulation des tables mémoires, Manipulation de données, Création d états, Pré requis : Cours WinDev
Plus en détailUtilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008
Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application
Plus en détailLangage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL
Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions
Plus en détail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailA QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Plus en détailLe langage SQL Rappels
Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,
Plus en détail1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5
1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailPROJET 1 : BASE DE DONNÉES REPARTIES
PROJET 1 : BASE DE DONNÉES REPARTIES GESTION D UNE BANQUE Elèves : David Bréchet Frédéric Jacot Charles Secrétan DONNÉES DU PROJET SSC - Bases de Données II Laboratoire de Bases de Données BD réparties
Plus en détailAccess et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.
Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,
Plus en détailJava et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.
: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL
Plus en détailPHP 5. La base de données MySql. A. Belaïd 1
PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple
Plus en détailNFA 008. Introduction à NoSQL et MongoDB 25/05/2013
NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée
Plus en détailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailLangage SQL : créer et interroger une base
Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailAccès aux bases de données
13 Accès aux bases de données Les bases de données fournissent un mécanisme de stockage persistant pour les données d application et dans bien des cas, elles sont essentielles au fonctionnement des applications.
Plus en détailLes Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.
Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger
Plus en détailCorrigés détaillés des exercices
Corrigés détaillés des exercices Diagramme des tables objet La figure suivante vous aidera dans la compréhension des manipulations des objets de la base. Client_type Client num nom adresse {telephone_vry}
Plus en détailI4 : Bases de Données
I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables
Plus en détailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailINTRODUCTION A JAVA. Fichier en langage machine Exécutable
INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;
RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines
Plus en détailModélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework
Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework L'objectif de ce document est de poser des bases de réflexion sur la modélisation d'un projet réalisé
Plus en détailPHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)
PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et
Plus en détailDossier I Découverte de Base d Open Office
ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire
Plus en détailCréation d'un site dynamique en PHP avec Dreamweaver et MySQL
Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du
Plus en détailGestion de base de données
Université Libre de Bruxelles Faculté de Philosophie et Lettres Département des Sciences de l Information et de la Communication Gestion de base de données Projet : Take Off ASBL Cours de M. A. Clève STIC-B-505
Plus en détailObjectifs du TP : Initiation à Access
Objectifs du TP : Initiation à Access I. Introduction Microsoft Access fait partie de l ensemble Microsoft Office. C est un SGBDR (système de gestion de bases de données relationnelles) présentant une
Plus en détailLicence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...
Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez
Plus en détailLe Langage SQL version Oracle
Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn
Plus en détailConstruire des plug-ins pour SAS Management Console SAS 9.1
Construire des plug-ins pour SAS Management Console SAS 9.1 Janvier 2005 Sommaire 1 INTRODUCTION... 3 1.1 OBJECTIFS... 3 1.2 PERIMETRE... 3 2 LES COMPOSANTS DE SAS MANAGEMENT CONSOLE... 4 3 LA CONSTRUCTION
Plus en détailStockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Plus en détailPartie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle
Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle Ce projet comporte trois parties sur les thèmes suivants : création de base de donnée, requêtes SQL, mise en œuvre
Plus en détailTP3 : Creation de tables 1 seance
Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer
Plus en détailLES TOUT PREMIERS PAS
DESMODO, un logiciel de gestion d idées http://www.desmodo.net/ LES TOUT PREMIERS PAS Desmodo est un logiciel (libre) qui permet, entre autre, de visualiser et de synthétiser, de manière organisée, sous
Plus en détailFormation. Module WEB 4.1. Support de cours
Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,
Plus en détailChapitre 10. Les interfaces Comparable et Comparator 1
Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailProcédures Stockées WAVESOFT... 12 ws_sp_getidtable... 12. Exemple :... 12. ws_sp_getnextsouche... 12. Exemple :... 12
Table des matières Les Triggers... 2 Syntaxe... 2 Explications... 2 Les évènements déclencheurs des triggers... 3 Les modes de comportements des triggers... 4 Les pseudo tables... 5 Exemple... 6 Les procédures
Plus en détailCompétences Business Objects - 2014
Compétences Business Objects - 2014 «Mars-Juin 2014. Réf : Version 1 Page 1 sur 34 Sommaire CONTEXTE DE LA REMISE A NIVEAU EN AUTOFORMATION... 3 1. MODELISATION... 4 1.1 DESCRIPTION FONCTIONNEL DE L'APPLICATION
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailCette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :
Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens
Plus en détailPlan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7
Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin
Plus en détailBIRT (Business Intelligence and Reporting Tools)
BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»
Plus en détailles Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3
Présentation...2 1. Créer un formulaire à partir d une table...3 2. Les contrôles :...10 2.1 Le contrôle "Intitulé"...11 2.2 Le contrôle "Zone de Texte"...12 2.3 Le contrôle «Groupe d options»...14 2.4
Plus en détailSQL Historique 1982 1986 1992
SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailNF26 Data warehouse et Outils Décisionnels Printemps 2010
NF26 Data warehouse et Outils Décisionnels Printemps 2010 Rapport Modélisation Datamart VU Xuan Truong LAURENS Francis Analyse des données Avant de proposer un modèle dimensionnel, une analyse exhaustive
Plus en détailISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL
ISC21-1 --- Système d Information Architecture et Administration d un SGBD Compléments SQL Jean-Marie Pécatte jean-marie.pecatte@iut-tlse3.fr 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé
Plus en détailBases de données - Modèle relationnel
Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1 Les bases de données - Bibliographie Ullman and Widom,
Plus en détailLe Langage De Description De Données(LDD)
Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,
Plus en détailwww.evogue.fr SUPPORT DE COURS / PHP PARTIE 3
L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 Sommaire Sommaire... 2 Eléments initiaux... 3 Base de données... 3 Tables... 4 membres... 4 commandes... 4 articles... 4 details_commandes...
Plus en détailSage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8
Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel
Plus en détailPHP 4 PARTIE : BASE DE DONNEES
PHP 4 PARTIE : BASE DE DONNEES 1. Introduction 2. Présentation de MySQL 3. Principe 4. Connexion 5. Interrogation 6. Extraction des données 7. Fonctions de services 8. Traitement des erreurs 9. Travaux
Plus en détail.NET - Classe de Log
.NET - Classe de Log Classe permettant de Logger des données Text Dans tous les projets, il est indispensable de pouvoir stocker de l'information textuelle : Pour le suivi des erreurs Pour le suivi de
Plus en détailCréation d un service web avec NetBeans 5.5 et SJAS 9
Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...
Plus en détailJava Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites
Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)
Plus en détailDEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.
DEVAKI NEXTOBJET 1 Présentation...2 Installation...3 Prérequis...3 Windows...3 Linux...3 Exécution...4 Concevoir une BDD avec Devaki NextObject...5 Nouveau MCD...5 Configurer la connexion à la base de
Plus en détailBULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Ecole Supérieure Privée d Ingénierie et de Technologie BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailBASES DE DONNEES TP POSTGRESQL
2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique IUP 2 ème année et Formation Continue BASES DE DONNEES TP POSTGRESQL Maude Manouvrier La reproduction de ce document par tout
Plus en détailUtilitaires méconnus de StrataFrame
Utilitaires méconnus de StrataFrame Voici quelques classes d utilitaires, parmi ceux qui se trouvent dans le NameSpace MicroFour.StrataFrame.Tools. Cette liste n est pas exhaustive, et les regroupements
Plus en détailPage 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>
Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances
Plus en détailSommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2
Sommaire I. SCENARII DE TRAITEMENTS...2 I.1 : Alimentation à partir d un fichier Access (.mdb)...2 I.1 : Vérification de l intégrité des traitements SQL sur la pyramide des ages...3 I.2 : Vérification
Plus en détailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailPlateforme PAYZEN. Définition de Web-services
Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network
Plus en détail