97
1 Witold Litwin 2008-09 ?

Witold Litwin

  • Upload
    thuong

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

Bases de données. 2008-09. ?. Witold Litwin. Livres de Support. Niveau Introductif :. Gardarin , G. Bases de Données. Eyrolles Delmal , P. SQL2. De Boeck MsAccess 2007 c’est facile (ou tout livre à titre similaire ) Gabillaud , J. SQL Server 2005. Edition ENI . - PowerPoint PPT Presentation

Citation preview

No Slide Title

1

Witold LitwinBases de donnes2008-09?

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. RampantLivres de SupportNiveau Introductif :66Architecture fonctionnelle dun SGBD relationnelGestionnairede mmoiresBaseRequtes SQLRequtesQBERequtes4-GLRequtes algbriquesRequtesHTMLJDBC, CGIRequtes SQLODBCGestionnaire destransactions et de la concurrenceGestionnairede reprisesRequtesXMLXQueryXPath4SGBD SupportMsAccess 2007Disponible Dauphine par MSDNVoir M. G. Ro ?Vendu + que tous les autres SGBD ensemble11M licences / mois = 132 M / anLa plus amicale interface usager sur le marchTrs complet4 GL, SQL2, QBE, OLE, ODBC, Multimdia, Multibase, Web-enabled1er SGBD pour tout un chacun5Contrle de connaissances Selon le coursExamen ?

ProjetAprs le vote populaire au 1r coursQuestions [email protected] B019http://ceria.dauphine.fr

Base de Donnes6

7Base de DonnesUne collection de donnes qui supporte les dfinitions deDonnes de la baseStructure intgreEx. prix de base toujours exprim en et HTLiens smantiquesContraintes dintgrit Contraintes de scuritVues de la base

Vue dune Base de Donnes(Magritte)8

9Base de DonnesUne collection de donnes qui supporte les manipulations deRecherche de donnesInteractiveAssertionnelle4-GLLogiquement et physiquement performanteInsertion, Mise jour, Suppression de donnesCohrentePartageFiable

10SGBDSystme de Gestion de Base de Donnes (SGBD)Systme logiciel grant une BDPeut avoir des composantes matrielMono ou multiordinateurEn gnral, peut grer plusieurs BDsPeux aussi accder aux BDs dautres SGBDs

11SGBDTout SGBD populaire aujourdhui est relationnelDonnes sont structures en relations dites tablesElles sont manipulables par un langage relationellement completSQL en gnral au moins

12SGBDSGBDs populaire aujourdhui MsAccess, SQL Server OracleMySQLDB2 PostgresSybaseSQL AnywhereOpenOfficeBase, TimesTen, DBLibrary, Adabas, SAS, Monet, Vertica, Sedna

13

14

15

MsAccess 9516

Une autre vue de Nancy ( partir de MsAccess 2003)17Une autre vue des employs

A travers une requte SQLSelect * From EmployesRetour sur Magritte18

19Pourquoi une Base de Donnes ?Intgration de donnesMoins de duplicationsPartage de donnesFiabilit de donnes Transactions, Reprises sur pannes, Tolrance de pannesScurit de donnesLangages assertionnels de requtesSQL, QBEInterfaces conviviales4-GL & Web

20Pourquoi une Base de Donnes ? En pratique, il est impossible de concevoir ces fonctions soi-mmeThorie complexeConception dune BDFormes normalesLangages de dfinition et de manipulation dune BDOptimisation de requtes assertionnellesTransactions et partage de donnes.Logiciel complexedes centaines de milliers ou des millions de lignes de programmation

BDs et Actuariat21

BDs et Actuariat22

BDs et Actuariat23

BDs et ISF

Nombreuses fonctions statistiques et financires Standard et selon SGBD (MsAccess 2007 ici) Divers graphiques ... Pas dISF ou dActuariat sans comptence en BDs25Diffrentes BDsIl y en a pour tous les gots BDs personnellesMsAccess etc.100 KO 100 MOsans multimdiaBDs professionnelles typiques 100 MO 1 TO BDs professionnelles trs grandesVery Large Databases (VLDB) > 1 TO, on sachemine vers 1 PO26VLDB-05 par taillehttp://www.wintercorp.com/VLDB/2005_TopTen_Survey/TopTenWinners_2005.asp

27VLDB-05 par taillehttp://www.wintercorp.com/VLDB/2005_TopTen_Survey/TopTenWinners_2005.asp

28VLDB-05 par taillehttp://www.wintercorp.com/VLDB/2005_TopTen_Survey/TopTenWinners_2005.asp

29

VLDB-98 par tailleUPS contient aussi 6 TB dindexes 30VLDB-98 par nombre de tuples

31Composantes dune BDLogicielSGBDGre le niveau logique et physique de la baseSelon larchitecture ANSI-SPARCLes outils frontaux (4-GL)Gnrateurs : de formes, de rapports, des applicationsIntgrs au SGBD ou externesPowerbuilder, BorlandInterfaces WEB : HTML, XMLInterfaces OLAP & Data MiningIntelligent Data Miner (IBM)Utilitaires: chargement, statistiques, aide la conception

32Types de SGBDPar capacitMainframe ou clusterde mainframesDB2, AdabasMachine base de donnesTeradata Serveurs Unix & Windows 2000DB2, Interbase, Oracle, Sybase, MySQL, Postgres, SQL Server, MsAccessPersonnelsMsAccess, OpenOfficeBaseCarte de CrditCQL

33SGBD Relationnel et sa BaseMax.: 64 KOCarte Vital ? Dossier PersonnelMonnaielectronique.

34Composantes dune BDMatrielOrdinateur gnrique avec son CPU, RAM, disque pour la BD, bandes pour la sauvegardeRAM est considr traditionnellement trop petite pour une BDCe nest plus toujours vraiProblme classique dorganisation dE/S pour une BD

35Composantes dune BDMatrielMachine spcialise (MBD) Ne supporte que la BDEn gnral multiprocesseur partage de rienTeradata avec jusquau 1024 Pentiums Les applications sont sur dautres ordinateursLiaison par LAN

36UsagersInteractifs (ad-hoc)Cherchent les infos, sans connatre la BDInterfaces visuelles: 4-GL, WebA la rigueur peuvent utiliser le langage QBEProgrammeurs dapplicationConstruisent les interfaces pour les usagers interactifsSpcialistes de SQLDBADfinit et maintient la BDA la priorit sur tous les autres usagersPeut tre pay en France 120 K/an

37Types de SGBDPar modle de donnes1re gnration 1950 65SGF, SGF gnraliss avec les langages boolens de manip. 2me gnration 1965 - 70SGBD navigationnelHierarchique (IMS), Rseau (Codasyl), Pseudo-relationnel3me gnration 1969 - SGBD relationnel (DB2, Oracle, Sybase, MsAcessSGBD OO 1990 - 1999En pratique : une impasse (O2, Objectstore, Objectivity..)O2 a fait faillite en 199938Types de SGBDPar modle de donnesSGBD relationnel 1969 - Propos par E. Codd (IBM)SGBD relationnel objet (RO) 1995 - SGBD relationnel XML volution probable de tout SGBD relationnelAutresDocumentaires, XML ?

39Architecture ANSI-SPARC ESESESCSIS

40Architecture ANSI-SPARCUn standard pour tout SGBD digne de ce nomPropos vers 1965 ans par Charles BachmanAuteur du concept de la BDConcepteur de IDMS-2Le 1er SGBD moderneCrateur du modle de donnes rseau (Codasyl)Plus tard de larchitecture Open System Interconnection (OSI)Prix TuringLa plus haute rcompense scientifique en informatique en USA

41Architecture ANSI-SPARCSchma Conceptuel (CS)Dune manire abstraite: un modle conceptuel de lunivers rel de la BDDit aussi entrepriseLUniversit Paris 9Au PrintempsMes vins prfrsDieux et Dmons chez les GrecsLanalyse du rel est le domaine des mthodes de conception de la BDRle pionnier de Prof. Colette Rolland (Sorbonne)ESESESCSIS42Architecture ANSI-SPARCSchma Conceptuel (CS)Dune manire applique : la dfinition logique de la BD Une et une seuleLes donnes logiques, leurs structures et typesRelations, attributs, domainsEntitsObjets, Types, ClassesLeur manipulations procdures, fonctions, mthodesESESESCSIS43La dfinition logique de la BD (suite)Les liens smantiquesDonnes dun mme objet relLes contraintes dintgrit Mono-valeurRfrentiellesVariesLes contraintes de scuritQui peut manipuler quoi

Architecture ANSI-SPARCSchma Conceptuel (CS)ESESESCSIS44

45Le CS est dfinit par le DBA seulComplexitScurit Par lintgration de donnes des diffrentes applications de la BDPlusieurs mthodes de conception, plus ou moins formellesUML Entit-RelationsNormalisation relationnelleObjets & FonctionsMerise

Architecture ANSI-SPARCSchma Conceptuel (CS)ESESESCSISBase NABUCO46 CS propos par un de projets ISF 08 Simulation du systme universitaire de comptabilit publique NABUCO rel nest pas une BD Do beaucoup de problmesBase NABUCO47

48La BD (donc le CS) est dfinit en utilisant :Le langage de dfinition de donnesLa BD est manipule au niveau de CS travers:Le langage de manipulation de donnesLes deux sous-langages forment:Le langage de base de donnesEn gnral incomplet au sens de la machine de TuringSQL pour une BD relationnelle

Architecture ANSI-SPARCSchma Conceptuel (CS)ESESESCSIS49Architecture ANSI-SPARCSchmas Externes (ESs)Un ES = un sous-schma dune BDDriv du CSLa drivation est dfinie dans le ESDfinit une vue de la BD Une sous-base virtuelleEn gnral partielle Pour des usagers ad-hocVues 4-GL, orients Web notamment (HTML, XML)Pour des programmeurs dapplicationVues SQL, pour SQL imbriqu ou Vbasic, ou procdures stockes

ESESESCSIS50Architecture ANSI-SPARCSchmas Externes (ESs)Une BD est en gnral munie de plusieurs diffrentes ESs Mais tous ont le CS comme racine communeDonc tous doivent tre accept par le DBAPerte dautonomie de lusager

ESESESCSIS51

52

MsAccess 9553

Une autre vue de Nancy (sous MsAccess 2000)54Une autre vue des employs

A travers une requte SQLSelect * From Employes Typiquement, pour les programmeurs d'application Schma Externe55ES et BD relationnelles ES est en gnral une table, pas une BD virtuelle Une entorse ANSI-SPARC En SQL Dfinie en SQL par les commandes Select dune requte nomme et stocke Create View Inoprante sous MsAccess 2007 En QBE En mode cration de MsAccess56ES et BD relationnellesLinterface 4 GL peut dfinir ES prsentant: Une table Sur un formulaire ou un rapport Une BD virtuelle Sur un formulaire Sur plusieurs formulaires enchaines par des boutons, onglets Sous MsAccess, un formulaire permet de choisir entre plusieurs ESs et vues Menu Gnral Auto-lanc Un usager peut tre autoris de nutiliser quune seule vue

Retour sur Magritte57

58Architecture ANSI-SPARCSchma Interne (IS) Dfinit la reprsentation interne de la BDNiveau interne ou physiqueLes disques, fichiers hachs, arbres-B contenant la BDLa reprsentation physique de valeurs de donnesRel, entier, texte, OLEEncodageDfinit lapplication du CS sur le ISSelon le principe de lindpendance de niveaux logique et physique

ESESESCSISAssez dANSI-SPARC

59

60

61Architecture Multibase ESMESESCSIS

ESESESCSIS

MDLIDSArchitecture Multibase Ncessaire par la ncessit frquente dutilisation de bases multiples et interoprablesSchma Externe Multibase (MES)Prsente plusieurs BDs comme une seuleLangage de Manipulation Multibase (MDL)Permet de rfrencer explicitement les donnes dans BDs diffrentes62Architecture Multibase Requte MBD en SQL de MsAccessLa table S contient nos fournisseurs, dans notre base, prsentement ouverteLa table Customers contient les clients dune autre entreprise, dans leur base appele nwind2.mdbOn cherche nos fournisseurs et leur clients dans la mme villePeut-tre un petit espionnage industrielSELECT S.SName, C.[Contact Name], C.CityFROM S, [nwind2.mdb].Customers AS CWHERE ((S.City= C.City))Order by [contact name];

63Architecture Multibase Schma de Dpendances Interbases (IDS)Interoprabilit entre les CSDistance en miles/pouces de base US MKSA de BD en GBImportant pour les requtes MBDTrop peu usitLabsence dun IDS pour les units de distance a fait capoter la mission Explorer La sonde a loup MarsLe chef du projet a perdu son emploiLa NASA a perdu 200 M$64Architecture Multibase Invente dans les annes 80 lINRIAPar le sous-sign & lquipeProjet pilote SIRIUSBases de Donnes Distribues et Systmes Multibases (sous-projet B A BA)Voir les articles sur le site CERIANotamment sur SIRIUS-DELTAMRDSM1r systme multibase construitToujours rfrenc sur le site de Multics MIThttp://www.multicians.org/mgloss.html

6567Architecture BD Centralise

MainframeUsagers68Architecture BD Personnelle

69Architecture Client-Serveur

LAN

ServeurClient2 Dfauts majeurs70Architecture Client-Serveur

LAN

ServeurClient2 Dfauts majeurs

71Architecture Client-Serveur

LAN

ServeurClient2 Dfauts majeurs

72Architecture Client-Serveurs (Multiples)

LAN

ServeursClients

73Base de Donnes Rpartie ou Parallle (BDR/BDP)Une BD avec les fragments dans les SGBDs sur diffrents sites dun rseauSi cest un rseau local et la rpartition est une partition au niveau physique, alors cest une BD parallle (BDP)MultibaseUne collection de bases de donnes munie dun langage multibaseSur diffrents sites ou le mmeOn les appelle aussi BDs introperablesEn gnral ces BDs sont autonomes et htrognesArchitecture Client-Serveurs 74Fragmentation type BDPpar hachage statiquepar intervalles pr-dfinis dun attribut ordonnServeur 1 : Ville = A*..D*, Serveur 2 Ville = E*..I* etcFragmentation type BDR par prdicat SQLServeur 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 usiteFragmentation BDP / BDR75Architecture BDR / BDP(exemples)SQL Server 256 serveurs (2006)Sybase64 serveursDB216 (gros ?) serveurs ?Oracleparallle non-BDR (CPUs partagent les disques)76ClientApp.FirefoxIEWEBArchitecture WEB DB Serveur de CacheServeur de CacheServeur WebSGBDSGBDSGBDHTMLHTMLHTMLODBC ou JDBCScripts77Architecture WEB DB ClientEnvoie et rceptionne les pages HTML et XMLNotamment avec la balise FORM avec lattribut ACTIONQui indique le nom du fichier HTML lancer sur le serveurFORM ACTION = http://www....host/AchatCache servercache les pages souvent usitesInktomi 78Architecture WEB DB Web servergre les donnes arrivant en HTML & XMLtransforme les donnes et les requtes CGI & PHP SQL imbriqules instruction du php sont dans les balises