introduction aux bases de données

22
Introduction aux bases de données (pour ma grand-mère ;-) Isabelle Motte Novembre 2010 Licence Creative Commons by-nc-sa

Upload: motte-isabelle

Post on 22-Nov-2014

2.318 views

Category:

Education


2 download

DESCRIPTION

Découvrez le concept de base de données relationnelle au travers d'un simple exemple de gestion d'une bibliothèque ...

TRANSCRIPT

Page 1: Introduction aux bases de données

Introduction aux bases de données(pour ma grand-mère ;-)

Isabelle Motte

Novembre 2010

Licence Creative Commons by-nc-sa

Page 2: Introduction aux bases de données

Débutons par un exemple :la gestion d'une bibliothèque

Page 3: Introduction aux bases de données

Comment gérer l'emprunt d'ouvrages ?

Titre Auteur Editeur Année Cote

Jean-Marc Manach FYP Editions 2010 MAN002Alc@tr@z numérique Sébastien Fanti Editions ENI 2009 FAN008Présentation Zen Garr Reynolds CampusPress 2008 REY006Chargin d'école Daniel Pennac Gallimard 2009 PEN119Economie du logiciel libre François Elie Eyrolles 2009 ELI456

2006 NOI76OpenOffice.org 3 efficace Eyrolles 2009 COL120

Ubuntu efficace Eyrolles 2009 COL156

La vie privée, un problèmede vieux cons

La bataille du logiciel libre : Dix clés pour comprendre

Thierry et Perline Noisette

Editions La Découverte

L.Dricot, K.Novak,et M.Shuttleworth

Page 4: Introduction aux bases de données

Comment gérer l'emprunt d'ouvrages ?

Titre Auteur Editeur Année Cote

Jean-Marc Manach FYP Editions 2010 MAN002 Isabelle MOTTE Alc@tr@z numérique Sébastien Fanti Editions ENI 2009 FAN008 Isabelle MottePrésentation Zen Garr Reynolds CampusPress 2008 REY006 Grégoire VinckeChargin d'école Daniel Pennac Gallimard 2009 PEN119 Anne-Cécile WauthyEconomie du logiciel libre François Elie Eyrolles 2009 ELI456 Grégoire Vincke

2006 NOI76 Eric DepiereuxOpenOffice.org 3 efficace Eyrolles 2009 COL120 Eric Depiereux

Ubuntu efficace Eyrolles 2009 COL156 A.-C. Wauthy

Emprunteur

La vie privée, un problèmede vieux cons

La bataille du logiciel libre : Dix clés pour comprendre

Thierry et Perline Noisette

Editions La Découverte

L.Dricot, K.Novak,et M.Shuttleworth

1ère idée : une nouvelle colonne avec le nom de l'emprunteur ...

MAIS l'encodage peut poser problème (majuscules, initiales, ..);MAIS en cas de mise à jour des informations sur une personne, il faut vérifier partout;MAIS plusieurs personnes peuvent avoir les mêmes noms et prénoms;MAIS on a besoin de plus d'informations sur les emprunteurs (adresse pour rappels, ...)

Comment gérer tout cela en évitant de dupliquer les informations sur les emprunteurs ?

Page 5: Introduction aux bases de données

Comment gérer l'emprunt d'ouvrages ?

Titre Auteur Editeur Année Cote CodeEmprunteur

Jean-Marc Manach FYP Editions 2010 MAN002 12345Alc@tr@z numérique Sébastien Fanti Editions ENI 2009 FAN008 12345Présentation Zen Garr Reynolds CampusPress 2008 REY006 34567Chargin d'école Daniel Pennac Gallimard 2009 PEN119 78901Economie du logiciel libre François Elie Eyrolles 2009 ELI456 34567

2006 NOI76 56789OpenOffice.org 3 efficace Eyrolles 2009 COL120 56789

Ubuntu efficace Eyrolles 2009 COL156 78901

La vie privée, un problèmede vieux cons

La bataille du logiciel libre : Dix clés pour comprendre

Thierry et Perline Noisette

Editions La Découverte

L.Dricot, K.Novak,et M.Shuttleworth

2nde idée : un tableau séparé pour les données sur les emprunteurs

Code Emprunteur Nom Prénom Email12345 Motte Isabelle34567 Vincke Grégoire78901 Wauthy Anne-Cécile56789 Depiereux Eric

[email protected]@[email protected]@fundp.ac.be

PRATIQUE pour la recherche des livres empruntés par une personne :il suffit de trier le tableau des livres sur le « Code Emprunteur » C'est RAPIDE !

Page 6: Introduction aux bases de données

Titre Auteur Editeur Année Cote

Jean-Marc Manach FYP Editions 2010 MAN002Alc@tr@z numérique Sébastien Fanti Editions ENI 2009 FAN008Présentation Zen Garr Reynolds CampusPress 2008 REY006Chargin d'école Daniel Pennac Gallimard 2009 PEN119Economie du logiciel libre François Elie Eyrolles 2009 ELI456

2006 NOI76OpenOffice.org 3 efficace Eyrolles 2009 COL120

Ubuntu efficace Eyrolles 2009 COL156

La vie privée, un problèmede vieux cons

La bataille du logiciel libre : Dix clés pour comprendre

Thierry et Perline Noisette

Editions La Découverte

L.Dricot, K.Novak,et M.Shuttleworth

Comment associer des mots-clés aux ouvrages ?

Page 7: Introduction aux bases de données

Titre Auteur Editeur Année Cote MotsClés

Jean-Marc Manach FYP Editions 2010 MAN002

Alc@tr@z numérique Sébastien Fanti Editions ENI 2009 FAN008

Présentation Zen Garr Reynolds CampusPress 2008 REY006

Chargin d'école Daniel Pennac Gallimard 2009 PEN119

Economie du logiciel libre François Elie Eyrolles 2009 ELI456

2006 NOI76 logicile libre

OpenOffice.org 3 efficace Eyrolles 2009 COL120

Ubuntu efficace Eyrolles 2009 COL156

La vie privée, un problèmede vieux cons

vie privée, identité numérique, réseaux sociauxvie privée, identité numérique, réseaux sociauxdiaporama,exposé oralpédagogie,cancreéconomie,logiciel libre

La bataille du logiciel libre : Dix clés pour comprendre

Thierry et Perline Noisette

Editions La Découverte

bureautique,logiciel libre

L.Dricot, K.Novak,et M.Shuttleworth

linux, ubuntu,logiciel libre

1ère idée : une nouvelle colonne avec les mots-clés

MAIS l'encodage peut poser problème (fautes de frappe, ..);MAIS pas pratique pour la recherche des livres associés à un mot-clé : il faut parcourir tout le tableau (pas de solution de tri pour simplifier)

Comment associer des mots-clés aux ouvrages ?

Page 8: Introduction aux bases de données

Titre Auteur Editeur Année Cote CodeMotClé

Jean-Marc Manach FYP Editions 2010 MAN002 1,2,3Alc@tr@z numérique Sébastien Fanti Editions ENI 2009 FAN008 1,2,3Présentation Zen Garr Reynolds CampusPress 2008 REY006 4,5Chargin d'école Daniel Pennac Gallimard 2009 PEN119 6,7Economie du logiciel libre François Elie Eyrolles 2009 ELI456 8,9

2006 NOI76 10,11OpenOffice.org 3 efficace Eyrolles 2009 COL120 12,11

Ubuntu efficace Eyrolles 2009 COL156 13,14,11

La vie privée, un problèmede vieux cons

La bataille du logiciel libre : Dix clés pour comprendre

Thierry et Perline Noisette

Editions La Découverte

L.Dricot, K.Novak,et M.Shuttleworth

2nde idée : un tableau séparé pour les mots-clés ...CodeMotClé MotClé

1 vie privée2 identité numérique3 réseaux sociaux4 diaporama5 exposé oral

MAIS c'est toujours compliqué pour obtenir la liste des livres associés à un mot-clé :il faut parcourir tout le tableau (pas de solution de tri pour simplifier).Le problème, c'est qu'un mot-clé peut être associé à plusieurs livres ...

Comment associer des mots-clés aux ouvrages ?

Page 9: Introduction aux bases de données

Titre Auteur Editeur Année Cote

Jean-Marc Manach FYP Editions 2010 MAN002Alc@tr@z numérique Sébastien Fanti Editions ENI 2009 FAN008Présentation Zen Garr Reynolds CampusPress 2008 REY006Chargin d'école Daniel Pennac Gallimard 2009 PEN119Economie du logiciel libre François Elie Eyrolles 2009 ELI456

2006 NOI76OpenOffice.org 3 efficace Eyrolles 2009 COL120

Ubuntu efficace Eyrolles 2009 COL156

La vie privée, un problèmede vieux cons

La bataille du logiciel libre : Dix clés pour comprendre

Thierry et Perline Noisette

Editions La Découverte

L.Dricot, K.Novak,et M.Shuttleworth

3ième idée : un tableau séparé pour la relation entre livre et mot-clé ...

CodeMotClé MotClé1 vie privée2 identité numérique3 réseaux sociaux4 diaporama5 exposé oral

ET pour obtenir la liste des livres associés à un mot-clé, c'est simple :trier le tableau de la relation sur le « Code Mot-Clé » et sortir la liste des livres associés au mot-clé choisi

CodeMotClé Cote1 MAN0021 FAN0082 MAN0022 FAN0083 MAN002

Comment associer des mots-clés aux ouvrages ?

Page 10: Introduction aux bases de données

Un peu de théorie sur les bases de données ...

Page 11: Introduction aux bases de données

Base de données ?

= Informations stockées dans un système informatique

Base de données relationnelle ? = base de données dans laquelle les données

sont reliées par des associations(comme pour les mots-clés ...)

Les plus utilisées aujourd'hui.

Page 12: Introduction aux bases de données

Il est question de table ...

Livres StructureTitre texte

Auteur texteEditeur texteAnnée 4chiffresCote 3lettres+3chiffres

Table

attributs

Clé primaire = identifiant unique

Page 13: Introduction aux bases de données

Modélisation d'une relation 1-NExemple : L'emprunt ...Un livre a un seul emprunteur.Une personne peut emprunter plusieurs livres.

Livres StructureTitre texte

Auteur texteEditeur texteAnnée 4chiffresCote 3lettres+3chiffres

CodeEmprunteur 5chiffres

Emprunteurs StructureCodeEmprunteur 5chiffres

Nom textePrénom texteEmail [email protected]

Clé étrangère

Clé primaire

Page 14: Introduction aux bases de données

Modélisation d'une relation N-NExemple : Les mots-clés ...Un livre peut être relié à plusieurs mots-clés.Un mot-clé peut être relié à plusieurs livres.

Livres StructureTitre texte

Auteur texteEditeur texteAnnée nombre de 4 chiffresCote 3lettres+3chiffres

MotsClés StructureMotsClé texte

CodeMotClé 5 chiffres

Table de jointure

Association_L_MC StructureCote 3lettres+3chiffres

CodeMotClé 5chiffres

Page 15: Introduction aux bases de données

Un language : SQL (Standard Query Language)

Un système de gestion de BD :

Un interface :

Page 16: Introduction aux bases de données

Pour créer une table ...Création de la table des livres avec le contenu de

la première ligne ...

CREATE TABLE Livres (Titre CHAR(60), Auteurs CHAR(60),

Editeur CHAR(60), Année INTEGER(4),Cote CHAR(6) );

INSERT INTO Livres VALUES ('La vie privée, un problème de vieux cons','Jean-Marc Manach','FYP Editions',2010,

'MAN002')

Page 17: Introduction aux bases de données

Pour afficher une table ...

Affichage de la table des livres ...

SELECT * FROM Livres;

Affichage uniquement des titres des livres par ordre alphabétique ...

SELECT Titre FROM Livres ORDER BY Titre;

Page 18: Introduction aux bases de données

Pour effectuer une requête sur des tables liées ...

Affichage le nom et le prénom de l'emprunteur du livre 'Alc@tr@z numérique' ...

SELECT E.Nom,E.Prénom FROM Livres L, Emprunteurs E

WHERE L.Titre='Alc@tr@z numérique'AND L.CoteEmprunteur=E.CoteEmprunteur

Page 19: Introduction aux bases de données

Pour effectuer une requête sur une jointure ...

Pour afficher tous les titres des livres associés au mot clé 'logiciel libre' ...

SELECT L.TitreFROM Livres L, MotsClés M, Association_ML_L A

WHERE M.MotClé='logiciel libre'AND M.CodeMotClé=A.CodeMotClé

AND A.Cote=L.Cote

;-)

Page 20: Introduction aux bases de données

Un exemple plus complexe :une application de gestion

de locations(pour un office de tourisme)

ImmoPHP

Page 21: Introduction aux bases de données

Quelques bases de données utiles

● PubMed : LA référence en matière d'articles scientifiques;

● Open Street Map : un équivalent de Wikipédia pour la cartographie ... Bel outil à tester pour les géographes ;-)

● Et bien d'autres (génétique, géographie, géologie ...);

● Visitez les bases de données accessibles via la bibliothèque :http://www.fundp.ac.be/universite/bibliotheques/bump/bd/

Page 22: Introduction aux bases de données

Droits sur les images

● Source de l'image de la bibliothèque :http://commons.wikimedia.org/wiki/File:Biblioth%C3%A8que_du_Prytan%C3%A9e.jpg

By Alex-hello (travail personnel (own work) scanner) [GFDL (www.gnu.org/copyleft/fdl.html) or CC-BY-SA-3.0-2.5-2.0-1.0 (www.creativecommons.org/licenses/by-sa/3.0)], via Wikimedia Commons