Title: Witold Litwin
1Bases de données
Introduction
Witold Litwin
2Livres de Support
Niveau Introductif
- Bases de Données. Gardarin, G. Eyrrolles, 1998
- SQL2. Delmal, P. De Boeck, 1998
- MsAccess cest facile (ou tout livre à titre
similaire)
- Introduction to Database Systems. Date, Ch.
Prentice Hall, 1999. Nombreux exercices et
solutions. - A First Course in Database Syst. Ullman, J.,
Widom, J., Prentice Hall, 1997, 468. (Cours de
Stanford Univ.)
Niveau Avancé
- DB2. Universal Database. D. Chamberlin, 1998.
Morgan-Kaufman - Database Management Syst. Ramakrishnan, R.
McGraw Hill, 1997, 740. (Cours de Wisconsin
Univ.)
3Support des Cours
Internet Powerpoint http//ceria.dauphine.fr/cou
rs98/BD-wl-98.html
- Visionneuse PPT 2000 libre sur le site
Microsoft
- Les cours peuvent être imprimés par la
visionneuse en plusieurs formats en couleur - Format recommandé 6 diapos / page, parfois 2
diapos /page
- Polies N/B imprimées par la Fac pour les ayant
droit
4SGBD Support MsAccess 2000
- Disponible sur mon portable
- Sera utilisé durant les exposés
- Vendu que tous les autres SGBD ensemble
- 11M licences / mois 132 M / an
- La plus amicale interface usager sur le marché
- Très complet
- 4 GL, SQL2, QBE, OLE, ODBC, Multimédia,
Multibase,  Web-enabled - Le 1er SGBD pour tout un chacun
5Contrôle de connaissances
- Selon le cas
- Examen
- Projet
- Questions durant les cours
- Questions ?
- Witold.Litwin_at_dauphine.fr
- Bureau A410
- (t f) 01.44.05.48.80
- http//ceria.dauphine.fr
6Base de Données
- Une collection de données qui supporte les
définitions de - Données de la base
- Structure intégrée
- Lien sémantiques
- Contraintes dintégrité
- Contraintes de sécurité
- Vues de la base
7Base de Données
- Une collection de données qui supporte les
manipulations de - Recherche de données
- Interactive
- Assertionnelle
- 4-GL
- Logiquement et physiquement performante
- Insertion, Mise à jour, Suppression de données
- Cohérente
- Partagée
- Fiable
8SGBD
- Système de Gestion de Base de Données (SGBD)
- Système logiciel gérant une BD
- Peut avoir des composantes matériel
- Mono ou multiordinateur
- En général, peut gérer plusieurs BDs
- Peux aussi accéder aux BDs dautres SGBDs
9(No Transcript)
10Pourquoi une Base de Données ?
- Intégration de données
- Moins de duplications
- Partage de données
- Fiabilité de données
- Transactions, Reprises sur pannes, Tolérance de
pannes - Sécurité de données
- Langages assertionnels de requêtes
- SQL, QBE
- Interfaces conviviales
- 4-GL Web
11Pourquoi une Base de Données ?
- En pratique, il est impossible de concevoir ces
fonctions soi-même - Théorie complexe
- Conception dune BD
- Formes normales
- Langages de définition et de manipulation dune
BD - Optimisation de requêtes assertionnelles
- Transactions et partage de données
- .
- Logiciel complexe
- des centaines de milliers ou des millions de
lignes de programmation
12Différentes BDs
- Il y en a pour tous les goûts
- BDs personnelles
- MsAccess etc.
- 10 KO 100 KO
- BDs professionnelles typiques
- 100 KO 100 GO
- BDs professionnelles très grandes
- Very Large Databases (VLDB)
- gt 100 GO
13VLDB-98 par taille
UPS contient aussi 6 GB d indexes
14VLDB-98 par nombre de tuples
15VLDB-98 par TPS
16Même  VLDB Survey en 1997
- Scalabilité Base UPS a quadruplé de volume en
un an ! - Base TRW est la même que Experian
17Puissance de principaux SGBD (centralisés)
Source VLDB Survey
18Composantes dune BDLogiciel
- SGBD
- Gère le niveau logique et physique de la base
- Selon larchitecture ANSI-SPARC
- Les outils frontaux (4-GL)
- Générateurs de formes, de rapports, des
applications - Intégrés au SGBD ou externes
- Powerbuilder, Borland
- Interfaces WEB HTML, XML
- Interfaces OLAP Data Mining
- Intelligent Data Miner (IBM)
- Utilitaires chargement, statistiques, aide à la
conception
19Composantes dune BDMatériel
- Ordinateur générique
- avec son CPU, RAM, disque pour la BD, bandes
pour la sauvegarde - RAM est considéré traditionnellement trop petite
pour une BD - Ce nest plus toujours vrai
- Problème classique dorganisation dE/S pour une
BD
20Composantes dune BDMatériel
- Machine spécialisée (MBD)
- Ne supporte que la BD
- En général multiprocesseur à partage de rien
- Teradata avec jusquau 1024 Pentiums
- Les applications sont sur dautres ordinateurs
- Liaison par LAN
21Usagers
- Interactifs (ad-hoc)
- Cherchent les infos, sans connaître la BD
- Interfaces visuelles 4-GL, Web
- A la rigueur peuvent utiliser le langage QBE
- Programmeurs dapplication
- Construisent les interfaces pour les usagers
interactifs - Spécialistes de SQL
- DBA
- Définit et maintient la BD
- A la priorité sur tous les autres usagers
- Peut être payé en France 700 KF/an
22Types de SGBDPar modèle de données
- 1ère génération 1950 65
- SGF, SGF généralisés avec les langages booléens
de manip. - 2ème génération 1965 - 70
- SGBD navigationnel
- Hierarchique (IMS), Réseau (Codasyl),
Pseudo-relationnel - 3ème génération 1969 -
- SGBD relationnel (DB2, Oracle, Informix, MsAcess
- SGBD OO 1990 - 1999
- En pratique une impasse (O2, Objectstore,
Objectivity..) - SGBD relationnel objet (RO) 1993 -
- Évolution probable de tout SGBD relationnel
23Types de SGBDPar capacité
-  Mainframe ou cluster de mainframes
- DB2, Adabas
- Machine base de données
- Teradata
- Serveurs Unix Windows 2000
- DB2, Informix, Oracle, Sybase, Unify, SQL Server,
- Personnels
- MsAccess, Paradox
- Carte de Crédit
- CQL
24SGBD Relationnel et sa Base Max. 64 KO
Dossier médical Personnel Monnaie Électronique .
25Architecture ANSI-SPARC
ES
ES
ES
CS
IS
26Architecture 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
- Créateur du modèle de données réseau (Codasyl)
- Plus tard de larchitecture Open System
Interconnection (OSI) - Prix Turing
- La plus haute récompense scientifique en
informatique en USA
27Architecture ANSI-SPARCSchéma Conceptuel (CS)
ES
ES
ES
CS
IS
- Dune manière abstraite un modèle conceptuel de
lunivers réel de la BD - Dit aussi entreprise
- LUniversité Paris 9
- Au Printemps
- Mes vins préférés
- Dieux et Démons chez les Grecs
- Lanalyse du réel est le domaine des méthodes de
conception de la BD - Rôle pionnier de Prof. Colette Rolland (Sorbonne)
28Architecture ANSI-SPARCSchéma Conceptuel (CS)
ES
ES
ES
CS
- Dune manière appliquée la définition logique
de la BD - Une et une seule
- Les données logiques, leurs structures et types
- Relations, attributs, domains
- Entités
- Objets, Types, Classes
- Leur manipulations
- procédures, fonctions, méthodes
IS
29Architecture ANSI-SPARCSchéma Conceptuel (CS)
ES
ES
ES
CS
- La définition logique de la BD (suite)
- Les liens sémantiques
- Données dun même objet réel
- Les contraintes dintégrité
- Mono-valeur
- Référentielles
- Variées
- Les contraintes de sécurité
- Qui peut manipuler quoi
IS
30(No Transcript)
31Architecture ANSI-SPARCSchéma Conceptuel (CS)
ES
ES
ES
CS
- Le CS est définit par le DBA seul
- Complexité
- Sécurité
- Par lintégration de données des différentes
applications de la BD - Plusieurs méthodes de conception, plus ou moins
formelles - Entité-Relations
- Objets Fonctions
- Merise
- Normalisation relationnelle
IS
32Architecture ANSI-SPARCSchéma Conceptuel (CS)
ES
ES
ES
CS
IS
- La BD (donc le CS) est définit en utilisant
- Le langage de définition de données
- La BD est manipulée au niveau de CS à travers
- Le langage de manipulation de données
- Les deux sous-langages forment
- Le langage de base de données
- En général incomplet au sens de la machine de
Turing - SQL pour une BD relationnelle
33Architecture ANSI-SPARCSchémas Externes (ESs)
ES
ES
ES
- Un ES un sous-schéma dune BD
- Dérivé du CS
- La dérivation est définie dans le ES
- Définit une vue de la BD
- Une sous-base virtuelle
- En général partielle
- Pour des usagers ad-hoc
- Vues 4-GL, orientés Web notamment (HTML, XML)
- Pour des programmeurs dapplication
- Vues SQL, pour SQL imbriqué ou Vbasic, ou
procédures stockées
CS
IS
34Architecture ANSI-SPARCSchémas Externes (ESs)
ES
ES
ES
- Une BD est en général munie de plusieurs
différentes ESs - Mais tous ont le CS comme racine commune
- Donc tous doivent être accepté par le DBA
- Perte dautonomie de lusager
CS
IS
35(No Transcript)
36(No Transcript)
37Architecture ANSI-SPARCSchéma Interne (IS)
ES
ES
ES
- Définit la représentation interne de la BD
- Niveau interne ou physique
- Les disques, fichiers hachés, arbres-B contenant
la BD - La représentation physique de valeurs de données
- Réel, entier, texte, OLE
- Encodage
- Définit lapplication du CS sur le IS
- Selon le principe de lindépendance de niveaux
logique et physique
CS
IS
Assez d ANSI-SPARC
38(No Transcript)
39(No Transcript)
40Architecture fonctionnelle dun SGBD relationnel
Requêtes HTML
Requêtes 4-GL
JDBC, CGI
Requêtes QBE
Requêtes SQL
ODBC
Requêtes SQL
Gestionnaire des transactions et de la
concurrence
Requêtes algébriques
Gestionnaire de mémoires
Gestionnaire de reprises
41Architecture BD Centralisée
Usagers
Mainframe
42Architecture Client-Serveur
Client
LAN
Serveur
43Architecture BDR/BDP/MDB
Clients
LAN
Serveurs
44Architecture BDR/BDP/MDB
- Base de Données Répartie (BDR)
- Une BD avec les fragments dans les SGBDs sur
différents sites dun réseau - Si cest un réseau local et la répartition est
une partition au niveau physique, alors cest
une BD parallèle (BDP) - Multibase
- Une collection de bases de données munie dun
langage multibase - Sur différents sites ou le même
- On les appelle aussi BDs intéroperables
- En général ces BDs sont autonomes et hétérogènes
45Architecture BDR / BDP
- Fragmentation type BDP
- par hachage statique
- par intervalles pré-définis dun attribut ordonné
- Serveur 1 Ville A..D, Serveur 2 Ville
E..I etc - Fragmentation type BDR
- par prédicat SQL
- Serveur 1
- SELECT FROM HOTELS WHERE VILLE PARIS
- AND CAT lt gt
- Serveur 2
- SELECT FROM HOTELS WHERE VILLE PARIS AND
CAT - Fragmentation BDR est plus générale mais moins
usitée
46Architecture BDR / BDP(exemples)
- SQL Server
- 16 serveurs (1998)
- Sybase
- 64 serveurs
- DB2
- 16 serveurs ?
- Informix
- ?
- Oracle
- parallèle non-BDR (CPUs partagent les disques)
47Architecture WEB DB
Client
Client
Client
WEB
Cache server
Cache server
Web server
48Architecture WEB DB
- Cache server
- cache les pages souvent usitées
- Inktomi
- Web server
- gère les données en HTML XML
- transforme les données et les requêtes CGI ? SQL
- distribue la charge
- Netscape, Inktomi...
- DBMS
- contient la base
- DB2, SQL Server...
49Architecture BDS
LAN
50Multiordinateur Réseau
- Peut contenir des milliers de sites (PCs WSs)
- La BD utilise les ressources cumulées
- GOs de RAM, TOs de disques
- Les données et les traitements de la BD se
répartissent sur autant de sites quil faut - La nombre de sites serveurs de la BD peut croître
dynamiquement avec sa taille - Dune manière transparente pour les applications
- La BD deviendrait scalable (BDS)
51Structures de Données Distribuées et Scalables
- Partitionnement dynamique transparent au client
- par hachage (LH)
- par intervalles (RP)
- multi-attribut (k-RP)
- à tolérance de pannes (LHsa)
- Accès par clé par le client
- Peut subir des renvois entre les serveurs
- Idem pour laccès parallèle (scans)
- Voir les cours sur les SDDSs
52BD Relationnelle
- Données structurées en relations (tables)
- Manipulations relationnelles, en général
exprimées en SQL, transforment des tables en une
table
Algèbre Relationnelle
53Exemple
S
Select S, SNAME, STATUS FROM S WHERE CITY
Paris
54Exemple de SGBD RelationnelMsAccess
- Le plus vendu au monde
- Dizaines de millions de copies / mois
- Bases ? 3 GO
- Limite dadressage en 32 bits de Windows
- En multibase taille illimitée
- 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 (limitée) de
transactions - ODBC
- Bonne compatibilité avec SQL Server
55Exemple dutilisation de MsAccess
- A partir du portable en cours
- Ouverture de bases exemple
- Analyse de schémas
- Manipulations 4-GL
- Manipulations QBE
- Manipulations SQL
56Exercices
- En quelques mots avantages dune BD par rapport
à un fichier - Deux définitions du concept dune BD
- Les principales possibilités dune BD et dun
SGBD - Commente le concept de schéma intégré
- Les principes de larchitecture ANSI-SPARC
- Limitations du concept de la vue dune BD
- Raisons de la popularité de larchitecture
client-serveur - Ses principales limitations
- Différence entre les principes de larchitecture
BDR, BDP, MBD - Le rôle du cache serveur dans larchitecture WEB
DB - Comment peut-on satisfaire un client BD mobile
dans larchitecture multibase - Lidée dans les bases scalables
- Caractéristiques de MsAccess
- Auto-familiarisation pratique avec MsAccess
57FIN