Cours d Informatique Bases de données

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

Download "Cours d Informatique Bases de données"

Transcription

1 1. 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 /119 Rosetta et Philae 1. L informatique Transports Avions Voitures (des ordinateurs sur roues) Communications!"#$%&'"# ()*+#,-+'"#!"#$!%&'()*&+,-$!!+.$/.!"#!.&!/(&0#*/,)(#!"00/#,$+'"# 1.+#,2$+'"#!"#$!#123()#-*#$!$,4$!*,-/(&)-/#$ 3)+,4%0%#4!"#$!",--3#$ Réseaux (communications par paquets) Satellites Modes de pensée Calculs complexes / Simulations Connaissances toujours à portée de clics Modification de la mémoire et de la cognition Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

2 1. Changement de paradigme 1. Changement de paradigme Carte analogique vs. carte numérique sur tablette graphique Informatique - Bases de données! A. Cornuéjols La photo numérique / Changement de paradigme Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Changement de paradigme La photo numérique La photo numérique Support numérique Copies multiples Affichage sur plusieurs dispositifs Effets spéciaux : calculs Les appareils à venir vont être très peu chers et très bons grâce à l informatique Informatique - Bases de données! A. Cornuéjols /119

3 Partie 1 - Place de l informatique Partie 2 - Les bases de données Partie 3 - Bases sur les BD Partie 4 - Conception des BD Partie 5 - Manipulation : SQL Partie 6 - PHP / MySQL Quatre approches pour appréhender le monde 56!!!>;2)():4#!?!"#$*()2+,-!#/!*.&$$#;#-/ 56!748#$/9*#!:4#!.8)-%,(;&+:4#!< 56!!!6,0/.+'"#!?!$E$/F;#$!*,;2.#1#$!#/G,4!-,-!(#2(,"4*+'.#$ 78!!!9"/,..%:;%:;"##<%-!HI!J)K!"&/&!LM Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119 L informatique et les sciences du vivant Le calcul et l information comme nouveaux paradigmes!"#$%"&'#()&#&"*+","$'#-*"#. 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.- /)#!"#$%&'()#"'#'0*'"&#+"&#&12"$1"&#"$#3#0,2-*"&#4#$%"52&'"6)2"$'#()& N3-,;#!O!")P&)-#$!"#!;)..)#($!"#!2&)(#$!"#!'&$# Q.)K-#;#-/$ R#*,-$/(4*+,- S-/#(2(3/&+,- /"#*"+,-(.)%)#/0+1&%-2'()#$%)*6)2'#("*'78'6"#()&#"$106"#9'9# :910*;"6' ;#$4(#$!2.&-3/&)(#$ $/,*T&K#!#/!)-/#((,K&+,-$!"#!'&$#$!"#!",--3#$!")U#($#$!#/!")$2#($3#$ #1/(&*+,-$!"#!/#-"&-*#$!#/!"#!*,((3.&+,-$ 3#!"#$"#%&$$'()#*')#+,-./"#0(0'$.1#+"#%"2232"1#+"#4))31#&/5'$"1# ($+(0(+3#".#*"3.6-./"#7-7"#")*8%"1#+&$.#&$#$"#*3())"#*')#+(/"# 93,(2#!"#$%&#+"#2,($:&/7'4&$1#93,(2#"'()"&#+"#2,($:&/7'4&$1#93,(2# *+&"#93,(2#'&,#)"#+"#2,($:&/7'4&$;#4 Michel Serres! Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

4 1. L informatique comme outil de pensée en biologie 1. L informatique comme science La génétique comme un langage : codage / décodage ADN --> ARN --> Protéines Protéines <--> Protéines Le calcul sur graphe permet de modéliser la : diffusion d un virus la compétition entre espèces La dynamique évolutive comme théorie des jeux répétés sur réseaux Les systèmes multi-agents permettent de modéliser les : insectes sociaux bancs de poissons La récursion permet de modéliser la croissance des plantes... Par rapport à d autres sciences? <$"#3+&)#+)04)015&%%-/"*&)1 6-&3$##)%)#/ :4)!",)/!V/(#!=")0+.,-< #/!)<+.,-< 7(%"*&3-2$##:*#,0$:" Au point que certains physiciens pensent que l univers n est en fait que la manifestation d un gigantesque ordinateur. Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / L informatique 1- Science du raisonnement et de son automatisation Machine Algorithmes 2- Science du codage de l information Numérisation Indépendance du support matériel Communication Informatique - Bases de données! A. Cornuéjols / L informatique Architecture Système d exploitation ; environnement de programmation 2 - A#=")0+'"# Codage Organisation : fichiers, BD, >.*"),4?0% Expressions ; variables ; fonctions ;... Structure 4 - B+#*+*% Traduction sans ambiguïté entre hommes et machines Informatique - Bases de données! A. Cornuéjols /119

5 1. Qu est-ce que l informatique 1. Qu est-ce que l informatique L informatique concerne les abstractions... Choisir les bonnes abstractions Utiliser plusieurs niveaux d abstraction simultanément Définir les relations entre ces niveaux d abstraction L informatique concerne les abstractions... L efficacité Rapidité Taille mémoire Coût calcul Fonctionnement correct Est-ce que cela fait ce que l on veut? Est-ce que le programme donne une réponse?... en faisant attention à : Comme les maths -ilité Simplicité et élégance Utilisabilité Modifiabilité Maintenabilité Coût... Comme les sciences de l ingénieur Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Questions qui occupent les informaticiens Comment organiser un calcul 2 x i y j? i,j=1 1. Questions qui occupent les informaticiens Comment organiser un calcul 2 x i y j? i,j=1 2 x i y j = x 1 y 1 + x 1 y 2 + x 2 y 1 + x 2 y 2 i,j=1 4 produits + 3 sommes Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

6 1. Questions qui occupent les informaticiens Comment organiser un calcul 1. Questions qui occupent les informaticiens Comment organiser un calcul : le tri 2 x i y j? i,j=1 2 x i y j = x 1 y 1 + x 1 y 2 + x 2 y 1 + x 2 y 2 i,j=1 4 produits + 3 sommes 2 x i y j = (x 1 + x 2 )(y 1 + y 2 ) i,j=1 2 sommes + 1 produit Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Questions qui occupent les informaticiens 1. Questions qui occupent les informaticiens Tris «naïfs» Tri par insertion Tri par sélection Sélection : chercher l élément le + petit et l échanger avec le 1er élément du tableau, puis répéter sur le tableau - le 1er élément Tris «naïfs» Tri par insertion Tri par sélection Sélection : chercher l élément le + petit et l échanger avec le 1er léméent du tableau, puis répéter sur le tableau - le 1er élément Complexité en O(n 2 ) n = 10 6 => O(10 12 ) opérations Insertion : comme on range des cartes Complexité en O(n 2 ) n = 10 6 => O(10 12 ) opérations Insertion : comme on range des cartes Tris réfléchis Tri par fusion Tri rapide (quicksort) Tris réfléchis Tri par fusion Tri rapide (quicksort) Quicksort : on prend un pivot et on range tous les éléments < avant et >= après et on réitère sur les sous-tableaux Complexité en O(n log(n)) Complexité en O(n log(n)) n = 10 6 => O(2 x 10 6 ) opérations!! n = 10 6 => O(20 x 10 6 ) opérations!! Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

7 1. Questions qui occupent les informaticiens Comment organiser un calcul : le tri 1. Questions qui occupent les informaticiens Comment organiser un calcul : le tri Informatique - Bases de données! A. Cornuéjols /107 Informatique - Bases de données! A. Cornuéjols / Questions qui occupent les informaticiens Comment organiser un calcul : le tri 1. Questions qui occupent les informaticiens Comment organiser un calcul : le tri Informatique - Bases de données! A. Cornuéjols /107 Informatique - Bases de données! A. Cornuéjols /107

8 1. Questions qui occupent les informaticiens Comment organiser un calcul : le tri 1. Questions qui occupent les informaticiens Comment organiser un calcul : le tri Informatique - Bases de données! A. Cornuéjols /107 Informatique - Bases de données! A. Cornuéjols / Questions qui occupent les informaticiens Comment organiser un calcul : le tri 1. Questions qui occupent les informaticiens Comment organiser un calcul : le tri Informatique - Bases de données! A. Cornuéjols /148 Informatique - Bases de données! A. Cornuéjols /107

9 1. Questions qui occupent les informaticiens Comment organiser un calcul : le tri 1. Questions qui occupent les informaticiens Comment organiser un calcul : appariemment de graphe Informatique - Bases de données! A. Cornuéjols /107 Informatique - Bases de données! A. Cornuéjols / Questions qui occupent les informaticiens Comment organiser un calcul : intelligence artificielle 1. Questions qui occupent les informaticiens Comment organiser un calcul : L ennemi absolu Bug! panne Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

10 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 qui faciliter occupent leur compréhension. les informaticiens Et quelques mots à l attention de ceux qui aiment 1. Questions 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 par les médias souffre d une trop grande fascination pour le matériel Comment 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 Blocages de téléphones non plus nécessaire 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 la compréhension interurbain de américain l algorithmique). Pour des questions de performance, il peut être une ligne de code utile mal de placée 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 arithmétique quelques dans chiffres un calcul inutile à retenir : Support de stockage Temps d accès Taille Bug subtil dans la division flottante Mémoire vive du Pentium microsecondes gigaoctets (10 9 ) Disque dur millisecondes quelques centaines de gigaoctets au téra Coût : 470 millions de dollars Réseau pour local Intel millisecondes ou plus téraoctets (10 12 ) La Toile décisecondes voire secondes Virtuellement! Informatique - Bases de données! A. Cornuéjols / En alignant les bits, nous pouvons représenter des informations. Nous pouvons stocker de plus en plus d informations pour les retrouver à la demande, telle une sauvegarde quasi 1. L informatique : mémoire et stockage illimitée de notre mémoire personnelle. 1. L informatique 23 Nous pouvons aller au-delà des dimensions déjà mentionnées en alignant les bits : Ordres de grandeurs Mesurer les zettaoctets à la cuillère à café kilo méga giga téra péta exa zetta yotta Représenter le monde Informatique - Bases de données! A. Cornuéjols / Discutons brièvement ces unités de mesures. Par exemple, cette leçon devrait Calculer / inférer / raisonner peser quelques octets, c est-à-dire 100 kilooctets. Le kilooctet est une mesure «cool» 3%C4%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?!!W5XX!2&K#$!!!!!!!!!!Y9Z!!!5XX!6!5X car il est presque convenable de confondre!!,*/#/$!!h5xx![,m 10 3 = 1000 et Savoir représenter = 1024, ce qui permet de passer facilement du système décimal, le plus commun, au système binaire, cher Structures de données informaticiens. Une dizaine de Nocturnes "!,*/#/$!!H5X!C,M Représentation des connaissances de Chopin sur mon téléphone prennent E,;<"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?!!!!!::$!5X 75 mégaoctets. La # vidéo!,*/#/$!!hn,m de la remise de diplôme de ma fille et ses quelques gigaoctets 2- Tous les calculs ne sont pas possibles nous conduisent aux frontières du gigantisme. Selon les chiffres de Michael Brodie 8, tous 3"/-:.%-:.,F)%-!0&;&)$!3*()/$!!!!!?!!@XX!6!5X les livres jamais écrits ne $%&!H@XX!A,M Notion de complexité demanderaient que 200 téraoctets en texte brut et la quantité de Distribution / Parallélisation / «Cloud computing» >123()#-*#$!BG!!!!!!!!!!!!!!!!!!!!!!!!!?!!!!W!@XX!A,!G!;- données produites par 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 (en Vérification / Certification Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119 4 sur 26 1/12/14 16:57

11 1. L informatique et VOUS 1. L informatique... et vous Outils de travail En quoi cela vous concerne? 1- Acteur direct / en interaction directe avec l informatique Programmation de simulation Utilisation de BD, de SIG Traitement d images, télédétection Bio-informatique 2- En interaction avec des acteurs directs Que puis-je attendre de l outil informatique? Qu est-ce qui est possible / difficile / impossible Comment interagir / dialoguer / orienter E.g. AA : - Croire que c est magique - Ne pas demander assez Informatique - Bases de données! A. Cornuéjols /119 _&!H/)%+/'D/%! _#!4)+F+,.:$"..+H")+'=!#/!S-/#(-#/ Programmation - Bases de Données 748#$/9*#!:4)!#$/!2,$$)'.#!< A#4%)+$'"#!&U#*!"#$!)-%,(;&+*)#-$ I<+.,-+'"#-!"#!2#+/$!$E$/F;#$ Simulation \,;2(3B#-$),-!G!2(3")*+,-!"#!-J-4K0%-:$"0&.%C%- R3&.)/3!U)(/4#..#!G!&4K;#-/3# Fouille de données I<*/.+),4<-D!/#-"&-*#$D!&)<;,$'"#-D!666 Informatique - Bases de données! A. Cornuéjols / L informatique... et vous? 1. Informatique et recherche à AgroParisTech Outils de travail La bureautique Le travail collaboratif et Internet SIG (Systèmes d Information Géographiques) 1A «Bureautique» 2A (ATHENS) «Publier sur Internet» 1A/2A «SIG» Étude des échanges thermiques dans l Atlantique Nord : Le Gulf-Stream est-il moins actif? Grosses bases de données réparties ; apprentissage artificiel ; Systèmes experts,... Programmation - Bases de Données Simulation Compréhension / prédiction de systèmes complexes Réalité virtuelle / augmentée Fouille de données Régularités, tendances, prédictions,... 1A TC «SI» 2A «C et télédétection» 2A «Java» 2A (ATHENS) «Informatique et Sciences de la Vie» 1A «Module Intégratif» 3A DA «IODAA» Étude du risque alimentaire : à partir de textes sélectionné sur Internet (EU / USA) Ontologies, traitement de la langue,... Analyse en imagerie médicale : détection en temps réel du contour du rein Apprentissage artificiel, analyse d images Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

12 Organisation du cours 1. Partie Organisation de l information : les Bases de Données Un amphi 4 TD/TP 1 TP / QCM (1 / 5) `(K&-)$&/),-!"4!*,4($ 2. Partie Algorithmique - Programmation (PHP) Un amphi 8 TD/TP 1 TP / QCM (1 / 5) 3. Projet 6 TP Soutenance (3 / 5) Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119 Ce cours et vous : le projet _#!2(,0#/!aa< 3)+;/,)%:#-!",--3#$!#/!(#.&+,-$!?:4+H.%- R3c3*B)(!&41!"&<)+'"#-:&"--,H.%-!$4(!.&!'&$#!"#!",--3#$ 1)"*)+00%):4-#!)-/#(%&*#!d#'!&U#*!.&!'&$#!"#!",--3#$ Q!/(&U#($!@J6OB!H4-!eNJfM P<)%)!.#$!/'.,-+4%/)-:g!.#$!)%--"/)$%- ()*+#,-%):.#$:)%D/Q4%-:#/:0";,2$+'"#-!"#!.&!Jf PHP : MySQL Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

13 Partie 1 - Place de l informatique Partie 2 - Les bases de données Partie 3 - Bases sur les BD Partie 4 - Conception des BD Partie 5 - Manipulation : SQL Partie 6 - PHP / MySQL 2. Quelles données? Les données sont omniprésentes autour de Base de données sur des films (e.g. Allociné) Base de données bibliothécaire (e.g. BN, Amazon,...) Marathon de New-York, Paris, Londres, du Médoc,... Location de voitures (e.g. Hertz,...) / Réservation de place d avion Sécurité sociale (carte Vital), Hôpitaux,... Communications téléphoniques (opérateurs) Second Life Systèmes d information géographique... Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Quelles données? 1. L informatique : mémoire et stockage Les données sont omniprésentes autour de nous...!"#!"#$%&"'()*+,#"-./#+#$%#&'(($)%#*+#%,'-.$,#/ 0-$#0#+1&"%&"#/ ='01>)?"@#91A)$?"@#)$)+B&"#.#3+&)#+)04)304$##")3 Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

14 La toile? 2. Quelles données? Les données sont omniprésentes autour de nous... dans l entreprise <$#2,,"$&"#-J-4K0%:;%:2$?,%) Les clients C6D&#6*:2,"$')26"#"$#'"6,"&#:"#E0$1F0$$)+2'9&#:"#?"&F0$#:"# :0$$9"& Les produits Les commandes Les factures... R##6PST##G<=).87"#+"#>")4&$#+"#?')")#+"#@&$$A")H Informatique - Bases de données! A. Cornuéjols / Quelles données? Informatique - Bases de données! A. Cornuéjols / Comment les stocker? Les données sont omniprésentes autour de nous... Informatique - Bases de données! A. Cornuéjols 2014 Comment les ranger dans un ordinateur? 55 /119 Informatique - Bases de données! A. Cornuéjols /119

15 2. Comment structurer les données? 2. Comment les stocker? Comment les ranger dans un ordinateur? En regardant d'un peu plus près... scanner les bons de commande [1/10] données du client copier les données dans un tableau Word [2/10] copier les données dans une feuille Excel [4/10] Scanner : seulement pour le stockage : pas d édition de factures, de gestion des stocks ou de ou comptabilité. copier les données dans une base de données [10/10] données de la commande données d'un détail Word : exploitation des données pas vraiment supportée Excel : format très complexe. Comment mettre tout dans un seul tableau? Comment faire face à croissance de l activité? 3 catégories de données Informatique - Bases de données! A. Cornuéjols / Comment structurer les données? NCOM DATECOM /1/ / Comment structurer les données? Reportons ces données dans des tableaux : données de la commande Informatique - Bases de données! A. Cornuéjols 2014 Données sans redondances et avec références : données du client données de la commande données du client TOTAL-COMMANDE NCLI NOM ADRESSE LOCALITE NCOM NCLI DATECOM NCLI B512 GILLET 14,r. de l'eté Toulouse B512 2/1/2009 B512 données des détails NOM ADRESSE LOCALITE GILLET 14,r. de l'eté Toulouse données des détails NPRO LIBELLE PRIX QCOM SOUS-TOTAL NCOM NPRO QCOM LIBELLE PRIX CS464 CHEV. SAPIN 400x6x CS CHEV. SAPIN 400x6x4 220 PA45 POINTE ACIER 45 (2K) PA45 22 POINTE ACIER 45 (2K) 105 PA60 POINTE ACIER 60 (1K) PA60 70 POINTE ACIER 60 (1K) 095 PH222 PL. HETRE 200x20x PH PL. HETRE 200x20x2 230 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 client de la commande, quelle est la commande d'un détail? Informatique - Bases de données! A. Cornuéjols 2014 tableau spécifique 59 /119 Informatique - Bases de données! A. Cornuéjols /119

16 2. Comment structurer les données? 2. Comment structurer les données? Distribution optimale des données des bons de commande Ajoutons d'autres données : notre première base de données données de la commande NCOM NCLI DATECOM données du client NCLI NOM ADRESSE LOCALITE B512 2/1/2009 B512 GILLET 14,r. de l'eté Toulouse données des détails NCOM NPRO CS464 PA45 PA60 PH222 QCOM données des produits NPRO LIBELLE PRIX CS464 CHEV. SAPIN 400x6x4 220 PA45 POINTE ACIER 45 (2K) 105 PA60 POINTE ACIER 60 (1K) 95 PH222 PL. HETRE 200x20x2 230 Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Comment structurer les données? 2. Utiliser une base de données Quelques leçons partielles On a besoin de systèmes spécifiques pour conserver et manipuler les données Les données sont représentées dans des tables Les lignes sont des entités Les colonnes sont des propriétés Le découpage en tables demande une analyse et une optimisation L analyse doit aller au-delà des besoins immédiats (abstraction) Que veut-on faire de ces données? Vérifier une commande lors de son enregistrement : le client est-il connu? son adresse a-t-elle changé? les produits commandés sont-ils répertoriés? Produire les factures Préparer le réapprovisionnement des produits en rupture de stock Calculer le chiffre d'affaire mensuel Etudier la répartition géographique des ventes Et mille autres applications... Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

17 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? Avant tout, les conserver aussi longtemps que nécessaire! Les interroger : quel est le numéro, le nom et l'adresse des clients de Toulouse? select NCLI, NOM, ADRESSE from CLIENT where LOCALITE = 'Toulouse'; facile Un dernier exemple : calculer la répartition du chiffre d'affaire par localité et par produit select C.LOCALITE, P.NPRO, sum(d.qcom*p.prix) from CLIENT C, COMMANDE M, DETAIL D, PRODUIT P where C.NCLI = M.NCLI and M.NCOM = D.NCOM and D.NPRO = P.NPRO group by C.LOCALITE, P.NPRO; inutile d'essayer de comprendre pour l'instant! ou encore : quelles sont les commandes des clients de Toulouse? select NCOM from COMMANDE where NCLI in (select NCLI from CLIENT where LOCALITE = 'Toulouse'); un peu plus difficile Cette question complexe est résolue en une seule instruction SQL de 5 lignes! requêtes rédigées dans le langage SQL Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Les SGBD Partie 1 - Place de l informatique Partie 2 - Les bases de données Partie 3 - Bases sur les BD Partie 4 - Conception des BD Partie 4 - Manipulation : SQL Partie 5 - PHP / MySQL Les systèmes de gestion de bases de données ou SGBD. Organisation des données : le SGBD organise les données en tables permanentes 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. 3- Bases... sur les Bases de Données 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 /119 Informatique - Bases de données! A. Cornuéjols /119

18 qui Star représentent Wars G. des Lucas relations Harrison comme Ford Film ou Stars Séance, Wars Sel des entrées 22:15 de ces relations comme 31 Dans «Star le Wars modèle», des relationnel, variables comme les données t, h, et sont des symboles organisées logiques, en tableaux (et), à (ou), deux dimensions (non), Un système Un système de gestion de gestion de bases de de bases données de données sert de sert médiateur de médiateur entre des entre individus des individus et des et des que (implique), nous machines. machines. appellerons (existe), Pour mieux Pour mieux des relations. (pour tout). s adapter s adapter aux individus, aux À Avec individus, la différence tout ça, des il doit il organiser doit organiser des formules mathématiciens, logiques peuvent et présenter et présenter les données les données nous supposons être BD les construites de et relations comme façon calcul de façon intuitive. de relationnel intuitive. taille : Il doit finie. Il aussi doit Comme proposer aussi proposer illustration, un langage, un langage, pour nous exprimer pour utiliserons exprimer des requêtes, une des requêtes, base de données BD et calcul relationnel consistant facilement qfacilement HB = en utilisable t, une d utilisable ( Film(t, par relation des r, par «êtres Humphrey des Film humains. êtres et humains. Bogart une Ces exigences relation») Ces Séance(t, exigences forment Séance s, forment le h) point ) (figure le de point départ 1). de départ Une du ligne du de ces modèle modèle relationnel relationnel /"&#:0$$9"&#&0$'#06?)$2&9"&#"$ 10 proposé 10 proposé par Ted par Codd, Ted Codd, un chercheur un chercheur d IBM, d IBM, dans les dans années les années relations Si cela vous est appelée paraît cryptique, un n-uplet en français, où n est cela le nombre se lit : Il il de existe existe colonnes. Des mathématiciens Des mathématiciens avaient avaient développé développé à la fin à du la fin XIXdu e siècle XIX e un titre un t et titre un Par t et exemple, un réalisateur Star rwars, réalisateur (bien siècle r avant tq. (bien le n-uplet l invention avant Film(t, l invention de de Sel, tels 22:15 est que l informatique l informatique le n-uplet un 3-uplet, et des bases des r, de bases «un Humphrey triplet, données) de données) dans Bogart la logique la la logique relation» du premier du se r, «Humphrey premier trouve Séance. Bogart») dans ordre, ordre, Les se la pour formaliser pour trouve colonnes relation formaliser Film, ont le ledes et lenoms,!0,,"$'#1)+1*+"6#+)#69(0$&"#i dans la relation Film et le n-uplet appelés n-uplet langage langage attributs, t, des 4+H.%+/C:U:V:;,0%#-,"#-#)(("+9&#3#'&-(.#/!#4 h mathématiques. des dans comme mathématiques. Séance. Titre. Observez Codd a Codd eu l idée a que eu d adapter l idée s et h d adapter ne cette Séance(t, sont logique cette pas s, h) dans quantifiées logique pour Séance. définir pour dans définir la formule un un Donc, donnez-moi les salles s et 32 Les précédente modèle données modèle gestion ; sont nous de gestion de interrogées dirons données, de données, que le modèle ces en deux utilisant modèle relationnel. variables relationnel. comme sont les langage libres. heures h (variables La formule calcul libres), s il relationnel. q HB peut être Le vuecalcul >.*KH)%:)%.+'"##%..%###J!0::@#KLMNO comme Figure Figure une requête 1. Une 1. base Une de base du calcul données de données relationnel. relationnelle relationnelle Elle se lit existe alors un réalisateur : donnez-moi r et un titre les salles s et les relationnel (très fortement inspiré de logique du t tel premier que... ordre) s appuie sur des noms horaires Film h, Films il existe un réalisateur r Séance et un Séance titre t tels que... En d autres termes, «Où et à qui représentent Titre Titre Réalisateur des Réalisateur relations Acteur Acteur comme TitreFilm Titreou SalleSéance, Heuredes Heure entrées de ces relations comme quelle Casablanca heure Casablanca puis-je M. CurtizM. Curtiz voir Humphrey un Humphrey Bogart film Bogart avec Casablanca Humphrey Casablanca Lucernaire Lucernaire 19:00 Bogart 19:00?». Ce langage, le calcul «Star Casablanca Wars Casablanca», des M. Curtiz variables M. Curtiz Peter Lorre Peter comme Lorre Casablanca t, h, et Casablanca des Studiosymboles 20:00 20:00 logiques, (et), (ou), (non), relationnel, Les 400 coups Les permet 400 F. coups d exprimer Truffaut F. Truffaut Jean-Pierre Jean-Pierre des questions Léaud Léaud Star WarsStar dans Wars une Sel Sel syntaxe 20:30 20:30 qui évite les ambiguïtés de nos (implique), langues Star WarsStar naturelles. Wars (existe), G. LucasG. Lucas Harrison Si elles (pour Ford Harrison pouvaient Ford tout). Avec Stars Wars aimer, Stars Sel Wars tout les Sel machines ça, des 22:15 22:15 formules aimeraient logiques la simplicité, peuvent la être C6)$&E06,"#+)#6"-*8'"#"$#"5(6"&&20$#)+?9P62-*"#1)+1*+)P+" 31 construites 31 Dans le Dans modèle modèle relationnel, relationnel, les données les données sont organisées sont organisées en tableaux en tableaux à deux à dimensions deux dimensions précision du comme calcul : relationnel. En pratique, elles utilisent le langage SQL (Structured que nous que appellerons nous appellerons des relations. des relations. À différence À la différence des mathématiciens, des mathématiciens, nous supposons nous supposons Q"F'#$0,P6"#:%$8"*-2$#304)09-3) Query q les relations HB Language) les = relations t,! d ( Film(t, qui exprime de taille de finie. taille r, Comme finie. «Humphrey différemment Comme illustration, illustration, Bogart») les nous utiliserons nous Séance(t, mêmes utiliserons s, questions. h) une base une ) Par exemple, la de base données de données question consistant consistant précédente en une relation une s exprime relation en Film et Film SQL une et comme relation une relation :!"#$%&'( Séance Séance (figure (figure 1). Une 1). ligne Une de ligne ces de ces 33 Si cela vous paraît cryptique, en français, cela se lit : il existe un titre t et un réalisateur r relations relations est appelée est appelée un n-uplet un n-uplet où n est où le n nombre est le nombre de colonnes. de colonnes. Par exemple, Par exemple, Star Wars, Star Wars, )'"*(+,"$ select salle, heure tels que le n-uplet t, r, «Humphrey Bogart» se trouve dans la relation Film, et le Sel, 22:15 est from Sel, 22:15 est Film, un 3-uplet, Séance un 3-uplet, un triplet, un triplet, dans la dans relation relation Séance. Séance. Les colonnes Les colonnes ont des ont noms, des noms, -./(+,"$ n-uplet appelés appelés t, attributs, s, h attributs, dans comme Séance. comme Titre. Titre. Observez que s et h ne sont pas quantifiées dans la formule where Film.titre= Séance.titre and acteur= «Humphrey Bogart» précédente 32 Les données Les données ; nous sont interrogées sont dirons interrogées que en utilisant ces en deux utilisant comme variables comme langage langage sont le calcul libres. le relationnel. calcul La relationnel. formule Le calcul Le q HB calcul peut être vue 34 C est relationnel presque relationnel (très compréhensible, fortement (très fortement inspiré inspiré de non logique? Informatique de Et qu Alice logique du - Bases premier de du s exprime données premier ordre)! A. Cornuéjols ordre) s appuie en français 2014 s appuie sur des sur ou 69 /119 noms des qu elle nomsutilise comme une requête du calcul relationnel. Elle se lit alors : donnez-moi les salles s et les ences des données une qui : de interface représentent qui la logique représentent graphique, des du relations des premier relations le système comme ordre comme Film transforme à ou la Film Séance, Toil... ou Séance, sa des question entrées des entrées de ces requête relations de ces relations SQL comme 11. comme horaires h, s il existe un réalisateur r et un titre t tels que... En d autres termes, «Où et à 35 La «Star question «Wars Star», Wars du des», variables calcul des variables relationnel comme comme t, h, et précédente t, des h, symboles et des symboles (ou logiques, en logiques, SQL) (et), précise (et), (ou), (ou), bien (non), ce (non), qu Alice quelle demande. (implique), heure (implique), Cette puis-je (existe), question (existe), voir (pour a un tout). (pour sens film Avec tout). précis, avec tout Avec une Humphrey ça, tout des sémantique. ça, formules des formules Bogart logiques Elle logiques? définit peuvent». Ce peuvent une être langage, réponse, être le uncalcul relationnel, ensemble construites construites de permet comme n-uplets. comme : d exprimer : Nous ne des préciserons questions pas dans comment une syntaxe dans qui cette évite leçon. les Ce ambiguïtés que la de BD sélection et calcul et la relationnel projection, que nous composerons dans l expression suivante de l algèbre BD et calcul relationnel nos q HB = qt, HB d = ( Film(t, d ( Film(t, r, «Humphrey r, «Humphrey Bogart») Bogart Séance(t,») Séance(t, s, h) ) s, h) ) relationnelle question langues ne naturelles. : dit pas, c est Si comment elles pouvaient calculer aimer, la réponse. les machines Pour le «aimeraient comment», la on simplicité, utilise la 33précision l algèbre Si cela Si vous cela du relationnelle paraît vous calcul paraît cryptique, relationnel. introduite cryptique, en français, en par En français, cela Codd. pratique, se cela lit Une : se il existe elles étape lit : il un existe utilisent importante titre un t et titre un le consiste t réalisateur langage et un réalisateur à rsql transformer (Structured r tels E tels le n-uplet n-uplet t, r, «t, Humphrey r, «Bogart» se» trouve se trouve dans la dans relation relation Film, et Film, le Query une question Language) HB =! salle,heure (! du calcul qui titre (" en exprime une acteur expression = «Humphrey différemment Bogart algébrique» (Film)) Salle) les qui mêmes permet questions. de calculer Par la réponse et exemple, à la n-uplet n-uplet t, s, h t, dans s, h Séance. dans Séance. Observez Observez que s et que h ne s et sont h ne pas sont quantifiées pas quantifiées dans la dans formule la formule question Figure cette question. 2. précédente L évaluation s exprime d une en requête SQL comme algébrique :!0,(+"52'9#:*#$+.$/.:;%:.+:)<&"#-% précédente précédente ; nous ; dirons nous dirons que ces que deux ces variables deux variables sont libres. sont libres. La formule La formule q HB peut q HB être peut vueêtre vue 36 L algèbre relationnelle consiste en un petit nombre d opérations de base qui, appliquées à comme select comme une salle, requête une heure requête du calcul du calcul relationnel. relationnel. Elle se Elle lit alors se lit : alors donnez-moi : donnez-moi les salles les s salles et less et les des horaires relations, from horaires h, Film, s il existe produisent h, s il Séance existe un réalisateur un de réalisateur nouvelles r et un r titre et relations. un t tels titre que... t Ces tels En que... opérations d autres En d autres termes, peuvent termes, «Où être et «àoù composées R&'71"#-*"#1"#?"$6"#:"#3#1)+1*+#4#("*'#()&&"6#S#+%91A"++"#I et à pour quelle construire quelle heure heure puis-je des puis-je voir expressions un voir film un avec algébriques film Humphrey avec Humphrey de Bogart plus en Bogart? plus». Ce? complexes.». langage, Ce langage, Pour calcul le répondre calcul à where Film.titre= Séance.titre and acteur= «Humphrey Bogart» la relationnel, question relationnel, permet qui permet nous d exprimer sert d exprimer des d exemple, questions des questions dans il nous une dans syntaxe faudra une syntaxe qui trois évite qui opérations, les évite ambiguïtés les ambiguïtés la dejointure, la 34 C est nos presque langues nos langues naturelles. compréhensible, naturelles. Si Si pouvaient elles non pouvaient aimer,? Et aimer, qu Alice les machines les machines s exprime aimeraient aimeraient en la simplicité, français la simplicité, laou qu elle la utilise précision précision du calcul du calcul relationnel. relationnel. En pratique, En pratique, elles utilisent elles utilisent le langage le langage SQL (Structured une interface graphique, le système transforme sa question en requête SQL (Structured SQL 11. Query Query Language) Language) qui exprime qui exprime différemment différemment les mêmes les mêmes questions. questions. Par exemple, Par exemple, la 1)"*)+00%-#:%0(F,2&)F0$#:"#6"-*8'"& la sur La question question question précédente du calcul précédente s exprime relationnel s exprime en SQL en comme précédente SQL comme : (ou en SQL) précise bien ce qu Alice 1/12/14 16:57 : demande. Cette question a un sens précis, une sémantique. Elle définit une réponse, un select select salle, heure salle, heure!+)&&"&#:"#$"0&.%c,4<#:"&#1)+1*+& ensemble from de Film, from n-uplets. Séance Film, Séance Nous ne préciserons pas comment dans cette leçon. Ce que la where where Film.titre= Film.titre= Séance.titre Séance.titre and acteur= and acteur= «Humphrey «Humphrey Bogart» question ne dit pas, c est comment calculer la réponse. Bogart Pour» le «comment», on utilise C est presque C est presque compréhensible, compréhensible, non? non Et qu Alice? Et qu Alice s exprime s exprime en français en français ou qu elle ou qu elle utilise l algèbre relationnelle introduite par Codd. Une étape importante consiste utilise à transformer une interface une interface graphique, graphique, le système le système transforme transforme sa question sa question en requête en requête SQL 11. SQL 11. une La question question du La question du calcul calcul du calcul relationnel en une expression relationnel précédente précédente (ou algébrique en (ou SQL) en précise qui permet SQL) précise bien ce de bien qu Alice calculer la réponse à qu Alice cette demande. question. demande. Cette question Cette question a un sens a un précis, sens précis, une sémantique. une sémantique. Elle définit Elle définit une réponse, une réponse, un un Informatique - Bases de données! A. Cornuéjols L algèbre ensemble ensemble relationnelle de n-uplets. de n-uplets. Nous consiste ne Nous préciserons en ne préciserons un petit pas comment nombre pas comment dans d opérations cette dans leçon. cette de leçon. Ce 71 /119 base que Ce la qui, que appliquées la à question question ne dit ne pas, dit c est pas, comment c est comment calculer calculer la réponse. réponse. Pour le Pour «comment le «comment», on utilise des relations, produisent de nouvelles relations. Ces opérations peuvent», on être utilisecomposées l algèbre l algèbre relationnelle relationnelle introduite introduite par Codd. par Une Codd. étape Une importante étape importante consiste consiste à transformer à transformer pour construire des expressions algébriques de plus en plus complexes. Pour répondre à MySQL une question du calcul en une expression algébrique qui permet de calculer la réponse à Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

19 3. Notions de base 3. Notions de base Base de données = ensemble de tables Tables, lignes et colonnes Chaque table a un nom unique (ex : Film) schéma Chaque table contient les données relatives à des entités de même nature. Chaque ligne (enregistrement) d une table décrit les données relatives à une entité. ligne Chaque colonne d une table décrit une propriété des entités (ex : Prix). données Les lignes d une table sont distinctes. Les noms de table et de colonnes constituent le schéma de la base. Les lignes (entités) constituent le contenu de la base. colonne obligatoire colonne facultative Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Notions de base 3. Notions de base - Exemple Le schéma d'une table définit sa structure. Il spécifie notamment : 1. le nom de la table, 2. pour chaque colonne, son nom, son type, son caractère obligatoire, Un schéma 3. l'identifiant primaire (liste de colonnes) 4. les identifiants secondaires éventuels (liste de colonnes) 5. les clés étrangères éventuelles (liste de colonnes et table cible). Le contenu d'une table est formé d'un ensemble de lignes conformes au schéma. Le contenu d'une table est sujet à de fréquentes modifications. Le schéma d'une table peut évoluer mais moins fréquemment. Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

20 3. Notions de base 3. Notions de base - Exemple Les données identifiant (clé primaire) dans le schéma dans les données clé étrangère Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119 Partie 1 - Place de l informatique Partie 2 - Les bases de données Partie 3 - Bases sur les BD Partie 4 - Conception des BD Partie 5 - Manipulation : SQL Partie 6 - PHP / MySQL 3.1 Introduction 3.5 Types d'associations 3.2 Modèle Entité-Association 3.6 Exemples de schéma conceptuel 3.3 Types d'entités 3.7 Exemple détaillé 3.4 Attributs 4.1 Pourquoi est-ce difficile de concevoir une BD 4 - Conception d une base de données Comment construire une base de données? définir les tables, les contraintes, les index, etc. introduire les données dans ces tables (ceci est un autre problème). Encore faut-il que le schéma des tables satisfasse les besoins des utilisateurs des données! L'esprit humain n'est pas conçu pour réfléchir en termes de tables! Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

21 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 Le monde est perçu comme formé d'entités, dotées de propriétés et en associations les unes avec les autres. => Modélisation Gestion des étudiants dans un établissement supérieur. Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Le modèle Entité-Association (E/A) 4.5 Types d'associations Le modèle Entité-association propose une lecture du monde (le domaine d'application) simple mais limitée : appartient CLIENT NumClient Nom Adresse signe CLIENT le monde est constitué d'objets ou entités VEHICULE CONTRAT les entités sont classées en types d'entités les entités d'un type ont des attributs spécifiques NumVéh Marque Modèle Année Cylindrée couvre NumCtr Type DateSign VEHICULE ACCIDENT CONTRAT les entités sont en association les unes avec les autres implique NumAcc DateAcc Montant[0-1] ACCIDENT les associations sont classées en types d'associations. dessin des types quelques instances Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

22 4.5 Types d'associations 4.7 Exemple - Conception d une BD pour un GIE agricole Cahier des charges (simplifié) Des agriculteurs possèdent des parcelles Une parcelle a un et un seul propriétaire Un agriculteur possède une ou plusieurs parcelles Pour exploiter ces parcelles, les agriculteurs font appel à un GIE. Celui-ci fournit de la main d oeuvre d appoint, à la journée. Cette main d oeuvre est assurée par des employés du GIE. Chaque employé du GIE a un tarif, qui constitue son salaire journalier brut. Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Exemple - Conception d une BD pour un GIE agricole 4.7 Exemple - Conception d une BD pour un GIE agricole Cahier des charges (simplifié) Cahier des charges (simplifié) (2) Des agriculteurs possèdent des parcelles Une parcelle a un et un seul propriétaire Un agriculteur possède une ou plusieurs parcelles Pour exploiter ces parcelles, les agriculteurs font appel à un GIE. Celui-ci fournit de la main d oeuvre d appoint, à la journée. Cette main d oeuvre est assurée par des employés du GIE. Chaque employé du GIE a un tarif, qui constitue son salaire journalier brut. Le GIE paie ses employés mensuellement, en fonction de leurs interventions. Chaque intervention concerne une parcelle, un employé et un nombre de jours. Le système d information désiré doit pouvoir fournir : la liste des agriculteurs la liste des employés la liste des interventions par employé la liste des interventions par agriculteur Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

23 4.7 Exemple - Conception d une BD pour un GIE agricole 4.7 Exemple - Conception d une BD pour un GIE agricole Inventaire des données (simplifié) Agriculteur : Nom, prénom, lieu de résidence Employé GIE : Nom et prénom Parcelle : nom, superficie, lieu et propriétaire Employé : numéro insee et salaire journalier Interventions : employé, parcelle, date de début, nombre de jours Nom Prénom Lieu de résidence Dulhac Anne-Marie Arith Martoz Christian Montargy Carrez François Arith Ferrer Mariette Lenoyer Mernaz Francine Lescheraines Martoz Christian Lescheraines Comment identifier? Clé primaire IdAgri Nom Prénom Lieu de résidence 1 Dulhac Anne-Marie Arith 2 Martoz Christian Montargy 3 Carrez François Arith 4 Ferrer Mariette Lenoyer 5 Mernaz Francine Lescheraines 6 Martoz Christian Lescheraines Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / 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) Ville_Dep Ville_Arr Distance Aiglun Saint-Auban 25 Aix-les-Bains Chambery 14 Rennes Paris 342 Rennes Saint-Malô 75 Saint-Alban Aiglun 23 Champ Type Extra Agr_id int(11) auto_increment Agr_Nom varchar(30) Agr_Prn varchar(20) Agr_Resid varchar(50) Agr-Id Agr_Nom Agr_Prn Agr_Resid 1 Dulhac Anne-Marie Arith 2 Martoz Christian Montargy 3 Carrez François Arith 4 Ferrer Mariette Lenoyer 5 Mernaz Francine Lescheraines 6 Martoz Christian Lescheraines Table des distances entre villes Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

24 4.7 Exemple - Conception d une BD pour un GIE agricole 4.7 Exemple - Conception d une BD pour un GIE agricole Les parcelles Par_Idf Par_Nom Par_Lieu Par_Superficie 1 Le Pré au Vent Arith Le grand Verger Arith Plan des Bauges Montargy Les Prés Rus Arith 750 Les parcelles et leur propriétaire Par_Idf Par_Nom Par_Lieu Par_Superficie Par_Prop 1 Le Pré au Vent Arith Le grand Verger Arith Plan des Montargy Bauges 4 Les Prés Rus Arith Lafosse Montargy Agriculteur Parcelles Agr_Id Agr_Nom Agr_Prn Agr_Resid 5 Lafosse Montargy 600 Comment indiquer le propriétaire? Une relation entre deux tables 1 Dulhac Anne-Marie Arith 2 Martoz Christian Montargy 3 Carrez François Arith 4 Ferrer Mariette Lenoyer 5 Mernaz Francine Lescheraines 6 Martoz Christian Lescheraines Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Exemple - Conception d une BD pour un GIE agricole 4.7 Exemple - Conception d une BD pour un GIE agricole Les parcelles et leur propriétaire Agriculteur Agr_id Agr_Nom Agr_Prn Agr_Resid Agriculteur 1 n Parcelle Par_id Par_Nom Par_Lieu Par_Sup Par_Prop Clé étrangère La table employé Emp-nss Emp_Nom Emp_prn Emp_tarif 1,75077E+12 Grandet Marc 110 1,82023E+12 Barnier Nicole 115 1,79011E+12 Pernet Henri 119 Une relation 1 à n entre deux tables Parcelles Quelle clé primaire? Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

25 4.7 Exemple - Conception d une BD pour un GIE agricole 4.7 Exemple - Conception d une BD pour un GIE agricole Quelle relation entre les tables parcelle et employé? Un employé peut être amené à travailler sur plusieurs parcelles Sur une même parcelle peuvent travailler plusieurs employés (simultanément ou l un après l autre) C est une relation plusieurs à plusieurs : on la représente par une nouvelle table Les parcelles et les employés Employé Emp_nss Emp_Nom Emp_Prn Emp_tarif 1 n L employé Grandet a travaillé sur la parcelle du pré au vent, 5 jours à partir du 5 juillet Intervention Int_Emp_nss Int_Par_id Int_Deb Int_Nb_Jours n Int_Emp_nss 1 Intervention Int_Par_i d Int_Deb Parcelle Par_id Par_Nom Par_Lieu Par_Sup Par_Prop Int_Nb_Jours 1,75077E Emp_nss Emp_Nom Emp_prn Emp_tarif 1,75077E+12 Grandet Marc 110 Employé Parcelle Par_Idf Par_Nom Par_Lieu Par_Superficie Par_Prop 1 Le Pré au Vent Arith Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119 Partie 1 - Place de l informatique Partie 2 - Les bases de données Partie 3 - Bases sur les BD Partie 4 - Conception des BD Partie 5 - Manipulation : SQL Partie 6 - PHP / MySQL 4.1 Introduction : LDD et LMD 4.5 Les fonctions agrégatives 4.2 Création / modification de table 4.6 Les sous-requêtes 4.3 Extractions simples 4.4 Extractions complexes 5.1 Introduction à SQL : LDD et LMD SQL n est pas un langage de programmation complet 5 - LE LANGAGE SQL (Structured Query Language) SQL permet : de définir le schéma de la base de données (LDD) de charger les tables relationnelles (LMD) de manipuler les données stockées (LMD) de gérer la base de données (LDD) : sécurité, organisation physique Ici En TP : aperçu de la partie LMD : le LDD aussi Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

26 5.2 Extraction simple - projection Introduction Le sous-langage LMD de SQL permet de consulter le contenu des tables et de les modifier. Il comporte 4 verbes : Personnes nom prénom adresse téléphone Martin Pierre 7 allée des vers Dupond Jean 32 allé Poivrot Dupond Marc 8 rue de l octet La requête select extrait des données des tables La requête insert insère de nouvelles lignes dans une table La requête delete supprime des lignes d'une table La requête update modifie les valeurs de colonnes de lignes existantes SELECT nom, prénom FROM Personnes nom Martin On projette la table Personnes sur les colonnes nom et prénom. prénom Pierre Dupond Jean Dupond Marc Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols / Extraction simple - sélection 5.2 Extraction simple - sélection Personnes nom prénom adresse téléphone Martin Pierre 7 allée des vers Dupond Jean 32 allé Poivrot Dupond Marc 8 rue de l octet Relation de départ : SELECT * FROM Gens Gens Nom Prenom Age Dupond Pierre 24 1 SELECT Nom FROM Gens SELECT * FROM Personnes WHERE nom = Dupond On ne sélectionne que les tuples dont l attribut nom est égale à Dupond. nom prénom adresse téléphone Dupond Jean 32 allé Poivrot Dupond Marc 8 rue de l octet Martin Marc 48 Dupont Jean 51 Martin Paul 36 Dupond Lionel 68 Chirac Jacques 70 Nom Gens Dupond Martin Dupont Martin Dupond Chirac 2 SELECT DISTINCT Nom FROM Gens 3 Nom Gens Dupond Martin Dupont Chirac Informatique - Bases de données! A. Cornuéjols /119 Informatique - Bases de données! A. Cornuéjols /119

Cours d Informatique Bases de données

Cours d Informatique Bases de données Cours d Informatique Bases de données 1 année Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr http://www.lri.fr/~antoine/courses/agro/tc/cours-1a-bd-(v3)x2.pdf Partie 1 - Place

Plus en détail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

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

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces

Plus en détail

Bases de données relationnelles : Introduction

Bases de données relationnelles : Introduction Bases de données relationnelles : Introduction historique et principes V. Benzaken Département d informatique LRI UMR 8623 CNRS Université Paris Sud veronique.benzaken@u-psud.fr https://www.lri.fr/ benzaken/

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

Dr YAO Kouassi Patrick www.yaopatrick.e-monsite.com

Dr YAO Kouassi Patrick www.yaopatrick.e-monsite.com Notion de Bases de données et Gestion de données biologiques Dr YAO Kouassi Patrick www.yaopatrick.e-monsite.com Notion de base de données Une base de données est une collection de données interdépendantes

Plus en détail

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

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

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

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

Exercices et solutions

Exercices et solutions Ce document constitue l annexe A de l ouvrage "Bases de données", J-L Hainaut, Dunod, 2012 Date de dernière modification : 8/6/2012 Annexe A A1 Exercices et solutions Cette annexe propose une collection

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

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

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

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

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

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

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

Bases de données Cours 1 : Généralités sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,

Plus en détail

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles

INFORMATIQUECOMMUNE CPGE. Introduction aux Bases de Données Relationnelles INFORMATIQUECOMMUNE Introduction aux Bases de Données Relationnelles Serge Abiteboul Inria, ENS Cachan, Conseil national du numérique serge.abiteboul@inria.fr Benjamin Nguyen Université de Versailles St-Quentin-en-Yvelines,

Plus en détail

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Initiation aux bases de données (SGBD) Walter RUDAMETKIN Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)

Plus en détail

INTRODUCTION AUX BASES de DONNEES

INTRODUCTION AUX BASES de DONNEES INTRODUCTION AUX BASES de DONNEES Équipe Bases de Données LRI-Université Paris XI, Orsay Université Paris Sud Année 2003 2004 1 SGBD : Fonctionnalités et Principes Qu est qu une base de données? Un Système

Plus en détail

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL . THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,

Plus en détail

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales Ecole des Hautes Etudes Commerciales HEC Alger Évolution des SGBDs par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Evolution des SGBDs Pour toute remarque, question, commentaire

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

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr IT203 : Systèmes de gestion de bases de données A. Zemmari zemmari@labri.fr 1 Informations pratiques Intervenants : Cours : (A. Zemmari zemmari@labri.fr) TDs, TPs : S. Lombardy et A. Zemmari Organisation

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

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

Bases de Données Avancées

Bases de Données Avancées 1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

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

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique : 2004-2005

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique : 2004-2005 Université Libre de Bruxelles Faculté des Sciences Appliquées & Faculté des Sciences INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception des bases de données : Modèle Entité-Association Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

IODAA. de l 1nf0rmation à la Décision par l Analyse et l Apprentissage / 21

IODAA. de l 1nf0rmation à la Décision par l Analyse et l Apprentissage / 21 IODAA de l 1nf0rmation à la Décision par l Analyse et l Apprentissage IODAA Informations générales 2 Un monde nouveau Des données numériques partout en croissance prodigieuse Comment en extraire des connaissances

Plus en détail

Bases de données Outils de gestion

Bases de données Outils de gestion 11/03/2010 Bases de données Outils de gestion Mise en place d outils pour gérer, stocker et utiliser les informations d une recherche biomédicale ent réalisé par L. QUINQUIS d épidémiologie et de biostatistique

Plus en détail

INFO 2 : Traitement des images

INFO 2 : Traitement des images INFO 2 : Traitement des images Objectifs : Comprendre la différence entre image vectorielle et bipmap. Comprendre les caractéristiques d'une image : résolution, définition, nombre de couleurs, poids Etre

Plus en détail

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

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

Plus en détail

Introduction aux Bases de Données Relationnelles Conclusion - 1

Introduction aux Bases de Données Relationnelles Conclusion - 1 Pratique d un : MySQL Objectifs des bases de données Où en sommes nous? Finalement, qu est-ce qu un? Modèle relationnel Algèbre relationnelle Conclusion SQL Conception et rétro-conception Protection de

Plus en détail

THOT - Extraction de données et de schémas d un SGBD

THOT - Extraction de données et de schémas d un SGBD THOT - Extraction de données et de schémas d un SGBD Pierre-Jean DOUSSET (France), Benoît ALBAREIL (France) pj@miningdb.com, benoit@miningdb.com Mots clefs : Fouille d information, base de données, système

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

CESI Bases de données

CESI Bases de données CESI Bases de données Introduction septembre 2006 Bertrand LIAUDET EPF - BASE DE DONNÉES - septembre 2005 - page 1 PRÉSENTATION GÉNÉRALE 1. Objectifs généraux L objectif de ce document est de faire comprendre

Plus en détail

Bases de données cours 1

Bases de données cours 1 Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre

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

Business Intelligence

Business Intelligence avec Excel, Power BI et Office 365 Téléchargement www.editions-eni.fr.fr Jean-Pierre GIRARDOT Table des matières 1 Avant-propos A. À qui s adresse ce livre?..................................................

Plus en détail

Modélisation de bases de données : Le modèle relationnel

Modélisation de bases de données : Le modèle relationnel Modélisation de bases de données : Le modèle relationnel Rappel chapitre 1 C est quoi un modèle? Type de modèle : Modèle hiérarchique Modèle réseau Modèle objet Modèle relationnel Cours BD Dr REZEG K 1

Plus en détail

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant Master CCI Compétences Complémentaires en Informatique Livret de l étudiant 2014 2015 Master CCI Le Master CCI (Compétences Complémentaires en Informatique) permet à des étudiants de niveau M1 ou M2 dans

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

Programmes des classes préparatoires aux Grandes Ecoles

Programmes des classes préparatoires aux Grandes Ecoles Programmes des classes préparatoires aux Grandes Ecoles Filière : scientifique Voies : Mathématiques, physique et sciences de l'ingénieur (MPSI) Physique, chimie et sciences de l ingénieur (PCSI) Physique,

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

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

Temps forts départementaux. Le calcul au cycle 2 Technique opératoire La soustraction

Temps forts départementaux. Le calcul au cycle 2 Technique opératoire La soustraction Temps forts départementaux Le calcul au cycle 2 Technique opératoire La soustraction Calcul au cycle 2 La soustraction fait partie du champ opératoire additif D un point de vue strictement mathématique,

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

Introduction aux Bases de Données

Introduction aux Bases de Données Licence 3 Géographie Aménagement NHUC5548 Introduction aux Bases de Données Le cas des BD relationnelles Concepts, méthodes et applications JP ANTONI / Y FLETY 1 Logistique et autres fonctionnements Cours

Plus en détail

BUSINESS INTELLIGENCE

BUSINESS INTELLIGENCE GUIDE COMPARATIF BUSINESS INTELLIGENCE www.viseo.com Table des matières Business Intelligence :... 2 Contexte et objectifs... 2 Une architecture spécifique... 2 Les outils de Business intelligence... 3

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

Bases de Données Relationnelles. Le Modèle Relationnel

Bases de Données Relationnelles. Le Modèle Relationnel Bases de Données Relationnelles Le Modèle Relationnel Le modèle relationnel modèle de niveau logique modèle simple : deux concepts relation (table) attribut (colonne) défini par Ted Codd en 1970 ; prix

Plus en détail

4.2 Unités d enseignement du M1

4.2 Unités d enseignement du M1 88 CHAPITRE 4. DESCRIPTION DES UNITÉS D ENSEIGNEMENT 4.2 Unités d enseignement du M1 Tous les cours sont de 6 ECTS. Modélisation, optimisation et complexité des algorithmes (code RCP106) Objectif : Présenter

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

Chapitre 1 Généralités sur les bases de données

Chapitre 1 Généralités sur les bases de données Chapitre 1 Généralités sur les bases de données I. Définition d un SGBD Une base de données, généralement appelée BD est un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations

Plus en détail

Bases de données - Modèle relationnel

Bases de données - Modèle relationnel Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1 Les bases de données - Bibliographie Ullman and Widom,

Plus en détail

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr

Excel avancé. Frédéric Gava (MCF) gava@univ-paris12.fr Excel avancé Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Rappels et compléments

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

Dossier I Découverte de Base d Open Office

Dossier I Découverte de Base d Open Office ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire

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

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

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

Initiation au binaire

Initiation au binaire Présenté par TryEngineering Objet de la leçon Cette leçon explique les principes du code binaire et ses applications possibles par les ingénieurs informaticiens. Dans cette leçon, les élèves réaliseront

Plus en détail

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement Cahier n o 6 Mon ordinateur Fichiers et dossiers Sauvegarde et classement ISBN : 978-2-922881-10-3 2 Table des matières Fichiers et dossiers Sauvegarde et classement La sauvegarde 4 Enregistrer 4 De quelle

Plus en détail

Comment utiliser FileMaker Pro avec Microsoft Office

Comment utiliser FileMaker Pro avec Microsoft Office Guide d utilisation Comment utiliser FileMaker Pro avec Microsoft Office Comment utiliser FileMaker Pro et Microsoft Office page 1 Table des matières Introduction... 3 Avant de commencer... 4 Partage de

Plus en détail

Les Entrepôts de Données

Les Entrepôts de Données Les Entrepôts de Données Grégory Bonnet Abdel-Illah Mouaddib GREYC Dépt Dépt informatique :: GREYC Dépt Dépt informatique :: Cours Cours SIR SIR Systèmes d information décisionnels Nouvelles générations

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

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure

KIELA CONSULTING. Microsoft Office Open Office Windows - Internet. Formation sur mesure KIELA CONSULTING Microsoft Office Open Office Windows - Internet Formation sur mesure Bureautique L outil informatique et la bureautique sont devenus quasiment incontournables quelque soit votre métier

Plus en détail

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles) SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients

Plus en détail

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09 INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL

Plus en détail

FileMaker 13. Guide ODBC et JDBC

FileMaker 13. Guide ODBC et JDBC FileMaker 13 Guide ODBC et JDBC 2004-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

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

OBJECTIFS ET ARCHITECTURE DES SGBD

OBJECTIFS ET ARCHITECTURE DES SGBD OBJECTIFS ET ARCHITECTURE DES SGBD 1. INTRODUCTION Même si vous n avez jamais utilisé de système de gestion de bases de données (SGBD), vous avez certainement une idée de ce qu est une base de données

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

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr

Initiation à Excel. Frédéric Gava (MCF) gava@univ-paris12.fr Initiation à Excel Frédéric Gava (MCF) gava@univ-paris12.fr LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex Plan de cette année

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

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Raja Bases de données distribuées A Lire - Tutoriel

Raja Bases de données distribuées A Lire - Tutoriel Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

Algorithme. Table des matières

Algorithme. Table des matières 1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............

Plus en détail