Vous êtes sur la page 1sur 45

Bases de données relationnelles

GINF1 2022-2023
Plan du Cours
 Introduction aux BD et aux SGBD
 Définitions, rôle & terminologies
 Fonctionnalités & architectures

 Algèbre relationnelle : Modèle & opérations


 Méthode de Conception Merise
 Définitions et concepts
 Modèle Entité/Association
 MCD
 Dépendances Fonctionnelles
 Formes Normales
 JMerise
 MLD
 MPD
 Règles de Transformation depuis MCD vers (MLD & MPD)
Plan du Cours(suite)

 Etudes de cas

 Définition & Interrogation de Bases de données


 Le langage SQL (Structured Query Language)
 Partie Manipulation de données
 Partie Définition de données
 => TP
Introduction aux Bases De
Données : BDD
Introduction aux Bases de données

 Identification du rôle de BDD

 Terminologie BDD

 Fonctionnalités et architecture d’un SGBD


Rôle d’une base de données

 Les informations dans l’entreprise: Grande Utilité


• Le stockage d'information est aujourd'hui assuré par un
support d'information électronique.
• Support physique (disque dur, CD/DVD, bande
magnétique, Clé usb, etc.)
• Support virtuel : Internet (nuages ou Cloud)

 Avantages d’un stockage électronique


• Consultation rapide de documents
• Facilité d’envoi et d’archivage
• L’accès à un nombre d’informations quasiment illimité
• Moins cher
Rôle d’une base de données

 Les types de stockage d’informations sur un ordinateur :


• Structures en mémoire centrale (MC)
• Fichiers
• Bases de données
Rôle d’une base de données

 Structures en mémoire centrale (MC)


• Principe: Stockage des données dans la mémoire volatile
d’un ordinateur (RAM)
• Problèmes:
► Stockage temporaire

► « Petits » volumes de données

► Contexte mono-processus (mono-utilisateur en général)


Rôle d’une base de données

 Stockage d’informations en utilisant les Fichiers


• Stockage persistant sur disque
• «Gros» volumes de données
• Contexte mono-utilisateur (en général)
• Langage de programmation ou SGF
Rôle d’une base de données
Approche Fichiers avec SGF
Direction des études Bibliothèque Service social

Appli Appli Appli


En Cobol en Java en C

Fichiers Elèves Fichiers Elèves Fichiers Elèves


et Unités d’enseignements et Livres et Chambres
Rôle d’une base de données

 Problèmes et Limites de l’approche fichier


• Difficulté à saisir les liens entre les données (interrelation)
• Pas de partage de données entre les utilisateurs (contexte
mono-utilisateur)
• Pas de vision globale des données
• Redondance des données
• Risque d'incohérence des données
• Pas d'indépendance entre les données et les traitements
• Problème de gestion de la sécurité des données
Rôle d’une base de données

 Utilisation de bases de données


• Stockage persistant sur disque
• «Très gros» volumes de données
• Langage de requêtes et langages de programmation
SGBD
• Contexte multi-utilisateurs
• Centralisation : Permet de stocker la totalité des
informations relatives à une activité
• Organisation des données selon un modèle de BDD
Rôle d’une base de données
Approche centralisée (BDD)
PC Windows BD
Appli C
Elèves
Livres
Appli Cobol Appli Java
Emprunt

PC SGBD
NT

Structure
de la BD

PC Linux

Terminaux
Rôle d’une base de données

 Apport d’une approche Base de données


Pour être utile, l'information nécessite organisation et
structuration
 Intégration :

 Description unique et globale des données


 Eviter les redondances
 Eviter les incohérences

 Indépendance :
 Indépendance entre données (Tables) et traitements (Requêtes)
 Séparation entre les descriptions logiques et physiques des
données
Rôle d’une base de données

 Apport d’une approche Base de données


 Sécurité :
 Contrôle sémantique des données
 Protection contre les accès non autorisés
 Protection contre les pannes

 Facilités pour l’utilisateur :


 Partage des données
 Vision « haut niveau » et « personnalisée » des données
 Manipulation « aisée » des données
 Accès efficaces aux données
Terminologie BDD

 Données

 Modèle de données

 BD

 SGBD

 Schémas d’une BD

 Contraintes d’intégrité

 Métabase
Terminologie BDD
 Données
 Une Structure :
 Simple: prix, nom, date
 Complexe: client, image

 Un propriétaire ( Administrateurs) :
 Accorde des droits d’utilisation
 Responsable de la création d’une donnée
 Partage des données entre utilisateurs
 Vision « personnalisée » des données selon l’utilisateur

 Des Utilisateurs :
 Interrogent les données
• « Quelle était la température à Tanger le 1er janvier 2019 ? »
 Mettent à jour les données
• « Créditer le compte de M. Ali de 1000 DH »
Terminologie BDD
 Modèle de données
 Ensemble de concepts pour décrire :
 Les données du monde réel
 Les liens entre les données
 La sémantique des données
DDL : langage de description des données
(Data Description Language)
 Ex : SQL DDL (création, modification, destruction de tables)

 Ensemble d’opérations pour manipuler les données :


 Interrogation d’une base de données
 Mise à jour d’une base de données
DML : langage de manipulation des données
(Data Manipulation Language)
 Ex : SQL DML (consultation, modification, suppression de
données)
Terminologie BDD
 Bases de données : BDD
 Définitions:
 Collection de données décrites selon un certain modèle
• Une base de données est un ensemble de données structuré (en colonnes
et en lignes) et organisé (sous forme de tables) permettant le stockage
d’informations qui sont inter-reliés tout en respectant les règles et les
contraintes

• Exemple de contraintes: On ne peut pas avoir une commande sans qu’il


y ait le client qui a passé cette commande (Excel ne peut pas gérer les
contraintes).

• Eviter au maximum les réplications de données (perte de place, source


d'erreurs) ou redondance contrôlée

• Les données doivent être interrogeables par le contenu et selon


n’importe quel critère
Terminologie BDD
 Système de gestion de bases de données: SGBD
 Qu’est-ce qu’un SGBD ?
• Système logiciel gérant les données d’une BD, selon un modèle
fixé (Création de BDD..)
• Un SGBD doit permettre la définition, la manipulation et le
contrôle des données (Insertion et extraction de données..)

 Objectifs d'un SGBD :


• Fournir un langage de manipulation des données
• Permet la création de la BDD selon un modèle préétabli
• Assurer l’indépendance Logique/Physique (données/SGBD)
• Fournir un accès efficace aux données (interfaces), via différents
plateformes
• Partage des données (Multiutilisateurs simultanément)
• Sécurité des données/ droits d’accès
Terminologie BDD
 Illustration du rôle d’un SGBD
Terminologie BDD
 Architecture d’un SGBD

Administrateur Programmeur d’application Utilisateur terminal

Définition des Manipulation de la BD


schémas de la BD

Traducteur LDD Traducteur LMD

Noyau SGBD

Métabase BD
Terminologie BDD
 Exemples de SGBD
 MySQL : http://www.mysql.org/ (public )
 PostgreSQL: http://www.postgresql.org/ (public)
 Oracle : http://www.oracle.com/ (Oracle Corporation)
 MS Access : https://products.office.com/fr/access (MsOffice)
 Microsoft SQL : http://www.microsoft.com/sql/
 IBM DB2 : http://www-306.ibm.com/software/data/db2/
 Sybase : http://www.sybase.com/linux
 Informix : http://www-306.ibm.com/software/data/informix/
Terminologie BDD
 Langage de définition de données : LDD
C’est un langage de programmation et un sous-ensemble de SQL

 Objectif
• Permet de manipuler les structures de données d'une BDD, et non
les données elles-mêmes.
• Définition des liens entre les données
 Définition physique des données
• Schéma physique des données
• Méthodes d’accès en fournissant les interfaces (ODBC, ADO..)
 Contrôle des données
• Contraintes d’intégrité
• Droits d’accès
• Ex : SQL DDL (création, modification, destruction de tables)
Terminologie BDD
 Langage de manipulation de données : LMD
C’est un langage de programmation et un sous-ensemble de SQL

 Objectif
• Permet de manipuler les données d'une BDD.
 Commandes
• SELECT : sélection de données dans une table ;
• INSERT : insertion de données dans une table ;
• DELETE : suppression de données d'une table ;
• UPDATE : mise à jour de données d'une table.

• Ex : SQL DML (consultation, modification, suppression de données)


Terminologie BDD
 Les schémas ou modèles de données
 Définitions
 Représentation visuelle d’une base de données.
 Le processus de création d'un schéma de base de données s'appelle la
modélisation des données ou la conception de BDD.
Terminologie BDD
 Les schémas ou modèles de données
 Modèle relationnel
 Le plus couramment utilisé pour la réalisation d'une base de données
 La BDD est composée d'un ensemble de tables (les relations) dans lesquelles
sont placées les données ainsi que les liens
 Chaque ligne d'une table est un enregistrement
Terminologie BDD
 Les schémas ou modèles de données
 Exemple et représentation du modèle relationnel (Ecole)
 Élève(num, nom, adresse, age)
 UV(code, nbH, coord)
 Inscrit(numElève, codeUV, note)
 Livre(côte, numElève#, titre, datePrêt)
 Chambre(no, numElève#, prix)
LIVRE
COTE
NUM
ELEVE T ITRE
UV INSCRIT NUM DAT EPRET
CODE CODE NO
NBH NUM NOM
COORD NOT E AGE CHAMBRE
ADRESSE
NO
NUM
PRIX
Terminologie BDD
 Les schémas ou modèles de données
 Avantages du modèle relationnel
 Assure l’indépendance logique/physique
 Langage de manipulation simple
 Basé sur une théorie mathématique solide (Algèbre relationnel)
 Standard
Terminologie BDD
 Les schémas ou modèles de données
 Modèle Objet :
 Ce type de modèle est fondé sur la notion d’objet de la programmation
orientée objet
 Ce modèle de BDD est un lot d’objets de différentes classes.
 Chaque objet possède des propriétés (des caractéristiques propres), et des
méthodes (des opérations en rapport avec l’objet)
 Une classe est une catégorie d’objets et reflète typiquement un sujet concret
Terminologie BDD
 Les schémas ou modèles de données
 Modèle Hiérarchique :
 Les informations sont groupées dans des enregistrements, et que chaque
enregistrement comporte des champs
 Les enregistrements sont reliés entre eux de manière hiérarchique: à chaque
enregistrement correspond un enregistrement parent
Terminologie BDD
 Les schémas ou modèles de données
 Modèle Réseau :
 Semblable au modèle hiérarchique
 l’organisation des liens n’est pas obligatoirement hiérarchique, et les
enregistrements sont reliés entre eux par des pointeurs
Terminologie BDD
 Contraintes d’intégrité (CI)
 Définition :
• Une contrainte d'intégrité est une règle qui définit la cohérence
d'une donnée ou d'un ensemble de données de la BDD

 Types de contraintes :
• Sur une colonne unique,
• Sur une table lorsque la contrainte porte sur une ou plusieurs
colonnes
 Exemples de contraintes :
• PRIMARY KEY : Clé primaire
• UNIQUE : Unique valeur pour l’attribut
• FOREIGN KEY (<liste d'attibuts>) REFERENCES <nom
table>(<nom colonnes>) : Intégrité référentielle
• CHECK (<condition>) : Contrôle la validité de la valeur des
attributs.
Terminologie BDD
 Exemples de Contraintes d’intégrité (CI)

CREATE TABLE Personne (

N°SS CHAR(13) PRIMARY KEY,

Nom VARCHAR(25) NOT NULL,

Prenom VARCHAR(25) NOT NULL,

Age INTEGER(3) CHECK (Age BETWEEN 18 AND 65),

Mariage CHAR(13) REFERENCES Personne(N°SS),

UNIQUE (Nom, Prenom)


Terminologie BDD
 Dictionnaire de données : DD (Ou Métabase)
 Définition
• C’est un document qui regroupe toutes les données qu’on aura
besoin de conserver dans la BDD
• Valeurs du schéma.
 Informations pour chaque donnée :
• code mnémonique : un libellé désignant une donnée (par exemple
«titre_l» pour le titre d'un livre)
• type de donnée: (A ‘Alphabétique’, N, AN, Date, Boolean)
• la taille : Nombre de caractères ou de chiffres
• Parfois des remarque ou observation complémentaires
Terminologie BDD
 Exemple de dictionnaire de données
Exercice
Elaborer le dictionnaire de données sur la base de la description du système
d’information ci-dessous
INDIVIDU Code mnémonique Désignation Type Taille Remarque
Num_ind
Nom_ind Num_ind INDIVIDU
Prenom_ind Nom_ind
Date_naiss Prenom_ind
Num_tel
Date_naiss
QUARTIER Num_tel
Id_quartier
Libelle_quartier Id_quartier QUARTIER
Libelle_quartier
COMMUNE
Id_commune COMMUNE
Id_commune
Nom_commune Nom_commune
Distance_agence Distance_agence
Nbr_habitant
Nbr_habitant
LOGEMENT Id_logement LOGEMENT
Id_logement
Num
Num
Rue Rue
Superficie Superficie
Loyer
Loyer
TYPE_LOGEMENT Type_logement TYPE_LOGEMENT
Type_logement
Charges_forfaitaires Charges_forfaitaires
Fonctionnalités d’un SGBD
 But d’un SGBD
 Simplifier et faciliter l’accès aux données de la base
 Assurer une grande sécurité du système d'information

 Moyens

 En offrant une vision de « haut niveau » des données, via un


modèle logique des données
 En se chargeant de faire la correspondance avec la vision de « bas
niveau » des données (structures de stockage et méthodes d’accès)
Fonctionnalités d’un SGBD
 Fonctionnalités
 Offrir un Langage de définition et de manipulation des données
(LDD + LMD)
 Gestion de l’intégrité  définition des CI, Trigger ou déclencheur
 Gestion de la persistance
 Structures de stockage et méthodes d’accès  cluster, index
 Gestion de la concurrence (transaction, verrouillage)
 Gestion de la sécurité de fonctionnement  transaction, journaux,
mécanisme de reprise sur panne
 Gestion des droits identification, attribution de droits
 Optimisation  algorithme, statistiques
 Interface avec les langages de programmation
Architecture d’un SGBD
 Architecture de référence ANSI/X3/SPARC
 Description des données : 3 niveaux d’abstraction
 Elle a été proposée en 1975 par Charles Bachman et qui a reçu le prix Turing
pour ses travaux.
 L’architecture Ansi-Sparc est divisée en trois niveaux, celui du schéma interne
(SI), celui du schéma conceptuel (SC) et celui des schémas externes (SE).
 Une base de données est définie et manipulée via le niveau conceptuel (SC)
sans avoir à se soucier des détails de l’implémentation physique (SI)

Schéma externe 1 …. Schéma externe n

Schéma conceptuel

Schéma physique
Architecture d’un SGBD
 Architecture de référence
 Exemple des 3 niveaux d’abstraction
Schéma externe pour Schéma externe pour Schéma externe pour Comment les données
appli Bibliothèque appli Direction des études appli Service social sont vues par les
- Elève - Elève - Elève « utilisateurs »
Représentations logique
- Livre - UV - Chambre
Multiples

Globalité des données


Représentation logique
Schéma conceptuel Unique

Globalité des données


Schéma Physique Représentation physique
des données. Comment
les données sont
mémorisées (fichiers,
index, …)
Unique
Conception d’une BDD
 Méthodes de conception de BDD

 Pourquoi devra t’on avoir une méthode de conception de bases de données


 Exemple

 Quelques problèmes:
• La suppression d’un enseignant risque de supprimer aussi le cours
• La redondance: les mêmes informations se trouvent dupliquées dans
plusieurs endroits
• Incohérence: si on modifie les données dans un endroits et non pas dans
l’autre endroits.
Conception d’une BDD
 Méthodes de conception de BDD

 Pourquoi devra t’on avoir une méthode de conception de bases de données??

 Solution intuitive

Association
Enseignant-Cours
Conception d’une BDD
 Méthodes de conception de BDD (ou de Sys d’informations)
 Méthode de conception MERISE
 Méthode UML (Orienté objet)
 AXIAL (IBM)
 MEGA ( Gamma internationnal)
 YOURDON (Anglo-saxon)

Vous aimerez peut-être aussi