Architecture d’une base de données
![Architecture d’une base de données](/images/remos_downloads/CoursBD-id2641.2641.pdf_thumb_prev.jpg)
IFT3030
Base de données
Chapitre 2
Architecture d’une base de données
6Introduction
6Architecture
6Modèles de données | |
6Modèle relationnel 6Algèbre relationnelle 6SQL 6Conception 6Fonctions avancées 6Concepts avancés 6Modèle des objets 6BD à objets | Plan du cours n Introduction n Architecture n Modèles de données n Modèle relationnel n Algèbre relationnelle n SQL n Conception n Fonctions avancées n Concepts avancés n Modèle des objets n BD à objets |
2
Trois niveaux
n Externe
– Vues des utilisateurs n Conceptuel
– Vue commune (intermédiaire) n Interne
– Stockage physique des données
3
6Introduction 6Architecture 6Modèles de données | |||
6Modèle relationnel 6Algèbre relationnelle 6SQL 6Conception 6Fonctions avancées 6Concepts avancés 6Modèle des objets 6BD à objets | Trois niveaux | ||
n | Exemple – Conceptuel Employe | ||
Num_emp | CHARACTER (6) | ||
Num Dept | CHARACTER (4) | ||
Salaire – Interne | NUMERIC (5) | ||
STORED_EMP | LENTH=20 | ||
PREFIX | TYPE=BYTE(6) , OFFSET=0 | ||
EMP# | TYPE=BYTE(6) , OFFSET=6 , INDEX=EMPX | ||
DEPT# | TYPE=BYTE(4) , OFFSET=12 | ||
PAY | TYPE=FULLWORD , OFFSET=16 |
4
Trois niveaux
– Externe 1 (C)
typedef struct { char mat[6];
float sal;
} employe ;
– Externe 2 (COBOL)
01 EMPC.
02 EMPNO PIC X(6).
02 DEPTNO PIC X(4).
5
6Introduction 6Architecture 6Modèles de données | |
6Modèle relationnel 6Algèbre relationnelle 6SQL 6Conception 6Fonctions avancées 6Concepts avancés 6Modèle des objets 6BD à objets | Trois niveaux n Cas des BD relationnelles |
– Conceptuel
• tables du relationnel
– Externe
• tables (sous-ensemble)
• structures dans des langages de haut niveau
(comme C et COBOL)
– Interne
• n ’existe pas dans le relationnel
• enregistrement mémoire, pointeurs, indexes,
...
6
Niveau Externe 1 n Langages pour utilisateurs
– COBOL, C, L4Gs pour utilisateurs programmeurs
– Langages de requêtes, langages graphiques, etc pour les utilisateurs finaux
n Sous-langage de données (DSL) intégré dans les langages hôtes
– SQL par exemple peut être utilisé en mode interactif ou en mode intégré à des langages comme C ou COBOL
– Fortement vs. faiblement couplés
7
6Introduction
6Architecture
6Modèles de données
6Modèle relationnel
6Algèbre relationnelle
6SQL
6Conception
6Fonctions avancées
6Concepts avancés
6Modèle des objets n 6BD à objets
n
Niveau Externe 2
Vue externe
– Vue abstraite des données
– Spécifique à un utilisateur
• vue service du personnel (employés, départements, …)
• vue service commercial (clients, fournisseurs, …)
– DSL définis en termes de vue externe et non en termes de la mémoire interne
Schéma externe
– Description d’une vue externe au moyen du langage de description de données (DDL)
– Avec le DDL, le langage de manipulation de données (DML) est la deuxième composantes d’un DSL
8
Niveau conceptuel
6Introduction 6Architecture 6Modèles de données | n Vue conceptuelle – Représentation abstraite de l’ensembledes données – Définie par un schéma conceptuel– Pour la plupart des SGBD actuels • l’union des schémas externes • informations sur la sécurité • information sur l’intégrité 9 |
6Modèle relationnel 6Algèbre relationnelle 6SQL 6Conception 6Fonctions avancées 6Concepts avancés 6Modèle des objets 6BD à objets | Niveau interne n Vue interne – Représentation de bas niveau del’ensemble de la base de données – Définie par un schéma interne |
• Enregistrements mémoire et index
– Au dessus de la couche physique (blocs, pages mémoire)
10
Liens entre niveaux
n Conceptuel/interne
– Définit la correspondance entre les niveaux conceptuel et interne
– Doit garder à jour le schéma conceptuel suite aux changement du schéma interne
n Externe/conceptuel
– Définit la correspondance d ’une vue externe avec le schéma conceptuel
• différents types de données pour un même champs
• plusieurs champs conceptuel fusionnés dans un même champ externe (p. e. adresse)
11
6Introduction
6Architecture
6Modèles de données
6Modèle relationnel
6SQL
6Conception
6Fonctions avancées
6Concepts avancés
6Modèle des objets
6BD à objets
12
SGBD
n Fonctionnalités | |
6Introduction 6Architecture 6Modèles de données | – Définition des données • Processeurs pour les différents DDL des 3 niveaux – Manipulation des données • Processeur pour le DML • Requête planifiée vs. non planifiée 13 |
6Modèle relationnel 6Algèbre relationnelle 6SQL 6Conception 6Fonctions avancées 6Concepts avancés 6Modèle des objets 6BD à objets | SGBD |
n Fonctionnalités |
– Sécurité et intégrité des données
• Détection des tentatives de violation des règles de sécurité et d ’intégrité
– Reprise et accès simultanés
• Gestionnaire des transactions
– Dictionnaire de données ou méta-données
• Données sur les données
– Performances
14
SGBD
6Introduction 6Architecture 6Modèles de données | n Par rapport à un SGBD, un SGF : – ne connaît pas la structure interne desenregistrements – prend rarement en compte la sécurité etl’intégrité – prend rarement en compte la gestion desreprise et le contrôle des accès concurrents – n’assure pas l’indépendance desdonnées 15 |
6Modèle relationnel 6Algèbre relationnelle 6SQL 6Conception 6Fonctions avancées 6Concepts avancés 6Modèle des objets 6BD à objets | Administrateur (DBA) n Responsable de l'administration technique de la base de données n Tâches (entre autres) : – Gestion de la base de données – Gestion des utilisateurs – Maintenance du schéma de la base – Mise en place des politiques de sécuritéet d'intégrité – Suivi des performances |
16
Utilitaires
n Aident le DBA dans sa tâche – Externes vs. internes n Exemples | |
6Introduction 6Architecture 6Modèles de données | – Procédures de chargement – Procédures de déchargement – Procédures de réorganisation – Procédures de statistiques – Procédures d ’analyse– ... 17 |
6Modèle relationnel 6Algèbre relationnelle 6SQL 6Conception | Architecture client-serveur |
18
Architecture à trois couches (“ three tier ”)
19
6Introduction
6Architecture
6Modèles de données
6Algèbre relationnelle Architecture distribuée
6Modèle relationnel
6SQL
6Conception
6Fonctions avancées
6Concepts avancés
6Modèle des objets 6BD à objets
• traitements effectués enparallèle sur le serveur et sur le clients (amélioration du Machine client temps de réponse)
Accès distant transparent
• Le serveur est une machineServeur dédiée au SGBD et donc performante
• La machine client est faitepour fournir de meilleures interfaces
20
Architecture distribuée (suite)
21
6Introduction 6Architecture 6Modèles de données | |
6Modèle relationnel 6Algèbre relationnelle 6SQL 6Conception 6Fonctions avancées | Architecture distribuée (fin) |
6Concepts avancés
6Modèle des objets
6BD à objets
22
Base de données parallèle n Parallélisme à l'intérieur d'un site
23
6Introduction
6Architecture
6Modèles de données
6Algèbre relationnelle Entrepôt de données
6Modèle relationnel
6SQL
6Conception
6Fonctions avancées
6Concepts avancés
6Modèle des objets
6BD à objets
24