1 witold litwin 2008-09 ? 2 gardarin, g. bases de données. eyrolles delmal, p. sql2. de boeck...

93
1 Witold Litwin 2008-09 ?

Upload: clovis-vigier

Post on 04-Apr-2015

111 views

Category:

Documents


6 download

TRANSCRIPT

  • Page 1
  • Page 2
  • 1 Witold Litwin 2008-09 ?
  • Page 3
  • 2 Gardarin, G. Bases de Donnes. Eyrolles Delmal, P. SQL2. De Boeck MsAccess 2007 cest facile (ou tout livre titre similaire) Gabillaud, J. SQL Server 2005. Edition ENI * Date, Ch. Introduction to Database Systems. Prentice Hall. Nombreux exercices et solutions. * Garcia, H., Ullman, J., Widom, J. A First Course in Database Syst. Prentice Hall, 468. (Cours de Stanford Univ.) * Tropashko, V. SQL Design Patterns. Rampant Livres de Support Niveau Introductif :
  • Page 4
  • 3 Visionneuse PPT libre sur le site Microsoft Les cours peuvent tre imprims par la visionneuse en plusieurs formats & en couleur Format recommand : 3 diapos / page, Internet & Powerpoint http://ceria.dauphine.fr/cours98/BD-wl-98.html Support des Cours Polies N/B imprimes par la Fac pour les ayant droit
  • Page 5
  • 4 SGBD Support MsAccess 2007 Disponible Dauphine par MSDN Voir M. G. Ro ? Vendu + que tous les autres SGBD ensemble 11M licences / mois = 132 M / an La plus amicale interface usager sur le march Trs complet 4 GL, SQL2, QBE, OLE, ODBC, Multimdia, Multibase, Web-enabled 1er SGBD pour tout un chacun
  • Page 6
  • 5 Contrle de connaissances Selon le cours Examen ? Projet Aprs le vote populaire au 1r cours Questions ? [email protected] Bureau B019 http://ceria.dauphine.fr
  • Page 7
  • Base de Donnes 6
  • Page 8
  • 7 Une collection de donnes qui supporte les dfinitions de Donnes de la base Structure intgre Ex. prix de base toujours exprim en et HT Liens smantiques Contraintes dintgrit Contraintes de scurit Vues de la base
  • Page 9
  • Vue dune Base de Donnes (Magritte) 8
  • Page 10
  • 9 Base de Donnes Une collection de donnes qui supporte les manipulations de Recherche de donnes Interactive Assertionnelle 4-GL Logiquement et physiquement performante Insertion, Mise jour, Suppression de donnes Cohrente Partage Fiable
  • Page 11
  • 10 SGBD Systme de Gestion de Base de Donnes (SGBD) Systme logiciel grant une BD Peut avoir des composantes matriel Mono ou multiordinateur En gnral, peut grer plusieurs BDs Peux aussi accder aux BDs dautres SGBDs
  • Page 12
  • 11 SGBD Tout SGBD populaire aujourdhui est relationnel Donnes sont structures en relations dites tables Elles sont manipulables par un langage relationellement complet SQL en gnral au moins
  • Page 13
  • 12 SGBD SGBDs populaire aujourdhui MsAccess, SQL Server Oracle MySQL DB2 Postgres Sybase SQL Anywhere OpenOfficeBase, TimesTen, DBLibrary, Adabas, SAS, Monet, Vertica, Sedna
  • Page 14
  • 13
  • Page 15
  • 14
  • Page 16
  • 15 MsAccess 95
  • Page 17
  • 16 Une autre vue de Nancy ( partir de MsAccess 2003)
  • Page 18
  • 17 Une autre vue des employs A travers une requte SQL Select * From Employes
  • Page 19
  • Retour sur Magritte 18
  • Page 20
  • 19 Pourquoi une Base de Donnes ? Intgration de donnes Moins de duplications Partage de donnes Fiabilit de donnes Transactions, Reprises sur pannes, Tolrance de pannes Scurit de donnes Langages assertionnels de requtes SQL, QBE Interfaces conviviales 4-GL & Web
  • Page 21
  • 20 Pourquoi une Base de Donnes ? En pratique, il est impossible de concevoir ces fonctions soi-mme Thorie complexe Conception dune BD Formes normales Langages de dfinition et de manipulation dune BD Optimisation de requtes assertionnelles Transactions et partage de donnes . Logiciel complexe des centaines de milliers ou des millions de lignes de programmation
  • Page 22
  • BDs et Actuariat 21
  • Page 23
  • BDs et Actuariat 22
  • Page 24
  • BDs et Actuariat 23
  • Page 25
  • BDs et ISF Nombreuses fonctions statistiques et financires Standard et selon SGBD (MsAccess 2007 ici) Divers graphiques... Pas dISF ou dActuariat sans comptence en BDs
  • Page 26
  • 25 Diffrentes BDs Il y en a pour tous les gots BDs personnelles MsAccess etc. 100 KO 100 MO sans multimdia BDs professionnelles typiques 100 MO 1 TO BDs professionnelles trs grandes Very Large Databases (VLDB) > 1 TO, on sachemine vers 1 PO
  • Page 27
  • 26 VLDB-05 par taille http://www.wintercorp.com/VLDB/2005_TopTen_Survey/TopTenWinners_2005.asp
  • Page 28
  • 27 VLDB-05 par taille http://www.wintercorp.com/VLDB/2005_TopTen_Survey/TopTenWinners_2005.asp
  • Page 29
  • 28 VLDB-05 par taille http://www.wintercorp.com/VLDB/2005_TopTen_Survey/TopTenWinners_2005.asp
  • Page 30
  • 29 VLDB-98 par taille UPS contient aussi 6 TB d indexes
  • Page 31
  • 30 VLDB-98 par nombre de tuples
  • Page 32
  • 31 Composantes dune BD Logiciel SGBD Gre le niveau logique et physique de la base Selon larchitecture ANSI-SPARC Les outils frontaux (4-GL) Gnrateurs : de formes, de rapports, des applications Intgrs au SGBD ou externes Powerbuilder, Borland Interfaces WEB : HTML, XML Interfaces OLAP & Data Mining Intelligent Data Miner (IBM) Utilitaires: chargement, statistiques, aide la conception
  • Page 33
  • 32 Types de SGBD Par capacit Mainframe ou cluster de mainframes DB2, Adabas Machine base de donnes Teradata Serveurs Unix & Windows 2000 DB2, Interbase, Oracle, Sybase, MySQL, Postgres, SQL Server, MsAccess Personnels MsAccess, OpenOfficeBase Carte de Crdit CQL
  • Page 34
  • 33 SGBD Relationnel et sa Base Max.: 64 KO Carte Vital ? Dossier Personnel Monnaie lectronique .
  • Page 35
  • 34 Composantes dune BD Matriel Ordinateur gnrique avec son CPU, RAM, disque pour la BD, bandes pour la sauvegarde RAM est considr traditionnellement trop petite pour une BD Ce nest plus toujours vrai Problme classique dorganisation dE/S pour une BD
  • Page 36
  • 35 Composantes dune BD Matriel Machine spcialise (MBD) Ne supporte que la BD En gnral multiprocesseur partage de rien Teradata avec jusquau 1024 Pentiums Les applications sont sur dautres ordinateurs Liaison par LAN
  • Page 37
  • 36 Usagers Interactifs (ad-hoc) Cherchent les infos, sans connatre la BD Interfaces visuelles: 4-GL, Web A la rigueur peuvent utiliser le langage QBE Programmeurs dapplication Construisent les interfaces pour les usagers interactifs Spcialistes de SQL DBA Dfinit et maintient la BD A la priorit sur tous les autres usagers Peut tre pay en France 120 K/an
  • Page 38
  • 37 Types de SGBD Par modle de donnes 1re gnration 1950 65 SGF, SGF gnraliss avec les langages boolens de manip. 2me gnration 1965 - 70 SGBD navigationnel Hierarchique (IMS), Rseau (Codasyl), Pseudo-relationnel 3me gnration 1969 - SGBD relationnel (DB2, Oracle, Sybase, MsAcess SGBD OO 1990 - 1999 En pratique : une impasse (O2, Objectstore, Objectivity..) O2 a fait faillite en 1999
  • Page 39
  • 38 Types de SGBD Par modle de donnes SGBD relationnel 1969 - Propos par E. Codd (IBM) SGBD relationnel objet (RO) 1995 - SGBD relationnel XML volution probable de tout SGBD relationnel Autres Documentaires, XML ?
  • Page 40
  • 39 Architecture ANSI-SPARC ES CS IS
  • Page 41
  • 40 Architecture ANSI-SPARC Un standard pour tout SGBD digne de ce nom Propos vers 1965 ans par Charles Bachman Auteur du concept de la BD Concepteur de IDMS-2 Le 1er SGBD moderne Crateur du modle de donnes rseau (Codasyl) Plus tard de larchitecture Open System Interconnection (OSI) Prix Turing La plus haute rcompense scientifique en informatique en USA
  • Page 42
  • 41 Architecture ANSI-SPARC Schma Conceptuel (CS) Dune manire abstraite: un modle conceptuel de lunivers rel de la BD Dit aussi entreprise LUniversit Paris 9 Au Printemps Mes vins prfrs Dieux et Dmons chez les Grecs Lanalyse du rel est le domaine des mthodes de conception de la BD Rle pionnier de Prof. Colette Rolland (Sorbonne) ES CS IS
  • Page 43
  • 42 Architecture ANSI-SPARC Schma Conceptuel (CS) Dune manire applique : la dfinition logique de la BD Une et une seule Les donnes logiques, leurs structures et types Relations, attributs, domains Entits Objets, Types, Classes Leur manipulations procdures, fonctions, mthodes ES CS IS
  • Page 44
  • 43 La dfinition logique de la BD (suite) Les liens smantiques Donnes dun mme objet rel Les contraintes dintgrit Mono-valeur Rfrentielles Varies Les contraintes de scurit Qui peut manipuler quoi Architecture ANSI-SPARC Schma Conceptuel (CS) ES CS IS
  • Page 45
  • 44
  • Page 46
  • 45 Le CS est dfinit par le DBA seul Complexit Scurit Par lintgration de donnes des diffrentes applications de la BD Plusieurs mthodes de conception, plus ou moins formelles UML Entit-Relations Normalisation relationnelle Objets & Fonctions Merise Architecture ANSI-SPARC Schma Conceptuel (CS) ES CS IS
  • Page 47
  • Base NABUCO 46 CS propos par un de projets ISF 08 Simulation du systme universitaire de comptabilit publique NABUCO rel nest pas une BD Do beaucoup de problmes
  • Page 48
  • Base NABUCO 47
  • Page 49
  • 48 La BD (donc le CS) est dfinit en utilisant : Le langage de dfinition de donnes La BD est manipule au niveau de CS travers: Le langage de manipulation de donnes Les deux sous-langages forment: Le langage de base de donnes En gnral incomplet au sens de la machine de Turing SQL pour une BD relationnelle Architecture ANSI-SPARC Schma Conceptuel (CS) ES CS IS
  • Page 50
  • 49 Architecture ANSI-SPARC Schmas Externes (ESs) Un ES = un sous-schma dune BD Driv du CS La drivation est dfinie dans le ES Dfinit une vue de la BD Une sous-base virtuelle En gnral partielle Pour des usagers ad-hoc Vues 4-GL, orients Web notamment (HTML, XML) Pour des programmeurs dapplication Vues SQL, pour SQL imbriqu ou Vbasic, ou procdures stockes ES CS IS
  • Page 51
  • 50 Architecture ANSI-SPARC Schmas Externes (ESs) Une BD est en gnral munie de plusieurs diffrentes ESs Mais tous ont le CS comme racine commune Donc tous doivent tre accept par le DBA Perte dautonomie de lusager ES CS IS
  • Page 52
  • 51
  • Page 53
  • 52 MsAccess 95
  • Page 54
  • 53 Une autre vue de Nancy (sous MsAccess 2000)
  • Page 55
  • 54 Une autre vue des employs A travers une requte SQL Select * From Employes Typiquement, pour les programmeurs d'application Schma Externe
  • Page 56
  • Retour sur Magritte 55
  • Page 57
  • 56 Architecture ANSI-SPARC Schma Interne (IS) Dfinit la reprsentation interne de la BD Niveau interne ou physique Les disques, fichiers hachs, arbres-B contenant la BD La reprsentation physique de valeurs de donnes Rel, entier, texte, OLE Encodage Dfinit lapplication du CS sur le IS Selon le principe de lindpendance de niveaux logique et physique ES CS IS Assez d ANSI-SPARC
  • Page 58
  • 57
  • Page 59
  • 58
  • Page 60
  • 59 Architecture Multibase ES MES ES CS IS ES CS IS MDL IDS
  • Page 61
  • Architecture Multibase Ncessaire par la ncessit frquente dutilisation de bases multiples et interoprables Schma Externe Multibase (MES) Prsente plusieurs BDs comme une seule Langage de Manipulation Multibase (MDL) Permet de rfrencer explicitement les donnes dans BDs diffrentes 60
  • Page 62
  • Architecture Multibase Schma de Dpendances Interbases (IDS) Interoprabilit entre les CS Distance en miles/pouces de base US MKSA de BD en GB Important pour les requtes MBD Trop peu usit Labsence dun IDS pour les units de distance a fait capoter la mission Explorer La sonde a loup Mars Le chef du projet a perdu son emploi La NASA a perdu 200 M$ 61
  • Page 63
  • Architecture Multibase Invente dans les annes 80 lINRIA Par le sous-sign & lquipe Projet pilote SIRIUS Bases de Donnes Distribues et Systmes Multibases (sous-projet B A BA) Voir les articles sur le site CERIA Notamment sur SIRIUS-DELTA MRDSM 1r systme multibase construit Toujours rfrenc sur le site de Multics MIT http://www.multicians.org/mgloss.html 62
  • Page 64
  • 63 Architecture fonctionnelle dun SGBD relationnel Gestionnaire de mmoires Base Requtes SQL Requtes QBE Requtes 4-GL Requtes algbriques Requtes HTML JDBC, CGI Requtes SQL ODBC Gestionnaire des transactions et de la concurrence Gestionnaire de reprises Requtes XML XQuery XPath
  • Page 65
  • 64 Architecture BD Centralise Mainframe Usagers
  • Page 66
  • 65 Architecture BD Personnelle
  • Page 67
  • 66 Architecture Client-Serveur LAN Serveur Client 2 Dfauts majeurs
  • Page 68
  • 67 Architecture Client-Serveur LAN Serveur Client 2 Dfauts majeurs
  • Page 69
  • 68 Architecture Client-Serveur LAN Serveur Client 2 Dfauts majeurs
  • Page 70
  • 69 Architecture Client-Serveurs (Multiples) LAN Serveurs Clients
  • Page 71
  • 70 Base de Donnes Rpartie ou Parallle (BDR/BDP) Une BD avec les fragments dans les SGBDs sur diffrents sites dun rseau Si cest un rseau local et la rpartition est une partition au niveau physique, alors cest une BD parallle (BDP) Multibase Une collection de bases de donnes munie dun langage multibase Sur diffrents sites ou le mme On les appelle aussi BDs introperables En gnral ces BDs sont autonomes et htrognes Architecture Client-Serveurs
  • Page 72
  • 71 Fragmentation type BDP par hachage statique par intervalles pr-dfinis dun attribut ordonn Serveur 1 : Ville = A*..D*, Serveur 2 Ville = E*..I* etc Fragmentation type BDR par prdicat SQL Serveur 1: SELECT * FROM HOTELS WHERE VILLE = PARIS AND CAT ** ; Serveur 2: SELECT * FROM HOTELS WHERE VILLE = PARIS AND CAT = ** Fragmentation BDR est plus gnrale mais moins usite Fragmentation BDP / BDR
  • Page 73
  • 72 Architecture BDR / BDP (exemples) SQL Server 256 serveurs (2006) Sybase 64 serveurs DB2 16 (gros ?) serveurs ? Oracle parallle non-BDR (CPUs partagent les disques)
  • Page 74
  • 73 Client App. Firefox IE WEB Architecture WEB DB Serveur de Cache Serveur de Cache Serveur Web SGBD HTML ODBC ou JDBC Scripts
  • Page 75
  • 74 Architecture WEB DB Client Envoie et rceptionne les pages HTML et XML Notamment avec la balise FORM avec lattribut ACTION Qui indique le nom du fichier HTML lancer sur le serveur FORM ACTION = http://www....host/Achat Cache server cache les pages souvent usites Inktomi
  • Page 76
  • 75 Architecture WEB DB Web server gre les donnes arrivant en HTML & XML transforme les donnes et les requtes CGI & PHP SQL imbriqu les instruction du php sont dans les balises les instructions SQL sont imbriques dans les messages ODBC ou JDBC ou.Net distribue la charge Netscape, Inktomi... DBMS contient la base DB2, SQL Server...
  • Page 77
  • 76 Architecture EWS Similaire WEB DB Mais le protocoles sont + labors Pour une meilleure scurit etc. Extended Web Services SOAP, XML. Outils gnriques nouveaux Sharepoint (MS) Portlet Containers Liferay Hibernate, Ruby on Rails, Applications Ouvertes Sugar CRM
  • Page 78
  • 77 Architecture BDS LAN
  • Page 79
  • 78 Base de Donnes Scalable La nombre de sites serveurs de la BDS crot dynamiquement avec sa taille Dune manire transparente pour les applications En utilisant les ressources cumules TOs de RAM, POs de disques Peut stendre sur des milliers de sites (PCs & WSs) En thorie pour linstant Mais loffre commerciale pointe son nez Dsormais pour de bon Grande nouveaut 2008
  • Page 80
  • 79 Base de Donnes Scalable Jargon Commercial: P2P, Grid Hosting, Cloud Computing, Elastic Computing , Data Fabrics, Database as Service, SaaS GemFire (Gemstone) Amazon EC Blue Cloud (IBM) Red Dog ? (MS) Enomaly http://www.enomalism.com/http://www.enomalism.com/ Google Apps Yahoo Pipes 3Tera http://www.dnseurope.net/http://www.dnseurope.net/
  • Page 81
  • 80 Multiordinateur Rseau Appel aussi Paire Paire (P2P) ou grille (grid) Peut contenir des milliers de sites (PCs & WSs) La BD utilise les ressources cumules GOs de RAM, TOs de disques Les donnes et les traitements de la BD se rpartissent sur autant de sites quil faut La nombre de sites serveurs de la BD peut crotre dynamiquement avec sa taille Dune manire transparente pour les applications La BD deviendrait scalable (BDS)
  • Page 82
  • 81 Structures de Donnes Distribues et Scalables Partitionnement dynamique transparent au client par hachage (LH*) par intervalles (RP*) : SDDS-2005 au B019 multi-attribut (k-RP*) tolrance de pannes (LH*sa) Accs par cl par le client Peut subir des renvois entre les serveurs Idem pour laccs parallle (scans) Voir les cours sur les SDDSs Une application rcente : systmes P2P structurs
  • Page 83
  • 82 SD-SQL Server 1 er SGBD Scalable Distribu Utilise le principe des SDDS Les tables relationnelles se rpartissent automatiquement par clatements sur autant de SD-SQL Servers quil faut La rpartition est invisible aux applications Proto visible au B017 ou sur le site CERIA (vido) Thse Doctorat de Soror Sahri (2006)
  • Page 84
  • 83 SD-SQL Server 1 er SGBD Scalable Distribu
  • Page 85
  • 84 BD Relationnelle Donnes structures en relations (tables) Manipulations relationnelles, en gnral exprimes en SQL, transforment des tables en une table Algbre Relationnelle
  • Page 86
  • 85 Le Rapport de Recherche qui a lanc les SGBDs Relationnels (publi uniquement en interne IBM Almaden Research Center (CA) BD Relationnelle
  • Page 87
  • 86 BD Relationnelle Le Rapport de Recherche qui a lanc les SGBDs Relationnels (Rsum)
  • Page 88
  • 87 BD Relationnelle Le Rapport de Recherche qui a lanc les SGBDs Relationnels (Table des Matires)
  • Page 89
  • 88 SQL: Select S#, SNAME, STATUS FROM S WHERE CITY = Paris Algbre relationnelle : (S WHERE CITY = 'Paris') [S#, SNAME, STATUS] S Exemple
  • Page 90
  • 89 Exemple de SGBD Relationnel MsAccess Le plus vendu au monde Dizaines de millions de copies / mois Bases 3 GO Limite dadressage en 32 bits de Windows En multibase : taille illimite Langages SQL & QBE Excellente interfaces 4-GL & OLE notamment multimedia incluse Un langage de programmation BD Visual Basic Adapt larchitecture client-serveur Gestion de concurrence et (limite) de transactions ODBC Bonne compatibilit avec SQL Server
  • Page 91
  • 90 A partir du portable en cours Ouverture de bases exemple Analyse de schmas Manipulations 4-GL Manipulations QBE Manipulations SQL Exemple dutilisation de MsAccess
  • Page 92
  • 91 Exercices 1.Dfinition du concept de BD 2.Avantages essentiels dune BD sur un fichier 3.Commentez le concept de schma int gr 4.Un exemple dune contrainte dintgrit dans une BD 5.Diffrence essentielle entre un langage assertionnel et un langage de programmation 6.Typologies de BDs 7.Expliquez larchitecture ANSI-SPARC 8.Limitations du concept de la vue dune BD (exemple) 9.Commentez les images de Iceberg et de Magritte
  • Page 93
  • 92 Exercices 10.Quoi et pourquoi de larchitecture multibase 11.Quelles possibilits de larchitecture multibase existent sous MsAccess ? 12.Avantages et dfauts de larchitecture client-serveur 13.Pourquoi larchitecture client-serveur(s) ? 14.Que signifient les concept : scalabilit, EWS, DbaS, SaaS 15.Quelle est la caractristique nouvelle et encore unique (2008) de SD-SQL Server 16.Auto-familiarisation avec MsAccess 2007 Disponible sous MSDN Dauphine et aux CRIOs Aussi tlchargement libre pour 60 jours chez MS Suffit pour le cours 17. Tlcharger et essayer OpenOfficeBase
  • Page 94
  • 93 FIN