Cours 2 : Architecture pour les bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr
Plan du cours Architecture SPARC-ANSI 1 Architecture SPARC-ANSI 2 3 4 5
Architecture ANSI/SPARC
Architecture ANSI/SPARC schéma externe schéma externe... schéma externe schéma conceptuel schéma interne
Architecture ANSI/SPARC C est un standard pour tout SGBD Proposé vers 1965 par Charles Bachman : concept de la BD IDMS-2 : le 1er SGBD moderne modèle de données réseau (Codasyl) architecture Open System Interconnection (OSI) Prix Turing de l ACM (Association for Computing Machinery) 1973
Architecture ANSI/SPARC :
Architecture ANSI/SPARC : ou schéma conceptuel : niveau logique : vue commune à tous les utilisateurs (abstraite) vue conceptuelle : diverses ocurrences des types d enregistrements schéma conceptuel : définition de divers types d enregistrements, définition de containtes d intégrité et de sécurité
Architecture ANSI/SPARC : Le schéma conceptuel : définition logique de la BD une et une seule les données logiques, leurs structures et types relations, attributs, domaines entités, Objets, Types, Classes Leur manipulations procédures, fonctions, méthodes,
Architecture ANSI/SPARC : Le schéma conceptuel : définition logique de la BD (suite) liens sémantiques données d un mme objet réel les contraintes d intégrité les contraintes d intégrité référentielles les contraintes de sécurité qui peut manipuler quoi
Architecture ANSI/SPARC :
Architecture ANSI/SPARC : le schéma conceptuel est défini par : l administrateur de la base de données (DBA) seul complexité sécurité l inté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
Architecture ANSI/SPARC : la BD est définie en utilisant : le langage de définition de données (LDD) la BD est manipulée au niveau du SC à travers le langage de manipulation de données (LMD) les deux sous-langages forment : le langage de base de données SQL pour une BD relationnelle
Architecture ANSI/SPARC : exemple : institut de formation permanente schéma conceptuel : entité-association
Exemple de schéma conceptuel exemple : institut de formation permanente (suite) traduction du schéma conceptuel en un schéma logique dans les concepts du modèle utilisé par le SGBD choisi on appelle modèle logique le modèle sur lequel est construit un SGBD. relationnel objet... ne pas confondre shéma logique et conceptuel
Exemple de schéma logique exemple : institut de formation permanente (suite) Schéma Logique (SL) relationnel : 4 relations étudiant : nom, prénom, date de naissance, no étudiant étudiant = nom de la relation nom, prénom,date de naissance, n étudiant = noms d attributs enseignant : nom, prénom, statut, no compte bancaire cours : nom cours, cycle, nom enseignant inscription : no étudiant, nom cours, note1, note2
Exemple de schéma logique exemple : cave viticole Buveur(Nom, Prénom, Adresse) : Nom : chaîne de 10 caractères Prénom : chaîne de 8 caractères Adresse : chaîne de 20 caractères Cave(Vin, Producteur, Adresse, Nb) : Vin : chaîne de 10 caractères Producteur : chaîne de 8 caractères Année : entier Nb : entier
Architecture ANSI/SPARC :
Architecture ANSI/SPARC : ou schéma externe : niveau de l utilisateur : la façon dont l utilisateur voit la partie de la BD qui l intéresse une vue externe : collection d ocurrences d enregistrements schéma externe : définition de divers types d enregistrements externes chaque utilisateur dispose d un langage : programmeurs d application : JAVA, C++, PL/1,... utilisateur final : langage de requêtes : SQL, MySQL,...
Architecture ANSI/SPARC :
Exemple de schéma logique Schéma externe pour le professeur de base de données : étudiant BD : nom, prénom, note1, note2, note finale étudiant BD résulte de la combinaison de étudiant et inscription du Schéma Logique, tels qu il existe une inscription de cet étudiant pour le cours BD (no étudiant dans étudiant = no étudiant dans inscription et nom cours dans inscription = BD ), et note finale = (note1 + note2)/2
Exemple de schéma externe Schéma externe pour le service de gestion du personnel enseignant : professeur : nom, prénom, no compte bancaire, nombre de cours, liste(nom cours) professeur résulte de la combinaison de enseignant cours du Schéma Logique, tels que liste(nom cours) est la liste de nom cours qui se trouvent dans cours tel que nom enseignant dans cours = nom dans enseignant, et nombre de cours = Cardinalité(liste(nom cours))
Exemple de schéma externe Schéma externe pour une cave viticole Nom Adresse Prénom Vin Producteur Année Nb Nom Adresse Prénom Vin Année Nb
Architecture ANSI/SPARC :
Architecture ANSI/SPARC : ou schéma interne : niveau d implémentation : relatif à la mémoire physique une vue interne : représentation de bas niveau de l ensemble de la BD schéma interne : définition de divers types d enregistrements mémoire, spécifie les index existants, le séquencement des enregistrements
Architecture ANSI/SPARC : Le schéma interne définit la représentation interne de la BD ou physique les disques, fichiers hachés, contenant la BD la représentation physique des valeurs de données réel, entier, texte, encodage, définit l application du SC sur le SI Selon le principe de l indépendance des niveaux logique et physique
Architecture ANSI/SPARC : : exemple étudiant : fichier FEtud, contenu : nom, prénom, date de naissance, no étudiant indexé sur no étudiant, index secondaire sur nom+prénom enseignant + cours : fichier FEnsCours, contenu : nom, prénom, statut, no compte bancaire, liste(nom cours, cycle) tel que nom enseignant dans cours = nom dans Enseignant indexé sur nom, deux index secondaires, l un sur nom cours, l autre sur cycle Inscription : fichier FInscrits, contenu : no étudiant, nom cours, note1, note2 indexé sur no étudiant, index secondaire sur nom cours
Architecture ANSI/SPARC : les liens entre les différents niveaux lien conceptuel/interne : définit la correspondance entre vue conceptuelle et BD mémoire lien externe/conceptuel : définit la correspondance entre vue conceptuelle et et une vue externe particulière possibilité de liens externe/externe : définit une vue en fonction d autres vues
administration de la BD (BDA) Definition administrateur des données : décide de la stratégie et de la politique administrateur de la base de données : responsable de l ensemble des contrôles du système définit le schéma conceptuel définit le schéma interne assure la relation avec les utilisateurs définit les règles de sécurité et d intégrité définit les modèles de sauvegarde et de restauration supervise des performances et prend en compte des évolutions
Architecture ANSI/SPARC
SGBD dans l architecture 3 niveaux le SGBD est le logiciel qui prend charges accès à la BD : 1) l utilisateur émet une requête 2) le SGBD reçoit la requête et l analyse 3) le SGBD inspecte le schéma externe, le lien externe/conceptuel, le schéma conceptuel, le lien conceptuel/interne et la définition de la BD mémoire 4) le SGBD exécute les opérations au niveau de la BD mémoire
Architecture Architecture SPARC-ANSI
Architecture ANSI/SPARC : limitations Limitations notion d une base unique au niveau d une entreprise en général impossible en pratique complexité organisationnelle complexité technique imprécisions de concepts fondamentaux entreprise, BD,... notion de vue (schéma externe) limites théoriques sur la mise à jour des vues distinction entre les langages de définition et de manipulation une vue est souvent définie par un langage de manipulation les objets sont définis par des manipulations qu ils supportent néanmoins l architecture ANSI-SPARC est un concept de base de l informatique moderne
Architecture centralisée
utilisateurs applications clients SGBD serveur base de données
Structure composée de 2 parties : le serveur : correspond au SGBD les clients : les différentes applications applications écrites par l utilisateur applications fournies par le vendeur de SGBD processeurs de langages de requêtes processeurs de langages naturels, générateurs de rapports, tableurs, g enérateurs d applications, modules statistiques...
Accès distant applications clients accès distant transparent SGBD serveur
Accès distant... clients réseau de communication serveur
Traitement distribué traitement des données réparti sur plusieurs machines du réseau avantages traitement parallèle du client et du serveur machine serveur : machine dédiée au SGBD machine client : station de travail personnelle plusieurs clients peuvent partager la même BD
Traitement distribué différents types d accès un client accède à un nombre quelconque de serveurs MAIS uniquement un à la fois un client accède à plusieurs serveurs simultanément
Architecture Architecture SPARC-ANSI Base de Données Distribuées ou Répartie (BDR) BD avec les fragments dans les SGBDs sur différents sites d un réseau Si c est un réseau local et la répartition est une partition au niveau physique, alors c est une BD parallèle (BDP) Multibase collection de bases de données munie d un langage multibase Sur différents sites ou le mme on les appelle aussi BDs intéroperables en général autonomes et hétérogènes
Architecture web
Architecture web serveur Cache met en cache les pages souvent usitées Inktomi serveur Web gère les données en HTML & XML transforme les données et les requtes CGI en SQL distribue la charge Netscape, Inktomi... SGBD contient la base DB2, SQL Server...
Architecture BD scalable peut contenir des milliers de sites la BD utilise les ressources cumulées Go de RAM, To de disques durs les données et les traitements de la BD se répartissent sur autant de sites qu il faut le nombre de sites serveurs de la BD peut crotre dynamiquement avec sa taille d une manière transparente pour les applications la BD devient scalable (BDS)