Vous êtes sur la page 1sur 27

20/11/2015

Cours Bases de Données

Professeur: Fayçal MESSAOUDI Faycal.messaoudi@usmba.ac.ma


1

III- Les Bases de Données


Relationnelles

o Définition
o SGBDR
o Le modèle relationnel
o Algèbre relationnelle
o Dépendance fonctionnelle -Normalisation

Cours S5 : Gestion des Bases de Données 2

1
20/11/2015

Définition d’une Base de Données


Une base de données BD est un ensemble structuré et cohérent
de données, stocké sur disque, accessible par un ou plusieurs
utilisateurs sur lesquelles on peut développer différentes
applications.

De façon informelle, on peut considérer une BD comme une


grande quantité de données, centralisées ou non, servant pour
les besoins d’une ou plusieurs applications, interrogeables et
modifiables par un groupe d’utilisateurs travaillant en parallèle.

Cours S5 : Gestion des Bases de Données 3

Bute des BD
Une BD est faite pour :
• Enregistrer les données,
• Les restituer à la demande,
• Tirer des conclusions en rapprochant les faits les uns des
autres.

Une BD est un ensemble d’informations sur un sujet qui est :


• Non redondant
• Structuré
• Persistant.

Cours S5 : Gestion des Bases de Données 4

2
20/11/2015

Objectifs des BD
 1. Une bonne représentation du monde réel
 2. Indépendance des données par rapport aux traitements
 3. Manipulation facile
 4. Efficacité des accès aux données
 5. Administration centralisée des données
 6. Non redondance des données
 7. Cohérence des données
 8. Partage des données
 9. Sécurité des données
 10. Résistance aux pannes

Cours S5 : Gestion des Bases de Données 5

Comment Gérer une Base de Données?

Cours S5 : Gestion des Bases de Données 6

3
20/11/2015

Niveaux d’abstraction d’une BD

Cours S5 : Gestion des Bases de Données 7

Systèmes de Gestion de Base de Données

Cours S5 : Gestion des Bases de Données 8

4
20/11/2015

Définition d’un (SGBD)


DataBase Management Systems - DBMS
 Un système de gestion de base de données SGBD est
un logiciel qui permet de :
 Décrire, Modifier, Interroger, et
 Administrer les données d’une base de données.

 Le SGBD peut être vu comme le logiciel qui prend en


charge la structuration, le stockage, la mise à jour et
la maintenance des données ; c’est en fait, l’interface
entre la BD et les utilisateurs ou leurs programmes.
Cours S5 : Gestion des Bases de Données 9

SGBD Relationnel
Le SGBDR Est un logiciel supportant le modèle
relationnel, et comportant un ensemble de programmes
qui peuvent manipuler les données avec des opérateurs
relationnels.

Cours S5 : Gestion des Bases de Données 10

5
20/11/2015

Fonctions d’un SGBDR :


 Ajout de données
Un SGBD doit permettre l’ajout de données. Pour cela, il est tout d’abord nécessaire de pouvoir
décrire les données avec un langage de description de données (LDD). Une fois les données
décrites, on peut ajouter des valeurs qui correspondent à la description qu’on a faite par le biais
d’un langage de manipulation de données (LMD).

 Saisie et Mise à jour des données


Les données doivent être modifiables. On doit pouvoir changer la définition des données et les
valeurs des données grâce au LDD et LMD respectivement.

 Recherche et Interrogation des données


La recherche des données est un point très important. Il faut que le SGBD puisse restituer les
données rapidement.

 Définir des protections d’accès (mot de passe, autorisations, …)


 Résoudre les problèmes d’accès multiples aux données ( blocages, inter blocages).
 Prévoir des procédures de reprise en cas d’incident ( sauvegardes, journaux, …).
Cours S5 : Gestion des Bases de Données 11

Le SGBDR Est un logiciel supportant le modèle


relationnel, et comportant un ensemble de programmes
qui peuvent manipuler les données avec des opérateurs
relationnels.

Cours S5 : Gestion des Bases de Données 12

6
20/11/2015

Quelques SGBD et SGBDR


 Oracle de Oracle Corporation
 SQL Server de Microsoft
 PostgreSQL
 MySQL, SGBD relationnel
 SQLite
 Access de Microsoft
 DB2 d’IBM
 FirebirdSQL, SGBD relationnel issu d’InterBase
 HyperFile de PCSoft
 Informix
 InterBase de Borland
 Sybase
 …

Cours S5 : Gestion des Bases de Données 13

Le Modèle Relationnel

Cours S5 : Gestion des Bases de Données 14

7
20/11/2015

Définition du modèle relationnel


 Le Modèle Relationnel a été formalisé par EF CODD en 1970.

 Dans ce modèle, les données sont stockées dans des tables,


sans préjuger de la façon dont les informations sont stockées
dans la machine.

 Un ensemble de données sera donc modélisé par un


ensemble de tables.

 Le succès du modèle relationnel auprès des chercheurs,


concepteurs et utilisateurs est du à la puissance et à la
simplicité de ses concepts.

Cours S5 : Gestion des Bases de Données 15

Objectifs du modèle relationnel


 Proposer des schémas de données faciles à utiliser,

 Améliorer l’indépendance logique et physique,

 Mettre à la disposition des utilisateurs des langages de


haut niveau pouvant éventuellement être utilisés par des
non informaticiens,
 Optimiser les accès à la base de données,

 Améliorer l’intégrité et la confidentialité,

 Fournir une approche méthodologique dans la construction


des schémas.
Cours S5 : Gestion des Bases de Données 16

8
20/11/2015

Objectifs du modèle relationnel


 De façon informelle, le modèle relationnel assure :

 Les données sont organisées sous forme de tables à deux


dimensions, encore appelées relations et chaque ligne
Tuple ou n-Uplet,
 Les données sont manipulées par des opérateurs de
l’algèbre relationnelle,

 L’état cohérent de la base est défini par un ensemble de


contraintes d’intégrité.

Cours S5 : Gestion des Bases de Données 17

Éléments du modèle relationnel

 Attribut
 Domaine
 Relation
 Tuples
 Schéma de relation

Cours S5 : Gestion des Bases de Données 18

9
20/11/2015

Attribut
• Colonne d’une relation caractérisée par un nom.

• Le concept attribut détermine l’ensemble des valeurs


prises par chacun des domaines de la relation.

• La valeur d’un attribut est atomique.

Nom Prénom Date Nais CNE Type de Bac


Ibrahimi Siham 26/03/2000 2210223365 Sc-Eco

Cours S5 : Gestion des Bases de Données 19

Domaine
• Représente l’ensemble de valeurs Nom Date Nais
acceptables pour une composante A 26/03/2000
d’une relation. B 13/04/1999
C 15/09/1998
• On dit que deux domaines sont A 01/09/2004

compatibles s’ils sont identiques ou


liés par inclusion.

Cours S5 : Gestion des Bases de Données 20

10
20/11/2015

Relation
 Une relation R est un sous ensemble du produit
cartésien d’une liste de domaines caractérisé par un
nom.

 Une relation peut être vue comme un tableau à


deux dimensions dont chaque colonne correspond à
un domaine et porte un nom et chaque ligne à un
tuple. On parle aussi de table.
Cours S5 : Gestion des Bases de Données 21

Tuple
 Ou n-uplet est une ligne d’une relation,

 l’ajout d’un tuple ne change pas la nature de la relation.

 La cardinalité d’une relation R est le nombre de tuple


contenus dans la relation.

Tuple

Cours S5 : Gestion des Bases de Données 22

11
20/11/2015

Schéma de relation
 Nom de la relation, suivi de la liste des attributs (avec
éventuellement leurs domaines).

 Exemple : Soit la relation étudiant caractérisée par le CNE de


l’étudiant, son nom, son prénom, sa date de naissance et son
numéro de département.

 Le schéma de la relation est représenté comme suit :


Etudiant ( CNE, nom, prenom, dnais, nodept )
 Nom de la relation : Etudiant
 Liste de ses attributs : CNE, nom, prenom, dnais et nodept.

Cours S5 : Gestion des Bases de Données 23

Exemple
 La table étudiant est représenté comme suit :

• Etudiant (CNE, nom, prenom, Date_nais, num_dept)

Cours S5 : Gestion des Bases de Données 24

12
20/11/2015

Clé d’une relation


 Soit R un schéma de relation, et X un sous ensemble de
R, X (groupe d’attributs) est une clé si, et seulement si :
 X est unique, elle détermine tous les attributs de R
 X est minimale.

 La clé dans un schéma de relation est soulignée

Cours S5 : Gestion des Bases de Données 25

Clé d’une relation


Exemple :

 Etudiant ( CNE, nom, prenom, dnais, nodept)

 CNE est une clé de la relation Etudiant signifie que le


CNE est unique c-a-d deux étudiants différents ne
peuvent jamais avoir la même valeur de CNE.

Cours S5 : Gestion des Bases de Données 26

13
20/11/2015

Algèbre relationnelle

Cours S5 : Gestion des Bases de Données 27

Définition Algèbre relationnelle


 A été inventé par E.F CODD (1970).
 C’est un ensemble d’opérateurs définis sur l’ensemble des relations et
produisant des relations en sortie.

 Il existe trois types d’opérateurs algébriques :

I. Opérateurs ensemblistes : UNION, INTERSECTION, DIFFERENCE,


PRODUIT reformulés spécifiquement pour le modèle relationnel.

II. Opérateurs relationnels spécifiques : SELECTION, PROJECTION,


JOINTURE, DIVISION

III. Opérateurs dérivés : INTERSECTION, JOINTURE EXTERNE, SEMI-


JOINTURE, DIVISION, …
28

14
20/11/2015

I. Opérations Ensemblistes

 Opérations ensemblistes pour des relations de même schéma :


UNION, INTERSECTION, DIFFERENCE

 Opérations ensemblistes pour des relations de schéma quelconque :


PRODUIT CARTESIEN

 Opérations binaires : Relation1 op Relation2  Relation3

Cours S5 : Gestion des Bases de Données 29

1. OE - UNION
 Etant données deux relations R1 et R2 de même schéma
 R1 U R2 est la relation contenant les Tuples appartenant à R1
OU à R2

 Notation mathématique : R3 = R1 U R2
 Notation algébrique : R3 = Union (R1,R2)
 Arbre syntaxique :

Cours S5 : Gestion des Bases de Données 30

15
20/11/2015

Exemple

Cours S5 : Gestion des Bases de Données 31

2. OE - INTERSECTION
 Etant données deux relations R1 et R2 de même schéma
 R1 ∩ R2 est la relation contenant les tuples appartenant à R1
ET à R2

 Notation mathématique : R3 = R1 ∩ R2
 Notation algébrique : R3 = Intersect (R1,R2)
 Arbre syntaxique :

Cours S5 : Gestion des Bases de Données 32

16
20/11/2015

Exemple

Cours S5 : Gestion des Bases de Données 33

3. OE - DIFFERENCE
 Etant données deux relations R1 et R2 de même schéma

-
 R1 R2 est la relation contenant les Tuples de R1
n'appartenant pas à R2

 Notation mathématique : R3 = R1 - R2
 Notation algébrique : R3 = Minus (R1,R2)
 Arbre syntaxique:

Cours S5 : Gestion des Bases de Données 34

17
20/11/2015

Exemple

Cours S5 : Gestion des Bases de Données 35

4. OE - Produit Cartésien

• Soient les relations R1 (A1, ..., An) et R2 (B1, ..., Bp)


• avec {A1, ..., An} ∩ {B1, ...,Bp} éventuellement vide.

 Le produit cartésien de R1 et de R2 est défini par


R3 (A1,..., An, B1,..., Bp)

 Cet opérateur porte sur deux relations.

 La relation résultat possède les attributs de chacune des


relations d'origine et ses n-uplets sont formés par la
concaténation de chaque n-uplet de la première relation avec
l'ensemble des n-uplets de la deuxième.

36

18
20/11/2015

4. OE - Produit Cartésien

 R1 x R2 est la relation contenant les tuples appartenant à R1


ET à R2

R1 R2
 Notation mathématique : R3 = R1 x R2
 Notation algébrique : R3 = Product (R1, R2)
 Arbre syntaxique:

R3

Cours S5 : Gestion des Bases de Données 37

Exemple

Cours S5 : Gestion des Bases de Données 38

19
20/11/2015

Propriétés

Degré (R1 U R2) = degré (R1) = degré (R2)


Degré (R1 n R2) = degré (R1) = degré (R2)
-
Degré (R1 R2) = degré (R1) = degré (R2)
Degré (R1 X R2) = degré (R1) + degré (R2)

Cours S5 : Gestion des Bases de Données 39

II. Opérations Relationnelles


1. OR - Projection
 Opération portant sur UNE relation R1 pour construire une
relation R2 contenant les attributs mentionnés et en
éliminant les tuples en double.

 Notation algébrique: R2 = Project (R1, attribut i, attribut j, …)


 Arbre syntaxique:

40
Cours S5 : Gestion des Bases de Données

20
20/11/2015

Exemple : Quelles sont les marques des voitures ici ?

R = Project (voiture, marque)

Cours S5 : Gestion des Bases de Données 41

2. OR – Restriction ou Sélection

 Opération portant sur UNE relation R1


pour construire
une relation R2 de même schéma, ayant pour tuples ceux
vérifiant la condition mentionnée.

 Notation algébrique: R2 = Restrict (R1, condition) ou


 Notation algébrique: R2 = Select (R1, condition)
 Arbre syntaxique:

42

21
20/11/2015

Exemple : Quelles sont les voitures dont le prix est > 140 000 DH?
R = Restrict (voiture , prix >140 000,00 DH)
R = Select (voiture , prix >140 000,00 DH)

Cours S5 : Gestion des Bases de Données 43

3. OR - Jointure

 Opération permettant de rapprocher selon une condition.

 Les Tuples des relations R1 et R2 pour former une relation R3


ayant pour attributs ceux de R1 et R2 et pour tuples la
combinaison de ceux de R1 et R2 vérifiant la condition

 Une équijointure est une jointure dont la condition porte sur une
égalité (un attribut de relation R1 = un attribut de la relation R2).

Cours S5 : Gestion des Bases de Données 44

22
20/11/2015

3. OR - Jointure

 Une jointure naturelle est une équijointure permettant


d’éliminer l’attribut en double.

 Notation algébrique: R3 = Join (R1, R2, condition)


 Arbre syntaxique:

Cours S5 : Gestion des Bases de Données 45

Exemple

R = Liste des étudiants qui participent à un tournoi


R = Join (Etudiants, Tournoi, Etudiants.NUM_ETUD = Tournoi.NUM_ETUD)

Cours S5 : Gestion des Bases de Données 46

23
20/11/2015

Exemple

Résultat

Cours S5 : Gestion des Bases de Données 47

Résumé

 Union, Intersection, et Différence


 Des opérations ensemblistes qui imposent que les
opérandes aient le même schéma.

 Sélection: Garder certains n-Uplets.


 Projection: Garder certaines Colonnes.
 Produits et jointure

Cours S5 : Gestion des Bases de Données 48

24
20/11/2015

Conventions d'expression des opérateurs algébriques

49

No Comment

Produit Cartésien

50

25
20/11/2015

Exercice

R = Nom et téléphone des étudiants qui participent au tournoi de Foot.

Faire notation algébrique et arbre syntaxique.

Cours S5 : Gestion des Bases de Données 51

Corrigé
Notation Algébrique :

 R = PROJECT(JOIN(RESTRICT(Tournoi, SPORT=‟Foot‟),Etudiants,
Etudiants.NUM_ETUD = Tournoi.NUM_ETUD), NOM ,TEL )

Arbre Syntaxique :

Résultat :

Cours S5 : Gestion des Bases de Données 52

26
20/11/2015

Dépendance fonctionnelle -
Normalisation
Voir le polycopié

Cours S5 : Gestion des Bases de Données 53

IV- Langage SQL


o Introduction
o Description
o Recherche
o Mise à jour
o Les vues
o Les droits d’accès

Cours S5 : Gestion des Bases de Données 54

27

Vous aimerez peut-être aussi