Base de données. Stéphane Devismes. 15 septembre 2014
|
|
|
- Raphaël Lavergne
- il y a 10 ans
- Total affichages :
Transcription
1 Base de données Stéphane Devismes 15 septembre 2014
2 2
3 Table des matières 1 La base de donnée ZOO Position du problème Les tables Exercices Schéma relationnel Compréhension des relations Requêtes Cohérence La grande bouffe Position du problème Schémas des relations Expression de requêtes Agence de voyages Position du problème Schéma des relations Questions Conception de Bases de Données Exercice Problème Questions Exercice Problème Questions Exercice Problème Questions Exercice Problème Questions Exercice Problème Questions Conception en SQL La base de donnée ZOO Schéma relationnel Les relations Domaines
4 5.2.3 Contraintes d intégrité Création Remplir la base Déclencheurs (triggers) JDBC/Servlet Mise en place Utilisation de ant Questions La base de donnée ZOO Les relations Domaines Contraintes d intégrité Normalisation Exercice Exercice Exercice A Découvrir Oracle 31 A.1 Connexion à Oracle A.2 Exécution d une requête en ligne A.3 Exécution d une requête à partir d un fichier A.4 Stockage des résultats des requêtes dans un fichier A.5 Requêtes paramétrées
5 Chapitre 1 La base de donnée ZOO 1.1 Position du problème Le directeur d un zoo a informatisé la gestion de son établissement. Dans ce zoo, on trouve des animaux répertoriés par type (lion, léopard, girafe, escargot,...). Chaque animal possède un nom (Charly, Arthur, Enzo,...) qui l identifie de façon unique, une date de naissance et un pays d origine. On retient également les maladies que chaque animal a contractées depuis son arrivée au zoo. Les animaux sont logés dans des cages. Chaque cage peut recevoir un ou plusieurs animaux. Certaines cages peuvent être inoccupées. Une cage correspond à une certaine fonctionnalité, qui n est pas forcément liée à un type d animal donné (par exemple une cage peut convenir à la fois aux girafes, aux éléphants et aux fauves, une autre aux grands oiseaux,...). Une cage est identifié par un numéro, elle est située dans une allée, identifiée aussi par un numéro. Des personnes sont employées par le zoo pour entretenir les cages et soigner les animaux. Chaque employé est identifiée par son nom, et on connaît la ville où il réside. Il existe deux types de postes pour les employés : gardien ou responsable. Chaque employé est affecté à un unique poste : soit gardien, soit responsable. Un gardien s occupe d une ou plusieurs cages, et un responsable a la charge de toutes les cages de une ou de plusieurs allées. Une allée est sous la responsabilité d un seul employé et toute cage occupée par au moins un animal est gardée par au moins un gardien ; les cages inoccupées ne sont pas gardées. 1.2 Les tables Ci-dessous nous fournissons les tables de la base de données du zoo. LesAnimaux noma sexe type pays annais nocage Charly mâle lion Kenya Arthur mâle ours France Chloé femelle pie France Milou mâle léopard France Tintin mâle léopard France Charlotte femelle lion Kenya LesCages nocage fonction noallée 11 enclos 10 1 fosse 1 2 aquarium 1 3 volière 2 4 grand aquarium 1 12 enclos 10 5 LesResponsables noallée nome 10 Peyrin 1 Adiba 2 Voiron
6 LesMaladies noma nomm Charly rage de dents Charly grippe Milou angine Chloé grippe LesEmployés nome adresse Peyrin Nouméa Berrut Sartène Sicard Calvi Voiron Pointe à Pitre Scholl Ushuaïa Adiba Papeete LesGardiens nocage nome 11 Scholl 12 Berrut 12 Sicard 11 Berrut 11 Sicard 1 Scholl 3 Scholl 12 Scholl 1.3 Exercices Schéma relationnel 1. Donnez la clé primaire de chacune des tables (relations) de la base Zoo. 2. Donnez le schéma relationnel de la base Zoo. 3. Donnez la spécification de chacune des relations Compréhension des relations 1. Indiquez les n-uplets que l on doit insérer dans la ou les relation(s) concernée(s), pour représenter les informations contenues dans le texte ci-dessous : Chloé, qui est au zoo depuis longtemps, vient de contracter une rage de dents en même temps que la grippe. Brigitte est une libellule femelle qui est arrivée au zoo il y a quelques jours. Les libellules sont des animaux de type "insecte archiptère". Brigitte a été placée dans la cage numéro 3. Depuis son arrivée au zoo, elle n a contracté aucune maladie. Mme Bruandet, résidant à Papeete, vient d être employée par le zoo. Elle a été affectée au gardiennage des cages 4, 11, et 12. On vient de construire une cage piscine, qui conviendra par exemple aux tortues. Elle a le numéro 40 et est située au bout de l allée On souhaite maintenant pouvoir stocker pour chaque animal et pour chacune des maladies qu il contracte, la date à laquelle il a contracté cette maladie. Quel est l impact de cette modification sur le modèle relationnel précédent? 3. Quelles sont les caractéristiques de l énoncé qui ne sont pas directement traduites par les relations? Requêtes Donnez l expression relationnelle, l expression SQL, ainsi que le résultat des requêtes données ci-dessous : 1. Le nom des animaux du zoo. 2. Les fonctionnalités disponibles dans le zoo. 6
7 3. Les noms des léopards. 4. Les maladies contractées au moins une fois par des animaux du zoo. 5. Les noms et numéros de cage des animaux mâles qui sont originaires du Kenya et dont la date de naissance est antérieure à Une requête produisant l affichage suivant : Peyrin vit à Nouméa Berrut vit à Sartène Sicard vit à Calvi Voiron vit à Pointe à Pitre Scholl vit à Ushuaia Adiba vit à Papeete 7. Le nom et l âge des animaux en Le nom des gardiens qui habitent Ushuaïa. 9. La fonctionnalité et le nom du gardien des cages gardées par un employé habitant Calvi. 10. Le nom des animaux ainsi que des employés qui en sont soit les gardiens soit les responsables. 11. Le nom des gardiens gardant tous les animaux. 12. Les noms et types des animaux qui n ont jamais été malades. 13. Les noms des animaux originaires du Kenya ayant déjà contractés une grippe. 14. Les numéros et fonctionnalités des cages qui sont inoccupées. 15. Donner pour chaque animal mâle l ensemble des maladies qu il a contractées (ensemble des couples nom d animal, nom de maladie). 16. Les numéros et fonctionnalités des cages qui sont partagées par des animaux de types différents. En d autres termes, ce sont les cages qui contiennent au moins deux animaux de types différents. 17. Les noms des responsables et les noms des gardiens de Charly. 18. Le nom et le pays d origine de l animal doyen du zoo (il peut y en avoir plusieurs). 19. Le nom, le type et l année de naissance des animaux qui ont contracté toutes les maladies (connues) du zoo. 20. Le nom, le type et le pays d origine des animaux qui partagent la cage de Charly. 21. Le nom et l adresse des employés qui sont gardiens d animaux de tous types, on fait référence aux types des animaux du zoo Cohérence Ecrire les requêtes (relationnelles et SQL) qui permettent de vérifier que la base de données satisfait les règles de cohérence suivantes : 1. Un employé est soit un gardien, soit un responsable. 2. Il n y a pas de gardien affecté à des cages vides. 7
8 8
9 Chapitre 2 La grande bouffe 2.1 Position du problème Une maîtresse de maison a constitué une base de données relationnelle sur les amis qu elle invite. Elle représente, pour chaque repas identifié par une date, les noms des plats qui ont été servis ainsi que leur type, et pour chaque plat, le vin qui l accompagnait. Elle connaît les plats préférés de tous ses amis. Un invité peut être ou non un ami et inversement Schémas des relations Cette maîtresse de maison fort avisée définit le schéma de relations suivant (les identifiants des relations sont les attributs soulignés). Dans LesRepas, on parle des invités (amis ou non). Dans LesPréférences, on parle des amis (invités ou non). LesRepas (dater, nomi) (d, i) LesRepas la personne de nom i, a été invitée au repas identifié par la date d LeMenu (dater, nomp, nomv) (d, p, v) LeMenu le plat p accompagné par le vin v a été servi au repas d LesPreferences (noma, nomp) (n, p) LesPreferences l ami de nom n aime le plat de nom p LesPlats (nomp, typep) (p, t) LesPlats le plat p est du type t domaine(dater) = date domaine(nomi) = domaine(noma) = {"Pierre", "Paul", etc..} domaine(nomp) = {"Médaillon langouste", "Mousse chocolat", etc...} domaine(nomv) = {"don pérignon 1991", "chateau la-pompe 1920", etc..} domaine(typep) = {"entrée chaude", "dessert", etc..} LeMenu(dateR) = LesRepas(dateR) LesPreferences(nomP) LesPLats(nomP) LeMenu(nomP) LesPlats(nomP) 9
10 2.1.2 Expression de requêtes Exprimer en algèbre relationnelle et dans le langage SQL les requêtes ci-dessous. Les requêtes devront construire des résultats sans répétition de valeurs. Dans le langage SQL, la clause distinct sera utilisée uniquement lorsque nécessaire. 1. Donner les noms des invités du repas organisé le 31 Décembre Donner les noms des vins qui ont été servis avec un médaillon de langouste. 3. Donner les noms des plats (avec le vin qui les accompagne) qui ont été servis le 21 octobre Donner les noms des invités à qui il a été servi au moins une fois du foie gras. 5. Donner les noms des amis qui n ont jamais été invités. 6. Donner les repas (date, plats et vins servis) auxquels Thomas et Patrick ont été invités (ensemble). 7. Donner les noms des amis qui ont eu, au moins une fois, un plat de leurs préférences. 8. Donner les noms des invités qui n aiment que les desserts. 9. Donner les noms des amis qui n ont jamais eu un de leurs plats préférés. 10. Donner les noms des invités qui ont mangé du foie gras, mais qui n aiment pas cela. 11. Pour chaque invité, donner le nombre de repas auxquels il a été convié. 12. Donner le nombre moyen d invités par repas. 13. Donner les noms des desserts qui ont été servis au moins 2 fois. 14. Pour l (les) ami(s) invité(s) le plus souvent, donner son(leur) nom ainsi que ses(leurs) plats préférés. 15. Donner les noms des amis qui aiment tous les types de plats, c est-à-dire au moins un plat de chaque type. 16. Pour chaque ami, donner le nombre de repas auxquels il a été convié. 17. Notre maîtresse de maison décide qu elle invitera à son prochain repas, qui aura lieu le 1er janvier 2010, tous les amis qui n ont pas encore été invités. Former la requête qui prédit comment la table LesRepas sera mise à jour après le repas du 1er janvier
11 Chapitre 3 Agence de voyages 3.1 Position du problème Une agence de voyage a informatisé la gestion des voyages qu elle propose (itinéraires, monuments visités, réservations, etc.). La base de données a été construite à partir du cahier des charges suivant : Les circuits : Un circuit est identifié par un numéro, il est décrit par une ville de départ, une ville d arrivée et une séquence non vide d étapes. Une étape se déroule pendant un nombre donné de jours, dans une ville donnée. Au cours de chaque étape, tous les monuments de la ville, lorsqu il y en a, sont visités. Les monuments des villes de départ et d arrivée ne sont pas visités. Un même circuit ne repasse jamais plusieurs fois dans la même ville étape, mais il peut arriver qu une ville départ ou arrivée figure aussi dans l ensemble des villes étapes. Les monuments et les villes sont identifiés par leur nom. Un circuit peut être programmé plusieurs fois, à des dates différentes, pour un nombre de places qui peut varier selon la programmation. Le prix d un circuit est fixé, toujours le même quelque soit sa programmation. Un circuit dure un nombre de jours égal à la somme des durées de chacune de ses étapes. Les réservations : Une réservation, identifiée par un numéro, est effectuée pour le compte d un client (identifié par son nom) et concerne une programmation d un circuit. Plusieurs places pour la même programmation du même circuit peuvent être réservées en une seule fois. 11
12 3.2 Schéma des relations Le schéma retenu pour la base de données est constitué des relations suivantes (les identifiants sont soulignés) : LESVILLES (NOMV, PAYS) (n, p) LESVILLES la ville dont le nom est n, est située dans le pays p. LESMONUMENTS (NOMM, NOMV, PRIX) (nm, nv, p) LESMONUMENTS le monument identifié par son nom nm, est situé dans la ville nv. Son prix de visite est p (en euros). Certaines villes n ont pas de monument à visiter. LESCIRCUITS (NUMC, VDEP, VARR, PRIX) (n, vd, va, pr) LESCIRCUITS le circuit touristique identifié par le numéro n, part de la ville vd et se termine dans la ville va. Son prix est de pr, qui ne prend pas en compte le prix des monuments visités. La ville de départ représente le point de rendez-vous avec les accompagnateurs. LESETAPES (NUMC, RANG, VETAPE, NBJOURS) (n, r, ve, nbj) LESETAPES la r ième étape du circuit n se déroule dans la ville ve, où le séjour est de nbj jours. On fait comme hypothèse que lorsqu une ville est dans un circuit, tous ses monuments sont visités. De plus, r 1, et les villes de départ et d arrivée (VARR et VDEP de LESCIRCUITS) sont dans LESETAPES lorsqu elles sont visitées. LESPROGRAMMATIONS (NUMC, DATEDEP, NBPLACES) (n, d, nbl) LESPROGRAMMATIONS le circuit identifié par le numéro n, programmé à la date d dispose encore de nbl places disponibles. Le même circuit peut être programmé à différentes dates. LESRESERVATIONS (NUMR, NOMC, NUMC, DATEDEP, NBRES) (nr, no, nc, d, nbr) LESRESERVATIONS le client de nom no, a effectué une réservation identifiée par nr, sur le circuit nc programmé à la date d. Il a réservé nbr places. Les domaines associés sont : domaine(nomc) = { Bonemine, Corto, etc.} domaine(nomm) = { Tower Bridge, Madame Tussau, etc.} domaine(vetape) = domaine(vdep) = domaine(varr) = domaine(nomv) = { Paris, Florence, Briançon, etc.} domaine(pays) = { Italie, Finlande, France, etc.} domaine(numc) = domaine(numr) = domaine(rang) = domaine(nbres) = domaine(nbjours) = domaine(prix) = entiers > 0 domaine(nbplaces) = entiers 0 domaine(datedep) = dates Les contraintes d intégrité référentielle sont : LESRESERVATIONS(NUMC, DATEDEP) LESPROGRAMMATIONS(NUMC, DATEDEP) LESPROGRAMMATIONS(NUMC) LESCIRCUITS(NUMC) LESETAPES(NUMC) LESCIRCUITS(NUMC) LESETAPES(VETAPE) LESVILLES(NOMV) LESCIRCUITS(VDEP) LESVILLES(NOMV) LESCIRCUITS(VARR) LESVILLES(NOMV) LESMONUMENTS(NOMV) LESVILLES(NOMV) 12
13 Remarque 1 On dit qu un circuit passe par une ville v, lorsque v est une des étapes, ou la ville arrivée, ou la ville de départ (ou inclusif) ; On dit qu un circuit visite une ville lorsque celle-ci est une fois une étape de ce circuit (Cf. 3.1). 3.3 Questions Remarque 2 Afin de ne programmer aucune constante les requêtes devront être paramétrées. Les résultats seront ordonnés et sans répétition de valeurs. Par exemple, la requête ci-dessous est paramétrée par un numéro du circuit et un nom de ville : select * from Circuit where nc = &num and vdep = &villed ; L usage des requêtes paramétrées peut être facilité en utilisant les instructions prompt et accept proposées par SQL (voir l annexe ou la documentation en ligne : help prompt et help accept). Traduisez en algèbre relationnelle et en SQL les requêtes suivantes : 1. Donner le numéro, les villes de départ et d arrivée des circuits qui démarrent après une date donnée. 2. Donner les noms des clients qui ont réservé au moins un circuit qui passe par un pays donné. 3. Donner le nom des clients qui ne visitent aucun monument. 4. Donner le numéro, le prix de base (sans tenir compte du prix des monuments visités) et la date de départ des circuits qui ont encore des places disponibles et dont le nombre de jours est inférieur ou égal à un entier donné. 5. Donner le numéro, le nombre total de jours et le prix de base des circuits qui n ont aucune réservation. 6. Donner les noms des villes visitées par Milou (c est-à-dire les villes étapes). 7. Donner les noms des villes et des monuments visités par Milou. Le résultat devra faire apparaître toutes les villes étapes, même celles où aucun monument n est visité. 8. Donner les noms des villes visitées par Milou avec le nombre de monuments dans chaque ville. 9. Pour chacune des villes visitées par Milou, donner le prix total pour visiter tous les monuments de cette ville (ce prix est nul s il n y a aucun monument visité). 10. Donner les noms des pays, des villes et des monuments visités par un client donné. Le résultat devra faire apparaître aussi les pays et les villes sans monument. 11. Donner la liste des numéros des circuits, en ordre croissant, qui passent dans toutes les villes d un pays donné. 12. Pour chaque circuit restant dans le même pays, donner ce pays et le numéro du circuit. 13. Pour tous les circuits qui passent dans un pays donné, donner les dates de toutes leurs programmations et, à chaque fois, la date d arrivée dans le pays en question. 14. Etablir un récapitulatif faisant apparaître, pour chaque circuit : numéro du circuit coût total (prix + visite des monuments) taux de remplissage moyen Taux moyen de remplissage = taux moyen de remplissage d un circuit sur toutes les programmations. Taux de remplissage pour une programmation de circuit = nombre de places réservées / nombre de places offertes. 15. Pour chaque circuit, donné par son numéro, quelle est la date de programmation pour laquelle il y a le plus de places réservées? 13
14 14
15 Chapitre 4 Conception de Bases de Données 4.1 Exercice Problème Une cinémathèque désire automatiser son système d information. Celui-ci concerne au maximum 500 films, 20 réalisateurs et 40 acteurs principaux. En moyenne, on constate les points suivants : Un film a deux acteurs principaux. Un réalisateur a tourné 25 films. Un acteur a tourné dans 25 films. En outre, on a noté les règles de gestion suivantes : Tout film a un et un seul réalisateur. Tout réalisateur a fait au moins un film. Tout film a au moins un acteur principal. Tout acteur principal a joué dans au moins un film. Ci-dessous, vous avez les indications sur les données nécessaires : Attribut Libellé Domaine NOFILM Identifiant du film Numérique TITRE Titre du film Chaîne de caractères NOR Identifiant d un réalisateur Numérique NOMR Nom d un réalisateur Chaîne de caractères PRENOMR Prénom d un réalisateur Chaîne de caractères DATEENG Date d engagement d un acteur dans un film Date NOA Identifiant d un acteur Numérique NOMA Nom d un acteur Chaîne de caractères PRENOMA Prénom d un acteur Chaîne de caractères Questions Donner le diagramme de classes correspondant à l énoncé. Traduire le diagramme en schéma relationnel. 15
16 4.2 Exercice Problème Une auto-école comprend des moniteurs et des véhicules. Elle prépare les élèves à passer un permis d un type donné. A chaque type de permis correspond un ensemble de caractéristiques rassemblées sous forme d un libellé. Les moniteurs donnent des leçons aux élèves. On souhaite stocké le nom et le prénom des moniteurs ainsi que ceux des élèves. Les moniteurs et les élèves sont identifiés par un numéro unique. Chaque leçon est donnée par un seul moniteur, pour un seul élève à la fois et une certaine durée. Un élève ne passe qu un seul type de permis et n apprend à conduire que sur un seul véhicule. Chaque véhicule a un nom (clio, audi TT) et est identifié par son immatriculation. Le prix d un permis est forfaitaire, quel que soit le nombre de leçons Questions Donner le diagramme de classes correspondant à l énoncé. Traduire le diagramme en schéma relationnel. 4.3 Exercice Problème L AFP (Agence Flamande de Presse) est une agence de presse spécialisée dans la production de reportages télévisuels. Son métier : Proposer des reportages aux télévisions du monde entier. Voici une partie du diagramme de classes nécessaire à la gestion de l agence : Journalistes IDJ NOMJ PRENOMJ 1..* réalise 0..* Reportages IDR est présenté dans TITRER DUREER 1..* 0..* concerne Sujets IDS LIBELLES JTs est diffusé par IDJT DATEJT 0..* 1 Chaînes IDTV Le dictionnaire (simplifié) des données du diagramme est le suivant : Attribut Désignation Domaine Commentaires IDJ Identifiant d un journaliste Chaîne de caractères 12 caractères NOMJ Nom d un journaliste Chaîne de caractères PRENOMJ Prénom d un journaliste Chaîne de caractères IDR Identifiant d un reportage Chaîne de caractères 13 caractères (code-barre) TITRER Titre d un reportage Chaîne de caractères DUREER Durée d un reportage Réel Exprimé en secondes IDS Identifiant d un sujet Chaîne de caractères Code à 3 caractères LIBELLES Descriptif d un sujet Chaîne de caractères IDJT Identifiant d un journal télévisé Entier naturel Numéro automatique DATEJT Date d un journal télévisé Date Ex : 10/09/2009 IDTV Identifiant d une chaîne de télévision Chaîne de caractères Ex : CNN, RTBF, ARTE Un reportage est vendu à une chaîne TV pour une diffusion lors d un JT. L acquéreur (une chaîne TV) a la possibilité de rediffuser le reportage autant de fois qu il le souhaite dès lors que le reportage n est pas coupé ou monté différemment. 16
17 4.3.2 Questions 1. Sur les seules informations fournies par le diagramme de classes ci-dessus, répondre aux questions suivantes (vos réponses doivent être justifiées) : (a) Un reportage peut-il être réalisé par plusieurs journalistes? (b) Un reportage peut-il ne pas être réalisé par un journaliste? (c) Un reportage peut-il être présenté dans des JTs de chaînes concurrentes? (d) Un reportage peut-il ne jamais être présenté dans un JT? (e) Peut-il y avoir plusieurs reportages sur le même sujet dans le même JT? (f) Un sujet détermine-t-il un unique reportage? 2. Pour chaque reportage, l équipe de rédaction de l AFP veut également pouvoir gérer les techniciens ayant collaboré au tournage ainsi que les personnalités interviewées. Les informations nécessaires à la gestion de ces personnes (techniciens et personnalités) sont identiques à celles gérées pour les journalistes. Par ailleurs, certains reportages doivent pouvoir faire l objet d une exclusivité avec certaines chaînes de télévision. (a) Compléter le diagramme de classes de telle sorte que ces nouvelles informations soient prises en compte. (b) Justifier brièvement les nouvelles cardinalités. (c) Donner le schéma relationnel complet du diagramme de classes. 4.4 Exercice Problème Un office HLM gère des cités composées de bâtiments, eux-mêmes composés d appartements. Ces appartements sont libres ou loués à des locataires. Un locataire peut louer plusieurs appartements. Un appartement, s il est loué, n a qu un seul locataire. Certaines informations sont nécessaires à la bonne gestion de chaque appartement comme, par exemple, l étage où il se trouve, le montant de son loyer, si un garage y est affecté, la ville et l adresse où il se trouve, le nom et le prénom de son locataire (s il en a un)... Dans chaque cité, les bâtiments sont numérotés séquentiellement à partir de 1. De même, dans un bâtiment, les appartements sont numérotés séquentiellement à partir de 1. Chaque cité est sous la responsabilité d un unique gardien, lui-même pouvant avoir plusieurs cités à sa charge. On souhaite stocker le nom et le prénom de chaque gardien. Un gardien est identifié par un numéro unique. Chaque appartement appartient à type de logement (F1 à F6) correspondant à un certain nombre de caractéristiques précises regroupées sous la forme d un libellé. Pour chaque appartement, des opérations d entretien peuvent être effectuées par des artisans. On souhaite stocker les noms et prénoms des artisans, ces derniers sont identifiés par un numéro. Pour chaque opérations d entretiens, on souhaite stocker le prix et le détail de l opération Questions Donner le diagramme de classes correspondant à l énoncé. Traduire le diagramme en schéma relationnel. 17
18 4.5 Exercice Problème (Toute ressemblance avec des personnes, des organismes ou des faits existant ou ayant existé ne serait que pure coïncidence) Vous avez été embauché le 1 er mars 2012 par la société THG-EPO, société spécialisée dans l approvisionnement de médicaments, remèdes et substances stimulantes pour sportifs. Les clients de THG-EPO sont des sportifs de haut niveau. Ses fournisseurs sont des sociétés pharmaceutiques pour la plupart implantées à l étranger (Belgique, Etats-Unis, Pays-Bas, Uruguay,...). A sa création en 1998, THG-EPO ne comptait qu une dizaine de fournisseurs belges pour une vingtaine de cyclistes réunis dans la seule équipe Fastinos. Depuis THG-EPO fournit plus de cinq mille sportifs dans des disciplines très diverses. Par, exemple, en athlétisme, football, ou même aux jeux d échecs. THG-EPO emploie 530 personnes pour un chiffre d affaire annuel d environ 300 millions d euros. Ses activités s étendent sur l Europe entière. Malheureusement, cette croissance exponentielle a été entachée par quelques affaires, «surmédiatisées» selon Mr Ritchie Vorinquo, PDG de THG-EPO. Fort de cette expérience et afin de prévenir tout nouvel incident, Mr Vorinquo a décidé qu il était désormais nécessaire de suivre précisément la pharmacopée prescrite par les médecins sportifs aux clients de THG-EPO. Cette décision devrait modifier en profondeur la stratégie marketing de la société, en quête d image désormais irréprochable, basée sur le contrôle des substances absorbées par les sportifs. THG-EPO vous a donc recruté au début du mois de mars pour une durée indéterminée en qualité de responsable du groupe de pilotage chargé de la mise en oeuvre du nouveau schéma directeur. Depuis le début du mois de mars, votre analyse de l existant et des besoins vous a conduit à recenser les informations suivantes : La société dispose d un fichier clients comportant pour chaque client (sportif), son identifiant, ses nom et prénom, son âge, son adresse, sa nationalité et un numéro de compte en Suisse. Les médecins sont identifiés par un numéro. Pour chaque docteur, on connaît ses nom et prénom, ses spécialités (toutes les spécialités étant elle-même répertoriées) et ses années d expériences en tant que médecin sportif. Les fournisseurs (des sociétés pharmaceutiques) sont identifiés par leur numéro d inscription IPF (International Pharmaceutical Federation). On a besoin de leur nom, leur adresse, leur numéro de téléphone et de fax. Chaque substance pharmaceutique (médicament) est identifiée par un numéro. Les informations nécessaires sont le nom de la molécule et sa formule chimique. Chaque médicament est fourni par une société pharmaceutique donnée. Lorsqu une société pharmaceutique arrête de fournir THG-EPO en médicaments, les informations la concernant ne sont pas gardées (y compris les médicaments qu elle fournissait). THG-EPO dispose de centres de distribution (succursales) implantés dans différentes villes européennes. Chaque centre est identifié par un nom d inscription sur le registre du commerce du pays où il se trouve. Outre le nom, les informations concernant ces centres sont leur adresse, leur pays d implantation, le nom de leur directeur, leur numéros de téléphone et de fax. Chaque centre est libre de pratiquer pour chaque médicament le prix de vente qu il souhaite (le prix dépend souvent du pays, de la difficulté de se procurer le produit dans le pays). Les centres se fournissent directement auprès des sociétés pharmaceutiques. Les centres et les compagnies pharmaceutiques sont liés par contrats, chaque compagnie pouvant passer des contrats avec plusieurs centres, chaque centre pouvant passer des contrats avec plusieurs compagnies. Pour chaque contrat, on doit connaître la date d entrée en vigueur du contrat, la date de fin du contrat et le texte du contrat. Les médecins prescrivent des médicaments aux sportifs. Un médecin peut prescrire un ou plusieurs médicaments à plusieurs sportifs. Un unique médecin est identifié pour chaque sportif comme son médecin traitant. Chaque sportif peut recevoir des prescriptions par un médecin autre que son médecin 18
19 traitant. Chaque prescription d un médicament est datée et on a besoin de stocker la posologie prescrite (quantité, fréquence) Questions Donner le diagramme de classes correspondant à l énoncé. Traduire le diagramme en schéma relationnel. Pour chacune des hypothèses suivantes, le diagramme est-il modifié? Si tel est le cas, redessinez la partie qui est modifiée. Sinon, expliquez en quelques lignes pourquoi le diagramme n est pas modifié. Hypothèse A : Au lieu d être libre dans chaque centre de distribution, le prix de chaque médicament est fixé de façon unique pour tous les centres. Hypothèse B : Chaque médicament peut être vendu par plusieurs sociétés pharmaceutiques. 19
20 20
21 Chapitre 5 Conception en SQL 5.1 La base de donnée ZOO Le directeur d un zoo a informatisé la gestion de son établissement. Dans ce zoo, on trouve des animaux répertoriés par type (lion, léopard, girafe, escargot,...). Chaque animal possède un nom (Charly, Arthur, Enzo,...) qui l identifie de façon unique, une date de naissance et un pays d origine. On retient également les maladies que chaque animal a contractées depuis son arrivée au zoo. Les animaux sont logés dans des cages. Chaque cage peut recevoir un ou plusieurs animaux. Certaines cages peuvent être inoccupées. Une cage correspond à une certaine fonctionnalité, qui n est pas forcément liée à un type d animal donné (par exemple une cage peut convenir à la fois aux girafes, aux éléphants et aux fauves, une autre aux grands oiseaux,...). Une cage est identifiée par un numéro, elle est située dans une allée, identifiée aussi par un numéro. Des personnes sont employées par le zoo pour entretenir les cages et soigner les animaux. Chaque employé est identifiée par son nom, et on connaît la ville où elle réside. Il existe deux types de postes pour les employés : gardien ou responsable. Chaque employé est affecté à un unique poste : soit gardien, soit responsable. Un gardien s occupe de une ou de plusieurs cages, et un responsable a la charge de toutes les cages de une ou de plusieurs allées. Une allée est sous la responsabilité d un seul employé et toute cage occupée par au moins un animal est gardée par au moins un gardien ; les cages inoccupées ne sont pas gardées. 5.2 Schéma relationnel Ci-dessous nous proposons un schéma relationnel traduisant l énoncé Les relations LesEmployes(nomE,adresse) LesResponsables(noAllee,nomE) LesCages(noCage,fonction,noAllee) LesGardiens(noCage,nomE) LesAnimaux(nomA,sexe,type,pays,anNais,noCage) LesMaladies(nomA,nomM) 21
22 5.2.2 Domaines Attribut Domaine Contraintes nome chaîne de caractères non nul adresse chaîne de caractères non nulle noallee entier entre 1 et 999, non nulle nocage entier entre 1 et 999, non nul fonction chaîne de caractères non nulle noma chaîne de caractères nomm chaîne de caractères sexe chaîne de caractères femelle ou male ou hermaphrodite, valeur par défaut «male» type chaîne de caractères non nul pays chaîne de caractères valeur par défaut «France» annais entier Contraintes d intégrité LesResponsables(nomE) LesEmployes(nomE) LesCages(noAllee) LesResponsables(noAllee) LesGardiens(nomE) LesEmployes(nomE) LesGardiens(noCage) LesCages(noCage) LesAnimaux(noCage) LesCages(noCage) LesMaladies(nomA) LesAnimaux(nomA) Lorsqu une ligne est supprimée dans une table, toutes les lignes qui y font référence (dans les autres tables) doivent être supprimées. 5.3 Création Implanter en SQL le schéma relationnel décrit dans la section précédente. Vous devrez respecter les domaines et contraintes données, notamment les clés primaires et étrangères. 5.4 Remplir la base Une base zoo existe déjà sur le serveur. En créant votre base, vous n écrasez pas l existant. Lorsque vous faites une requête sur une de vos tables, par exemple SELECT * FROM LesAnimaux, La table LesAnimaux est en fait la table foo.lesanimaux où foo est votre login. On peut alors accéder aux données de la base pré-existante en utilisant le login de son créateur, ici zoo. Par exemple : SELECT * FROM zoo.lesanimaux. Ainsi, vous pouvez remplir vos tables à partir de la base de zoo. Par exemple : INSERT INTO LesEmployes(nomE,adresse) SELECT nome, adresse FROM zoo.lesemployes ; Répéter l opération pour chacune de vos tables. 5.5 Déclencheurs (triggers) Certaines contraintes de l énoncé n ont pas été traduites par le schéma relationnel. Nous proposons donc de les créer à partir de déclencheurs. 22
23 Un employé est soit un gardien soit un responsable mais jamais les deux. Créer deux déclencheurs qui empêchent les insertions dans les tables LesResponsables et LesGardiens qui violent la contrainte d exclusion. Une cage vide n est pas gardée. Créer un déclencheur qui lorsqu une cage devient vide (DELETE dans LesAnimaux), enlève les gardiens affectés à cette cage. Une cage non vide doit être gardée par au moins un gardien. Créer un déclencheur qui lorsqu un animal est ajouté, vérifie si la cage occupée par l animal est gardée et le cas échéant, affecte Scholl comme gardien. 23
24 24
25 Chapitre 6 JDBC/Servlet L objectif de ce TD est de réaliser une application internet faisant des accès à la base de données Zoo. Cette application sera basée sur les servlets et JDBC (Java DataBase Connectivity). On utilisera de plus pour la compilation et la gestion des répertoires l outil ant du projet Apache. 6.1 Mise en place Tout d abord, vous devez mettre en place la base de donnée. Pour cela connectez-vous à la machine im2ag-oracle : ssh im2ag-oracle.e.ujf-grenoble.fr Ensuite téléchargez le script de création de la base Zoo : wget www-verimag.imag.fr/~devismes/bd/create_zoo_eleve.sql Connectez-vous à sqlplus. Puis exécutez le script : start create_zoo_eleve; Puis, quittez sqlplus (exit) et quittez im2ag-oracle (exit). Vous allez maintenant installer et configurer un squelette d application utilisant l outil ant. Connectezvous en mode graphique à la machine im2ag-tomcat : Ensuite téléchargez le squelette Zoo : Décompressez le fichier : ssh -X im2ag-tomcat.e.ujf-grenoble.fr wget www-verimag.imag.fr/~devismes/bd/applieleve2.tgz tar -xvzf applieleve2.tgz Modifiez les droits d accès à votre home et au répertoire applieleve2 pour autoriser l accès en lecture et exécution à tous les utilisateurs : cd chmod ugo+rx. chmod ugo+rx applieleve2 25
26 Positionnez-vous dans le répertoire applieleve2. Editez le fichier de configuration build.properties. Ce fichier contient un certain nombre d informations permettant à ant de déployer l application : location du server Apache, le login et le mot de passe permettant d y accéder, l url du manager qui va déployer votre site et enfin le point d entrée du site (app.path). Ce point d entrée doit être différent pour chaque étudiant, aussi nommez ce point d entrée avec votre propre login : app.path=/login Puis mettez à jour la configuration de ant en tapant : ant est maintenant prêt à être utiliser. ant clean 6.2 Utilisation de ant Les sources des applications sont stockées dans le répertoire src. Le squelette de l application Zoo est donc dans src/zoo. Noter qu à chaque fichier source correspond deux entrées servlet et servlet-mapping dans le fichier de configuration applieleve2/web/web-inf/web.xml. Ainsi, si vous souhaitez ajouter des fichiers sources (ce qui n est pas nécessaire lors de ce TD), il est obligatoire de modifier ce fichier de configuration en ajoutant les entrées appropriées. Noter enfin, que applieleve2/web/web-inf/lib contient les bibliothèques supplémentaires nécessaires, ici ojdbc14.jar (le pilote permettant de communiquer avec Oracle). Pour déployer le squelette d application, placez-vous dans le répertoire applieleve2 et tapez : ant install Par la suite, pour redéployer l application après des modifications tapez : ant remove install En cas d échec, par exemple suite à une erreur de compilation, votre site a été supprimé du serveur, donc corrigez votre code puis tapez : ant install Si vous avez lancé firefox depuis im2ag-tomcat, votre application est accessible depuis firefox par l adresse : localhost:8080/login Sinon, votre application est accessible depuis mais à condition que l adresse im2ag-tomcat.e.ujf-grenoble.fr soit listée parmi les exceptions proxy de votre browser internet (Preferences/Advanced/Network/Settings). 6.3 Questions Le schéma relationnel de la base Zoo est rappelé dans la section 6.4. Vous pouvez regarder la solution quasi-complète à l adresse : localhost:8080/solution/ 1. Considérez les fichiers AnimalDetails.java et AnimalDetailsAction.java. Modifiez-les pour : (a) Afficher le sexe et l année de naissance d un animal sélectionné. 26
27 (b) Afficher tous les détails des animaux venant d un pays choisi dans une liste. 2. Complétez l application en ajoutant les fonctions suivantes : (a) Afficher les cages inoccupées. (b) Afficher le nom des gardiens et du responsable d un animal donné (donné par son nom). (c) Enregistrer une maladie donnée pour un animal donné. (d) Modifier l affectation d un gardien ou d un responsable. (e) Enregistrer un animal et le cas échéant, créer une affectation d un employé à une cage (rôle de gardien). 6.4 La base de donnée ZOO Les relations LesEmployes(nomE,adresse) LesResponsables(noAllee,nomE) LesCages(noCage,fonction,noAllee) LesGardiens(noCage,nomE) LesAnimaux(nomA,sexe,type,pays,anNais,noCage) LesMaladies(nomA,nomM) Domaines Attribut Domaine Contraintes nome chaîne de caractères non nul adresse chaîne de caractères non nulle noallee entier entre 1 et 999, non nulle nocage entier entre 1 et 999, non nul fonction chaîne de caractères non nulle noma chaîne de caractères nomm chaîne de caractères sexe chaîne de caractères femelle ou male ou hermaphrodite, valeur par défaut «male» type chaîne de caractères non nul pays chaîne de caractères valeur par défaut «France» annais entier Contraintes d intégrité LesResponsables(nomE) LesEmployes(nomE) LesCages(noAllee) LesResponsables(noAllee) LesGardiens(nomE) LesEmployes(nomE) LesGardiens(noCage) LesCages(noCage) LesAnimaux(noCage) LesCages(noCage) LesMaladies(nomA) LesAnimaux(nomA) 27
28 28
29 Chapitre 7 Normalisation 7.1 Exercice 1 Soit la relation R(A, B, C, D, E). Soit F = {A B, BC E, ED A} un ensemble de dépendances fonctionnelles de R. Questions : 1. Calculer les clés candidates. 2. Justifier si R est une 3NF ou non. Si R n est pas une 3NF, appliquer l algorithme de synthèse pour transformer R en 3NF. 3. Calculer les dépendances élémentaires non-triviales. 4. Justifier pourquoi R n est pas en BCNF. 5. Mettre R en BCNF. 7.2 Exercice 2 Soit la relation R(A, B, C, D, E). Soit F = {A C, C B, C D, CE A, CE B} un ensemble de dépendances fonctionnelles de R. Questions : 1. Calculer les clés candidates. 2. Justifier si R est une 3NF ou non. Si R n est pas une 3NF, appliquer l algorithme de synthèse pour transformer R en 3NF. 3. Calculer les dépendances élémentaires non-triviales. 4. Justifier pourquoi R n est pas en BCNF. 5. Mettre R en BCNF. 7.3 Exercice 3 Soit la relation R(G, R, A, S, P ). Soit F = {G AS, R S, AP R, R P, RSP A} un ensemble de dépendances fonctionnelles de R. 29
30 Questions : 1. Calculer les clés candidates. 2. Justifier si R est une 3NF ou non. Si R n est pas une 3NF, appliquer l algorithme de synthèse pour transformer R en 3NF. 3. Calculer les dépendances élémentaires non-triviales. 4. Justifier pourquoi R n est pas en BCNF. 5. Mettre R en BCNF. 30
31 Annexe A Découvrir Oracle L accès au Système de Gestion de Bases de Données (SGBD) Oracle n est possible que sur le serveur im2ag-oracle. A.1 Connexion à Oracle Se connecter à la machine im2ag-oracle. Pour cela, par exemple, à partir d un autre serveur taper : ssh -X im2ag-oracle.e.ujf-grenoble.fr Vous devez fournir votre nom d utilisateur et votre mot de passe (ceux que vous utilisez habituellement sur le réseau de l UFR IMAG). Vous êtes sous Unix, il s affiche : > Ensuite, appeler le logiciel Oracle en utilisant : > sqlplus Vous devez fournir votre nom d utilisateur (le même que précédemment) et le mot de passe spécifique à Oracle, c est le même pour tous : bd2012. Vous êtes sous Oracle, il s affiche : SQL> Pour sortir d Oracle, taper exit, qui ramène sous Unix. Ensuite, pour sortir d Unix, utiliser à nouveau exit. Si besoin, pour travailler à la fois avec Oracle et avec un éditeur, ouvrir deux fenêtres sous im2ag-oracle (ou tout autre serveur de l UJF) en tapant xterm & ; dans l une, appeler Oracle par sqlplus, et, dans l autre, appeler un éditeur par vi (par exemple). A.2 Exécution d une requête en ligne Attention, contrairement aux TDs, le nom des tables dans les requêtes doit toujours être préfixé par le nom de la base à laquelle la table appartient. Par exemple, dans l environnement Oracle, taper la ligne suivante et analyser le résultat : SQL> select nom from biblio.lesadherents; Ensuite, taper la ligne suivante et analyser le résultat : SQL> select nom from biblio.lesadherents 31
32 Pour la présentation des jeux d essai, les formats d affichage peuvent être re-définis en utilisant les instructions column, set linesize, set pagesize, etc. Taper help nom_commande pour plus de détails. Pour connaître les noms des bases correspondant aux tables, taper (utiliser la clause WHERE pour chercher le nom de la base d une table particulière) : SQL> select owner, table_name from all_tables; Noter que nous utilisons principalements les bases : zoo, repas, agence, et batiments. Pour avoir une description des colonnes de la table biblio.lesadherents, taper : SQL> desc biblio.lesadherents; A.3 Exécution d une requête à partir d un fichier La plupart du temps, on prépare les requêtes dans un fichier qu on demande ensuite à Oracle d exécuter, en utilisant la commande start (ou le Dans un fichier de suffixe.sql, par exemple Req1.sql, taper le texte suivant : -- le nom des adhérents select nom from biblio.lesadherents; La ligne commençant par le double tiret est une ligne de commentaires, les autres lignes forment une requête SQL. Il ne faut pas placer de commentaires à l intérieur d une requête. Pour exécuter cette requête, taper sous Oracle : SQL> start Req1 Le système cherche alors le fichier Req1.sql et l exécute. Le résultat doit être le même que lorsqu on tape la requête en ligne. Essayer différentes variantes dans le fichier Req1.sql, les faire exécuter et analyser le résultat. Si Oracle indique des erreurs, les corriger. Par exemple (à vous de compléter avec des commentaires) : select noadh, nom, prenom from biblio.lesadherents where adresse = Meylan ; Sur l exemple ci-dessus, essayer diverses combinaisons de majuscules et minuscules. Ensuite, essayer en remplaçant la ligne : where adresse = Meylan ; par une des lignes suivantes : where datadh < to_date( 01/06/2011, DD/MM/YYYY ); where annais < 1960; where noadh < 12; Essayer aussi d écrire plusieurs requêtes l une après l autre dans le même fichier. 32
33 A.4 Stockage des résultats des requêtes dans un fichier Pour stocker automatiquement les résultats des requêtes dans un fichier, utiliser spool, en insérant dans le fichier Req1.sql une ligne en haut et une ligne en bas : spool ResReq1... (ici vos requêtes)... spool off; Comme précédemment, taper sous Oracle : SQL> start Req1 Un fichier est créé automatiquement, de nom ResReq1.lst (le nom que vous avez donné, suivi du suffixe.lst). Ouvrir le fichier ResReq1.lst pour voir son contenu. Remarque 3 On peut remplacer spool ResReq1 par spool Req1, le système ne confond pas les fichiers Req1.lst et Req1.sql puisqu ils n ont pas le même suffixe. A.5 Requêtes paramétrées Dans un fichier de nom par exemple Req2.sql, taper le texte suivant (où accept et prompt sont des mots-clés d Oracle) : -- le numéro, le nom et le prénom des adhérents -- qui habitent à une adresse donnée -- ou qui ont un numéro d adhérent supérieur à un numéro donné accept ladresse prompt Donner une adresse : accept lenumero prompt Donner un numéro d adhérent : select noadh, nom, prenom from biblio.lesadherents where adresse = &ladresse or noadh > &lenumero; Remarque 4 Attention à l utilisation des quotes! Il faut les doubler pour d adhérent (dans un prompt), il faut en mettre pour &ladresse (chaîne de caractères) mais pas pour &lenumero (nombre). Taper start Req2. Le système imprime le texte Donner une adresse : (sans quotes). Répondre en donnant une adresse (sans quotes). Puis le système imprime le texte Donner un numéro d adhérent : (sans quotes). Répondre en donnant un entier. Alors le système exécute la requête. 33
TP Bases de données réparties
page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure
TP 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
1 Introduction et installation
TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on
Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto
Schéma relationnel et contraintes d intégrité : le cas ConduiteAuto Description du thème Propriétés Intitulé long Formation concernée Matière Présentation Notions Pré-requis Mots-clés Durée Auteur(es)
Le 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,
Le modèle de données
Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.
Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions
Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces
Cours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Source : http://amcubat.be/docpmb/import-de-lecteurs
A.-M. Cubat PMB - Import de lecteurs - Généralités Page 1 Diverses méthodes d import de lecteurs Les données (noms, prénoms, adresses. des lecteurs) proviennent en général du secrétariat, et se trouvent
GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT
GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT Table des matières : Description de l application :... 2 Les raisons d une telle application
clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE
Cas Neptune hôtel Base de données et langage SQL Propriété Intitulé long Formation concernée Matière Notions Transversalité Présentation Description Neptune Hôtel. L interrogation d une base de données
Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données
Base de Données Cours Introductif Base de Données Quelques chiffres Évolution annuelle moyenne 2004/2000 15% +20% 12% 5% 0.5% 2000 2004 L3G IA SG mono poste : Part de marché 5% 5% 10% Paradox 65% SG 15%
Créer le schéma relationnel d une base de données ACCESS
Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...
Licence 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 :
1 Modélisation d une base de données pour une société de bourse
IN306 : Corrigé SID Christophe Garion 18 octobre 2010 Ce document est un corrigé succinct de l examen du module IN306. 1 Modélisation d une base de données pour une société de bourse Une
Dossier 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
Services bancaires par Internet aux entreprises. Guide pratique pour : Rapports de solde Version 8.05.22
Services bancaires par Internet aux entreprises Guide pratique pour : Rapports de solde Version 8.05.22 Table des matières Avez-vous besoin d aide?... 3 Exigences informatiques... 4 Navigateurs acceptés...
Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN
1. 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
Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants
ÉPREUVE E5 : ANALYSE DE GESTION ET ORGANISATION DU SYSTÈME D INFORMATION Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants Page de garde... p 1 Présentation de l entreprise...
Bases de Données Relationnelles. Le Modèle Relationnel
Bases de Données Relationnelles Le Modèle Relationnel Le modèle relationnel modèle de niveau logique modèle simple : deux concepts relation (table) attribut (colonne) défini par Ted Codd en 1970 ; prix
TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009
TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009 Loïc Maisonnasse 1 Objectif Ce TD a pour objectif de vous familiariser avec le langage de requêtes SQL. Et de vous apprendre à écrire des requêtes SQL pour
Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10
modalisa Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10 8 Fonctionnalités de mise en ligne de questionnaires Vous trouverez dans cet opuscule les informations nécessaires
Bon ben voilà c est fait!
Bon ben voilà c est fait! Au programme : - Exploration de l arborescence et informations systèmes - Action sur les dossiers et fichiers - Gestion des autorisations - Conversion pdf en text - Connexion
Nom de l application
Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique
TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager
TP base de données SQLite 1 Différents choix possibles et choix de SQLite : La plupart des logiciels de gestion de base de données fonctionnent à l aide d un serveur. Ils demandent donc une installation
CONCEPTION Support de cours n 3 DE BASES DE DONNEES
CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...
Access 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,
Le 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
FileMaker Server 14. Guide de démarrage
FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques
Pratique et administration des systèmes
Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de
Bases 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
Compte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
1 Position du problème
Licence Science et Technologies - INF245 Examen session 1 - mai 2012 Durée : 2 heures Documents non autorisés Le barème est donné à titre indicatif 1 Position du problème Le Club Universitaire de Vélo
Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza
Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été
COURS 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
Langage 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
Installation d'un serveur FTP géré par une base de données MySQL
BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 2 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Installation
Bases 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
Bases de Données. Plan
Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle
Bases de données cours 1
Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre
WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits
WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits Manuel d initiation du Planificateur 2 INTRODUCTION 5 CHAPITRE I : INSTALLATION
Créer un site Internet dynamique
Créer un site Internet dynamique avec SPIP (version 3) Document de référence Denise St-Pierre animatrice au service local du Récit 1. Qu est-ce que SPIP?... 3 2. Caractéristiques de SPIP... 3 3. Quelques
SOMMAIRE. 1. Connexion à la messagerie Zimbra 4 1.1.Pré-requis 4 1.2.Ecran de connexion à la messagerie 4
Messagerie Zimbra version 7 Prise en main Nadège HARDY-VIDAL 2 septembre 20 SOMMAIRE. Connexion à la messagerie Zimbra 4..Pré-requis 4.2.Ecran de connexion à la messagerie 4 2. Présentation générale de
INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP
L INTEGRATION DE SAS AVEC JMP Quelles sont les techniques possibles pour intégrer SAS avec JMP? Comment échanger des données entre SAS et JMP? Comment connecter JMP à SAS? Quels sont les apports d une
Gestion de stock pour un magasin
Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire
TP 4 de familiarisation avec Unix
TP 4 de familiarisation avec Unix Réseau Filtres (suite) Variables Scripts Vincent Berry - [email protected] IMPORTANT : la prise de notes est une pratique très importante et pourtant négligée, elle est
PROCEDURE D'INSTALLATION OPENREPORTS
PROCEDURE D'INSTALLATION OPENREPORTS Table des matières Prérequis...2 1 Installation linux...2 2 Installation JAVA...3 2.1 Installation de la jdk...3 2.2 Configuration de l'environnement...3 3 Installation
L accès à distance du serveur
Chapitre 11 L accès à distance du serveur Accéder à votre serveur et aux ordinateurs de votre réseau depuis Internet, permettre à vos amis ou à votre famille de regarder vos dernières photos, écouter vos
TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1
TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER Sur Windows Contenu TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1 I-Installation d «Oracle Database Express Edition»...2 Etape 1 :
Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO
Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO Dans Virtual box, la machine virtuelle xibo éteinte, sélectionner la et cliquer sur l icône configuration : Dans la fenêtre
Documentation de conception
Documentation de conception La présente documentation précise les choix de modélisation, détaille les fonctionnalités (en sus de la documentation utilisateur), documente la conception de la base de donnes
COMMANDES 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
Bases de Données Avancées
1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR
Introduction aux Bases de Données
Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD
Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server
Microsoft OSQL OSQL ou l'outil de base pour gérer SQL Server Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet
Comment reproduire les résultats de l article : POP-Java : Parallélisme et distribution orienté objet Beat Wolf 1, Pierre Kuonen 1, Thomas Dandekar 2 1 icosys, Haute École Spécialisée de Suisse occidentale,
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.
ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A. - 1 - PREAMBULE Les conditions générales d utilisation détaillant l ensemble des dispositions applicables
Chapitre 5 LE MODELE ENTITE - ASSOCIATION
Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous
FileMaker Server 14. Aide FileMaker Server
FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques
Devoir Data WareHouse
Université Paris XIII Institut Galilée Master 2-EID BENSI Ahmed CHARIFOU Evelyne Devoir Data WareHouse Optimisation, Transformation et Mise à jour utilisées par un ETL Mr R. NEFOUSSI Année 2007-2008 FICHE
Le réseau et les tables virtuelles Synapse
Le réseau et les tables virtuelles Synapse 1. Les tables virtuelles Synapse...2 1.1 L organisation réseau Synapse et la campagne Cap sur l indépendance...2 1.2 Les tables virtuelles de travail...3 1.3
AGRÉGATION «ÉCONOMIE ET GESTION»
AGRÉGATION «ÉCONOMIE ET GESTION» CONCOURS INTERNE SESSION 2002 ÉPREUVE SUR LES TECHNIQUES DE GESTION ET COMPORTANT DES ASPECTS PÉDAGOGIQUES DOMAINE : économie et gestion informatique Durée de préparation
ISC21-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 [email protected] 16 novembre 2006 ISIS - Jean-Marie PECATTE 1 Valeur de clé
Partie 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
Introduction à Microsoft InfoPath 2010
Introduction à Microsoft InfoPath 2010 Couplé à Microsoft SharePoint Designer 2010, InfoPath 2010 simplifie la création de solutions de bout en bout sur SharePoint Server 2010, qui contiennent des formulaires
Taxe de séjour - Manuel de l utilisateur. Déclaration en ligne. Logiciel 3D Ouest
Version 1-3 Taxe de séjour - Manuel de l utilisateur Déclaration en ligne Logiciel 3D Ouest Table des matières : 1. Comment se connecter au logiciel?... 2 2. L interface :... 3 3. Comment déclarer un nouveau
Compte-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
Procédure serveur : gestion des environnements X3 et bases de données ORACLE
Procédure serveur : gestion des environnements X3 et bases de données ORACLE LUIS Maxime Un environnement X3 se définit en plusieurs parties selon le schéma suivant : Serveur Traitement Base de donnée
Logiciel Le Sphinx Plus 2 version 5. Le Sphinx Développement 74650 Chavanod
Logiciel Le Sphinx Plus 2 version 5 Le Sphinx Développement 74650 Chavanod 2005-2006 Plan Présentation générale du logiciel Stade Élaboration du questionnaire Stade Collecte des réponses Stade Traitements
DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin
DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL
Manuel d utilisation de la messagerie. http://zimbra.enpc.fr
Manuel d utilisation de la messagerie http://zimbra.enpc.fr ÉCOLE DES PONTS PARISTECH/ DSI JANVIER 04 SOMMAIRE. Connexion à la messagerie.... Présentation générale de l écran d accueil.... Déconnexion...
Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :
1 CONNEXION A LA MESSAGERIE ZIMBRA PAR LE WEBMAIL Ecran de connexion à la messagerie Rendez vous dans un premier temps sur la page correspondant à votre espace webmail : http://webmailn.%votrenomdedomaine%
Java 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
Gestion des documents avec ALFRESCO
Gestion des documents avec ALFRESCO 1 INTRODUCTION : 2 1.1 A quoi sert ALFRESCO? 2 1.2 Comment s en servir? 2 2 Créer d un site collaboratif 3 2.1 Créer le site 3 2.2 Inviter des membres 4 3 Accéder à
Tenrox. Guide d intégration Tenrox-Salesforce. Janvier 2012. 2012 Tenrox. Tous droits réservés.
Tenrox Guide d intégration Tenrox-Salesforce Janvier 2012 2012 Tenrox. Tous droits réservés. À propos de ce guide Le présent guide décrit les procédures nécessaires pour configurer les paramètres d intégration
TP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Bases de données avancées Introduction
Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)
La mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Introduction au logiciel de gestion bibliographique Zotero
au logiciel de gestion bibliographique Zotero Pour Microsoft Word et Writer La gestion manuelle des références bibliographiques (inventaire des sources consultées, rédaction d une bibliographie et création
Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales
Ecole des Hautes Etudes Commerciales HEC Alger Évolution des SGBDs par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Evolution des SGBDs Pour toute remarque, question, commentaire
LoReNa : pour dynamiser votre Relation Client (CRM)
LoReNa : pour dynamiser votre Relation Client (CRM) Valorisez votre Relation Client! http://www.lorena.pro/nossolutions/crm.aspx Introduction La connaissance du client est une des bases de la réussite
Manuel d utilisation du module Liste de cadeaux PRO par Alize Web
Manuel d utilisation du module Liste de cadeaux PRO par Alize Web INSTALLER ET CONFIGURER LE MODULE (BACK OFFICE) 2 Réglages des performances 2 Télécharger le module 3 Installer le module 4 Configurer
Plateforme de capture et d analyse de sites Web AspirWeb
Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises
CREATION 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
MODE OPERATOIRE OPENOFFICE BASE
MODE OPERATOIRE OPENOFFICE BASE Openoffice Base est un SGBDR : Système de Gestion de Base de Données Relationnelle. L un des principaux atouts de ce logiciel est de pouvoir gérer de façon efficace et rapide
NFA 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
Préparer la synchronisation d'annuaires
1 sur 6 16/02/2015 14:24 En utilisant ce site, vous autorisez les cookies à des fins d'analyse, de pertinence et de publicité En savoir plus France (Français) Se connecter Rechercher sur TechNet avec Bing
Aide. Réservez votre séjour pour Disneyland Resort Paris en quelques clics!
Aide Réservez votre séjour pour Disneyland Resort Paris en quelques clics! Etape 1 : Vos souhaits... 1 Etape 2 : Nos propositions... 2 Etape 3 : Vos besoins transports... 3 Etape 4 : Nos propositions transport...
PHP 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
IBM Tivoli Monitoring, version 6.1
Superviser et administrer à partir d une unique console l ensemble de vos ressources, plates-formes et applications. IBM Tivoli Monitoring, version 6.1 Points forts! Surveillez de façon proactive les éléments
Partie 0 : Gestion des tablespace et des utilisateurs... 3
Sommaire Partie 0 : Gestion des tablespace et des utilisateurs... 3 1- Créer deux TableSpaces votre_nom-tbs et Votre_nom-TempTBS :... 3 2. Créer un utilisateur qui porte votre nom :... 3 3. Attribuer à
Olivier 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
Nouveautés Ignition v7.7
... Nouveautés Ignition v7.7 Nouveautés Ignition v7.7 Découvrez le Nouveau Scada avec plus de 40 nouveautés Principales nouveautés :... Cloud Templates Template Repeater Client Multilingue + Sequential
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
