Académique Documents
Professionnel Documents
Culture Documents
L’informatique
Cours d’Informatique
“Bases de données” Que serait le monde sans l’informatique ?
1° année
Antoine Cornuéjols
!"#$%%&&&'()*+#(*,-./0!'1*%21*3,41+%5/56*/-%0+*42/7+8-%
(4.+,4/'0+*42/7+8-9()*+#(*,-./0!'1*
!"#$%%&&&'()*+#(*,-./0!'1*%21*3,41+%5/56*/-%0+*42/7+8-%:/(0!,4)%;<=>%:?%?+2*-3@;3ABCD'#E1
Informatique - Bases de données • ! A. Cornuéjols 2014 2 /119
Transports
Avions
Voitures (des ordinateurs sur roues)
Communications
Réseaux (communications par paquets)
!"#$%&'"#
Satellites
()*+#,-+'"#!"#$!%&'()*&+,-$!
Modes de pensée
!+.$/.!"#!.&!/(&0#*/,)(#
Calculs complexes / Simulations
!"00/#,$+'"#
1.+#,2$+'"#!"#$!#123()#-*#$!$,4$!*,-/(&)-/#$
Connaissances toujours à portée de clics
Modification de la mémoire et de la cognition
3)+,4%0%#4!"#$!",--3#$
Informatique - Bases de données • ! A. Cornuéjols 2014 3 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 4 /119
1. Changement de paradigme 1. Changement de paradigme
Carte analogique vs. carte numérique sur tablette graphique La photo numérique
Informatique - Bases de données • ! A. Cornuéjols 2014 5 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 6 /119
Support numérique
Copies multiples
Affichage sur plusieurs dispositifs
Les appareils à venir vont être très peu chers et très bons ...
Informatique - Bases de données • ! A. Cornuéjols 2014 7 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 8 /119
Partie 1 - Place de l’informatique Partie 5 - Manipulation : SQL
Partie 2 - Les bases de données
Partie 3 - Bases sur les BD
Partie 6 - PHP / MySQL
Quatre approches pour appréhender le monde
Partie 4 - Conception des BD
56!!!>;2)():4#!?!"#$*()2+,-!#/!*.&$$#;#-/
@6!!!AB3,():4#!?!C,"3.)$&+,-D!*,-$/(4*+,-!"#!/B3,()#$
56!748#$/9*#!:4#!.8)-%,(;&+:4#!<
56!!!6,0/.+'"#!?!$E$/F;#$!*,;2.#1#$!#/G,4!-,-!(#2(,"4*+'.#$
=-!!"#$%&#'(%)&(*!$4(!.#!;,-"#
78!!!9"/,..%:;%:;"##<%-!HI!J)K!"&/&!LM
F4+*5/-G5(--/-GE/GE+44H/-G425H*,-H/-
I(*)/5/4.GE,-#+4,68/-
J+2*0/-G/.G1+*5(.-G.*K-GE,LH*/4.-
Informatique - Bases de données • ! A. Cornuéjols 2014 9 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 10 /119
!"#$%"&'#()&#&"*+","$'#-*"#.
/)#!"#$%&'()#"'#'0*'"&#+"&#&12"$1"&#"$#3#0,2-*"#$%"52&'"6)2"$'#()&
3#!"#$"#%&$$'()#*')#+,-./"#0(0'$.1#+"#%"2232"1#+"#4))31#&/5'$"1#
N3-,;#!O!")P&)-#$!"#!;)..)#($!"#!2&)(#$!"#!'&$#
Q.)K-#;#-/$ ($+(0(+3#".#*"3.6-./"#7-7"#")*8%"1#+&$.#&$#$"#*3())"#*')#+(/"#
R#*,-$/(4*+,- 93,(2#!"#$%&#+"#2,($:&/7'4&$1#93,(2#"'()"&#+"#2,($:&/7'4&$1#93,(2#
S-/#(2(3/&+,-
*+&"#93,(2#'&,#)"#+"#2,($:&/7'4&$;#4
/"#*"+,-(.)%)#/0+1&%-2'()#$%)*6)2'#("*'78'6"#()&#"$106"#9'9#
Michel Serres!!
:910*;"6'
;#$4(#$!2.&-3/&)(#$
$/,*T&K#!#/!)-/#((,K&+,-$!"#!'&$#$!"#!",--3#$!")U#($#$!#/!")$2#($3#$
#1/(&*+,-$!"#!/#-"&-*#$!#/!"#!*,((3.&+,-$
Informatique - Bases de données • ! A. Cornuéjols 2014 11 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 12 /119
1. L’informatique comme outil de pensée en biologie 1. L’informatique comme science
Informatique - Bases de données • ! A. Cornuéjols 2014 13 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 14 /119
1. L’informatique 1. L’informatique
1- @+$?,#%-
Architecture
1- Science du raisonnement et de son automatisation
Système d’exploitation ; environnement de programmation
Machine
Algorithmes 2 - A#=")0+'"#
Codage
Organisation : fichiers, BD, ...
Communication 4 - B+#*+*%
Traduction sans ambiguïté entre hommes et machines
Informatique - Bases de données • ! A. Cornuéjols 2014 15 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 16 /119
1. Qu’est-ce que l’informatique 1. Qu’est-ce que l’informatique
• -ilité
• Simplicité et élégance
• Utilisabilité
Comme les maths • Modifiabilité
Comme les sciences
• Maintenabilité de l’ingénieur
• Coût
• ...
Informatique - Bases de données • ! A. Cornuéjols 2014 17 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 18 /119
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
!
2 !
2
i,j=1
xi yj ? i,j=1
xi yj ?
!
2
xi yj = x1 y1 + x1 y2 + x2 y1 + x2 y2
i,j=1
4 produits + 3 sommes
Informatique - Bases de données • ! A. Cornuéjols 2014 19 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 20 /119
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
!
2
i,j=1
xi yj ?
!
2
xi yj = x1 y1 + x1 y2 + x2 y1 + x2 y2
i,j=1
4 produits + 3 sommes
!
2
xi yj = (x1 + x2 ) (y1 + y2 )
i,j=1
2 sommes + 1 produit
Informatique - Bases de données • ! A. Cornuéjols 2014 21 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 22 /119
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
Informatique - Bases de données • ! A. Cornuéjols 2014 23 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 24 /119
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
12 17 10 23 33 77 83 11
12 17 10 23
11 33 77 83
10 11 12 17 23 33 77 83
12 17 10 23
10 12 17 23
12 17 10 23
Informatique - Bases de données • ! A. Cornuéjols 2013 25 /107 Informatique - Bases de données • ! A. Cornuéjols 2013 26 /107
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
Informatique - Bases de données • ! A. Cornuéjols 2013 27 /107 Informatique - Bases de données • ! A. Cornuéjols 2013 28 /107
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
Informatique - Bases de données • ! A. Cornuéjols 2013 29 /107 Informatique - Bases de données • ! A. Cornuéjols 2011 30 /148
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
Informatique - Bases de données • ! A. Cornuéjols 2011 31 /148 Informatique - Bases de données • ! A. Cornuéjols 2013 32 /107
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
Informatique - Bases de données • ! A. Cornuéjols 2013 33 /107 Informatique - Bases de données • ! A. Cornuéjols 2014 34 /119
1. Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens
Comment organiser un calcul : intelligence artificielle Comment organiser un calcul : L’ennemi absolu
Bug ! panne
Informatique - Bases de données • ! A. Cornuéjols 2014 35 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 36 /119
seconde ou plus.
20 Ces aspects techniques permettent de comprendre ce qu’il est possible de réaliser,
comment et à quel prix. Nous les avons volontairement quelque peu simplifiés pour
1. Questions quifaciliteroccupent les informaticiens
leur compréhension. 1. Questions
Et quelques mots à l’attention de ceux qui aiment se réfugier qui occupent les informaticiens
derrière « je ne comprends rien à l’informatique ». La vision de l’informatique véhiculée
L’ennemi absolu : le bug Comment
par les médias souffre d’une trop grande fascination pour le matériel et la coder / représenter de l’information
programmation. À mon avis, il importe peu de comprendre les détails du fonctionnement
Plantage des ordinateurs, distributeurs bancaires, systèmes de réservation,
très complexe d’un processeur ou d’une carte graphique. Il est par contre essentiel de
sites Web, etc.
maîtriser les bases de l’algorithmique et de sa mécanique du raisonnement. Il n’est pas
non plus nécessaire
Blocages de téléphones ou d’appareils de savoir
photos programmer (même si une expérience de programmation
avec un langage comme CAML – Categorical Abstract Machine Language – peut faciliter
Crash du téléphone interurbainde
la compréhension américain
l’algorithmique). Pour des questions de performance, il peut être
utilemaldeplacée
une ligne de code comprendre
sur un millionoù l’information que nous utilisons est stockée, en mémoire, sur
disque ou sur le réseau. Surtout, il est indispensable de comprendre le sens de cette
Explosion d’Ariane 501 (1996) et perte de satellites
information, comment elle est représentée, comment elle est organisée.
Débordement
21 Voici quelques
arithmétique dans chiffres à retenir :
un calcul inutile
Support de stockage Temps d’accès Taille
Bug subtil dans la division flottante du Pentium
Mémoire vive microsecondes gigaoctets (109)
Disque dur millisecondes quelques centaines de gigaoctets au téra
Coût : 470 millions de dollars pourlocal
Réseau Intel millisecondes ou plus téraoctets (1012)
La Toile décisecondes voire secondes Virtuellement !
Informatique - Bases de données • ! A. Cornuéjols 2014 37 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 38 /119
passer facilement du système décimal, le plus commun, au système binaire, cher• Structures aux de données
@/-,D/%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?!!\,-*#(/,!])U&.")!!!Y9Z!!!5X!6!5X "!,*/#/$!!H5X!C,M
informaticiens. Une dizaine de Nocturnes de Chopin sur mon téléphone prennent • Représentation des connaissances
75 mégaoctets. La #vidéo
E,;<"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?!!!!!::$!5X de la remise de diplôme de ma fille et ses quelques gigaoctets
!,*/#/$!!HN,M 2- Tous les calculs ne sont pas possibles
nous conduisent aux frontières du gigantisme. Selon les chiffres de Michael Brodie8, tous
3"/-:.%-:.,F)%-!0&;&)$!3*()/$!!!!!?!!@XX!6!5X • Notion de complexité
les livres jamais écrits ne!H@XX!A,M
$%&
demanderaient que 200 téraoctets en texte brut et la quantité de • Distribution / Parallélisation / « Cloud computing »
données produites par
>123()#-*#$!BG!!!!!!!!!!!!!!!!!!!!!!!!!?!!!!W!@XX!A,!G!;- le collisionneur de particules du CERN en une minute est de
l’ordre d’une centaine de pétaoctets. Pour représenter toutes les phrases 3-jamais Il n’est pas facile de programmer de manière fiable
3)+2$:+##/%.!$4(!S-/#(-#/!!!!!!!!?!!W!5X%$!,*/#/$!!H5!^,M
prononcées, il faudrait quelques exaoctets. Enfin, le zettaoctet, c’est l’ordre de grandeur • Méthodes de production de logiciel
du trafic annuel sur Internet de nos jours, et c’est aussi celui du stockage disponible• Vérification (en / Certification
Informatique - Bases de données • ! A. Cornuéjols 2014 39 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 40 /119
Outils de travail
En quoi cela vous concerne ? _&!H/)%+/'D/%!
_#!4)+F+,.:$"..+H")+'=!#/!S-/#(-#/
1- Acteur direct / en interaction directe avec l’informatique
• Programmation de simulation
Programmation - Bases de Données
• Utilisation de BD, de SIG 748#$/9*#!:4)!#$/!2,$$)'.#!<
• Traitement d’images, télédétection E.g. AA : A#4%)+$'"#!&U#*!"#$!)-%,(;&+*)#-$
- Croire que c’est magique
• Bio-informatique I<+.,-+'"#-!"#!2#+/$!$E$/F;#$
- Ne pas demander assez
Simulation
2- En interaction avec des acteurs directs
\,;2(3B#-$),-!G!2(3")*+,-!"#!-J-4K0%-:$"0&.%C%-
• Que puis-je attendre de l’outil informatique ?
R3&.)/3!U)(/4#..#!G!&4K;#-/3#
• Qu’est-ce qui est possible / difficile / impossible
1A TC « SI »
Programmation - Bases de Données 2A « C et télédétection » • Étude du risque alimentaire :
2A « Java » • à partir de textes sélectionné sur Internet (EU / USA)
• Ontologies, traitement de la langue, ...
Simulation 2A (ATHENS)
Compréhension / prédiction de systèmes complexes « Informatique et
Sciences de la Vie »
Réalité virtuelle / augmentée • Analyse en imagerie médicale :
• détection en temps réel du contour du rein
Fouille de données 1A « Module Intégratif »
• Apprentissage artificiel, analyse d’images
Informatique - Bases de données • ! A. Cornuéjols 2014 43 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 44 /119
Organisation du cours
• 4 TD/TP
• 1 TP / QCM (1 / 5)
• 8 TD/TP
• 1 TP / QCM (1 / 5)
3. Projet
• 6 TP
• Soutenance (3 / 5)
Informatique - Bases de données • ! A. Cornuéjols 2014 45 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 46 /119
• b!2&(+(!"84-!$+?,%):;%-:$?+)*%-:L:
• @";<.,-%):.%:M0"#;%N:!H>-+/3$!G!R#.&+,-$M
• 3)+;/,)%:#-!",--3#$!#/!(#.&+,-$!?:4+H.%-
_#!2(,0#/!aa< • R3c3*B)(!&41!"&<)+'"#-:&"--,H.%-!$4(!.&!'&$#!"#!",--3#$
• 1)"*)+00%):4-#!)-/#(%&*#!d#'!&U#*!.&!'&$#!"#!",--3#$
• Q!/(&U#($!@J6OB!H4-!eNJfM
My SQL
• P<)%)!.#$!/'.,-+4%/)-:g!.#$!)%--"/)$%- P HP :
• ()*+#,-%):.#$:)%D/Q4%-:#/:0";,2$+'"#-!"#!.&!Jf
Informatique - Bases de données • ! A. Cornuéjols 2014 47 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 48 /119
Partie 1 - Place de l’informatique Partie 5 - Manipulation : SQL
Partie 2 - Les bases de données
Partie 3 - Bases sur les BD
Partie 4 - Conception des BD
Partie 6 - PHP / MySQL
2. Quelles données ?
• Second Life
• ...
Informatique - Bases de données • ! A. Cornuéjols 2014 49 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 50 /119
0-$#0#+1&"%&"#/
='01>)?"@#91A)$?"@#)$)+B&"#.#3+&)#+)04)304$##")3
Informatique - Bases de données • ! A. Cornuéjols 2014 51 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 52 /119
La toile ? 2. Quelles données ?
<$#2,,"$&"#-J-4K0%:;%:2$?,%)-
• Les clients
• Les factures
• ...
R##6PST##G<=).87"#+"#>")4&$#+"#?')")#+"#@&$$A")H
Informatique - Bases de données • ! A. Cornuéjols 2014 53 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 54 /119
Les données sont omniprésentes autour de nous ... Comment les ranger dans un ordinateur ?
Informatique - Bases de données • ! A. Cornuéjols 2014 55 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 56 /119
2. Comment les stocker ? 2. Comment structurer les données ?
Comment les ranger dans un ordinateur ? En regardant d'un peu plus près ...
Informatique - Bases de données • ! A. Cornuéjols 2014 57 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 58 /119
Reportons ces données dans des tableaux : Données sans redondances et avec références :
Observations :
Observation
1. les données TOTAL-COMMANDE et SOUS-TOTAL sont calculées : inutile de
les conserver, on pourra les recalculer en cas de besoin si plusieurs détails mentionnent le même produit, ses caractéristiques
sont répétées autant de fois : on isole les données des produits dans un
2. il est impossible de reconstituer le bon de commande d'origine : quel est le
tableau spécifique
client de la commande, quelle est la commande d'un détail ?
Informatique - Bases de données • ! A. Cornuéjols 2014 59 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 60 /119
2. Comment structurer les données ? 2. Comment structurer les données ?
Informatique - Bases de données • ! A. Cornuéjols 2014 61 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 62 /119
Informatique - Bases de données • ! A. Cornuéjols 2014 63 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 64 /119
2. Utiliser une base de données 2. Utiliser une base de données
Que peut-on faire de ces données ? Que peut-on faire de ces données ?
Informatique - Bases de données • ! A. Cornuéjols 2014 65 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 66 /119
• Organisation des données : le SGBD organise les données en tables permanentes 3- Bases ... sur les Bases de Données
stockées sur disque; il crée les mécanismes garantissant un accès rapide aux données; il
informe les utilisateurs sur ces structures.
• Gestion des données : le SGBD garantit l'évolution cohérente des données; il vérifie
que les contraintes (unicité, référence entre tables, etc.) sont respectées.
• Accès aux données : le SGBD permet l'accès aux données à la fois par l'utilisateur
occasionnel et par les programmes de traitement de données.
Informatique - Bases de données • ! A. Cornuéjols 2014 67 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 68 /119
quiStar
représentent
Wars G. des relations
Lucas comme
Harrison Ford Film ou Séance,
Stars Wars des entrées
Sel de ces relations comme
22:15
• Chaque table contient les données relatives à des entités de même nature.
ligne
• Chaque ligne (enregistrement) d’une table décrit les données relatives à une entité.
• Chaque colonne d’une table décrit une propriété des entités (ex : Prix). données
Informatique - Bases de données • ! A. Cornuéjols 2014 73 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 74 /119
Informatique - Bases de données • ! A. Cornuéjols 2014 75 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 76 /119
3. Notions de base 3. Notions de base - Exemple
Les données
identifiant
(clé primaire)
clé étrangère
dans le schéma
dans les données
Informatique - Bases de données • ! A. Cornuéjols 2014 77 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 78 /119
Partie 1 - Place de l’informatique Partie 5 - Manipulation : SQL 3.1 Introduction 3.5 Types d'associations
Partie 2 - Les bases de données
Partie 3 - Bases sur les BD
Partie 4 - Conception des BD
Partie 6 - PHP / MySQL 3.2 Modèle Entité-Association
3.3 Types d'entités
3.4 Attributs
3.6 Exemples de schéma conceptuel
3.7 Exemple détaillé 4.1 Pourquoi est-ce difficile de concevoir une BD
Informatique - Bases de données • ! A. Cornuéjols 2014 79 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 80 /119
4.1 Pourquoi est-ce difficile de concevoir une BD 4.2 Le modèle Entité-Association (E/A)
Il faut un autre langage pour exprimer naturellement les informations que doit
contenir une base de données :
le modèle Entité-association
=> Modélisation
Informatique - Bases de données • ! A. Cornuéjols 2014 81 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 82 /119
CLIENT
CLIENT
Le modèle Entité-association propose une lecture du monde (le domaine NumClient
Nom
d'application) simple mais limitée : appartient
Adresse
signe
VEHICULE
Marque Type
couvre
Modèle DateSign
Année
• les entités d'un type ont des attributs spécifiques Cylindrée
ACCIDENT CONTRAT
NumAcc
• les entités sont en association les unes avec les autres implique
DateAcc
ACCIDENT
Montant[0-1]
Informatique - Bases de données • ! A. Cornuéjols 2014 83 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 84 /119
4.5 Types d'associations 4.7 Exemple - Conception d’une BD pour un GIE agricole
• Pour exploiter ces parcelles, les agriculteurs font appel à un GIE. Celui-ci
fournit de la main d’oeuvre d’appoint, à la journée.
• Chaque employé du GIE a un tarif, qui constitue son salaire journalier brut.
Informatique - Bases de données • ! A. Cornuéjols 2014 85 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 86 /119
4.7 Exemple - Conception d’une BD pour un GIE agricole 4.7 Exemple - Conception d’une BD pour un GIE agricole
• Des agriculteurs possèdent des parcelles • Le GIE paie ses employés mensuellement, en fonction de leurs
• Une parcelle a un et un seul propriétaire interventions.
• Un agriculteur possède une ou plusieurs parcelles • Chaque intervention concerne une parcelle, un employé et un nombre
de jours.
• Pour exploiter ces parcelles, les agriculteurs font appel à un GIE. Celui-ci
fournit de la main d’oeuvre d’appoint, à la journée. • Le système d’information désiré doit pouvoir fournir :
• la liste des agriculteurs
• Cette main d’oeuvre est assurée par des employés du GIE.
• la liste des employés
• Chaque employé du GIE a un tarif, qui constitue son salaire journalier
brut. • la liste des interventions par employé
• la liste des interventions par agriculteur
Informatique - Bases de données • ! A. Cornuéjols 2014 87 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 88 /119
4.7 Exemple - Conception d’une BD pour un GIE agricole 4.7 Exemple - Conception d’une BD pour un GIE agricole
• Parcelle : nom, superficie, lieu et Mernaz Francine Lescheraines 2 Martoz Christian Montargy
Informatique - Bases de données • ! A. Cornuéjols 2014 89 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 90 /119
4.7 Exemple - Conception d’une BD pour un GIE agricole 4.7 Exemple - Conception d’une BD pour un GIE agricole
Clé primaire : pas nécessairement une seule colonne Type des attributs (colonnes)
Informatique - Bases de données • ! A. Cornuéjols 2014 91 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 92 /119
4.7 Exemple - Conception d’une BD pour un GIE agricole 4.7 Exemple - Conception d’une BD pour un GIE agricole
Informatique - Bases de données • ! A. Cornuéjols 2014 93 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 94 /119
4.7 Exemple - Conception d’une BD pour un GIE agricole 4.7 Exemple - Conception d’une BD pour un GIE agricole
n Par_Sup
Agriculteur Par_Prop
Informatique - Bases de données • ! A. Cornuéjols 2014 95 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 96 /119
4.7 Exemple - Conception d’une BD pour un GIE agricole 4.7 Exemple - Conception d’une BD pour un GIE agricole
Informatique - Bases de données • ! A. Cornuéjols 2014 97 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 98 /119
Partie 1 - Place de l’informatique Partie 5 - Manipulation : SQL 4.1 Introduction : LDD et LMD 4.5 Les fonctions agrégatives
Partie 2 - Les bases de données
Partie 3 - Bases sur les BD
Partie 4 - Conception des BD
Partie 6 - PHP / MySQL 4.2 Création / modification de table
4.3 Extractions simples
4.4 Extractions complexes
4.6 Les sous-requêtes
5.1 Introduction à SQL : LDD et LMD
SQL permet :
5 - LE LANGAGE SQL de définir le schéma de la base de données (LDD)
(Structured Query Language)
de charger les tables relationnelles (LMD)
En TP : le LDD aussi
Informatique - Bases de données • ! A. Cornuéjols 2014 99 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 100 /119
5.2 Extraction simple - projection
Introduction Personnes
nom prénom adresse téléphone
Martin Pierre 7 allée des vers 258941236
Le sous-langage LMD de SQL permet de consulter le contenu des Dupond Jean 32 allé Poivrot 526389152
tables et de les modifier. Il comporte 4 verbes : Dupond Marc 8 rue de l’octet 123456789
Informatique - Bases de données • ! A. Cornuéjols 2014 101 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 102 /119
Personnes
Relation de départ :
nom prénom adresse téléphone
SELECT * FROM Gens
Martin Pierre 7 allée des vers 258941236
Gens
1
Dupond Jean 32 allé Poivrot 526389152 SELECT Nom
Nom Prenom Age
Dupond Marc 8 rue de l’octet 123456789 FROM Gens
Dupond Pierre 24
Martin Marc 48
Gens
On ne sélectionne que les Dupont Jean 51 SELECT DISTINCT Nom
tuples dont l’attribut nom Martin Paul 36
Nom 2 FROM Gens
SELECT * Dupond
FROM Personnes est égale à ‘Dupond’. Dupond Lionel 68
Martin
WHERE nom = ‘’Dupond’’ Chirac Jacques 70
Gens
Dupont 3
Nom
Martin
Dupond
Dupond
Martin
nom prénom adresse téléphone Chirac
Dupont
Dupond Jean 32 allé Poivrot 526389152
Chirac
Dupond Marc 8 rue de l’octet 123456789
Informatique - Bases de données • ! A. Cornuéjols 2014 103 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 104 /119
5.2 Extraction simple - sélection 5.3 Extraction complexe - jointure
Personnes Bibliothèque
nom prénom adresse téléphone nom Dernierlivre
Gens SELECT DISTINCT Nom
Martin Pierre 7 allée des vers 258941236 Dupond Robinson
Nom FROM Gens
Chirac ORDER BY Nom ASC Dupond Jean 32 allé Poivrot 526389152 Jospin Faust
Martin Misère
Dupond
4
Dupont Gens
SELECT DISTINCT Nom
Martin 5 Nom
FROM Gens On joint les deux tables, grâce à
ORDER BY Nom ASC la colonne nom.
Chirac
LIMIT 2 SELECT Personnes.prénom, dernierlivre
Dupond Et on combine cette jointure à
FROM Personnes, Bibliothèque
une projection sur les attributs
WHERE Personnes.nom = Bibliothèque.nom
nom et dernierlivre.
SELECT DISTINCT Nom
6 Gens
Attention à lever toute ambi-
FROM Gens
Nom
WHERE Nom <> ‘Chirac’ guïté sur les noms d’attribut
Dupond prénom Dernierlivre dans le cas où deux tables
ORDER BY Nom ASC
LIMIT 2 Jean Robinson possèdent des colonnes de
Pierre Misère même nom.
Informatique - Bases de données • ! A. Cornuéjols 2014 105 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 106 /119
5.3 Conditions plus complexes - exemples 5.3 Conditions plus complexes - Combinaisons logiques
select modèle Liste des modèles de voitures dont la select NOM, ADRESSE, COMPTE
from VOITURES couleur est dans la liste : bleu, blanc, where COMPTE > 0
where couleur in (‘bleu’, ‘blanc’, ‘noir’); noir. and (CAT = 'C1' or LOCALITE = 'Paris')
Informatique - Bases de données • ! A. Cornuéjols 2014 107 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 108 /119
5.4 Données extraites et données dérivées - expressions de calcul 5.4 Les sous-requêtes - Principe
les produits référencés par les détails des commandes des clients de Namur
Informatique - Bases de données • ! A. Cornuéjols 2014 109 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 110 /119
• L’un des plus utilisé au monde (e.g. Wikipedia, Google, YouTube, ...)
• Multi-utilisateur
• Utilisable depuis une grande variété de langages de programmation (C, C++, Java, Python, PHP, ...)
• ...
Informatique - Bases de données • ! A. Cornuéjols 2014 111 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 112 /119
6. Administration avec phpMyAdmin 6. Administration avec phpMyAdmin
• phpMyAdmin est une application PHP développée pour administrer une Outil pour :
base MySQL à distance via un navigateur web • créer de nouvelles bases
• phpMyAdmin permet également de visualiser les requêtes SQL • effectuer des sauvegarde de la structure et/ou des
données
Informatique - Bases de données • ! A. Cornuéjols 2014 113 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 114 /119
• Base de données = ensemble de données structurées, persistantes placé • des données multimédias,
dans des fichiers
• des données textuelles,
• Gestion par SGBD (Système de Gestion de Bases de Données) • des données spatiales (données GPS par exemple),
• Stockage ; accès ; recherche ; sécurité ... • des données historiques (plusieurs lignes par entité),
Informatique - Bases de données • ! A. Cornuéjols 2014 115 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 116 /119
Les défis des BDs aujourd’hui et demain Les défis des BDs aujourd’hui et demain
• Comment préserver les données et les programmes utilisateurs lors de cette Qu'en est-il des principes rigoureux des bases de données dans ce contexte ?
évolution ?
Informatique - Bases de données • ! A. Cornuéjols 2014 117 /119 Informatique - Bases de données • ! A. Cornuéjols 2014 118 /119
Remerciements
• Gérard Berry
• Hugo Etiévant
Merci !!