Gaudino, casier 5 version 2.0

Dimension: px
Commencer à balayer dès la page:

Download "Gaudino, casier 5 version 2.0"

Transcription

1 Gaudino, casier 5 version 2.0 Lycée Masséna Bases de données - Exercices P.C.S.I.834 I. Exercices I.1. Base d élèves On veut fabriquer une base de données des élèves de première année de prépa d un lycée (on omet la deuxième année. Il y a 4 classes en tout : MPSI, PCSI, BCPST, ECS. La base doit présenter les noms et prénoms, classe, année d entrée (le lycée a ouvert ses portes en 1980, et nous sommes en 2015, lycée d origine (de terminale, et la moyenne générale de chaque élève. En plus, on veut que soit précisé la rue et la ville du lycée d origine (sachant que certaines villes abritent plusieurs lycées, ainsi que le pays de ce lycée (certains pays abritent plusieurs villes.... Quelle structure de base peut répondre à ce problème (on donnera deux bases : une avec une seule table plate, l autre avec plusieurs tables? Écrire alors les requêtes SQL permettant de répondre aux questions suivantes : 1. Tous les renseignements sur les élèves de PCSI. 2. Tous les noms des élèves de PCSI. 3. Tous les noms et prénoms d élèves de PCSI, rentrés après Le nombre d élèves de BCPST qui viennent d une ville précise (par exemple Nice. Il peut y avoir plusieurs lycée dans cette ville. 5. La moyenne de classe des MPSI de Les moyennes de classes (toutes années confondues, rangées classe par classe. 7. Les classes dont la moyenne de classes de 1999 est supérieure à 10. Reprendre l exercice avec les requêtes de l algèbre relationnelle. I.2. Un mini-chat On veut programmer un forum (genre Twitter, où des participants viendront déposer des messages. 1. Les participants doivent fournir des renseignements : nom, surnom, âge. 2. Les messages (de simples textes un peu longs doivent être signés (du nom du participant, datés (on n a pas appris à utiliser efficacement les dates : on utilisera donc le format anglosaxon aammjj comme un INTEGER, par exemple pour le premier février 2014, qui devrait faciliter le classement chronologique, et regroupés par thèmes (les thèmes peuvent être prédéfinis. Questions : 1. Un débutant propose la base suivante : deux tables, une avec les thèmes, l autre avec les participants. Les messages seront stockés dans la table participants, avec un nouveau champ pour chaque nouveau message (champs message1, message2,.... Expliquez la vie à ce plaisantin. 2. Quelle structure de base prendre alors? 3. Avec la structure précédente, quelle commande utiliser pour afficher : (a le nom de tous les participants, ordre alphabétique ; (b le nom des participants majeurs ; (c tous les messages sur un thème donné (le 5 par exemple, par ordre antichronologique ; (d le nombre de message d un participant donné (le 5 par exemple ; (e les deux premiers messages d un participant donné (le 5 par exemple, ordre chronologique ; (f la liste des messages et le pseudo de leur auteur. (g les messages d un participant donné (connu par son nom, toto par exemple ; (h le tableau des participants, avec le nombre de messages ; (i le tableau des meilleurs participants (identifiés par leur id, avec le nombre de messages, pourvu qu il en ait au moins deux (triés par ordre décroissant de nombre de message ; (j le tableau des meilleurs participants (identifiés par leur noms, avec le nombre de messages, pourvu qu il en ait au moins deux (triés par ordre décroissant de nombre de message ; (k les messages (classés par thème, avec affichage du pseudo de l auteur et du thème. 1

2 I.3. Un loueur de voitures Un loueur de voiture veut une base qui permettra de voir : 1. son fichier client : nom, prénom, actuellement avec un véhicule ou pas - en précisant lequel ; 2. son fichier de véhicules : marque (Peugeot, Renault, Citroën, modèle (208, Clio, C6, Mégane, carburant (Essence, Diesel, Electrique, prix à la journée, véhicule loué ou pas, et à qui ; 3. son fichier de location : tel véhicule a été loué à telle date, et est revenu à telle date, il a été loué à M.Untel ; Quelle structure de base prévoir? On essaiera de ne pas répéter les informations. On peut partir avec l idée que l ordinateur sur lequel on travaille connait la date actuelle, et qu on peut la comparer avec une date entrée dans la base (ce qui est tout-à-fait raisonnable et simple, même si on ne sait pas faire en pratique. I.4. TP 1. Avec SQLite Manager : on va fabriquer la base (réduite du loueur de voiture à la main (c est assez long et pénible. (a Créer une nouvelle base loueur. (b Créer une table (plates voiture1 : fabriquer ces champs : i. un champ id : INTEGER, clé primaire, autoincrement ; ii. un champ marque : TEXT iii. un champ modele : TEXT iv. un champ energie : TEXT v. nombre de places : INTEGER vi. un champ debut : INTEGER vii. un champ fin : INTEGER (c Remplir (à la main, c est un peu long la table avec les données ci-dessous (la date est donnée suivant la convention déjà vue - id n est pas donnée. Peugeot 206 Essence Renault Twingo Diesel 4 NULL NULL Citroen C4 Essence NULL Peugeot 807 Diesel Renault Twizzy Electrique NULL Citroen Berlingo Diesel (d Avec l onglet SQL, effectuer quelques requêtes : toutes les voitures, classées par constructeur ; toutes les voitures diesel ; le nombre minimal de place ; toutes les voitures en cours de location. La nullité d un champ se teste avec champ IS NULL ou champ IS NOT NULL, et pas avec le =. (e Créer plusieurs tables qui reprennent ces informations mieux structurées, par exemple une table pour les véhicules (avec le nombre de places, une pour l énergie, et une pour les locations. Les remplir (à la main. (f Reprendre les questions. 2. Avec SQLite Manager : reprendre l exercice sur le mini-chat. La base minichat.sqlite est fournie avec 7 thèmes (math, physique, chimie..., 7 auteurs, et quelques messages (de simples répétitions de lettres sans intérêt. 3. Avec SQLite Manager et Python : on considère la base eleves.sqlite des élèves d une classe prépa décrite plus haut (fournie - les champs rue et pays sont omis. (a Ouvrir la base dans SQLite Manager pour se familiariser avec. (b Écrire une requête SQL qui récupère tous les lycées de la base (par leur id ou leur nom, au choix. (c Mettre cette liste dans une variable Python, nommée listelycee. (d Écrire une requête SQL qui affiche tous les élèves (avec leur classe d une année (2010 par exemple et d un lycée donné. On affichera l ordre alphabétique des noms. (e En Python, écrire la ou les chaines qui permettront de fabriquer un fichier CSV qui regroupe ces données. On rappelle qu il s agit de séparer les renseignements par des virgules (ne pas oublier le passage à la ligne. 2

3 (f En Python, fabriquer ce fichier CSV! Le tableau commencera par une ligne qui indique la légende (nom, prenom, classe. (g Modifier ce qui précède pour avoir, sur le même fichier, tous les élèves d une même année (2010, regroupés par lycée d origine. Les différents lycées seront séparés par une ligne, et annoncés par leur nom. Avec un peu plus d efforts, on obtiendrait non pas un seul fichier mais un fichier par lycée, sous une présentation un peu plus complète qu un simple CSV, et on enverrait automatiquement ce fichier au lycée concerné. 3

4 II. Exercices - Correction II.1. Base d élèves On veut fabriquer une base de données des élèves de première année de prépa d un lycée (on omet la deuxième année. Il y a 4 classes en tout : MPSI, PCSI, BCPST, ECS. La base doit présenter les noms et prénoms, classe, année d entrée (le lycée a ouvert ses portes en 1980, et nous sommes en 2015, lycée d origine (de terminale, et la moyenne générale de chaque élève. En plus, on veut que soit précisé la rue et la ville du lycée d origine (sachant que certaines villes abritent plusieurs lycées, ainsi que le pays de ce lycée (certains pays abritent plusieurs villes.... Quelle structure de base peut répondre à ce problème (on donnera deux bases : une avec une seule table plate, l autre avec plusieurs tables? Écrire alors les requêtes SQL permettant de répondre aux questions suivantes : 1. Tous les renseignements sur les élèves de PCSI. 2. Tous les noms des élèves de PCSI. 3. Tous les noms et prénoms d élèves de PCSI, rentrés après Le nombre d élèves de BCPST qui viennent d une ville précise (par exemple Nice. Il peut y avoir plusieurs lycée dans cette ville. 5. La moyenne de classe des MPSI de Les moyennes de classes (toutes années confondues, rangées classe par classe. 7. Les classes dont la moyenne de classes de 1999 est supérieure à 10. Reprendre l exercice avec les requêtes de l algèbre relationnelle. 1. Avec une seule table plate en SQL : une table qui admet comme colonnes (on peut rajouter une colonne id si on veut : nom(text, prenom(text, classe(text, année(int, lycee(text, ruelycee(text, villelycee(text, note(real. L inconvénient sera que : il y a un fort risque de faute de frappe (BSPCT, MPCSI,20115,... ; l adresse de chaque lycée est répétée aussi souvent qu il y a un élève qui en est issu (idem pour l année,... il y a un fort risque d incohérence dans le nome ou l adresse d un lycée (Masséna, MASSENA, Massena, 2 AV Félix Faure, 2 avenue F.Faure,..., en l état, il n y a pas de clé primaire évidente. (a Tous les renseignements sur les élèves de PCSI. SELECT * FROM table WHERE classe='pcsi' (b Tous les noms des élèves de PCSI. SELECT nom FROM table WHERE classe='pcsi' (c Tous les noms et prénoms d'élèves de PCSI, rentrés après SELECT nom,prenom FROM table WHERE (classe='pcsi'and annee>=2000 (d Le nombre d'élèves de BCPST qui viennent d'une ville précise (par exemple Nice. Il peut y avoir plusieurs lycée dans cette ville. SELECT COUNT(* FROM table WHERE villelycee='nice' (e La moyenne de classe des MPSI de SELECT AVG(moyenne FROM table WHERE (classe='mpsi'and annee=1999 (f Les moyennes de classes (toutes années confondues, rangées classe par classe. SELECT classe,avg(note FROM table GROUP BY classe (g Les classes dont la moyenne de classes de 1999 est supérieure à 10. SELECT classe FROM table WHERE (annee=1999 GROUP BY classe HAVING AVG(note>=10 2. Avec une seule table plate en algèbre relationnelle : on prend la même relation (nommée table. (a Tous les renseignements sur les élèves de PCSI. σ classe= P CSI (table (b Tous les noms des élèves de PCSI. π nom σ classe= P CSI (table (c Tous les noms et prénoms d élèves de PCSI, rentrés après π nom,prenom σ classe= P CSI σ annee>=2000(table (d Le nombre d élèves de BCPST qui viennent d une ville précise (par exemple Nice. Il peut y avoir plusieurs lycée dans cette ville. γ comptage(nom σ villelycee= NICE (table. En fait, il y a un problème sur l attribut compté, car ce n est peut-être pas une clé primaire (il faudrait probablement ajouter une colonne id pour être tranquille. (e La moyenne de classe des MPSI de γ moyenne(note σ classe= MP SI σ annee=1999(table. (f Les moyennes de classes (toutes années confondues, rangées classe par classe. classe γ moyenne(note (table mais la classe s affichera aussi. Il faut donc plutôt π moyenne(note classe γ moyenne(moyenne (table 4

5 (g Les classes dont la moyenne de classes de 1999 est supérieure à 10. π classe σ moyenne(note>=10 classe γ moyenne(note σ annee=1999 (table 3. Avec plusieurs tables : On fait (toutes les tables ont un index non rappelé dans la suite : une table eleves, qui aura comme clés étrangères des pointeurs vers toutes les autres tables (sauf ville. Les champs sont nom, prenom, note, classe, annee, lycee (les trois derniers sont des pointeurs ; une table annee, sans clé étrangère. Un seul champ, l année ; une table classe, sans clé étrangère. Un seul champ, la classe ; une table lycee, qui aura comme clé étrangère un pointeur vers la table ville. Trois champs : le lycée, la rue, et un pointeur vers la ville ; une table ville, sans clé étrangère. Les champs sont nom, pays. On pourrait faire aussi une autre table avec les pays. On construit donc les tables ville, classe, annee (dans l ordre qu on veut. Puis la table lyceeterminale. Et enfin la table eleves. De manière générale, ce n est pas très malin : par exemple classe renvoie à trois choses distinctes, une table et deux champs de tables distinctes. Attention à ne pas se mélanger. Le mieux est quand même de choisir des noms moins trompeurs. (a Tous les renseignements sur les élèves de PCSI. C est très pénible (il faut joindre toutes les tables et c est normal : cette requête n est pas réaliste (pensez à la requête qui présente toutes les données de Facebook, par exemple. (b Tous les noms des élèves de PCSI. SELECT nom FROM eleves JOIN classe ON eleves.classe=classe.id WHERE classe.classe='pcsi' π nom σ classe.classe= P CSI (eleves classe eleves.classe=classe.id (c Tous les noms et prénoms d élèves de PCSI, rentrés après SELECT nom,prenom FROM eleves JOIN classe ON eleves.classe=classe.id JOIN annee ON eleve.annee=annee.id WHERE (classe.classe='pcsi'and annee.annee>=2000 π nom,prenom σ classe.classe= P CSI σ annee.annee>=2000 ( eleves classe eleves.classe=classe.id classe eleves.annee=annee.id (d Le nombre d élèves de BCPST qui viennent d'une ville précise (par exemple Nice. Il peut y avoir plusieurs lycée dans cette ville. SELECT COUNT(* FROM eleve JOIN lycee ON lycee.id=eleve.lycee JOIN ville ON ville.id=lycee.ville WHERE ville.nom='nice' γ comptage(nom σ ville.nom=nice (eleve lycee.id=eleve.lycee lycee (e La moyenne de classe des MPSI de ville ville.id=lycee.ville (f Les moyennes de classes (toutes années confondues, rangées classe par classe. (g Les classes dont la moyenne de classes de 1999 est supérieure à 10. II.2. Un mini-chat On veut programmer un forum (genre Twitter, où des participants viendront déposer des messages. 1. Les participants doivent fournir des renseignements : nom, surnom, âge. 2. Les messages (de simples textes un peu longs doivent être signés (du nom du participant, datés (on n a pas appris à utiliser efficacement les dates : on utilisera donc le format anglosaxon aammjj comme un INTEGER, par exemple pour le premier février 2014, qui devrait faciliter le classement chronologique, et regroupés par thèmes (les thèmes peuvent être prédéfinis. Questions : 1. Un débutant propose la base suivante : deux tables, une avec les thèmes, l autre avec les participants. Les messages seront stockés dans la table participants, avec un nouveau champ pour chaque nouveau message (champs message1, message2,.... Expliquez la vie à ce plaisantin. La table participants n a pas un nombre fixe de colonnes : comment les nommer, puis les interroger facilement? En créant une table avec un grand nombre préfixé de colonnes. Mais alors, on limite le nombre de messages, et on utilise une table gigantesque même pour les participants très occasionnels. 5

6 2. Quelle structure de base prendre alors? On fait dans cet ordre (toutes les tables auront une première colonne id, INTEGER, déclarée comme clé principale, autoincrémentée : une table participants, sans clé étrangère. Champs : nom (TEXT, surnom (TEXT, age (INTEGER une table themes, sans clé étrangère. Champ : theme (TEXT et enfin une table messages, qui aura comme clés étrangères un pointeur vers chacune des deux autres. Champs : message (TEXT, auteur, date et theme (INTEGER tous les trois. À chaque nouveau message, cette table sera augmentée d un ligne. 3. Avec la structure précédente, quelle commande utiliser pour afficher (commande SQL et relationnelle : (a le nom de tous les participants, ordre alphabétique ; SELECT nom FROM participants ORDER BY nom ASC π nom (participants et on n a pas appris à coder le ORDER (b le nom des participants majeurs ; SELECT nom FROM participants WHERE age >= 18 π nom σ age>=18 (participants (c tous les messages sur un thème donné (le 5 par exemple, par ordre antichronologique ; SELECT message FROM messages WHERE theme = 5 ORDER BY date DESC π message σ theme=5 (messages et même remarque sur l ordre. (d le nombre de message d un participant donné (le 5 par exemple ; SELECT COUNT(message FROM messages WHERE auteur = 5 γ comptage(message σ auteur=5 (messages (e les deux premiers messages d un participant donné (le 5 par exemple, ordre chronologique ; SELECT message, date FROM messages WHERE auteur = 5 ORDER BY date ASC LIMIT 0,2 et on ne sait faire ni l ordre, ni la limitation en relationnel. (f la liste des messages et le pseudo de leur auteur. SELECT m.message, p.nom FROM messages AS m JOIN participants AS p ON m.auteur = p.id π messages.message,participants.nom (messages auteur=id participants (g les messages d un participant donné (connu par son nom, toto par exemple ; SELECT * FROM messages WHERE auteur = 'toto' ne marche pas, car le nom de l auteur n apparait pas dans message, mais dans participants. Il faut faire une jointure. SELECT m.message FROM messages AS m JOIN participants AS p ON ( p.id = m.auteur WHERE p.nom='etienne' π messages.message σ participants.nom= etienne (messages participants auteur=id (h le tableau des participants, avec le nombre de messages ; SELECT p.nom, COUNT(m.message FROM participants AS p JOIN messages AS m ON m.auteur = p.id GROUP BY p.nom participants.nomγ comptage(messages.message (messages auteur=id participants (i le tableau des meilleurs participants (identifiés par leur id, avec le nombre de messages, pourvu qu il en ait au moins deux (triés par ordre décroissant de nombre de message ; SELECT m.auteur, COUNT(m.message AS c FROM messages AS m GROUP BY m.auteur HAVING c >=2 ORDER BY c DESC σ comptage(messages.message>=2 messages.auteur γ comptage(messages.message (messages (j le tableau des meilleurs participants (identifiés par leur noms, avec le nombre de messages, pourvu qu il en ait au moins deux (triés par ordre décroissant de nombre de message ; SELECT p.nom, COUNT(m.message AS c FROM participants AS p JOIN messages AS m ON m.auteur = p.id GROUP BY p.nom HAVING c >= 2 ORDER BY c DESC σ comptage(messages.message>=2 participants.nom γ comptage(messages.message (messages participants auteur=id (k les messages (classés par thème, avec affichage du pseudo de l auteur et du thème. Il faut deux jointures! SELECT m.message, p.surnom,t.theme, m.date FROM messages AS m JOIN participants as p ON m.auteur=p.id 6

7 JOIN themes as t ON m.theme = t.id ORDER BY m.theme ASC π messages.message,participants.surnom,themes.theme,messages.date (messages auteur=id participants themes theme=id II.3. Un loueur de voitures Un loueur de voiture veut une base qui permettra de voir : 1. son fichier client : nom, prénom, actuellement avec un véhicule ou pas - en précisant lequel ; 2. son fichier de véhicules : marque (Peugeot,Renault, Citroën, modèle (208, Clio, C6, Mégane, carburant (Essence, Diesel, Electrique, prix à la journée, véhicule loué ou pas, et à qui ; 3. son fichier de location : tel véhicule a été loué à telle date, et est revenu à telle date, il a été loué à M.Untel ; Quelle structure de base prévoir? On essaiera de ne pas répéter les informations. On peut partir avec l idée que l ordinateur sur lequel on travaille connait la date actuelle, et qu on peut la comparer avec une date entrée dans la base (ce qui est tout-à-fait raisonnable et simple, même si on ne sait pas faire en pratique. La difficulté est de ne pas répéter l information. On peut le faire avec : 1. une table client, sans clé étrangère, avec les seuls champs nom et prenom (plus un index ; 2. une table vehicule, sans clé étrangère, avec les seuls champs marque, modèle, carburant, prix à la journée (plus un index ; 3. ou encore une table vehicule avec des clés étrangères, et des champs marque, modèle, carburant (plusieurs possibilités et enfin une table emprunt avec beaucoup de clés étrangères : avec un index qui sera le numéro de l emprunt, un champ qui qui pointera sur la base client, un champ quoi qui pointera sur la base vehicule, et deux champs debut et fin qui donneront les dates. II.4. TP 1. Avec SQLite Manager : on va fabriquer la base (réduite du loueur de voiture à la main (c est assez long et pénible. (a Créer une nouvelle base loueur. (b Créer une table (plates voiture1 : fabriquer ces champs : i. un champ id : INTEGER, clé primaire, autoincrement ; ii. un champ marque : TEXT iii. un champ modele : TEXT iv. un champ energie : TEXT v. nombre de places : INTEGER vi. un champ debut : INTEGER vii. un champ fin : INTEGER (c Remplir (à la main, c est un peu long la table avec les données ci-dessous (la date est donnée suivant la convention déjà vue - id n est pas donnée. Peugeot 206 Essence Renault Twingo Diesel 4 NULL NULL Citroen C4 Essence NULL Peugeot 807 Diesel Renault Twizzy Electrique NULL Citroen Berlingo Diesel (d Avec l onglet SQL, effectuer quelques requêtes : toutes les voitures, classées par constructeur ; SELECT marque, modele FROM voiture1 ORDER BY marque ASC toutes les voitures diesel ; SELECT marque, modele FROM voiture1 WHERE energie = 'Diesel' le nombre minimal de place ; SELECT MIN(places FROM voiture1 toutes les voitures en cours de location. La nullité d un champ se teste avec champ IS NULL ou champ IS NOT NULL, et pas avec le =. SELECT marque, modele FROM voiture1 WHERE debut IS NOT NULL AND fin IS NULL 7

8 (e Créer plusieurs tables qui reprennent ces informations mieux structurées, par exemple une table pour les véhicules (avec le nombre de places, une pour l énergie, et une pour les locations. Les remplir (à la main. (f Reprendre les questions. Le nombre minimal de place ne change pas. Pour les voitures en cours de location : une jointure SELECT v.marque, v.modele FROM voiture AS v JOIN location AS l ON v.id = l.vehicule WHERE (l.debut IS NOT NULL AND l.fin IS NULL Pour les véhicules diesel : une jointure SELECT v.marque, v.modele FROM voiture AS v JOIN energie AS e ON v.energie = e.id WHERE e.energie = 'Diesel' 2. Avec SQLite Manager : reprendre l exercice sur le mini-chat. La base minichat.sqlite est fournie avec 7 thèmes (math, physique, chimie..., 7 auteurs, et quelques messages (de simples répétitions de lettres sans intérêt. 3. Avec SQLite Manager et Python : on considère la base eleves.sqlite des élèves d une classe prépa décrite plus haut (fournie - les champs rue et pays sont omis. (a Ouvrir la base dans SQLite Manager pour se familiariser avec. (b Écrire une requête SQL qui récupère tous les lycées de la base (par leur id ou leur nom, au choix. SELECT nom FROM lycee ou SELECT id FROM lycee (c Mettre cette liste dans une variable Python, nommée listelycee. connexion =sqlite3.connect("eleves.sqlite" curseur =connexion.cursor( curseur.execute("select nom FROM lycee" listelycee = curseur.fetchall( connexion.commit( #sauve les modifications - inutile si on ne fait que des SELECT connexion.close( (d Écrire une requête SQL qui affiche tous les élèves (avec leur classe d une année (2010 par exemple et d un lycée donné. On affichera l ordre alphabétique des noms. SELECT e.nom, e.prenom FROM eleves AS e WHERE annee = 1 AND lycee = 1 si on connait l id de l année et du lycée. Sinon, il faut faire deux jointures : SELECT e.nom, e.prenom FROM eleves AS e JOIN annee AS a ON e.annee = a.id JOIN lycee AS l ON e.lycee = l.id WHERE (a.annee=2010 AND l.nom='massena' Pour la classe, il faut rajouter : SELECT e.nom, e.prenom, c.classe FROM eleves AS e JOIN annee AS a ON e.annee = a.id JOIN lycee AS l ON e.lycee = l.id JOIN classe AS c ON c.id = e.classe WHERE (a.annee=2010 AND l.nom='massena' ORDER BY e.nom ASC (e En Python, écrire la ou les chaines qui permettront de fabriquer un fichier CSV qui regroupe ces données. On rappelle qu il s agit de séparer les renseignements par des virgules (ne pas oublier le passage à la ligne. On récupère la liste des lignes, chaque ligne étant un tuple, comme décrit plus haut. Notez que ce tuple n est pas une chaine, c est un tuple de chaines. La virgule ne joue pas le bon rôle. for ligne in resultat: chaine = '' for champ in ligne: chaine = chaine + champ + ',' #il y aura une virgule en trop à la fin chaine = chaine + '\n' #A ce stade, chaine contient une ligne, finie par un retour à la ligne (f En Python, fabriquer ce fichier CSV! Le tableau commencera par une ligne qui indique la légende (nom, prenom, classe. Il faut ouvrir un nouveau fichier, y ajouter la légende et ces lignes, puis le fermer. objet = open('donnees.csv', 'w' objet.write('nom,prenom,classe\n' 8

9 for ligne in resultat: chaine = '' for champ in ligne: chaine = chaine + champ + ',' #il y aura une virgule en trop à la fin chaine = chaine + '\n' objet.write(chaine objet.close( (g Modifier ce qui précède pour avoir, sur le même fichier, tous les élèves d une même année (2010, regroupés par lycée d origine. Les différents lycées seront séparés par une ligne, et annoncés par leur nom. Il faut enfermer tout ce qui précède dans une boucle sur les éléments de la listelycee. Il y a quelques difficultés : listelycee est une liste de tuple. Si on note lycee un de ces tuples, le nom d un lycée s obtient par lycee[0]. la requête de sélection est un peu pénible. On peut par exemple déporter son écriture dans une variable requête. Pour écrire une chaine sur plusieurs lignes, on utilise \ en Python : requete = "SELECT... " Les guillemets vont vous donner du fil à retordre 1 : soit on échappe, soit on ruse avec les guillemets simples ou doubles. Par exemple en rusant "WHERE (a.annee=2010 AND l.nom='" +lycee[0]+ "'" Il me semble plus simple d ouvrir et de fermer le fichier une unique fois. On peut avoir la même idée pour la base. Avec un peu plus d efforts, on obtiendrait non pas un seul fichier mais un fichier par lycée, sous une présentation un peu plus complète qu un simple CSV, et on enverrait automatiquement ce fichier au lycée concerné. 1. Là, pas de mascarade, on va voir qui comprend. À vous de briller. 9

Le langage SQL Rappels

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,

Plus en détail

1 Introduction et installation

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

Plus en détail

Langage SQL : créer et interroger une base

Langage 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étail

I4 : Bases de Données

I4 : 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étail

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 : 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

Plus en détail

1. Base de données SQLite

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

Plus en détail

Cours Bases de données 2ème année IUT

Cours 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étail

TD n 10 : Ma première Base de Données

TD n 10 : Ma première Base de Données TD n 10 : Ma première Base de Données 4 heures Rédigé par Pascal Delahaye 11 mars 2015 Le but de ce TD est de découvrirles principales fonctions d OpenOffice Base, le systèmede gestion de bases de données

Plus en détail

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

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

Plus en détail

Systèmes de Gestion de Bases de Données

Systèmes de Gestion de Bases de Données Systèmes de Gestion de Bases de Données Luiz Angelo STEFFENEL DUT Informatique 2ème année IUT Nancy Charlemagne Vues Vue : une table virtuelle de la base de données dont le contenu est défini par une requête

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_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étail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

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

Plus en détail

TP Bases de données réparties

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

Plus en détail

PHP 5. La base de données MySql. A. Belaïd 1

PHP 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étail

Base de données relationnelle et requêtes SQL

Base de données relationnelle et requêtes SQL Base de données relationnelle et requêtes SQL 1e partie Anne-Marie Cubat Une question pour commencer : que voyez-vous? Cela reste flou Les plans de «Prison Break»? Non, cherchons ailleurs! Et de plus près,

Plus en détail

MODE OPERATOIRE OPENOFFICE BASE

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

Plus en détail

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

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

Plus en détail

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble. Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables

Plus en détail

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres. INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES Durée : 1h30 Date : 17/05/2006 Coordonnateurs : Amel Bouzeghoub et Bruno Defude Documents autorisés : ceux distribués en cours Avertissements

Plus en détail

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3 TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3 03/11/2014 Plan du TP 2 Présentation de la suite Microsoft BI Ateliers sur SSIS (2H) Ateliers sur RS (2H) 3 Présentation de la suite Microsoft BI Présentation

Plus en détail

SQL Historique 1982 1986 1992

SQL 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étail

Les bases de données

Les bases de données Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A 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étail

Bases de Données relationnelles et leurs systèmes de Gestion

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

Plus en détail

16H Cours / 18H TD / 20H TP

16H Cours / 18H TD / 20H TP INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES

Plus en détail

Sage 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 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étail

Le Langage SQL version Oracle

Le 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étail

Mysql avec EasyPhp. 1 er mars 2006

Mysql avec EasyPhp. 1 er mars 2006 Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe

Plus en détail

Bases de données élémentaires Maude Manouvrier

Bases de données élémentaires Maude Manouvrier Licence MI2E- 1ère année Outils en Informatique Bases de données élémentaires Maude Manouvrier Définitions générales et positionnement du cours dans la formation Vocabulaire relatif aux bases de données

Plus en détail

1. 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. 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étail

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF 2008-2009

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

Plus en détail

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima Bases de données cours 4 Construction de requêtes en SQL Catalin Dima Requêtes SQL et langage naturel Énoncés en langage naturel. Traduction en SQL? Correspondance entre syntagmes/phrases et opérations

Plus en détail

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA DEFINITION D UNE BIBLIOTHEQUE D ACCES A UNE BASE DE DONNEES Cet article s adresse aux administrateurs SAS en charge de la mise à disposition des

Plus en détail

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013

BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 BTS/CGO P10 SYSTEME INFORMATION Année 2012-2013 TS2 CGO 7 mars 2013 2 heures Aucun document autorisé Calculatrice autorisée Nota : Il vous est demandé d apporter un soin particulier à la présentation de

Plus en détail

MySQL / SQL EXEMPLES

MySQL / SQL EXEMPLES MySQL_exemples_janv04_mpT EXEMPLES 1 MySQL / SQL EXEMPLES Typologie du langage Il est possible d'inclure des requêtes SQL dans un programme écrit dans un autre langage (en langage C par exemple), ainsi

Plus en détail

Présentation Windows Azure Hadoop Big Data - BI

Présentation Windows Azure Hadoop Big Data - BI Présentation Windows Azure Hadoop Big Data - BI Sommaire 1. Architecture Hadoop dans Windows Azure... 3 2. Requête Hive avec Hadoop dans Windows Azure... 4 3. Cas d études... 5 3.1 Vue : Administrateur...

Plus en détail

1 Modélisation d une base de données pour une société de bourse

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

Plus en détail

A QUOI SERVENT LES BASES DE DONNÉES?

A 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étail

Bases de données relationnelles

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

Plus en détail

Cours SQL. Base du langage SQL et des bases de données

Cours SQL. Base du langage SQL et des bases de données Cours SQL Base du langage SQL et des bases de données Auteur Tony Archambeau Site web http://sql.sh Date 24 mai 2014 Licence Mis à disposition selon les termes de la licence Creative Commons Attribution

Plus en détail

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

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

Plus en détail

Le modèle de données

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.

Plus en détail

TP3 : Creation de tables 1 seance

TP3 : 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étail

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création

Construction d un EDD avec SQL 2008 R2. D. Ploix - M2 Miage - EDD - Création Construction d un EDD avec SQL 2008 R2 Plan Analyse du DW construit Construction de la base DW dans SQL 2008 Construction des tables de faits et dimensions Injection des données Étapes de l injection des

Plus en détail

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3 TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3 30/11/2011 Plan du TP 2 Rappel sur la chaine de BI Présentation de la suite Microsoft BI Ateliers sur SSIS (2H) Ateliers sur RS (2H) 3 Rappel sur la chaine de

Plus en détail

FileMaker 13. Guide de référence SQL

FileMaker 13. Guide de référence SQL FileMaker 13 Guide de référence SQL 2013 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et Bento sont des marques commerciales de

Plus en détail

SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0

SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 2013 SQL sous SqlServer OLIVIER D. DEHECQ Olivier http://www.entraide-info.fr 0 Table des matières Signalétique... 2 1 Les bases du SQL... 3 2 SQL server... 6 2 Références des exercices...21 DEHECQ Olivier

Plus en détail

COURS WINDEV NUMERO 3

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

Plus en détail

INTRODUCTION AU DATA MINING

INTRODUCTION AU DATA MINING INTRODUCTION AU DATA MINING 6 séances de 3 heures mai-juin 2006 EPF - 4 ème année - Option Ingénierie d Affaires et de Projets Bertrand LIAUDET TP DE DATA MINING Le TP et le projet consisteront à mettre

Plus en détail

Les BASES de DONNEES dans WampServer

Les 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étail

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 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étail

Auto-évaluation SQL. Document: f0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium

Auto-évaluation SQL. Document: f0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium Auto-évaluation SQL Document: f0453test.fm 19/04/2012 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INTRDUCTIN AUT-ÉVALUATIN SQL Indications d utilisation Ce test est

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

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

Plus en détail

Vincent Augusto 2010-2011

Vincent Augusto 2010-2011 le des Systèmes Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2010-2011 Un 1/73 le des Un 2/73 1 2 3 4 le 5 6 7 8 Un le des Un 3/73 Contenu du cours : Techniques pour l analyse

Plus en détail

PHP 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. 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étail

Introduction au Système de Gestion de Base de Données et aux Base de Données

Introduction au Système de Gestion de Base de Données et aux Base de Données Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière

Plus en détail

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche (sebastien@nameche.fr)

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche (sebastien@nameche.fr) Support de cours Introduction à SQL et MySQL 2003, Sébastien Namèche (sebastien@nameche.fr) Licence de Libre Diffusion des Documents -- LLDD version 1 (Par Bernard Lang, http://pauillac.inria.fr/~lang/licence/lldd.html)

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, 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étail

Saisie de données dans plusieurs tables

Saisie de données dans plusieurs tables Saisie de données dans plusieurs tables Lors de l arrivée d un nouvel adhérent, il va falloir saisir plusieurs types d informations réparties dans des tables différentes, mais regroupées dans un même formulaire.

Plus en détail

Bases de Données. Plan

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

Plus en détail

Le Langage De Description De Données(LDD)

Le 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étail

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

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. 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étail

Objectifs du TP : Initiation à Access

Objectifs 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étail

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable :

WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable : BES WEBDEVELOPER - SYSTEME DE GESTION DE BASES DE DONNEES - 5XBDR-1 1 WEB DEVELOPER SGBD SYSTEME DE GESTION DE BASES DE DONNEES L étudiant sera capable : dans le cadre de mise en situations simples et

Plus en détail

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR Système de Gestion de Bases de Données Relationnelles MySQL Youssef CHAHIR 1 PLAN Introduction Démarrer MySQL Syntaxe de MySQL Types des attributs Identificateurs Effectuer des requêtes Fonctions de MySQL

Plus en détail

Partie 0 : Gestion des tablespace et des utilisateurs... 3

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 à

Plus en détail

PROJET 1 : BASE DE DONNÉES REPARTIES

PROJET 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étail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table 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étail

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en

Plus en détail

Guide pratique du référencement de web consultant eu. Commençons par l optimisation de vos pages, ou on page

Guide pratique du référencement de web consultant eu. Commençons par l optimisation de vos pages, ou on page Guide pratique du référencement de web consultant eu Edition 2012 Commençons par l optimisation de vos pages, ou on page L'optimisation de vos balises, ou metatags, . 1. La balise est celle

Plus en détail

La présente publication est protégée par les droits d auteur. Tous droits réservés.

La présente publication est protégée par les droits d auteur. Tous droits réservés. Editeur (Medieninhaber/Verleger) : Markus Winand Maderspergerstasse 1-3/9/11 1160 Wien AUSTRIA Copyright 2013 Markus Winand La présente publication est protégée par les droits d auteur.

Plus en détail

Cours 4 : Agrégats et GROUP BY

Cours 4 : Agrégats et GROUP BY Cours 4 : Agrégats et GROUP BY Agrégat Fonction qui effectue un calcul sur l ensemble des valeurs d un attribut pour un groupe de lignes Utilisation dans une clause SELECT ou dans une clause HAVING 3 types

Plus en détail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

Introduction aux Bases de Données 2004/2005

Introduction aux Bases de Données 2004/2005 Introduction aux Bases de Données 2004/2005 Chapitre 6: Le langage SQL Ecole Nationale Supérieur de Physique de Strasbourg Christian Wolf christian.wolf@ensps.u-strasbg.fr 6.1 Stockage physique Film numfil

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS 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étail

Sybase Adaptive Server Enterprise 15

Sybase Adaptive Server Enterprise 15 Sybase Adaptive Server Enterprise 15 Prêt pour Sybase Adaptive Server Enterprise 15? Novembre 2006 Documentation technique # 29 Introduction Cette présentation liste les fonctionnalités importantes de

Plus en détail

Quelques 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 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étail

AURELIE Gestion Commerciale Mode d emploi pour Gestion des cartes de fidélité 1/ But :... 2 2/ Pré-Requis :... 2 3/ Fiches à créer au préalable :...

AURELIE Gestion Commerciale Mode d emploi pour Gestion des cartes de fidélité 1/ But :... 2 2/ Pré-Requis :... 2 3/ Fiches à créer au préalable :... 1/ But :... 2 2/ Pré-Requis :... 2 3/ Fiches à créer au préalable :... 2 3.1/ Bons d achats :... 2 3.1.1/ Comment y aller?... 2 3.1.2/ Les différents types :... 3 3.2/ Articles de type remise :... 7 3.2.1/

Plus en détail

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7 Bases de données Yamine AIT AMEUR INPT-ENSEEIHT DIMA 2 Rue Charles Camichel 31071 Toulouse Cedex 7 Première partie Introduction 1 Généralités et notions de base Première partie Introduction 1 Généralités

Plus en détail

Bases de données avancées Introduction

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)

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

Plus en détail

Support de Cours REQUÊTES TRANSACT-SQL DANS MICROSOFT SQL SERVER 2000. Stéphane N GUESSAN Groupe Pigier Abidjan Version 1.

Support de Cours REQUÊTES TRANSACT-SQL DANS MICROSOFT SQL SERVER 2000. Stéphane N GUESSAN Groupe Pigier Abidjan Version 1. Support de Cours REQUÊTES TRANSACT-SQL DANS MICROSOFT SQL SERVER 2000 Stéphane N GUESSAN Groupe Pigier Abidjan Version 1.1 du 29/04/05 CHAPITRE 0 : INTRODUCTION...4 I) Objectifs...4 II) Certification Microsoft...4

Plus en détail

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD Plan Bases de Données L3 Info Céline Rouveirol 2010-2011 Bases de Données 1 / 77 Sources des transparents Bases de Données 2 / 77 Bases de SQL - M.P. Dorville/F. Goasdoué, LRI, Université Paris Sud - V.

Plus en détail

PHP 4 PARTIE : BASE DE DONNEES

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

Plus en détail

Modé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 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étail

Olivier Mondet http://unidentified-one.net

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

Plus en détail

NF26 Data warehouse et Outils Décisionnels Printemps 2010

NF26 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étail

Création et Gestion des tables

Cré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étail

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214

PHP. Bertrand Estellon. 26 avril 2012. Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 PHP Bertrand Estellon Aix-Marseille Université 26 avril 2012 Bertrand Estellon (AMU) PHP 26 avril 2012 1 / 214 SQLite et PDO Base de données SQLite et PDO SQLite écrit les données relatives à la base dans

Plus en détail

CREATION WEB DYNAMIQUE

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

Plus en détail

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE TP N 1 : Initiation à L Access I. Introduction Microsoft Access fait partie

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Cré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étail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Devoir Data WareHouse

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

Plus en détail