Vous êtes sur la page 1sur 42

Cours

Bases de Données
Conception - Implémentation – Utilisation
Pr. M. QBADOU
Objectifs

 Apprendre à concevoir un modèle Entité Association

 Comprendre les fondements du modèle relationnel

 Maîtriser le langage SQL

 Apprendre à utiliser les SGBDR : Access |SQL Server |Oracle


|MySQL :
Pr M.QBADOU

▪ Implanter le schéma d’une base de données

▪ Utiliser une base de données

▪ Contrôler l’accès à une base de données


2
Sommaire
I. Introduction aux Bases de Données
 Exemple introductif
 Niveaux d’une application informatique
 Qu’est ce qu’une Base de Données (BD) ?
 Buts recherchés des DB
 Cycle de vie d ’une base de données
 Avantages de l ’approche BD

II. Introduction aux Systèmes de Gestion de Bases de Données


Pr M.QBADOU

 Qu’est ce qu’un Système de Gestion de Bases de Données ?


 Caractéristiques d ’un SGBD
 Architecture d ’un SGBD

3
 Exemples de SGBD
Sommaire
III. Fondement du Modèle Entité-Association
 Objectifs du modèle
 Concepts du modèle
▪ Attribut, Entité, Identifiant,
▪ Association, Cardinalités, Rôles.
▪ Types d’association
 Démarche d’élaboration d’un modèle Entité-Association
 Règles de validation d’un Modèle Entité-Association
Pr M.QBADOU

▪ Buts recherchés
▪ Formes normales
 Exemple d’application
 Etudes de cas
4
Sommaire
IV. Fondement du Modèle Relationnel
 Objectifs du modèle
 Concepts du modèle
▪ Domaine, attribut, relation(table), clés, schéma
▪ Règles d’intégrité :
o contraintes de domaine
o clé primaire, contrainte de référence,
 Règles de passage du MCD au MLDR
 Opérations de l’algèbre relationnelle
▪ Opérations ensemblistes (Union, Intersection, Différence …)
Pr M.QBADOU

▪ Projection, Restriction, Jointures


 Normalisation d’un schéma relationnel
▪ Dépendances fonctionnelles
▪ Formes normales
5
Sommaire

V. Le langage SQL

 Définition du langage SQL


 Avantages du langage SQL
 Langage de définition de données (DDL)
▪ Create table, Alter table, Create index, Drop
 Langage de manipulation de données (DML)
▪ Select, Insert into, Update, Delete
 Langage de contrôle de données (DCL)
Pr M.QBADOU

▪ Grant, Revoke, create user, alter user,…

6
Sommaire

VI. MySQL |SQL SERVER |Oracle


 TP Création d’une BD
 Création de table
▪ Champ, propriétés, indexes, listes de choix
 Création de relation
 Les requêtes
 Sélection , groupement, sous requêtes
 Insertion, Mise à jour, Suppression
Pr M.QBADOU

 Définition de données

7
I. Introduction aux Bases de Données
1. Exemple introductif : Vues pour l’Achat en ligne de billets de train
Pr M.QBADOU

8 8888888888
8
I. Introduction aux Bases de Données
2. Les niveaux d’un Système Informatique

IHM
Vues utilisateurs Navigateur Navigateur
Navigateur Web

Applications
Programmes Application Application
Serveurs Web
Serveurs d’application
Pr M.QBADOU

SGBD SGBD SGBD


Bases de Données
Serveur de bases de
données
BDD BDD
9
I. Introduction aux Bases de Données
2. Système d’information
Branches dans les SI

Organisation fonctionnelle des tâches DBA


Pr M.QBADOU

10
I. Introduction aux Bases de Données
2. Système d’information
Activités du DBA
Pr M.QBADOU

11
I. Introduction aux Bases de Données
2. Système d’information
Cycle de vie du développement de systèmes d’information
Phase Action(s)

Planning

Analysis

Detailed
System design
Pr M.QBADOU

Implementation

Maintenance
12
I. Introduction aux Bases de Données
3. Définitions
3.1. Base de données
Collection de données structurées, mémorisées sans redondance
inutiles, pour servir plusieurs applications(utilisateurs) de façon
sélective et en temps très court, on y enregistre les données de façon qui
permet une indépendantes des programmes qui les utilisent, on utilise
une approche commune et contrôlée pour ajouter, modifier, retrouver
des données”. Elle contient également la description de ses données.

3.2. Système de Gestion de Bases de Données (SGBD)


SGBD
Pr M.QBADOU

Un ensemble de logiciels permettant aux


utilisateurs de :
▪ créer,
▪ Lire,
▪ Mettre à jour
▪ Supprimer
13 les données de la BD avec le contrôle des accès.
I. Introduction aux Bases de Données
4. Fonctions d’une Base de Données

▪ Gérer le stockage de données persistantes, très grands volumes


(plusieurs Go (109), To (1012)), avec des structures flexibles,

▪ Fournir un Langages de définition de données, d'interrogation et


de manipulation

▪ Gérer le catalogue accessible aux utilisateurs

▪ Gérer les autorisations, des transactions et des accès concurrents

▪ Gérer de l'intégrité des données


Pr M.QBADOU

▪ Fournir d’autres Outils divers :


Programmation, Développement, Administration, Communication,
Aide à la décision, …

14
I. Introduction aux Bases de Données

5. Exemples de BD
Les Bases de Données sont nécessaires à tous les domaines d'activité :
industrie, commerce, services, recherche scientifique, …

▪ Gestion de personnels, étudiants, Clients, Produits, Cours, …

▪ Système de réservation de places d ’avions des compagnies d ’avion

▪ Système de gestion des commandes, Achats, Ventes, …

▪ Systèmes bancaires, systèmes d’assurance


Pr M.QBADOU

▪ Bases scientifiques, techniques, sanitaire, Transport, ....

15
I. Introduction aux Bases de Données
6. Cycle de vie d’une base de données
Le développement d’une BD passe par quatre phases :
 Planification et Conception de la BD
 Implantation, test et évaluation de la BD dans un SGBD
 Utilisation de la BD

 Maintenance et évolution de la BD
Pr M.QBADOU

16
I. Introduction aux Bases de Données
Etapes de conception d’une BD 1
Interview
Documents
2 (Besoins)
Modélisation
Entité-Association

Modèle Schéma
Conceptuel Entité-Association

3
Transformation en
1 Analyse de la situation existante et des besoins
schéma relationnel
2 Création d'une série de modèles conceptuels
(canonique et vues externes) qui permettent de
Pr M.QBADOU

Schéma représenter tous les aspects importants du problème


Modèle logique
Relationnel
3 Traduction des modèles conceptuels en modèle
4 logique et optimisation (normalisation) de ce modèle
Implémentation du logique
schéma relationnel
4 Implémentation d'une base de données dans un
SGBD, à partir du modèle logique
17 BD
I. Introduction aux Bases de Données
6.1. Conception de la BD
Consiste à représenter le contenu de la base en termes conceptuels,
indépendamment de toute considération informatique sous la forme d’un
schéma en utilisant une méthode et un formalisme de modélisation : Modèle
Entités-Association (E-A).
Modélisation conceptuelle - Modèle E-A

Le Modèle E-A est une représentation graphique claire de l’ensemble des


données du SI d’un organisme (l’entreprise). Il doit :
▪ décrire les données gérées sans tenir compte des choix d’organisation,
d’automatisation, ou techniques
▪ décrire les choix de gestion en précisant la signification des invariants, leur
Pr M.QBADOU

structure et leurs liens (dépendances fonctionnelles entre les données)

Le concepteur doit identifier, décrire et représenter les entités et leurs


associations en utilisant le formalisme suivant :
Entité
Association

18
I. Introduction aux Bases de Données
Modèle E-A – Exemple 1
Objectifs? Perception

Énoncé

Monde réel
Analyse Personnes 0,N Voitures
conceptuelle 1,N Possède 1,1
N° CIN. N° plaque.
Nom Marque
0,N Modèle
Adresse 1,N 1,N
Schéma Louer ...
...
Durée
conceptuel
Calendrier
Pr M.QBADOU

1,N
DateLocation
Règles :(contraintes)
• Seules les voitures dont la modèle est >=2018 sont considérés,
• La durée de location est exprimée en jours et doit être au moins égale à 1,

19 • Une même voiture ne peut être louer à la même date plus qu’une fois.
I. Introduction aux Bases de Données
Modèle E-A – Exemple 2 CLIENT
0,N
0,N
NumClient Signe
Nom (1,1)
Appartient
Adresse CONTRAT
1,1 NumContrat
1,1 0,1 TypeContrat
VEHICULE Couvert DateDebut
DateFin
NumVehicule 0,N
0,N
Marque Concerne ACCIDENT
Modele NumAccident
Annee DateAccident
Adresse
Eléments d’un modèle E-A
Pr M.QBADOU

Les éléments de base du modèle E-A sont :


L’entité, l’attribut, l’identifiant, l’association et les cardinalités
Il existe deux catégories d’entités :
▪ Entités régulières : leur existence ne dépend pas de l’existence d’une autre entité.
▪ Entités faibles : leur existence dépend de l’existence d’une autre entité.
20
l’entité CONTRAT n’existe que si l’entité CLIENT est présente.
I. Introduction aux Bases de Données
Modélisation logique de la BD – Modèle relationnel
 Concevoir un schéma interne unique représentatif du schéma
conceptuel et représentable par le SGBD

Modèle Entité- Modèle relationnel (MLD)


Association (E-A)
PERSONNES

N°CIN
Exemple 1
Nom LOCATIONS
Adresse N°CIN *
… N°Plaque *
Pr M.QBADOU

DateLocation*
VOITURES
Durée
N° plaque
Marque
Modèle

N°CIN *
21
I. Introduction aux Bases de Données
Exemple 2
Gestion d’un ensemble de polycliniques lieus de travail de Médecins
spécialistes

Modèle E-A Modèle relationnel


POLICLINIQUE
POLICLINIQUE Nom
Nom Localité TRAVAILLE
Localité Téléphone Nom *
Téléphone Localité *
0-N
NumMatr *
Pr M.QBADOU

1-1
Travaille Possède 0-N
MEDCINS
0-N MEDCINS SPECIALITE
SPECIALITE NumMatr
NumMatr Nom CodeSp
CodeSp
CodeSp * Libellé
Nom Libellé
22
I. Introduction aux Bases de Données
6.2. Implantation de la BD
 Transmission de ce schéma au SGBD en utilisant :
▪ Le Niveau visuel ne nécessitant aucune programmation
▪ Le Niveau programmation en utilisant SQL de description de
données DDL(Data Description Language)
/* implémentation C */
struct Type_Pers Personnes{
char N_CIN[12];
char Nom[30]; /* Implémentation BD- Ordre SQL */
char Adresse[100]; CREATE TABLE Personne(
Pr M.QBADOU

char Tel[20]; N_CIN char(12) Primary key,


}; Nom char(30) Not Null ,
struct Type_Pers Personne[100000]; Adresse char(100) ) Not Null ,
Tel char(100) ) Unique
);
23
I. Introduction aux Bases de Données

Démonstration
Pr M.QBADOU

24
I. Introduction aux Bases de Données
◆ TP – AirCompagnie
◼ Etant donné le modèle conceptuel ci-dessous, réaliser le modèle logique
correspondant
Pr M.QBADOU

◼ Créer une base de données Access nommée AirCompagnie


◼ Générer et exécuter le script SQL pour créer le schéma de la base
25 ◼ Insérer les données exemples contenus dans le fichier Excel Vols.xlsx
I. Introduction aux Bases de Données
Corrigé TP
Compagnie Aérienne – Modèle physique
Pr M.QBADOU

26
I. Introduction aux Bases de Données
Corrigé TP
Compagnie Aérienne – Modèle physique
Pr M.QBADOU

27
I. Introduction aux Bases de Données
Compagnie Aérienne : Script SQL
create table Pilote( create table Vol(
Matricule long Constraint PkPilote Primary key, NumVol long Primary key,
Nom char(50) not null, HeureDep date not null,
Prenom char(50) not null, HeureArr Date not null,
Ville char(50) not null, VilleDep char(50) not null,
Age integer not null,Salaire currency not null VilleArr char(50) not null);
); create index IndVilleArr on Vol(VilleArr);
create index IndVille on Pilote(Ville); create table Depart(
create table Passager( NumVol long Constraint DepartVol references Vol,
NumPa long Constraint PkPassager Primary key, DateDep Date,
Nom char(50) not null Matricule long Constraint DepartPilote references Pilote,
); NumAv long references Avion,
Pr M.QBADOU

create table Avion( Constraint PKDepart primary key(NumVol,DateDep));


NumAv long Constraint PkAvion Primary key, create table Reservation(
Type char(10) not null, NumVol long , DateDep Date,
Capicite char(50) not null, NumPa long references Passager,
Entrepot char(50) not null primary key(NumVol,DateDep,NumPa ),
); foreign key(NumVol,DateDep) references Depart);

28
I. Introduction aux Bases de Données
Compagnie Aérienne : Exemple de données
AVION NUMAV TYPE CAPACITE ENTREPOT
1 A300 300 NICE
2 A310 300 NICE
3 B707 250 PARIS
4 A300 280 LYON
5 B747 460 PARIS

PILOTE MATRICULE NOM PRENOM VILLE AGE SALAIRE


1 MIRANDA SERGE PARIS 45 26000.00
2 LETHANH NAHN TOULOUSE 24 21000.00
3 TALADOIRE GILLES NICE 30 18000.00
4 CHARBONNIER ANNETTE PARIS 40 17000.00
5 REY CHRISTOPHE TOULOUSE 45 19000.00
Pr M.QBADOU

6 CHARBONNIER FABIEN PARIS 24 18000.00

VOL NUMVOL VILLEDEP VILLEARR HEUREDEP HEUREARR


100 NICE TOULOUSE 1100 1230
102 TOULOUSE LYON 1400 1600
103 TOULOUSE LYON 1800 2000
106 PARIS LYON 0800 0900
111 LYON NANTES 1630 2000
29
I. Introduction aux Bases de Données
Compagnie Aérienne : Exemple de données
NUMPA NOM
PASSGER
1 ALAMI
2 FARID
3 PASCAL
NUMVOL DATE-DEP NUMAV MATRICULE 4 LEMAITRE
DEPART 5 FAOUZI
100 31-12-95 1 1 6 ARNAUD
100 19-12-95 1 1
103 09-11-95 2 6
102 15-11-95 3 5
103 29-10-95 2 4

NUMPA NUMVOL DATE-DEP


RESERVATION
1 1 31-12-95
Pr M.QBADOU

2 1 31-12-95
3 1 31-12-95
4 1 19-12-95
5 1 19-12-95
1 2 29-10-95
6 2 29-10-95

30
I. Introduction aux Bases de Données
6.3. Utilisation de la DB
 Interrogation et mise à jour de la base en utilisant un langage de
manipulation de données (DML). Ce langage permet de créer :
▪ Des requêtes d ’interrogation : sélection de données

▪ Des requêtes de manipulation des données :

 Ajout,
 suppression,
 modification
Pr M.QBADOU

6.4. Maintenance et évolution de la DB


 Deux types de maintenance :
▪ Corrective : supprimer les données polluantes, redondantes

▪ Evolutive : Faire évoluer la structure des données


31
Pr M.QBADOU

32
II. Introduction aux SGBD
1 Qu’est ce qu’un SGBD ?
SGBD = ensemble d'outils logiciels permettant la création, l’administration,
l'utilisation et la maintenance de bases de données. Il représente l’interface
entre les applications (programmes) et les bases de données

2 Caractéristiques d’un SGBD


Un SGBD doit garantir :
▪ L’indépendance physique : la façon dont les données sont structurées et
manipulées ne dépend pas des structures de stockage
▪ L’indépendance logique : Intégrer toutes les visions personnelles (des
utilisateurs) dans une vision globale.
Pr M.QBADOU

▪ La manipulation des données : Permettre l’accès facile aux données aux


utilisateurs (non informaticiens)
▪ L’efficacité des accès : Temps d’accès rapide

▪ La cohérence et la non redondance : chaque données ne doit être stockée


33 qu’une seule fois dans la base (sauf exception).
II. Introduction aux SGBD
▪ La cohérence : Garantir un état cohérent des données en les soumettant à
des contraintes d ’intégrité.
▪ La partageabilité : Permettre les accès simultanés de plusieurs utilisateurs
aux même données

▪ La sécurité : Protection des données contre des accès non autorisés


(Définition des utilisateurs et leurs droits)

▪ La résistance aux pannes : Récupération de la base en cas de pannes


Pr M.QBADOU

34
II. Introduction aux SGBD
3 Architecture d’un SGBD

Interface utilisateurs Interface d’accès


physique

SGBD BD

Analyse/vérification des requêtes


Convivialité de l ’interface Stockage/ accès
Optimisation
Architecture client/serveur
PC Windows
BD
Appli Python
Elèves
Uvs
Pr M.QBADOU

Livres
SGBD Chambres
Mac
Appli Java

Méta Modèle :
Description
Appli C BD

35
PC Linux
II. Introduction aux SGBD
Couches d’un SGBD
Pour garantir l ’indépendance physique/logique, un SGBD est structuré
en trois couches

Couche Couche Couche


BD interne logique externe

Stockage Contrôle Dialogue


• Stockage des • Optimisation des • Analyse des
données requêtes demandes
Pr M.QBADOU

• Gestion des • Gestion des accès • contrôle des


fichiers concurrents droits
• Gestion des accès • Contrôle de la
• présentation
(index, clés, …) cohérence des
des résultats
36
données
II. Introduction aux SGBD
• Description des données : 3 niveaux d’abstraction (ANSI/X3/SPARC (1975)
Schéma externe pour la ▪ Comment les données sont
Schéma externe pour la Schéma externe pour
Direction des études
Bibliothèque Service social vues par les « utilisateurs »
• - Elève
• Elève
Schéma externe
• Livre
1 • UV …. • Elève externe n
Schéma
• Chambre
▪ Représentations logique
▪ Multiples

▪ Globalité des données


▪ Représentation logique
▪ Unique

Schéma conceptuel
Pr M.QBADOU

Eleve(num, nom, adresse, age)


UV(code, nbH, coord)
Inscription(numEleve, codeUV, dateInscri)
Livre(cote, titre, numEleve, datePret)
Emprunt(cote, numEleve,DatePret)
Chambre(no, prix, numEleve)
▪ Globalité des données
▪ Représentation physique
des données. Stockage
Schéma physique (fichiers, index, …)
▪ Unique
37
II. Introduction aux SGBD
4 Classes de SGBD
Les SGBD sont répertoriés en quatre classes suivant de modèle logique de
données considéré pour représenter les données :
• SGBD hiérarchiques,
• SGBD Réseaux,
• SGBD Relationnels,
• SGBD Objets, Objet-Relationnels,
• SGDB Semi-Structurés,
• SGBD NoSQL,
Pr M.QBADOU

• SGBD NewSQL,
• …

38
II. Introduction aux SGBD
4.1. SGBD hiérarchiques (1950)
Les données sont représentées sous forme d’une structure
arborescence d’enregistrements (Records, Record types).
Cette structure, implantée à l’aide de pointeurs, détermine
le chemin d’accès aux données (Relation père fils
(pointeur, arbre))
Record types
Record
Pr M.QBADOU

Exemples de SGBD Hiérarchiques


Les systèmes IDS (Integreted Data System) et IMS(Integreted Managment System)
développés vers 1965 respectivement par Honeywell et IBM

39
Limitation : Très limité en terme d’arbre et de relation
II. Introduction aux SGBD
4.2. SGBD réseaux ( Années 1960)
les données sont représentées dans la base sous la forme d'un
graphe quelconque qui utilise des pointeurs et qui détermine le
chemin d'accès aux données. Les nœuds constituent des articles
et les arcs du graphe constituent des pointeurs
Set

Record types
Record
Pr M.QBADOU

Exemples de SGBD réseaux


Les systèmes IDS2, IMS2, IDMS et SGBD TOTAL développés à la fin des années 60.
Limitation : Langage navigationnel basé sur des pointeurs (Très complexe)
40
II. Introduction aux SGBD
4.3. SGBD Relationnels ( années 70)
les données sont représentées dans la base sous la
forme d’un ensemble de tables à deux dimensions.
Les relations entre les tables sont réalisées en
utilisant des clés primaires et des clé étrangères.
• Structures tabulaires et relations basées sur les valeurs
des données
• Modèles basés sur le théorie mathématique des
ensembles
• Langage déclaratif (SQL), algébrique implémentant une
algèbre relationnelle
• Contraintes de cohérence et d’intégrité définies au
niveau du moteur,
Pr M.QBADOU

• cohérence transactionnelle forte,


• Optimiseur de requêtes et Indexation.
Exemples de SGBD Relationnels
Les systèmes Access, Oracle, Ingres, SqlServer, Informix, Sybase, …
Ces SGBD séparent entre la description et la manipulation des données.
Limitation : Purement adapté au transactionnel (OLTP), non adapté à l’analytique (OLAP), non
adapté aux données non structurées.
41
II. Introduction aux SGBD
4.4. SGBD Objets Nomclasse1 Nomclasse2
les données sont représentées dans la base sous la forme Propriétés(données) Propriétés
d’un ensemble d’objets coopérants et reliés. Chaque objet ppté1

ppté1

est composé d’un ensemble de donnée (propriétés) en Méthodes(fonctions) Méthodes
plus d’un ensemble de fonctions (méthodes) qui Méthode1 Méthode1
… …
manipulent ces données. L’ensemble des objets similaires
sont décrits par un même modèle appelé Classe.
• Le Schéma plus sémantique, plus proche des entités réelles,
• La création de types abstraits par l'intégration de méthodes,
• L'héritage → Schéma mieux structuré et la réutilisation des éléments de
modélisation,
• Supprimer les clés artificielles introduites dans le relationnel,
• Résout le problème de « Impedance mismatch ».
Exemples de SGBD Objets
Pr M.QBADOU

Oracle8, DB2, ObjectStore, ….


Utilisés dans les domaines : Web, CAO,
multimédia, télécommunication, …

Limites
▪ Gestion complexe des pannes → problème de fiabilité,
▪ Gestion de la concurrence (transactions) plus difficile à mettre en œuvre,
42

Vous aimerez peut-être aussi