Partie 1 Séance 1 DBs

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 36

Elément : Bases de Données

Cycle Ingénieur/ ENSAF


1ère Année

Abdelhak BOULAALAM
[email protected]
https://sites.google.com/a/usmba.ac.ma/boulaalam/
1

©Boulaalam/SMBA University

OBJECTIFS DU MODULE

• Elément 1: Conception des systèmes d’information


• Apprendre à modéliser, choisir et utiliser les structures de
données standard.
• Concevoir des systèmes d’information ER EA (Méthode MERISE.
• Elément 2: Bases de données (Application sous Oracle)
• Concevoir et implémenter des bases de données relationnelles.
• Algèbre Relationnelle et SQL
• Implémentation sous Oracle

2 ©Boulaalam/SMBA University

1
Elément 2 : Vue d’ensemble
Outline

• Elément 2: Bases de données


• Introduction
• Applications du système de base de données
• Objectif des systèmes de base de données
• Vue des données
• Langues de la base de données
• Conception de base de données
• Moteur de base de données
• Architecture de base de données
• Utilisateurs et administrateurs de bases de données

3
• Histoire des systèmes de bases de données
©Boulaalam/SMBA University

Introduction aux Bases de données

4 ©Boulaalam/SMBA University

2
Elément 2 : Vue d’ensemble
Outline

• Elément 2: Bases de données


• DonnéeVS Information

5 ©Boulaalam/SMBA University

Présentation générale
Donnée vs Information, DB
• Quelques points de terminologie:
Qu’est-ce qu’une donnée?
 C’est une information quelconque comme, par exemple : voici une personne,
elle s’appelle CODD. C’est aussi une relation entre des informations : Codd
est le fondateur du model relationnel.
 Des relations de ce genre définissent des structures.
 Une base de données est un ensemble, en général volumineux, de
telles informations, avec une caractéristique essentielle :
 on souhaite les mémoriser de manière permanente. D’où la
définition :

Une Base de données est un gros ensemble d’informations


Définition 1
structurées mémorisées sur un support permanent.
6 ©Boulaalam/SMBA University

3
Présentation générale
Donnée |Information| Connaissance|Ssagesse

7 ©Boulaalam/SMBA University

Présentation générale
Donnée |Information| Connaissance|Ssagesse

Chaque étape
de la pyramide
répond à des questions
et ajoute de la valeur
aux données initiales.

8 ©Boulaalam/SMBA University

4
Présentation générale
Données, Bases de données
• Remarque: une organisation/entreprise consistant en un (ou plusieurs) fichier(s)
stockés sur mémoire secondaire est conforme à cette définition.
 Un ensemble de fichiers ne présentant qu’une complexité assez faible.
• MAIS... Malheureusement l’utilisation directe de fichiers soulève de
très gros problèmes :
1. Lourdeur d’accès aux données  pour chaque accès... il faudrait écrire un
programme.
2. Manque de sécurité  tout programmeur peut accéder directement aux fichiers, il est
impossible de garantir la sécurité et l’intégrité des données.
3. Pas de contrôle de concurrence  Dans un environnement où plusieurs
utilisateurs accèdent aux mêmes fichiers, des problèmes de concurrence d’accès se
posent.

Alors comment gérer ces problème ??!!


9 ©Boulaalam/SMBA University

Présentation générale
SGBD – DBMS
• D’où le recours à un logiciel:
• chargé de gérer les fichiers constituant une BD,
• prendre en charge les fonctionnalités de protection et de sécurité
• et de fournir les différents types d’interface nécessaires à l’accès aux données.
 En particulier, une des tâches principales du SGBD est de masquer à
l’utilisateur les détails complexes et fastidieux liés à la gestion de
fichiers.

Un Système de Gestion de Bases de Données


Définition (SGBD) est un logiciel de haut niveau qui
permet de manipuler les informations stockées
dans une base de données.
10 ©Boulaalam/SMBA University

5
Présentation générale
SGBD – DBMS Database Systems
• Le SGBD contient des informations sur une entreprise particulière
• Collecte de données interdépendantes
• Ensemble de programmes pour accéder aux données
• Un environnement à la fois pratique et efficace à utiliser
• Les systèmes de base de données sont utilisés pour gérer des collections de
données qui sont:
• Très précieux
• Relativement large
• Accessible par plusieurs utilisateurs et applications, souvent en même temps.
• Un système de base de données moderne est un système logiciel complexe
dont la tâche est de gérer une vaste et complexe collection de données.
• Les bases de données touchent tous les aspects de nos vies
11 ©Boulaalam/SMBA University

Présentation générale
Exemples d'applications de base de données (1/2)
• Informations sur l'entreprise
• Ventes: clients, produits, achats
• Comptabilité: paiements, encaissements, actifs
• Ressources humaines: informations sur les employés, les salaires, les charges
sociales.
• Manufacturing/Fabrication: gestion de la production, des stocks, des
commandes, de la chaîne d'approvisionnement.
• Bancaire et financier
• informations sur les clients, comptes, prêts et transactions bancaires.
• Transactions par carte de crédit
• Finance: ventes et achats d'instruments financiers (par exemple, actions et
obligations; stockage de données de marché en temps réel
• Universités: inscription, notes
12 ©Boulaalam/SMBA University

6
Présentation générale
Exemples d'applications de base de données (2/2)
• Compagnies aériennes: réservations, horaires
• Télécommunication: enregistrement des appels, des SMS et de l'utilisation
des données, génération de factures mensuelles, maintien des soldes sur les
cartes téléphoniques prépayées
• Services basés sur leWeb
• Détaillants en ligne: suivi des commandes, recommandations personnalisées
• Publicités en ligne
• Bases de données de documents
• Systèmes de navigation: pour maintenir les emplacements de divers lieux
d'intérêt ainsi que les itinéraires exacts des routes, des systèmes de train, des
bus, etc.

13 ©Boulaalam/SMBA University

Présentation générale
Objectif des systèmes de base de données (1/2)
• Au début, les applications de base de données étaient construites
directement sur les systèmes de fichiers, ce qui conduit à: ... les 7 PBs
• Redondance et incohérence des données: les données sont stockées dans
plusieurs formats de fichiers, ce qui entraîne l'induplication des informations
dans différents fichiers
• Difficulté d'accès aux données
• Besoin d'écrire un nouveau programme pour effectuer chaque nouvelle tâche
• Isolation des données
• Plusieurs fichiers et formats
• Problèmes d'intégrité
• Les contraintes d'intégrité (par exemple, solde du compte> 0) deviennent «enfouies» dans le
code du programme au lieu d'être énoncées explicitement
• Difficile d'ajouter de nouvelles contraintes ou de modifier celles existantes

14 ©Boulaalam/SMBA University

7
Présentation générale
Objectif des systèmes de base de données (2/2)
• Atomicité des mises à jour
• Les échecs peuvent laisser la base de données dans un état incohérent avec des
mises à jour partielles effectuées
• Exemple: le transfert de fonds d'un compte à un autre doit être terminé ou ne
pas avoir lieu du tout
• Accès simultané par plusieurs utilisateurs
• Accès simultané nécessaire pour la performance
• Des accès simultanés non contrôlés peuvent entraîner des incohérences
• Ex: Deux personnes lisent un solde (disons 100) et le mettent à jour en retirant de l'argent
(disons 50 chacun) en même temps
• Problèmes de sécurité
• Difficile de fournir un accès utilisateur à certaines données, mais pas à toutes
Les systèmes de base de données offrent des solutions à tous
15
les problèmes ci-dessus
©Boulaalam/SMBA University

Présentation générale
SGBD... Est-il Complexe? (1/2)
• La complexité d’un SGBD est essentiellement issue de la diversité des
techniques mises en œuvre, de la multiplicité des composants
intervenant dans son architecture, et des différents types
d’utilisateurs (administrateurs, programmeurs, non informaticiens,
...) qui sont confrontés, à différents niveaux, au système.
• Voici quelques exemples illustrant les cas de figure qu’il faudrait
envisager:
 Les modèles de données : Entité-Relation, réseau, hiérarchique,
relationnel, orienté-objet, modèles sémantiques.
 Les langages de requêtes : fondements théoriques et les langages
comme SQL, SQL3, Datalog, etc.
 Les techniques de stockage : sur disque (optique), sur bande.
 L’organisation des fichiers : index, arbre-B, hachage, ...
16 ©Boulaalam/SMBA University

8
Présentation générale
SGBD... Est-il Complexe? (2/2)
 L’architecture : centralisé, distribué, sur d’autres bases
accessibles par réseau.
 Les techniques d’évaluation et d’optimisation de requêtes.
 La concurrence d’accès et les techniques de reprise sur pane.
 On peut se raccrocher à une architecture standard conforme
à la plus grande partie des SGBD existant, et offrant
l’avantage de bien illustrer les principales caractéristiques d’un
SGBD.

 Cette architecture distingue trois niveaux correspondant d’une


part à trois représentations équivalentes de l’information,
d’autre part aux champs d’interventions respectifs des
principaux acteurs.
17 ©Boulaalam/SMBA University

Présentation générale
BD... Les types d’ utilisateur
• Acteurs / Utilisateurs :
Utilisateur naïf : du non spécialiste des SGBD au
non informaticien.
Concepteur et programmeur d’application :à
partir des besoins des différents utilisateurs, écrit
l’application pour des utilisateurs “naïfs”.
Utilisateur expert : informaticien connaissant le
fonctionnement interne d’un SGBD et chargé
d’administrer la base.

18 ©Boulaalam/SMBA University

9
Présentation générale
View of Data -Vue des données
• Un système de base de données est une collection de
données interdépendantes et un ensemble de programmes
qui permettent aux utilisateurs d'accéder et de modifier ces
données.
• Un des principaux objectifs d'un système de base de données
est de fournir aux utilisateurs une vue abstraite des données.
• Modèles de données
• Un ensemble d'outils conceptuels pour décrire les données, les relations de
données, la sémantique des données et les contraintes de cohérence.
• Abstraction de données
• Masquez la complexité des structures de données pour représenter les
données de la base de données aux utilisateurs à travers plusieurs niveaux
d'abstraction de données.
19 ©Boulaalam/SMBA University

Présentation générale
Data Models - Modèles de données
• Une collection d'outils pour décrire
• Données
• Relations de données
• Sémantique des données
• Contraintes de données
• Modèle relationnel
• Modèle de données Entité-Relation Entité-Association (principalement
pour la conception de bases de données)
• Modèles de données basés sur des objets (orientés objet et objet-
relationnel)
• Modèle de données semi-structuré (XML)
• Autres modèles plus anciens:
• Modèle de réseau
20
• Modèle hiérarchique
©Boulaalam/SMBA University

10
Présentation générale
Exemple: Modèle relationnel
• Toutes les données sont stockées dans différentes tables.
• Exemple de données tabulaires dans le modèle relationnel
Colonnes / Columns

Lignes / Rows

Ted Codd
Turing Award 1981

21 ©Boulaalam/SMBA University

Présentation générale
Exemple: simple BD relationnelle

• Simple BDR ....

22 ©Boulaalam/SMBA University

11
Présentation générale
Les niveaux d’abstraction - Levels of Abstraction
• Chaque niveau du SGBD remplit (réalise) un certain nombre de
fonctions :
 Niveau physiques : gestion sur mémoire secondaire (fichiers) des
données, du schéma, des index ; Partage de données et gestion
de la concurrence d’accès ; Reprise sur pannes (fiabilité);
Distribution des données et interopérabilité (accès aux réseaux).
 Niveau logique : Définition de la structure de données :
Langage de Description de Données (LDD) ; Consultation et
Mise à Jour des données : Langages de Requêtes (LR) et
Langage de Manipulation de Données (LMD) ; Gestion de la
confidentialité (sécurité) ; Maintien de l’intégrité ;
 Niveau externe : Vues ; Environnement de programmation
(intégration avec un langage de programmation) ; Interfaces
conviviales et Langages de 4e Génération (L4G) ; Outils d’aides
(e.g. conception de schémas) ; Outils de saisie, d’impression d’états.
23 ©Boulaalam/SMBA University

Présentation générale
Les niveaux d’abstraction - Levels of Abstraction
• Niveau physique/Physical level: décrit comment un
enregistrement (par exemple, un instructeur) est stocké.
• Niveau logique/Logical level: décrit les données stockées dans la
base de données et les relations entre les données.
type instructor = record
ID : string;
name : string;
dept_name : string;
salary : integer;
end;

• Niveau externe/View level: les programmes d'application


masquent les détails des types de données. Les vues peuvent
également masquer des informations (telles que le salaire d'un
employé) à des fins de sécurité.
24 ©Boulaalam/SMBA University

12
Présentation générale
Système de BD: architecture
• Une architecture pour un système de base de données

25 ©Boulaalam/SMBA University

Présentation générale
Système de BD: architecture

• En résumé, un Système de BD (BD+SGBD) est


destiné à gérer un gros volume d’informations,
persistantes (années) et fiables (protection sur
pannes), partageables entre plusieurs utilisateurs
et/ou programmes et manipulées indépendamment de
leur représentation physique.

26 ©Boulaalam/SMBA University

13
Présentation générale
BD: définition 2

Une base de données est un ensemble cohérent de


Définition 2 données structurées et enregistrées dans un support
informatique.

Les buts : BD et SGBD


 Capitaliser les données pour répondre à un besoin spécifique.
 Faciliter la gestion des données.
 Offrir une vue clair et simple d’une multitude de données liées entre elles.

27 ©Boulaalam/SMBA University

Conception de base de données


Database Design

• Le processus de conception de la structure générale de la


base de données:
• Conception logique - Décider du schéma de base de données.
La conception de la base de données exige que nous trouvions
une «bonne» collection de schémas de relations.
• Décision commerciale - Quels attributs devons-nous enregistrer dans la
base de données?
• Décision en informatique - Quels schémas de relations devrions-nous
avoir et comment les attributs devraient-ils être répartis entre les
différents schémas de relations?
• Conception physique - Décider de la disposition physique de la
base de données
28 ©Boulaalam/SMBA University

14
Processeur/traitement de requêtes
Query Processor
• Les composants du processeur de requêtes comprennent:
• Interpréteur DDL (Data Definition Language) - interprète les
instructions DDL et enregistre les définitions dans le
dictionnaire de données.
• Compilateur DML (Data Manipulation Language) - traduit
les instructions DML dans un langage de requête en un plan
d'évaluation composé d'instructions de bas niveau que le
moteur d'évaluation de requête comprend.
• Le compilateur DML effectue l'optimisation des requêtes; c'est-à-dire
qu'il choisit le plan d'évaluation le moins coûteux parmi les diverses
alternatives.
• Moteur d'évaluation des requêtes - exécute les instructions de
bas niveau générées par le compilateur DML.
29 ©Boulaalam/SMBA University

Processeur/traitement de requêtes
Query Processor
1. Analyse et traduction
2. Optimisation
3. Évaluation

30 ©Boulaalam/SMBA University

15
Origine et évolution : Modèles de base de
données

• Une BD est organisée selon un modèle de données .


 Les modèles les plus connus:
– les systèmes basés sur des fichiers
– Modèle hiérarchique (Années 60)
– Modèle réseau (Années 70)
– Modèle relationnel (Années 80)
– …
Base de données

Fichier 1 Fichier 2 Fichier n

31 ©Boulaalam/SMBA University

les systèmes basés sur des fichiers


File-based System
• Pourquoi évoquer les premiers systèmes de traitement
électronique des données basés sur des fichiers!!?
 Ils ont permis de définir certains concepts toujours en usage même dans le
contexte des SGBD les plus évolués:
 les notions de fichier de données, d’enregistrement, de champ et de type de
données .
 Bien que cette approche soit maintenant obsolète, il existe encore de
nombreux systèmes de ce genre dans les organisations qu’il serait trop
coûteux de remplacer par des applications de base de données. On les
appelle systèmes hérités (legacy systems).
 Les systèmes basés sur des fichiers comportaient de nombreuses
lacunes qui ont permis d’établir de manière empirique les caractéristiques
fondamentales des SGBD modernes.
32 ©Boulaalam/SMBA University

16
les systèmes basés sur des fichiers
File-based System

Système
Ensemble de programmes d’application qui
basé sur exploitent ses propres fichiers de données
des fichiers pour répondre aux besoins spécifiques d’un
groupe d’utilisateurs finaux (File-based
system).
Élaborés dans les années 1950 et1960:
• Systèmes de traitement de la paie,
• Systèmes de gestion financière et comptable,
• Systèmes de gestion des ressources humaines,

33

©Boulaalam/SMBA University

les systèmes basés sur des fichiers


File-based System

• Les fichiers sont constitués d’enregistrements eux-mêmes


décomposables en champs, chaque champ permettant le
stockage d’une donnée.
Fichier
Ensemble d’enregistrements identifié par un
de données nom, qui constitue une unitélogique de stockage
de données pour unordinateur (Data file).

Groupe de données apparentées, structuré et


considéré comme un tout. Chaquedonnée dugroupe
Enregistrement
occupe un champ de l’enregistrement. Un champ est
défini par son nom, une position dans
l’enregistrement et le type de données qu’il permet
34 de stocker (Record). ©Boulaalam/SMBA University

17
les systèmes basés sur des fichiers
File-based System
Exemple: ( fichier véhicule)

Fichier appelé Véhicule comportant trois enregistrements formés de


cinq champs : No de série, Fabricant, Modèle, Année,
Immatriculation.
Chaque enregistrement possède une donnée par champ et, pour un
Champ en particulier, son type de données et sa taille sont
systématiquement les mêmes quel que soit l’enregistrement.
35 ©Boulaalam/SMBA University

les systèmes basés sur des fichiers


File-based System

Exemple de système basé sur des fichiers utilisé par


les banques pour gérer les données.

36 ©Boulaalam/SMBA University

18
les systèmes basés sur des fichiers
File-based System

• Les limites | problèmes liés à l’exploitation des systèmes


basés sur des fichiers
• La forte intégration des applications et des fichiers (Données et
traitements)
• La redondance des données,
• la difficulté de partager les données et d’assurer leur intégrité,
• La sécurité des données,

 Ont (les limites) donné lieu à un nouveau paradigme en matière


de gestion des données le système de gestion de bases de
données SGBD  et naissance du Modèle hiérarchique
37 ©Boulaalam/SMBA University

Modèle hiérarchique
Hierarchical data models
• Une première génération de SGBD appelé dans sa
naissance IMS
• Née de travaux de Recherche menés dans les années
1960 pour le compte de la NASA dans le cadre du
projet Apollo et commercialisés dans les années 1970 par
la société IBM sous le nom IMS (Information
Management System).
• Le SGBD était basé sur le concept que les
enregistrements conservés dans divers fichiers pouvaient
être liés selon une certaine hiérarchie et constituer un
assemblage arborescent .
38 ©Boulaalam/SMBA University

19
Modèle hiérarchique
Hierarchical data models
Exemple 1:
Les données sont représentées dans une structure hiérarchique:

Considérez les exemples de données


suivants:

Pour accéder aux données " Offering 4 ", le chemin hiérarchique, en commençant par la gauche,
serait: Teacher 1 > Subject 1 > Offering 1 > Offering 2 > Teacher 2 > Subject 2 > Offering 3 > Subject 3 >
Offering 4
L'unique extrémité d'une relation s'appelle le parent, tandis que l'autre extrémité est appelée
l'enfant.
39
Chaque parent peut avoir plusieurs enfants, mais les enfants ne peuvent avoir qu'un seul parent.
©Boulaalam/SMBA University

Modèle hiérarchique
Hierarchical data models

Exemple 2: un fichier appelé Étudiant contenant


des données sur les étudiants peut être lié à un autre
fichier, Cours inscrits, contenant des données sur
les cours suivis par les étudiants et le cas échéant.
À l’aide d’un langage dit de navigation entre
les fichiers, le programmeur accédant à un
enregistrement du fichier Étudiant peut repérer
automatiquement les enregistrements fils du
fichier Cours inscrits.
40 ©Boulaalam/SMBA University

20
Modèle hiérarchique
Hierarchical data models
• Un SGBD hiérarchique possède un avantage indéniable
sur les systèmes basés sur des fichiers.
• Il permet en effet d’établir des liens un à plusieurs entre les
fichiers d’une base de données : un enregistrement père peut
être lié à plusieurs enregistrements fils .

• Mais ... Comment modéliser M:M

• Plusieurs à plusieurs ! Que dites vous !


41 ©Boulaalam/SMBA University

Modèle hiérarchique-
hiérarchique- bilan
bilan--
Hierarchical data models

• Les données sont organisées de manière arborescente.


• Accessible uniquement à partir de la racine.
• Chaque enregistrement n'a qu'un seul possesseur
(relation père-fils).
Inconvénients
• Manque de standardisation.
• Accès très lent et fastidieux.
• Ne supporte pas les relations N:N
 Naissance du modèle réseaux
42 ©Boulaalam/SMBA University

21
Modèle réseau
Network data models
• Des chercheurs de la société américaine General
Electric eurent l’idée de généraliser l’approche des
SGBD hiérarchiques en proposant un modèle
d’organisation des données permettant des liens
plusieurs à plusieurs(N-N) entre les fichiers.

• La hiérarchie père-fils n’existe pas dans ce


modèle, car un enregistrement peut avoir plusieurs
successeurs de même que plusieurs prédécesseurs
(réseau maillé).
43 ©Boulaalam/SMBA University

Modèle réseau
Network data models
Inconvénients:
• Fondements théoriques!!!
• Ils ne permettaient pas en pratique d’assurer
l’indépendance tant souhaitée entre les applications
et les données.
comme le lien entre deux enregistrements était
implanté à l’aide d’un pointeur, soit une sorte
d’adresse permettant de repérer un enregistrement
associé, cela donnait lieu à des programmes
complexes même pour des requêtes simples.
...... Et après merci à CODD
44 ©Boulaalam/SMBA University

22
Fin des 1970... Evénements

• Fin des années 1970:


• Codd définit le modèle de données relationnel
• Gagnerait le prix ACM Turing pour ce travail
• IBM Research lance le prototype System R
• University of California, Berkeley (Michael Stonebraker)
lance le prototype Ingres
• Oracle lance la première base de données relationnelle
commerciale
• Traitement des transactions haute performance
(pour l'époque)
45 ©Boulaalam/SMBA University

Années 80 et 90 ...

• Années 1980:
• Les prototypes relationnels de recherche évoluent vers
des systèmes commerciaux
• SQL devient un standard industriel
• Systèmes de bases de données parallèles et distribués
• Wisconsin, IBM,Teradata
• Systèmes de base de données orientés objet
• Années 90:
• Grandes applications d'aide à la décision et d'exploration
de données
• Grands entrepôts de données de plusieurs téraoctets
• Émergence du commerce Web
46 ©Boulaalam/SMBA University

23
Années 2000 et 2010 ....

• Années 2000
• Systèmes de stockage Big Data
• Google BigTable,Yahoo PNuts,Amazon,
• Systèmes «NoSQL».
• Big data analysis : au-delà du SQL
• Map reduce and friends
• Années 2010
• SQL rechargé
• SQL front end to Map Reduce systems
• Systèmes de bases de données massivement parallèles
• Bases de données de mémoire principale multicœur
47 ©Boulaalam/SMBA University

Modèle relationnel
Relational Model
• Introduit par E.F.CODD de IBM en 1969; chercheur chez IBM, ce
modèle est à l’origine des premiers SGBD relationnels, devenus des
systèmes incontournables.
• Repose sur des principes mathématiques. (fondé sur de solides bases
théoriques, car il propose des opérateurs issus de la théorie des
ensembles.)
• Organisation de données dans des tables bidimensionnelles:
Relations.
Concepts de base:
• Attribut, Domaine, Relation (table),Tuple.
Attributs: correspondent aux caractéristiques ou propriétés des faits;
Exemples: nom_etudiant, prénom_etudiant
48 ©Boulaalam/SMBA University

24
Modèle relationnel
Relational Model
Domaine: correspond à l’ensemble des valeurs possibles d’un
attribut.
Exemple: prix_produit ]0,5000], ville {Fès, Rabat,..}
Relation: est un ensemble d’attributs qui définissent un fait. (Un
étudiant possède un nom, un prénom, un CNE…).
Exemple: Etudiant(CNE, nom, prénom, date_naissance).
Tuple (n-uplet) : ensemble des valeurs des attributs;
Correspondant à un enregistrement d’une entité.
CNE Nom Prénom Date_naissance
E1 Karimi Karim 15/12/1990
E2 Mamadou Alpha 01/04/1991
49 ©Boulaalam/SMBA University

Modèle relationnel
Relational Model

Clé d'une relation (clé primaire)


• Ensemble minimum d' attributs permettant de distinguer un enregistrement
par rapport à tous les autres.
• Chaque table doit avoir une clé primaire.
Etudiant
Exemple:
CNE
• Etudiant(CNE, Nom, Prénom, Date_naissance) Nom
Prénom

CNE Nom Prénom Date_naissance Date_naissance

E1 Karimi Karim 15/12/1990


E2 Mamadou Alpha 01/04/1991

50 ©Boulaalam/SMBA University

25
Modèle relationnel
Relational Model

Clé étrangère:
• fait référence à la clé primaire d'une autre table.
Code_formation intitulé
Exemple:
C1 Informatique
• Classe(Code_classe, nom) TélécomC2

• Etudiant(CNE, Nom, Prénom, Date_naissance, #Code_classe)


CNE Nom Prénom Date_naissance Code_classe
E1 Karimi Karim 15/12/1990 C2
E2 Dupont Alain 01/04/1991 C2

51 ©Boulaalam/SMBA University

Modèle relationnel
Relational Model

Schéma d'une relation


• Composé du nom de la relation et de la liste de ses attributs.
• Les attributs clés étant soulignés.
Exemple:
• Etudiant(CNE, Nom, Prénom, Date_naissance)
Une base de données relationnelle est un ensemble de schémas
relationnels.
Etudiant
Schéma
CNE Nom Prénom Date_naissance Code_classe
E1 Karimi Karim 15/12/1990 C2
Enregistrements E2 Mamadou Alpha 01/04/1991 C2

52 ©Boulaalam/SMBA University

26
Modèle relationnel
Relational Model
• Certains éditeurs comme IBM ou Oracle ayant près de 30
ans d’expérience, leurs produits sont assurément d’une
grande fiabilité.
• Standardisé, SQL, le langage utilisé, peut s’interfacer avec
des langages de troisième génération (C, Cobol...), mais
aussi avec des langages plus évolués (comme C++ ou Java).
• Ces systèmes intègrent des outils de développement comme
les précompilateurs, les générateurs de code, d’états ou de
formulaires.
• Ces systèmes répondent bien à des architectures de type
client-serveur et Intranet ou Internet.
53 ©Boulaalam/SMBA University

Modèle relationnel (niveaux d’abstraction)


Relational Model

• Trois niveaux d’abstraction (conceptuel, logique et physique) ont


été définis en 1974 pour la conception d’une base de données
[NAM 74].
• Un découpage légèrement différent a ensuite été proposé par
l’ANSI, en 1975 [ANS 75], qui fait désormais référence en la
matière:
• un niveau externe,
• un niveau conceptuel et
• un niveau interne.
NAM 74 : Rapport introductif Modèles de structure de données dans les systèmes d’information,
Séminaire international, Namur 1974.
ANS 75 : ANSI/X3/SPARC, « American National Standard Institute Study Group on DBMS : Interim
54 report », Bulletin of the ACM SIGMOD, 1975. ©Boulaalam/SMBA University

27
Modèle relationnel (niveaux d’abstraction)
Relational Model

55 ©Boulaalam/SMBA University

Caractéristiques des SGBD relationnel


Relational Model
Les six objectifs et fonctions des SGBD relationnels:
• Centraliser l’information pour éviter les redondances,
garantir l’unicité des saisies et la centralisation des contrôles.
• Faciliter l’utilisation à des utilisateurs pas forcément
informaticiens. (BD avec interfaces intuitives et par des langages
déclaratifs)
• Assurer l’indépendance données/traitements.
• Description de l’information, ce qui inclut la gestion de
l’espace disque, la structure des données stockées et le
dictionnaire des données.
• Partage de l’information entre différents utilisateurs.
• Préservation de la cohérence des données dans le temps.
56 ©Boulaalam/SMBA University

28
Modèle de données relationnel
Relational Model
• Bien que le modèle de données relationnel repose sur des concepts simples
(relations, clés et dépendances fonctionnelles pour les principales) MAIS il
permet néanmoins de modéliser artificiellement des données complexes.
• Le modèle relationnel repose sur l’AR: des opérateurs issus de la théorie des
ensembles. De plus, on peut appliquer des techniques de normalisation.
• La programmation de ces concepts est assurée par le langage SQL normalisé par
l’ISO depuis 1986.
• Les liens entre les relations, qui sont des tables au niveau de la base de
données, ne font plus intervenir de chaînages physiques comme le faisaient
les SGBD précédents (hiérarchiques et réseaux), mais des pointeurs logiques
fondés sur des valeurs contenues dans les colonnes.
• Nous verrons que les liens sont réalisés par les clés primaires (primary keys)
et par les clés étrangères (foreign keys).
 Pour cette raison, le modèle relationnel est dit « modèle à valeurs ».
57 ©Boulaalam/SMBA University

Modèle de données relationnel


Relational Model - Structure des données

Exemple du contenu d’une BD relationnelle, qui représente le fait que des


pilotes puissent travailler pour le compte de différentes compagnies.
58 ©Boulaalam/SMBA University

29
Modèle de données relationnel
Relational Model - Structure des données

• La contrainte référentielle est vérifiée si chaque


valeur contenue dans une clé étrangère se retrouve
en tant que clé primaire d’une autre table.

• La majorité des SGBD du marché prennent en


charge automatiquement cette contrainte, très
utile pour gérer la cohérence entre tables.

59 ©Boulaalam/SMBA University

Limitations du modèle relationnel

• La simplicité du modèle de données induit les limitations


suivantes :
 La faiblesse du langage SQL au niveau de la
programmation entraîne l’interfaçage d’instructions
SQL avec un langage procédural plus évolué (C,
COBOL…) ou objet (C++, Java…) pour répondre à des
spécifications complexes.

 On parle de défaut d’impédance (impedance mismatch) :


terme désignant les problèmes de cohabitation entre un
langage de programmation avec sa syntaxe et ses règles et une
base de données SQL.
60 ©Boulaalam/SMBA University

30
Limitations du modèle relationnel

La normalisation induit un accroissement du


nombre de tables. Ainsi, si deux objets doivent être
liés en mémoire, il faut simuler ce lien au niveau
de la base par un mécanisme de clés étrangères ou
de tables de corrélations.
 Parcourir un lien implique souvent une jointure dans
la base (mise en relation de plusieurs tables deux par
deux, fondée sur la comparaison de valeurs des
colonnes comparées).
 Il peut en résulter un problème de performance dès qu’on
manipule des données volumineuses.
61 ©Boulaalam/SMBA University

Limitations du modèle relationnel

Puisque seules les structures de données tabulaires


sont permises, il est difficile de représenter
directement des objets complexes.
En revanche, les SGBD relationnels prennent
maintenant en compte la gestion de données
multimédias (fichiers binaires stockés hors de la
base ou dans la base).

Ces limitations ont amené le développement de


SGBD objet et objet-relationnels.
62 ©Boulaalam/SMBA University

31
Que sont devenus les SGBD objet ?

Les défenseurs de l’objet ont cru que les SGBD du


même nom pourraient supplanter, voire
remplacer, les systèmes relationnels.
Les systèmes purement objet semblent cantonnés
à des applications manipulant des données non
structurées avec des programmes écrits dans des
langages objet.
Ils concernent ainsi un segment très limité du
marché des SGBD.
63 ©Boulaalam/SMBA University

Que sont devenus les SGBD objet ?

 Le premier SGBD objet a été Gemstone, extension du


langage objet Smalltalk.
 Certains produits commerciaux existent, citons Java Data
Objects de GemStone, FastObjects de Poet Sofware, Ontos,
Objectstore d’Object Design, Objectivity,Versant.
 Les SGBD objet n’ont pas bénéficié de l’environnement
d’exploitation performant auquel les SGBD relationnels ont
habitué les responsables informatique : requêtes efficaces,
volume important d’informations à stocker, fiabilité,
sauvegarde et restauration, performances transactionnelles
OLTP (On Line Transaction Processing), outils
complémentaires, etc.
64 ©Boulaalam/SMBA University

32
Que sont devenus les SGBD objet ?

Les éditeurs de SGBD objet n’ont pas eu le succès


qu’ils attendaient pour la bonne et simple raison que
l’existant des données des entreprises est toujours
sous la forme relationnelle et
qu’aucun principe formel de migration n’a été et ne
sera probablement jamais établi.

65 ©Boulaalam/SMBA University

Que sont devenus les SGBD objet ?

Alors que le modèle relationnel manipule des


informations sous forme tabulaire, l’une des principales
extensions du modèle de données objet (reprise par le
modèle objet-relationnel) consiste à manipuler des
structures de données complexes incluant des pointeurs
et des tables imbriquées (collections).
Les pointeurs facilitent la fonction de navigation dans le
langage de requêtes en réduisant considérablement le
nombre de jointures.

66 ©Boulaalam/SMBA University

33
Que sont devenus les SGBD objet ?

Les tables imbriquées permettent de s’affranchir de la


règle de la première forme normale, à savoir qu’un
attribut peut être composé d’une liste de valeurs.
Les liens entre objets se réalisent à l’aide d’OID
(Object Identifier), qui sont des pointeurs physiques.
Certains détracteurs prétendent qu’avec ce modèle de
données, on est revenu près de trente ans en arrière au
bon vieux temps des SGBD hiérarchiques.

67 ©Boulaalam/SMBA University

Les SGBD objet-


objet-relationnels

Afin de rester en compétition avec les solutions


voisines, les éditeurs de SGBD relationnels ont, dans un
premier temps, offert la possibilité de stocker des
informations non structurées dans des champs appelés «
BLOB » (Binary Large OBject).
Dans un second temps, ils ont étendu le modèle
relationnel à un certain nombre de concepts objet.
Ce nouveau modèle hybride a été appelé « objet-
relationnel » (plus rarement relationnel-objet).

68 ©Boulaalam/SMBA University

34
Les SGBD objet-
objet-relationnels

 La technologie objet-relationnelle est apparue en 1992 avec le


SGBD UNISQL, combinant un moteur relationnel et un système
objet.
 La sortie de ce SGBD a été rapidement suivie par celle du SGBD
Open ODB, devenu Odapter.
 En 1993, la société Montage Systems (devenue Illustra) achète la
première version commerciale du système Postgres.
 Informix a été le premier des grands éditeurs à relever le défi de
l’objet-relationnel en intégrant Illustra à son moteur en 1996.
 En 1997 IBM et Oracle ont suivi Informix dans cette voie.
69 ©Boulaalam/SMBA University

Les SGBD objet-


objet-relationnels

les grands éditeurs de SGBD relationnels s’orientent


vers deux grands mouvements technologiques :
 l’évolution interne du moteur de leur SGBD ;
 la promotion des couches réseau (middleware), lesquelles permettent
d’interconnecter des applications à des SGBD hétérogènes.
un SGBD objet-relationnel doit prendre en compte les
mécanismes d’extension de types de données, l’héritage
et les systèmes de règles programmées par des
déclencheurs (triggers).

70 ©Boulaalam/SMBA University

35
Les SGBD objet-
objet-relationnels

 Le modèle de données objet-relationnel étend principalement le modèle


relationnel à l’utilisation de pointeurs, de collections et de méthodes au
niveau des tables et des types.
 Exemple: la table Pilote contient la colonne Contrats de type
collection composée d’un pointeur ref_comp et d’un nombre (paye).

71 ©Boulaalam/SMBA University

72 ©Boulaalam/SMBA University

36

Vous aimerez peut-être aussi