You are on page 1of 218

BD : Base de donnes

REZEG Khaled Matre de confrences B Dpt dInformatique Universit de Biskra B.P. 145 Biskra 07000 Tel & Fax : 033 74 31 61 Email : rezeg_khaled@yahoo.fr

20/02/2013

L2 Informatique Biskra

BD: Fiche didentification


Nom & prnom : . E-mail : Comment vous sauvegardez vos donnes ? Que reprsente les BD pour vous ? Quels sont les langages de programmation que vous connaissez?

20/02/2013

L2 Informatique Biskra

Base de donnes BD
Objectif: Comprendre les objectifs, les architectures et les langages de bases de donnes. Matriser les fondements thoriques et les algorithmes de base des systmes de gestion de bases de donnes, depuis la conception de base de donnes jusqu'au traitement de requtes et la gestion de transactions. Le module s'appuie sur le modle relationnel et les langages associs, en particulier SQL.
20/02/2013 L2 Informatique Biskra 3

Gnralits sur les bases de donnes Modlisation de bases de donnes : Le modle relationnel Conception et optimisation de schma relationnel Prsentation gnrale de SQL Introduction l'algbre relationnelle Evaluation et optimisation de requte Transaction

Base de donnes BD

20/02/2013

L2 Informatique Biskra

Rfrences Base de donnes lusage des tudiants Dr. Brahim BELATTAR - LISA - Dpt dinformatique - Facult des sciences de lIngnieur - Univ. de Batna - 05000 Algrie Georges Gardarin. Bases de donnes: objet et relationnel. Eyrolles, 1999. Base de donnes srie des pages blues Mode dvaluation. 50 % Examen + 25 % TP + 25 % TD.

Base de donnes BD

20/02/2013

L2 Informatique Biskra

Chapitre 01

Gnralits sur les bases de donnes

20/02/2013

L2 Informatique Biskra

Gnralits sur les bases de donnes

Quest-ce donc quune base de donnes ? Que peut-on attendre dun systme de gestion de bases de donnes ? Que peut-on faire avec une base de donnes ?

20/02/2013

L2 Informatique Biskra

Des donnes ? Est ce important pour vous ?


Des relevs de banques, de cartes de crdit Des carnets dadresses La consommation de tlphone Des inscriptions des clubs, associations, Des papiers utiles Des horaires et disponibilits de transport Des programmes de tl
L2 Informatique Biskra 3

20/02/2013

Des donnes ? Est ce important pour vous ?


Assurer laccs aux donnes Assurer la scurit de ces donnes
Confidentialit Authentification Signature digitale Intgrit

Le tout efficacement, rapidement, partout etc


20/02/2013 L2 Informatique Biskra 4

Des donnes ? Est ce important pour vous ?


Cest important pour vous Cest impratif pour les entreprises !

20/02/2013

L2 Informatique Biskra

Le stockage / laccs

20/02/2013

L2 Informatique Biskra

Un point dans le temps


1950-1960
Des fichiers squentiels, du batch

1960 1970
Le dbut des bases de donnes hirarchiques

1970 1980
La naissance du modle relationnel

Dbut des annes 90


Sql, laide la dcision

Fin des annes 90


Croissance du volume des donnes, Internet, modle 20/02/2013 L2 Informatique Biskra multi tiers
7

Les limites lutilisation des fichiers (1)


Lutilisation de fichiers impose lutilisateur de connatre : le mode daccs (squentielle, indexe, ) la structure physique des enregistrements et la localisation des fichiers quil utilise afin de pouvoir accder aux informations dont il a besoin. Pour des applications nouvelles, lutilisateur devra obligatoirement crire de nouveaux programmes et il pourra tre amen crer de nouveaux fichiers qui contiendront peut-tre des informations dj prsentes dans dautres fichiers. Toute modification de la structure des enregistrements (ajout dun champ par exemple) entrane la rcriture de tous les programmes qui manipulent ces fichiers.
L2 Informatique Biskra 8

20/02/2013

Les limites lutilisation des fichiers (2)


De telles applications sont rigides, contraignant longues et coteuse mettre en uvre Les donnes associes sont : mal dfinies et mal dsignes, redondantes peu accessibles de manire ponctuelle peu fiables

20/02/2013

L2 Informatique Biskra

Les limites lutilisation des fichiers (3)


La prise de dcision est une part importante de la vie dune socit. Mais elle ncessite dtre bien inform sur la situation et donc davoir des informations jour et disponibles immdiatement. Les utilisateurs, quant eux, ne veulent plus de systmes dinformation constitus dun ensemble de programmes inflexibles et de donnes inaccessibles tout non spcialiste; ils souhaitent des systmes dinformations globaux, cohrents, directement accessibles (sans quils aient besoin soit dcrire des programmes soit de demander un programmeur de les crire pour eux) et des rponses immdiates aux questions quils posent.

20/02/2013

L2 Informatique Biskra

10

Les limites lutilisation des fichiers (4) Redondance des donnes et incohrences Isolation des donnes et accessibilit Un accs aux donnes = un programme Atomicit et environnement multi utilisateurs Scurit et protection des donnes
20/02/2013 L2 Informatique Biskra 11

Les limites lutilisation des fichiers (5) Source des difficults avec les fichiers
Le modle des donnes est intgr dans les programmes Absence de contrle pour laccs et la manipulation des donnes

20/02/2013

L2 Informatique Biskra

12

Notions de bases Dfinition intuitive dune BD (1)


Dfinition intuitive : on peut considrer une Base de Donnes (BD) comme une grande quantit de donnes (ou ensemble dinformations), centralises ou non, servant pour les besoins dune ou plusieurs applications, interrogeables et modifiables par un groupe dutilisateurs travaillant en parallle. Exemples dapplication Systme Socrate : SNCF Annuaire lectronique Catalogue lectronique dune bibliothque
20/02/2013 L2 Informatique Biskra 13

Notions de bases Dfinition intuitive dune BD (2)


Dfinition ; une base de donnes est un ensemble structur de donnes (1) enregistres sur des supports accessibles par lordinateur (2) pour satisfaire simultanment plusieurs utilisateurs (3) de manire slective (4) en un temps opportun (5). (1) : Organisation et description de donnes (2) : Stockage sur disque (3) : Partage des donnes (4) : Confidentialit (5) : Performance

20/02/2013

L2 Informatique Biskra

14

SGBD (1)
Dfinition : Le logiciel qui permet dinteragir avec une BD est Systme de Gestion de Base de Donnes (SGBD)

SGBD

BD

20/02/2013

L2 Informatique Biskra

15

SGBD (2)
Un SGBD est un intermdiaire entre les utilisateurs et les fichiers physiques Un SGBD facilite - la gestion de donnes, avec une reprsentation simple sous forme de table par exemple - la manipulation de donnes. On peut insrer, modifier les donnes et les structures sans modifier les programmes qui manipulent la base de donnes Base de donnes Fichier 1 Fichier 2
20/02/2013

Programme 1 SGBD Programme 2 Programme 3


16

Fichier 3

L2 Informatique Biskra

Objectifs des SGBD (1)


Faciliter la reprsentation et la description de donnes
Indpendance physique (1) : Plus besoin de travailler directement sur les fichiers physiques (tels quils sont enregistrs sur disque). Un SGBD nous permet de dcrire les donnes et les liens entre elles dune faon logique sans se soucier du comment cela va se faire physiquement dans les fichiers. On parle alors dimage logique de la base de donnes, (ou aussi description logique ou conceptuelle ou encore de schma logique). Ce schma est dcrit dans un modle de donnes par exemple le modles de tables, appel le modle relationnel.
Image logique Image physique Fichiers physiques
20/02/2013 L2 Informatique Biskra 17

Objectifs des SGBD (2)


Indpendance physique (2) : La manipulation des donnes doit tre faciliter en travaillant directement sur le schma logique. On peut insrer, supprimer, modifier des donnes directement sur limage logique. Le SGBD va soccuper de faire le travail sur les fichiers physiques. Indpendance logique : Un mme ensemble de donnes peut tre vu diffremment par des utilisateurs diffrents. Toutes ces visions personnelles des donnes doivent tre intgrs dans une vision globale. Manipulations des donnes par des non informaticiens. Il faut pouvoir accder aux donnes sans savoir programmer ce qui signifie des langages quasi naturels . Efficacit des accs aux donnes : Ces langages doivent permettre dobtenir des rponses aux interrogations en un temps raisonnable . Il doivent donc tre optimiss et, entre autres, il faut un mcanisme permettant de minimiser le nombre daccs disques. Tout ceci, bien sur, de faon compltement transparente pour lutilisateur.
L2 Informatique Biskra 18

20/02/2013

Objectifs des SGBD (3)


Administration centralise des donnes : Des visions diffrentes des donnes (entre autres) se rsolvent plus facilement si les donnes sont administres de faon centralise. Cohrence des donnes. Les donnes sont soumises un certain nombre de contrainte dintgrit qui dfinissent un tat cohrent de la base. Elles doivent pouvoir tre exprimes simplement et vrifies automatiquement chaque insertion, modification ou suppression de donnes, par exemple :
lge dune personne suprieur zro Salaire suprieur zro Etc

Ds que lon essaie de saisir une valeur qui ne respecte pas cette contrainte, le SGBD le refuse.

20/02/2013

L2 Informatique Biskra

19

Objectifs des SGBD (4)


Non redondance des donnes : Afin dviter les problmes lors des mises jour, chaque donne ne doit tre prsente quune seule fois dans la base. Partageabilit des donnes : Il sagit de permettre plusieurs utilisateurs daccder aux mmes donnes au mme moment. Si ce problme est simple rsoudre quand il sagit uniquement dinterrogations et quand on est dans un contexte mono-utilisateur, cela nest plus le cas quand il sagit de modifications dans un contexte multi-utilisateurs. Il sagit alors de pouvoir :
Permettre deux (ou plus) utilisateurs de modifier la mme donne en mme temps ; Assurer un rsultat dinterrogation cohrent pour un utilisateur consultant une table pendant quun autre la modifie.

20/02/2013

L2 Informatique Biskra

20

Objectifs des SGBD (5)


Scurit des donnes. Les donnes doivent pouvoir tre protges contre les accs non autoriss. Pour cela, il faut pouvoir associer chaque utilisateur des droits daccs aux donnes. Rsistance aux pannes : Que se passe-t-il si une panne survient au milieu dune modification, si certains fichiers contenant les donnes deviennent illisibles? Les pannes, bien qutant assez rares, se produisent quand mme de temps en temps. Il faut pouvoir, lorsque lune delles arrive, rcuprer une base dans un tat sain . Ainsi, aprs une panne intervenant au milieu dune modification deux solutions sont possibles : soit rcuprer les donnes dans ltat dans lequel elles taient avant la modification, soit terminer lopration interrompue.

20/02/2013

L2 Informatique Biskra

21

Trois Fonctions dun SGBD


Description des donnes : codification structuration, grce un Langage de Description de Donnes (LDD) Manipulation et restitution des donnes (insertion, mise jour, interrogation)
Mise en uvre laide dun Langage de Manipulation de Donnes (LMD) S.Q.L. (Structures Query Langage) : Langage standard

Contrle (partage, intgrit, confidentialit, scurit)

20/02/2013

L2 Informatique Biskra

22

Dfinition et description des donnes 3 niveaux de description


Interview Documents

Schma Externe1 T Schma Externe2

Modlisation

Schma conceptuel

Schma physique

20/02/2013

L2 Informatique Biskra

23

Dfinition et description des donnes niveau logique (conceptuel)


Permet la description
Des objets : exemple OUVRAGES, ETUDIANTS Des proprits des objets (attributs) : exemple Titre de OUVRAGES Des liens entre les objets : un OUVRAGE peut tre emprunt par un ETUDIANT Des contraintes : le nombre dexemplaires dun OUVRAGE est suprieur zro

Cette description est faite selon un modle de donnes. Un modle de donnes est un ensemble de concepts permettant de dcrire la structure dune base de donnes. La plupart des modles de donnes incluent des oprations permettant de mettre jour et questionner la base. Le modle de donnes le plus utilis est le modle relationnel Cette description va donner lieu un schma de base de donnes. Un schma de base de donnes se compose dune description des donnes et de leurs relations ainsi que dun ensemble de contraintes dintgrit.

20/02/2013

L2 Informatique Biskra

24

Dfinition et description des donnes niveau physique


Description informatique des donnes et de leur organisation : en terme de fichiers, dindex, de mthodes daccs, Passage du modle logique au modle physique tend tre assist par le SGBD : transparent et/ou semi-automatique Objectifs : optimiser les performances

20/02/2013

L2 Informatique Biskra

25

Dfinition et description des donnes niveau externe


Description des donnes vues par un utilisateur ( ou un groupe dutilisateurs)
Objectifs : simplification, confidentialit Exemple : OUVRAGES dit par des diteurs franais

20/02/2013

L2 Informatique Biskra

26

Manipulation et restitution des donnes


Afin de raliser les oprations suivantes Insertion : saisir des donnes Supprimer Modifier Interroger : rechercher des donnes via des requtes La manipulation des donnes est mise en uvre laide dun Langage de manipulation de Donnes (LMD). SQL (Structured Query Language) est le langage standard de manipulation de BD

20/02/2013

L2 Informatique Biskra

27

Contrles raliss par le SGBD

Partage de donnes : accs la mme information par plusieurs utilisateurs en


mme temps. Le SGBD inclut un mcanisme de contrle de la concurrence bas sur des techniques de verrouillage des donnes ( pour viter par exemple quon puisse lire une information quon est en train de mettre jour) Intgrit des donnes grce la dfinition de contraintes sur les donnes. Le SGBD veille ce que toutes les contraintes soient vrifies chaque insertion, suppression, ou modification dune donne. Confidentialit : plusieurs utilisateurs peuvent utiliser en mme temps une base de donnes, se pose le problme de la confidentialit des donnes. Des droits doivent tre grs sur les donnes, droits de lecture, mise jour, cration; qui permettent daffiner. Scurit : une base de donnes est souvent vitale dans le fonctionnement dune organisation, et il nest pas tolrable quune panne puisse remettre en cause son fonctionnement de manire durable. Les SGBD fournissent des mcanismes pour assurer cette scurit.
L2 Informatique Biskra 28

20/02/2013

Utilisateurs des SGBD


Les diffrents rles que doivent jouer un individu ou un groupe dindividus pour concevoir, crer, mettre en uvre et exploiter une base de donnes. Ladministrateur de la base de donnes : Il est charg de dcrire les entits de la base de donnes et indiquer les liaisons existant entre ces entits, ceci au moyen du DDL offert par le SGBD. Le programmeur dapplication : Il est charg dlaborer les programmes pour exploiter la base de donnes en fonction de la description qui a t faite par ladministrateur dapplication. Le programmeur dapplication utilise le LMD offert par le SGBD ainsi que dautres sous-programmes conservs gnralement dans une librairie (i.e. bibliothque de sousprogrammes). 20/02/2013 L2 Informatique Biskra 29

Utilisateurs des SGBD


Lutilisateur : Il sagit de caractriser ici la personne qui se sert simplement de la base de donnes et quon appelle couramment lutilisateur final (End User en anglais). Exemple : Dans une agence de rservation de billets davion, la personne qui tape sur son terminal quelques commandes pour effectuer une rservation est une utilisatrice au mme titre quun chef dentreprise qui lui aussi demande de temps en temps une base de donnes de son entreprise un certains nombre dinformations refltant ltat de son entreprise (produits non vendus, commandes en attente, etc.).

20/02/2013

L2 Informatique Biskra

30

Modles de SGBD
Quelques modles logiques :
Modle hirarchique Modle rseau Modle relationnel Modle objet

Quelques SGBD (relationnels du march)


Micro : ACCESS, Paradox, Dbase, PostSQL, MySQL, Gros systme : DB2, ORACLE, SYBASE,

20/02/2013

L2 Informatique Biskra

31

Larchitecture des SGBD


Base sur une architecture Client-Serveur
Donnes sur le serveur partages entre N clients Interfaces graphiques sur la station de travail personnelle Communication par des protocoles standardiss Clients et serveurs communiquant par des requtes avec rponses

20/02/2013

L2 Informatique Biskra

32

Architecture
Architecture centralise
programme d'application et SGBD sur mme machine (mme site) premiers systmes

Architecture du type client-serveur (client-server architecture)


programme d'application = client
interface ( GUI ) + traitement du domaine d application

SGBD = serveur (de donnes data server ) machines (sites) diffrentes deux couches, niveaux, strates (two tier )
20/02/2013 L2 Informatique Biskra 33

Architecture client / serveur

BD Rseau

Programme d'application Logiciel intermdiaire Pilote de tlcommunication

SGBD Logiciel intermdiaire Pilote de tlcommunication

Client
20/02/2013 L2 Informatique Biskra

Serveur
34

Architecture 3 tiers

BD Rseau Rseau

Interface Logiciel intermdiaire Pilote de tlcommunication

Application Logiciel intermdiaire Pilote de tlcommunication

SGBD Logiciel intermdiaire Pilote de tlcommunication

Client mince

Serveur d'application

Serveur de donnes

20/02/2013

L2 Informatique Biskra

35

Base de donnes distribues


BD locale Rseau Rseau BD locale

Programme d'application Logiciel intermdiaire Pilote de tlcommunication

SGBD rparti Logiciel intermdiaire Pilote de tlcommunication

SGBD rparti Logiciel intermdiaire Pilote de tlcommunication

Client

Serveur de donnes

Serveur de donnes

20/02/2013

L2 Informatique Biskra

36

Base de donnes parallles

Unit de traitement

Unit de traitement

Unit de traitement

Mmoire vive

Disque

Disque

Disque

Disque

Disque

20/02/2013

L2 Informatique Biskra

37

Entrept de donnes
BD oprationnelle (OLTP)

BD oprationnelle (OLTP)

Extraction : filtrage, synthse, transformation, fusion

Entrept de donnes ( data wharehouse )

Analyse (OLAP), prospection

Autre source de donnes

20/02/2013

L2 Informatique Biskra

38

Entrept de donnes
Base de donnes oprationnelle
traitement des donnes quotidiennes et rcentes OLTP ( On Line Transaction Processing ).

Entrept de donnes (data wharehouse)


grand volume de donnes historiques extraites de bases oprationnelles pour le support la prise de dcision OLAP ( On Line Analytical Processing )

Prospection de donnes , ou forage, fouille, exploration de donnes, ou dcouverte de connaissances dans les BD (data mining, analysis, dredging, archeology, knowledge discovery in databases - KDD)
extraction non triviale d'informations implicites, inconnues et utiles apprentissage machine , statistiques

20/02/2013

L2 Informatique Biskra

39

Chapitre 02

Modlisation de bases de donnes : Le modle relationnel

Cours BD Dr REZEG K

Introduction

Rappel chapitre 1 Cest quoi un modle ?


Type de modle :
Modle Modle Modle Modle hirarchique rseau objet relationnel

Cours BD Dr REZEG K

1 Introduction aux BD et aux SGBD

Les niveaux des BD


Vues externes chaque vue reprsente la partie de la bd relative chaque utilisateur / application Schma conceptuel vue globale de la base : les donnes stockes et les relations parmi les donnes

R1(A number(10), B string, , primary key (A), ...) . Rn (X number(15), Y string, , primary key (X), )

Schma logique Reprsente un modle de donnes conforme au modle cibl de SGBD (par ex. SGBDR) Schma physique dcrit comment les donnes sont stockes dans la bd + les index

Cours BD Dr REZEG K

1 Introduction aux BD et aux SGBD

Caractristiques de lArchitecture
Schma externe

Indpendance logique :
Schma conceptuel Un changement du schma conceptuel (nouvel attribut, nouvelle relation, ), n'entrane pas de changement dans les vues existantes

R1(A number(10), B string, , primary key (A), ...) Schma logique . Rn (X number(15), Y string, , primary key (X), )

Indpendance physique :
Schma physique Les changements du schma interne ne sont pas visibles aux niveaux des schmas conceptuels et logiques; consquences sur les performances Cours BD Dr REZEG K 4

Cfr. ANSI / SPARC 1975

1 Introduction aux BD et aux SGBD

Quels types d'tudes dans les BD et les SGBD ?

Conception de BD
partir de l'analyse du contexte, recueillir les besoins :
Quelles informations stocker ? Comment les organiser ? Quelles contraintes prendre en compte ? Comment les reprsenter ? Quels types d'usages de ces donnes ?

Programmation
Dveloppement et optimisation de requtes et programmes Interfaces avec d'autres applications

Implmentation de SGBD
support de nouveaux types de donnes, optimiseurs, intgration de donnes et d'applications, interfaces utilisateurs, langages

Cours BD Dr REZEG K

Type de modle
Un schma conceptuel est donc le rsultat dun processus de modlisation fait en respectant les possibilits dun modle de donnes. Le modle de donnes est une caractristique de tout SGBD. Il existe quatre grandes classes de modles de donnes qui se distinguent par la nature des associations quils permettent de modliser. Les modles hirarchiques Les modles rseaux Les modles objets Les modles relationnels
Cours BD Dr REZEG K 6

CODASYL ( COnference on DAta SYstems Language) ANSI (American National Standard Institute) GUIDE/SHARE (groupe dusagers IBM) Le groupe CODASYL Enregistrement : collection dagrgats et datomes rangs conscutivement constituant lunit dchange entre la base de donnes et les applications. SETS : Association entre un enregistrement pre (propritaire ou Owner) et un enregistrement fils (Membre ou Member). Plus de dtails la rfrence 1 page 14.
Cours BD Dr REZEG K 7

Efforts de standardisation et de dveloppement des SGBD.

Modle hirarchique (1)


A laide du modle hirarchique, le schma conceptuel peut tre vu comme un graphe arborescent dont les nuds correspondent aux classes dobjets (entits) et les arcs entre deux nuds aux liaisons ou associations entre les entits. Un tel graphe possde donc un nud racine (sur lequel narrive aucun arc !) et les autres nuds sont des fils, petit-fils, etc., de cette racine. Avec le modle hirarchique, le nombre de flches pouvant arriver sur un nud est donc gal un (sauf pour le nud racine).

Cours BD Dr REZEG K

Modle hirarchique (2)


exemple de modle hirarchique

Cours BD Dr REZEG K

Modle rseaux (1)


A laide de ce modle, le schma conceptuel peut tre vu comme un graphe gnral o les nuds correspondent aux classes dobjets et les arcs entre deux nuds aux associations. A la diffrence du modle hirarchique on peut avoir ici plusieurs arcs qui arrivent sur le mme nud. De mme que la notion de nud racine nexiste pas avec le modle rseau.

Cours BD Dr REZEG K

10

Modle rseaux (2)


Exemple de modle Rseau

Cours BD Dr REZEG K

11

Modle Objet (1)


Permet de voir une base de donnes comme un ensemble de classes dobjets, ayant des liens dhritage, dagrgation, de composition ou de simple association entre elles. Moyen de transport

Voiture

Avion

Bus

Train

Moteur

Roue
12 Cours BD Dr REZEG K

Modle relationnel (1)


Le modle relationnel a t introduit au dbut des annes 70, cest le premier modle de bases de donnes indpendant des critres de stockage, il consiste percevoir la base de donnes comme un ensemble de relations qui peuvent tre reprsentes sous forme de table deux dimensions : Les colonnes correspondent aux attributs dune relation et les lignes correspondent aux tuples. Contrairement aux autres modles de conception qui distinguent entre les concepts dentit et de lien ou relation, ce modle utilise un seul concept qui est la relation, ce qui lui rend plus facile utiliser mme pour les utilisateurs ayant plus ou moins de connaissance en informatique. Ce modle est bas essentiellement sur une thorie mathmatique la thorie des ensembles
Cours BD Dr REZEG K 13

2 - Modle Entits - Relations


Contenu
Concepts de base
Entits, attributs Relations Cls Multiplicits, cardinalits

Concepts avancs
Hritage Agrgation, Composition Entits faibles

Cours BD Dr REZEG K

14

2 - Modle Entits - Relations

Objectif du modle de donnes


Apporter une interprtation du contexte applicatif
en soulignant les aspects fondamentaux en ngligeant les dtails

Identifier les donnes gres par la base de donnes et leur relations Produire un diagramme, suivant un formalisme, en vue de convertir le modle de donnes en schma de base relationnelle
RALIT modeling Modle Entit-Relation mapping
Cours BD Dr REZEG K 15

Systmes Relationnels

2 - Modle Entits - Relations

Entit -Attributs
Entit
"une chose" qui existe et qui peut tre distingue de faon unique. Ex.: un tudiant, une voiture, une banque abstraite ou concrte

Attribut
proprit dune entit prend des valeurs simples, par exemple entiers ou chanes de caractres (domaine d'attribut)
Ensemble d'Entits Voitures Attributs nsrie marque type Domaines entier (12) chane de car. (8) chane de car. (10)

type nsrie voitures


Cours BD Dr REZEG K

marque

Reprsentation sous forme de diagramme

16

2 - Modle Entits - Relations

Cl des ensembles d'entits


cl candidate: un ensemble minimal dattributs qui identifie de faon unique une occurrence dentit cl primaire: une cl candidate choisie pour identifier de faon unique chaque occurrence dentit cl compose: une cl candidate compose de deux ou plusieurs attributs
type nsrie voitures Cl primaire K = nsrie marque nd nom_d dpartement Cls candidates Cl primaire K1 = nd K = nd K2 = nom_d
Cours BD Dr REZEG K 17

2 - Modle Entits - Relations

Relations
Une relation relie deux ou plusieurs ensembles d'entits Ex.:
Des universits dlivrent des diplmes Des tudiants sont inscrits dans des universits

nu

nom_u universit dlivr e nom_e prnom_e


Cours BD Dr REZEG K

nd

titre diplme

inscriptio ne n tudiant

18

Voitures nsrie Type marque diplome nd titre Universit nu Nom_u

Dpartement nd Nom_d

dlivrer

Inscription

Etudiant NE Nom_e Prenom_e

Cours BD Dr REZEG K

19

2 - Modle Entits - Relations

Ensemble de relations
La "valeur" d'une relation est l'ensemble des listes des entits rellement associes par la relation. Chaque liste est obtenue en correspondance des ensembles d'entits en relation. Exemple: valeur de la relation "dlivre"
nu u1 u1 u1 . u100 u100 nd d2 d3 d5 d1 d2 - l'universit identifie par u1 dlivre les diplmes identifis par d2, d3 et d5, l'universit identifie par u100 dlivre les diplmes identifis par d1 et d2
Cours BD Dr REZEG K 20

2 - Modle Entits - Relations

Ensemble de relations (2)

Soit r une relation entre k ensembles d'entits E1, E2, , Ek. Un ensemble d'entits peut apparatre plus d'une fois dans la liste. Soit un k-uplet (e1, ... ek) r
e1 E1, ... ek Ek sont associs par la relation r e1, ... ek est dit tuple de r k est le degr de la relation
K= K= K= K= 1 : relation unaire (ou rcursive, sur un mme ensemble d'entits) 2 : relation binaire 3 : relation ternaire n : relation n-aire

Cours BD Dr REZEG K

21

2 - Modle Entits - Relations

Relations n-aires
Une relation connectant plus de 2 ensembles d'entits permet de restreindre les combinatoires entre les valeurs des entits en relation
Ex.: des employs participent des projets avec des rles
nom_p projet particip e employ nom_e prnom_e nr descr_r rle np p1 p1 p1 p2 p2 ne e2 e3 e5 e2 e3 nr r1 r2 r3 r2 r1

np

ne

Cours BD Dr REZEG K

22

2 - Modle Entits - Relations

Type des relations binaires

Soit r une relation binaire Le type de r est li au nombre doccurrences dune entit qui peuvent tre associes avec une occurrence de l'autre entit

E1

E2

Cours BD Dr REZEG K

23

2 - Modle Entits - Relations

Relations de type m-n


Dans une relation "plusieurs plusieurs" ("many-many", m-n), une entit de chaque ensemble peut tre connecte plusieurs entits de l'autre ensemble
nom_e employs participe (n-m) np titre projets

ne

employs

projets

Cours BD Dr REZEG K

24

2 - Modle Entits - Relations

Relations de type 1-n


Dans une relation "un plusieurs" ("one-many", 1-n), une entit d'un ensemble peut tre connecte au plus une entit du second ensemble mais une entit du second ensemble peut ne pas tre connect aucune entit du premier ensemble, ou tre connecte une ou plusieurs entit de cet ensemble
nf nom_f fabriquants nsrie produit (1-n) type voitures fabriquants voitures

Cours BD Dr REZEG K

25

2 - Modle Entits - Relations

Relations de type 1-1


Dans une relation "un un" ("one-one", 1-1), une entit de chaque ensemble peut tre connecte au plus une entit de l'autre ensemble
Exemple: une BD pour l'administration d'un pays
une personne possde au plus un passeport et un passeport a un seul titulaire

np

nom_p personnes

npass possde (1-1)

date_emission passeport personnes passeports

Cours BD Dr REZEG K

26

2 - Modle Entits - Relations

Synthse sur les types des relations

1-n

n-m

1-1

Cours BD Dr REZEG K

27

2 - Modle Entits - Relations

Attributs de relation
Proprits dont la valeur dpend des tuples dans l'ensemble de relations.

nc

date_c commande concerne quantit

np

nom_p produit

Cours BD Dr REZEG K

28

2 - Modle Entits - Relations

Cardinalits
Les BD sont conues dans l'hypothse du "monde ferm"
Les ensembles d'entits sont FINIS !!

Cardinalits
Couples (min, max) associs chaque ensemble d'entit reli par une relation r
Si r est binaire, entre E1 et E2:
le min (resp. max) associ Ei (i=1,2) reprsente le nombre minimum (resp. max) d'entits de Ej (j=2,1) associes un lment quelconque de Ei. le nombre doccurrences possibles dentits associes dans cette relation quand les autres (n-1) valeurs sont fixes

Si r est n-aire:

Min

Max

0 1

1 n
Cours BD Dr REZEG K 29

2 - Modle Entits - Relations

Exemples

nf

nom_f fabriquant 1,n produit (1-n) 1,1

type voitures

nsrie

ne

nom_e 0,n employ participe (n-m) 1,n

titre projet

np

Cours BD Dr REZEG K

30

2 - Modle Entits - Relations

Exemples

np

nom_p personne 0,1

date_emission npass 1,1 passeport possde (1-1)

est compose de
npice
0,n

quantit
nom_p

pice
0,n

compose
Cours BD Dr REZEG K 31

2 - Modle Entits - Relations

Exemple

np

nom_p projet 1,n particip e 0,n employ nr descr_r 0,n rle

ne nom_e

prnom_e

Cours BD Dr REZEG K

32

Modle Entit Association (synthse)


Entit : Une entit est une population dindividus homognes. Exemple: les produits ou les articles vendus par une socit peuvent tre regroups dans une mme entit Articles.

Cours BD Dr REZEG K

33

- Ordinateurs -Imprimantes - Scanner -

Articles

ceci est possible du fait que ces produits ont les mmes caractristiques (par exemple : la dsignation, le prix unitaire, la quantit, etc).
Clients Fournisseurs

Cours BD Dr REZEG K

34

Association :

Une association est une liaison qui a une interprtation prcise entre plusieurs entits. Exemple : entre lentit client et article il y a une liaison qui est Commander : un client commande un article, et entre fournisseurs et clients il y a la liaison : Livrer

Clients

Commander

Articles

Livrer

Fournisseurs

Fig. Associations
Cours BD Dr REZEG K 35

Attributs et identifiants :

Un attribut est une proprit (caractristique) dune entit ou dune association. Exemple: Dans lexemple de la socit, lentit Articles a des attributs que nous avons dj cits : Dsignation, Quantit, prix unitaire,

Cours BD Dr REZEG K

36

Lentit Client peut avoir comme attributs: adresse client, nom et prnom du client, Les associations Commander et Livrer peuvent avoir comme attributs : quantit commande, date de livraison,

Cours BD Dr REZEG K

37

Chaque individu dune entit doit tre identifiable dune manire unique et sans ambigut, Exemple: Lindividu Said Hamidi de lentit Clients ne peut pas tre identifier dune faon unique par son nom : Plusieurs clients peuvent avoir le mme nom
Cours BD Dr REZEG K 38

chaque entit doit possder un attribut sans doublon (ne prenant pas deux fois la mme valeur). Il sagit de lidentifiant

Remarque : Une entit doit possder au moins un attribut qui est son identifiant, par contre une association peut tre dpourvu dattributs.
Cours BD Dr REZEG K 39

Cardinalit

La cardinalit dun lien entre une entit et une association prcise le nombre de fois quun individu de lentit peut tre concern par lassociation. Exemples : articles. un client peut commander de 1 jusqu n

Un articles peut tre commander 0 fois jusqu m fois

Cours BD Dr REZEG K

40

Cours BD Dr REZEG K

41

Un client ne peut exister que sil commande au moins un article. Cardinalit minimale pour le client est 1 Un article peut exister dans le stock mme sil nest pas command par aucun client, Cardinalit minimale pour larticle est 0.

Cours BD Dr REZEG K

42

VI.4 Rgles de modlisation :

Un bon schma Entits-association doit vrifier certaines rgles dites rgles de modlisation (normalisation) Objet : Rassembler les donnes homognes et viter les redondances. Rg 1: Normalisation des entits : Toutes les entits qui sont remplaables par une association doivent tre remplaces.

Cours BD Dr REZEG K

43

Deux entits homognes peuvent tre fusionner

Redondance, donc risque dincohrence Les adresses peuvent ne pas tre les mme donc o va-t-on livrer ?
Cours BD Dr REZEG K 44

Rg 2: Normalisation des noms : le nom dune entit, dune association ou dun attribut doit tre unique. Rg 3: Normalisation dun identifiant : Chaque entit doit possder un identifiant. Rg 4: Normalisation des attributs et des associations: les attributs dune association doivent dpendre directement des identifiants de toutes les entits en association et il faut liminer les association superflues.

Cours BD Dr REZEG K

45

Rg 5. : Normalisation des cardinalits : une cardinalit minimale est toujours 0 ou 1 (pas 2, 3 ou n) et une cardinalit maximale est toujours 1 ou n (pas 2, 3,).

Cours BD Dr REZEG K

46

Mthodologie de Base

Conception dun MCD partir dun problme Rel 1- Identifier les entits en prsence. 2- Lister leurs attributs. 3- Ajouter les identifiants. 4- tablir les associations entre les entits. 5- Lister leurs attributs. 6- Calculer les cardinalits.
Cours BD Dr REZEG K rgles de normalisation. 47 7Vrifier les

Exemple 1 (1)
Exemple: schma conceptuel : cas dune compagnie arienne : Soit une compagnie arienne dcrite par les lments suivants : Elle possde un parc davion. Des pilotes qui assurent un certain nombre de vols. Les avions sont identifis par un numro et sont caractriss par un nom, un type et une capacit. Les pilotes sont identifis par un numro et sont caractriss par un nom et un prnom, une adresse, un grade et un numro de tlphone. Un vol est assur par un avion et un pilote. Un vol est identifi par un numro et caractris par une ville de dpart, une ville darrive, une heure de dpart, une heure darrive, et une date. Des passagers sont enregistrs sur un vol Un passager est identifi par un numro et caractris par un nom et un prnom, une adresse et un numro de tlphone.
10/04/1434 Cours BD Dr REZEG K 48

Exemple 1 (2)

Remarque: pour simplifier ce schma on peut dcomposer la relation assur en utilisant les cardinalits individuelles en deux relations : soit assure1 et assure2 leur collection sont (avion, vol) et (pilote, vol) respectivement
10/04/1434 Cours BD Dr REZEG K 49

Exemple 2 (1)
Notre tablissement universitaire dispose dune bibliothque permettant ses adhrents demprunter des livres. Un adhrent peut tre un tudiant ou un enseignant, il est identifi par un numro, possde un nom, un prnom et appartient une catgorie. Un livre est identifi par un numro de rfrence, possde un titre, une spcialit, une anne ddition et une maison ddition. Un livre est crit par un ou plusieurs auteurs dont un est principal. Un auteur est identifi par un numro, un nom et un prnom et possde une nationalit. Un livre possde un ensemble de mots cls, un mot cl appartient plusieurs livres et est identifi par un code. Un livre peut tre emprunt par plusieurs adhrents dans le temps, chaque opration demprunt on doit enregistrer la date et chaque restitution on doit enregistrer la date.
10/04/1434 Cours BD Dr REZEG K 50

Exemple 2 (2)

10/04/1434

Cours BD Dr REZEG K

51

Le modle relationnel
Introduction : introduit au dbut des annes 70, cest le premier modle de bases de donnes indpendant des critres de stockage, percevoir la base de donnes comme un ensemble de relations qui peuvent tre reprsentes sous forme de table deux dimensions : Les colonnes correspondent aux attributs dune relation et les lignes correspondent aux tuples. utilise un seul concept qui est la relation, ce qui lui rend plus facile utiliser mme pour les utilisateurs ayant plus ou moins de connaissance en informatique. Ce modle est bas essentiellement sur une thorie mathmatique la thorie des ensembles
Cours BD Dr REZEG K 52

Dfinitions (1)
Domaine : Un domaine est un ensemble de valeurs caractris par un nom. Exemple: Domaine des boolens D1={0,1} Domaine des couleurs D2= {Blanche, Rouge, noire} Domaines des marques de voitures D3={Peugeot, Fiat, Renault} Domaines des modules D4={BD, RO, SI, SE, ANG}

Cours BD Dr REZEG K

53

Dfinitions (2)
Le produit cartsien : Le produit cartsien dun ensemble de domaines D1, D2, .,Dn not D1 D2 .. Dn est lensemble des n-uplets tuples (U1, U2, , Un) tel que Ui Di pour tout i=1, 2, ,n Exemple: En prenant les domaines D2 et D3, le produit cartsien donne 9 couples :

Cours BD Dr REZEG K

54

Dfinitions (3)
La relation : Une relation est un sous-ensemble de produit cartsien dun ensemble de domaine, une relation est dsigne par un nom Exemple: Soient les domaines suivants:
D1={1, 2, 3} D2= {janvier, fvrier} D3={2002, 2003, 2004}

On peut avoir une relation date dfinie sur les domaines D1, D2, et D3 avec les tuples suivants :
D1 1 2 2 3 D2 Janvier Janvier Fvrier Fvrier D3 2004 2004 2003 2002

Cours BD Dr REZEG K

55

Dfinitions (4)
Lattribut : Un attribut est une colonne de la relation identifi par un nom, cest une variable qui prend valeur dans un des domaines sur lesquels la relation est dfinie. Exemple: Dans lexemple prcdent on peut avoir les attributs : jour dfini sur le domaine D1, mois dfini sur le domaine D2 et anne dfini sur le domaine D3, do la relation date devient :
Jour 1 2 2 3 Mois Janvier Janvier Fvrier Fvrier Anne 2004 2004 2003 2002

Cours BD Dr REZEG K

56

Dfinitions (5)
Le tuple: Un tuple dune relation dsigne une ligne dans la table reprsentant cette relation. Exemple: Dans la relation date (1, janvier, 2005) est un tuple 6. Arit dune relation : Larit dune relation est le nombre de ses attributs, cest aussi le nombre de colonnes de la table si on reprsente la relation sous forme de table. Exemple: Larit de la relation date est gale 3.

Cours BD Dr REZEG K

57

Dfinitions (6)
Cardinalit dune relation : La cardinalit dune relation cest le nombre de tuples de cette relation, cest aussi le nombre de lignes de la table qui reprsente la relation. La cardinalit dune relation R est un nombre entier not par |R| Exemple: la cardinalit de la relation date : |date| = 4; Schma dune relation : Un schma dune relation est compos du nom de la relation suivit de la liste des attributs avec leurs domaines, R(A1 : D1, A2 : D2, , An : Dn) ; Exemple: le schma de la relation Etudiant : Etudiant(numinsc: integer; nom: char(20); prenom: char(20); adr: char(40) ; depart: dep); o : dep : est le domaine des dpartements {inf, mat, bio, elec} ;
Cours BD Dr REZEG K 58

Dfinitions (7)
Extension de la relation : Une extension de la relation est un ensemble de tuples de la relation, elle est reprsente par un tableau 2 dimensions o une ligne correspond un tuple et une colonne un attribut de la relation Exemple: Soit la relation produit, une extension de cette relation peut tre :
Cod_prod Dsignation Prix_unit

A002 C004 E001

Armoire Chaise Etager

5400 1600 2500

Cours BD Dr REZEG K

59

Dfinitions (8)
Cl de la relation :
La cl dune relation R est un attribut ou un ensemble dattributs qui permet didentifier dune manire unique chaque tuple de la relation. Remarque: Daprs la dfinition mme dune relation quelle est un ensemble de tuples nayant pas dlments en double (ne peut pas contenir deux tuples identiques), toute relation possde au moins une cl savoir : lensemble de ses attributs. Cl candidate: un attribut ou un ensemble dattributs est appel cl candidate sil peut jouer le rle de cl dans une relation, une cl doit tre souligne dans un schma de relation. Cl primaire: lorsquon dispose pour une relation donne de plusieurs cls candidates, il est ncessaire de ne retenir quune seule parmi lensemble des cls candidates et cest celle quon utilisera effectivement pour reprer de manire unique les tuples de la relation, la cl retenue sappellera alors cl primaire.
Cours BD Dr REZEG K 60

Dfinitions (9)
Le choix de la cl primaire est gnralement effectu en fonction des deux critres suivants : On choisit la cl candidate ayant le plus petit nombre dattributs : il est prfrable de minimiser le nombre dattributs manipuls. On choisit la cl candidate en fonction de son usage pour la localisation des tuples : il sagit de privilgier la cl candidate dont lusage serait le plus frquent pour localiser les tuples de la relation Remarque: toute cl candidate qui na pas t retenue comme cl primaire constitue une cl secondaire.

Cours BD Dr REZEG K

61

Dfinitions (10)
Base de donnes relationnelles: Cest une base de donnes dont le schma conceptuel est un ensemble de schmas de relations et dont les occurrences sont des tuples de ces relations. Exemple: Etudiant(num_insc, nom, prnom, adr, dpartement) Module( codmod, intitule, coef) Inscrit(num_insc, codmod) Examen(num_ins, codmod, note)

Cours BD Dr REZEG K

62

Le passage dun schma conceptuel E-A vers une base de donnes relationnelle
Avec le modle relationnel, le schma conceptuel de la base de donnes est reprsent sous forme de table. Une telle reprsentation ne permet pas de distinguer facilement une entit dune relation, ni de servir de support de communication si on a discuter le schma conceptuel avec dautres personnes. Gnralement on prfre utiliser un autre formalisme tel que celui du modle entit-association, ce dernier nous offre un aide au niveau de la phase de modlisation mme si cela demande un travail supplmentaire de transformation de ce modle vers le modle relationnel. Pour effectuer ce passage on applique des rgles pour les individus et les relations.
Cours BD Dr REZEG K 63

Les rgles de passage


Pour les individus :
Chaque individu se transforme en une table. Lidentifiant de lindividu devient la cl primaire de la table. Les proprits de lindividu deviennent des attributs dans la table.

Pour les relations : Cas des relations pre-fils (x, n y, 1) : Lindividu pre devient la table pre. Lindividu fils devient la table fils. Lidentifient de lindividu pre devient un attribut dans la table fils. Les proprits de la relation deviennent des attributs dans la table fils.
Cours BD Dr REZEG K 64

Les rgles de passage


Cas des autres relations : Chaque individu devient une table. Lidentifiant de lindividu devient la cl primaire de la table. La relation devient une table. Lidentifiant de la relation devient la cl primaire dans la table. Les proprits de la relation deviennent des attributs dans la table.

Cours BD Dr REZEG K

65

Exemples (1)

Cours BD Dr REZEG K

66

Exemples (2)

Cours BD Dr REZEG K

67

Questions

Cours BD Dr REZEG K

68

Rgles de passage

REGLE N1 : TOUTE ENTITE DEVIENT UNE TABLE dans laquelle :


les attributs traduisent les proprits de l'entit la cl primaire traduit l'identifiant de l'entit

Cours BD Dr REZEG K

69

Rgles de passage
REGLE N2 : UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITE 1,1 SE REECRIT EN : portant dans la relation fille la cl primaire de la relation mre. L'attribut ainsi ajout s'appelle cl trangre. Symbole : #.

Cours BD Dr REZEG K

70

Rgles de passage
Relation fille

Cours BD Dr REZEG K

71

Rgles de passage

REGLE N3 : UNE ASSOCIATION DE DIMENSION 2 AVEC CARDINALITE PLUSIEURS A PLUSIEURS SE REECRIT EN :


crant une relation particulire qui contient comme attributs les identifiants des 2 entits associes ces attributs constituent eux 2 la cl primaire de la relation

ils sont individuellement cls trangres ajoutant la ou les ventuelles proprits de l'association cette relation.

Cours BD Dr REZEG K

72

Rgles de passage

Cours BD Dr REZEG K

73

Rgles de passage
REGLE N4 : UNE ASSOCIATION DE DIMENSION SUPERIEURE A 2 SE REECRIT SELON LA REGLE 3

Cours BD Dr REZEG K

74

Rgles de passage
Plus de dtail

Cours BD Dr REZEG K

75

Chapitre 3

Conception et optimisation de schma relationnel

Cours BD Dr REZEG K

La normalisation

La conception dun M E-A reprsente la vision de la ralit de lanalyste. Le formalisme obtenu, tabli avec une mthode, ne garantit pas justesse et optimisation. La justesse dpend de la comptence et de lexprience de lanalyste. Loptimisation est obtenue par les mcanismes de la normalisation.

Cours BD Dr REZEG K

Normalisation

Cest vrifier que la structure devant recevoir des donnes est organise pour viter: des redondances dinformations et des anomalies de conception (sources invitables dincohrence court ou long terme).

Cours BD Dr REZEG K

Normalisation

Dfinition: Le processus de restructurer le modle de donnes logiques pour :


Eliminer les redondances, Organiser les donnes efficacement, Rduire le potentiel d'anomalies pendant les oprations sur les donnes.

Cours BD Dr REZEG K

La normalisation
Les besoins de normalisation :

ARTICLE refart designart descriart marqueart

1,n

Commandes qute

1,n

Fournisseur Fno nom adresse

3 problmes de cohrence lors de mises jours de la BD:

anomalie d'insertion (si on rajoute une commande il faut que l'article existe) anomalie de suppression (si on enlve un fournisseur il faut enlever toutes les commandes de ce fournisseur) anomalie de modification (si on modifie le numro d'un article il faut modifier toutes les commandes avec ce numro d'article

Cours BD Dr REZEG K

La normalisation
La thorie de la normalisation repose sur l'analyse de dpendances entre attributs qui sont l'origine de phnomnes de redondance. La normalisation consiste en des mthodes de dcomposition des relations.

Dans certains situations, pour des raisons d'efficacit, on dnormalise.

Cours BD Dr REZEG K

Normalisation

Les classifications formelles utilises pour dcrire le niveau de normalisation d'une base de donnes relationnelle sont appeles les formes normales (FN) Il existe 04 formes normales, sont les plus pratiques et sont connatre.

Cours BD Dr REZEG K

Normalisation

Chaque nouvelle forme normale marque une tape supplmentaire de progression vers des relations prsentant de moins en moins de redondance Le but.. est d'obtenir une reprsentation des donnes prsentant un minimum de redondance l'intrieur de chaque relation et un maximum d'indpendance entre les diffrentes relations

Cours BD Dr REZEG K

Formes normales
Premire forme normale

Deuxime forme normale Troisime forme normale Forme normale de Boyce-Codd Edgar Codd est lorigine de la dfinition des formes normales 1FN, 2FN, 3FN, BCFN.

Cours BD Dr REZEG K

la normalisation

La thorie de la normalisation est base sur les "dpendances fonctionnelles" (DF). C.A.D. Dpendance entre les informations
Par exemple, le salaire dpend de la qualification

Cours BD Dr REZEG K

10

Les dpendances fonctionnelles traduisent des contraintes sur les donnes


Par exemple, on dcide que deux individus diffrents peuvent avoir mme nom et prnom mais jamais le mme numro de scurit sociale. Ces contraintes sont reprsentatives d'une perception de la ralit et imposent des limites la base

11

Cours BD Dr REZEG K

Dpendance fonctionnelle
Rappel: Dfinition : dpendance fonctionnelle On dit qu'un attribut B dpend fonctionnellement d'un attribut A si, tant donn une valeur de A, il lui correspond une unique valeur de B. Notation : A --> B Exemple : La dpendance fonctionnelle SS NOM signifie qu' un numro est associ un nom seulement. Remarquons qu'une dpendance fonctionnelle n'est gnralement pas symtrique, c'est--dire que SS NOM n'interdit pas que deux personnes distinctes (correspondant deux SS diffrents) portent le mme nom.
12 Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles


Les dpendances fonctionnelles possdent trois proprits fondamentales quon appelle couramment les axiomes dArmstrong car mises en vidence par W. Armstrong. En supposant que X, Y , Z, sont trois ensembles dattributs, il est utile de faire les remarques suivantes avant dnoncer les proprits : Lcriture X , Z est une criture simplifie de lunion ensembliste des deux ensembles dattributs X et Z. Ceci veut dire que lcriture X , Z devra tre interprte comme X Z . Il faut souligner aussi que lunion ensembliste est un oprateur associatif et commutatif : ((X Y) Z ) = (X (Y Z)) XZ=ZX
13 Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles (5)


Rflexivit
Si X Y Y X Ex : A A,B A,B A et A,B B Si X Y et Y Z X Z Ex : A,B C et C D A,B D Si X Y Z X , Z Y, Z Ex : A,B C A,B,D C,D

Transitivit

Augmentation

A partir de ces trois axiomes de base, on peut dduire facilement dautres proprits trs utiles en pratiques. Les plus remarquables sont :
14 Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles (6)


Union des parties droites Dcomposition
Si X Y et X Z X Y, Z Ex : A C et A D A C,D Si X Y, Z X Y et X Z Ex : A C,D A C et A D

Pseudo Transitivit

Distributivit par rapport lunion


Si X U ui U X ui (cest une gnralisation de la dcomposition) Ex : A C,D,E,F A C et A D et A E et A F

Si X Y et Y , W Z X , W Z Ex : A C et B,C D A,B D

A,B C,D,E A,B C et A,B D et A,B E

15

Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles (7)


Dpendance fonctionnelle lmentaire On appelle dpendance fonctionnelle lmentaire une dpendance de la forme : X A , ou A est un attribut unique non inclus dans X ( A X), tel que X X, il nexiste pas de dpendance fonctionnelle X A. En dautres termes, une dpendance fonctionnelle est lmentaire si elle nest pas obtenue par augmentation de sa partie gauche.

16

Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles (8)


exemple : Si on considre les deux D.F. : (NUMERO, NOM ) ADRESSE (1) NUMERO ADRESSE (2) la D.F. (1) est une D.F. non lmentaire car NUMERO (NUMERO,NOM) et il existe la D.F. NUMERO ADRESSE. Par contre la D.F. (2) est une D.F. lmentaire car elle vrifie les proprits dune D.F. lmentaire

17

Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles (9)


Dpendance fonctionnelle transitive

On appelle dpendance fonctionnelle transitive une dpendance de la forme : X A , ou A est un attribut unique non inclus dans X ( A X), tel que : Y X, X Y et Y A et Y / X Dans ce cas, on dit aussi que A est transitivement dpendant de X. Dans le cas o A nest pas transitivement dpendant de X, on dit que A est directement dpendant de X
18 Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles (10)


exemple : Si on considre les D.F. : 1 - A B 2- B C 3- A C 4- D B 5- D C 6 B D La D.F. A C est transitive car B A tel que : A B et B C et B / A Par contre la D.F. D C nest pas transitive puisque B D tel que : D B et B C mais B D

Cours BD Dr REZEG K

19

Proprits des dpendances fonctionnelles (12)


Dpendance fonctionnelle directe

On appelle dpendance fonctionnelle directe une dpendance de la forme X A , ou A est un attribut unique non inclus dans X ( A X), tel que : Y X, si X Y et Y A alors la d.f. Y X existe aussi

20

Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles (13)

exemple : Si on considre les D.F. : 1- A B 2-B C 3- A C 4-D B 5-D C 6-B D La D.F. A C nest pas directe car pour B A on a : A B et B C =/=> B A La D.F. D C est directe puisque pour B D on a : D B et B C B D existe
Cours BD Dr REZEG K 21

Proprits des dpendances fonctionnelles (14)

La D.F. A B est directe puisque il nexiste pas dattribut Y A tel quon a en mme temps les d.f. A Y et Y B pour vrifier sil y a ou non contradiction avec la dfinition. Dans ces cas l , la d.f. est forcment directe. Dans le cas o A nest pas directement dpendant de X (i.e. la d.f. Y X nexiste pas), on dit que A est transitivement dpendant de X.
Cours BD Dr REZEG K 22

Proprits des dpendances fonctionnelles (15)


Dpendance fonctionnelle totale, pleine ou complte On appelle dpendance fonctionnelle totale , pleine ou complte une dpendance fonctionnelle de la forme X A , ou A est un attribut unique non inclus dans X ( A X), telle que X X , il nexiste pas de dpendance fonctionnelle X A . En dautres termes, la dpendance X A est lmentaire. Dans ce cas on dit aussi que A est pleinement ou totalement ou compltement dpendant de X. Dans le cas contraire, on dit aussi que A est partiellement dpendant de X (i.e. A dpend dune partie de X et donc forcment de X aussi par augmentation)
Cours BD Dr REZEG K 23

Proprits des dpendances fonctionnelles (16)

exemple : Si on considre les D.F. : 1- A ,B C 2- B C 3- B,C D dans la d.f. 1 C nest pas totalement dpendant de A ,B car on a B A,B tel que B C. On peut dire que C est partiellement dpendant de A,B. dans la d.f. 3- D est totalement dpendant de B,C car il nexiste pas de X B ,C et tel que X D.
Cours BD Dr REZEG K

24

Proprits des dpendances fonctionnelles (17)


Dpendance fonctionnelle triviale

On appelle dpendance fonctionnelle triviale une dpendance fonctionnelle de la forme X Y , tel que Y X. En dautres termes, une dpendance fonctionnelle est triviale si elle est obtenue grce la proprit de rflexivit. exemple : Si on considre les D.F. : 1- A ,B B 2-B,C C 3- A ,C D la d.f. 1 est triviale car on a B A ,B la d.f. 2 est triviale car on a C B ,C la d.f. 3 nest pas triviale car on a D A ,C
25

Cours BD Dr REZEG K

Proprits des dpendances fonctionnelles (18)

les notions de dpendance fonctionnelle lmentaire, de dpendance fonctionnelle totale, de dpendance fonctionnelle directe vont intervenir dans la dfinition des formes normales dune relation et principalement la deuxime et la troisime formes normales.

26

Cours BD Dr REZEG K

Normalisation : 1FN
1FN (rubrique lmentaire) : Un MR est dit en premire forme normale, si toutes les entits sont composes dattributs lmentaires ou atomiques (hors clefs concatnes).
IP 192.168.0.1 192.168.0.2 192.168.0.4 Role client serveur client et serveur

Consquences : un attribut reprsente une donne lmentaire du monde rel ; Un attribut ne peut dsigner, ni une donne compose d'entits de natures diffrentes, ni une liste de donnes de mme nature.
Cours BD Dr REZEG K 27

Normalisation : 1FN
Si on veut avoir les notes d'un tudiant :
Nom E in s te in F re u d
Nom E in s te in F re u d N o te s 8 ,1 2 .5 2 .5 , 0 , 1 8

N o te 1 8 2 .5

N o te 2 1 2 .5 0

N o te 3 N U LL 18

Nom Einstein Eintein Freud Freud Freud

Note 8 12.5 2.5 0 18

Nest pas en 1FN. Pour y remdier, on peut soit crer un attribut par note si le nombre maximal de notes est connu et si le nombre moyen de notes par personne est proche de ce maximum, Soit fabrique autant de tuples que de couples (nom, note)
Cours BD Dr REZEG K 28

Normalisation : 2FN
2FN (dpendance fonctionnelle lmentaire) : Un MR est dit en deuxime forme normale, si:
- il remplit les conditions de la 1FN et si, - tout attribut n'appartenant pas une cl ne dpend pas d'une partie de cette cl.

A,B -> C B->C

A
Cours BD Dr REZEG K

C
29

Normalisation : 2FN

La 2FN est base sur le concept de dpendance fonctionnelle totale


Dfinition de la dpendance fonctionnelle totale x y: si la suppression d'un attribut A de x signifie que la dpendance n'existe plus

Cours BD Dr REZEG K

30

Normalisation : 2FN
Exemple: Considrons une table Membres du Departement" dont les attributs sont : ID departement, ID employe, Date de naissance employe; et supposons quun employ travaille dans un ou plusieurs dpartements. La combinaison de ID departement et de ID employe identifie de manire unique un enregistrement de la table. Est-ce que cette table est en 2FN? Comme Date de naissance employe ne dpend que dun seul de ces attributs lID employe la table nest pas 2NF.
Cours BD Dr REZEG K 31

Normalisation : 2FN
Autre exemple : Considrons la relation PLAGE de schma suivant : PLAGE (NOMP, REGION, TYPE, POLLUTION) o la cl est (NOMP, REGION). Supposons que la pollution est bien dpendante de la plage (identifie par (NOMP, REGION)) mais que le type est, quant lui, dpendant de la rgion seule. Que pouvons nous faire?: La deuxime forme normale nous impose de distinguer deux relations R1 et R2 de schmas respectifs : R1 (NOMP, REGION, POLLUTION) ; R2 (REGION, TYPE).
Cours BD Dr REZEG K 32

Normalisation : 3FN
Dfinition : troisime forme normale: Une relation est en troisime forme normale si :
- elle est en deuxime forme normale ; - tout attribut n'appartenant pas une cl ne dpend pas d'un attribut non cl. - cad toute DF dont la partie droite nest pas une cl doit avoir une partie gauche qui est une cl :

B, C OK

A, B, C
Cours BD Dr REZEG K 33

Normalisation : 3FN
Exemple : Considrons une table "Departements" dont les attributs sont

et supposons que chaque manager peut grer un ou plusieurs dpartements. ID departement est une cl candidate. Bien que Date embauche manager est fonctionnellement dpendante de {ID departement}, elle est aussi fonctionnellement dpendante de lattribut ID manager. ID departement Date embauche manager ID manager Date embauche manager X Ceci signifie que la table nest pas 3FN. Departements (ID department, Nom departement, ID manager Information Manager (ID manager, date embauche manager)
Cours BD Dr REZEG K 34

ID departement, Nom departement, ID manager, Date embauche manager

Normalisation : 3FN

Autre exemple: Considrons maintenant la relation PLAGE de schma


PLAGE (NP, REGION, TYPE, POLLUTION)

o la cl est NP. Supposons maintenant comme dans l'exemple prcdent que le type est dpendant de la rgion. La troisime forme normale nous impose de distinguer deux relations R1 et R2 de schmas respectifs : R1 (NP, REGION, POLLUTION) ; R2 (REGION, TYPE).
Cours BD Dr REZEG K 35

Normalisation : 3FN
Autre Exemple : Enseignant (Nom, Bureau, Batiment, Discipline, telephone)
Avec des contraintes dintgrit : Un btiment hberge des enseignants d'une mme discipline; un bureau donn possde un numro de d'appel unique.

Avec les DF: Batiment Discipline Batiment, Bureau Telephone Telephone Bureau, Batiment Note: la deuxime contrainte dfinit une relation 1-1, donc une DF reflexive.

Cours BD Dr REZEG K

36

Enseignant (Nom, Bureau, Batiment, Discipline, telephone) La dpendance Batiment->Discipline ne concerne pas la cl. La relation Enseignant n'est pas 3FN. On sort donc lattribut Discipline de la relation Enseignant (dpendant dun attribut non-cl) et on cr une nouvelle relation Affectation: Affectation(Batiment,Discipline) Les dpendances Batiment, Bureau->Telephone Telephone->Bureau, Batiment ne concernent pas la cl. On cr la nouvelle relation: Annuaire(Bureau, Batiment, telephone) La relation Enseignant dorigine peut tre renomme Sige, avec les attributs restant: Siege(Nom,Bureau,Batiment) Cours BD Dr REZEG K

37

Normalisation : Boyce-Codd

La FNBC tait propose comme une forme plus simple de 3FN, mais elle est finalement plus stricte que la 3FN.

Cours BD Dr REZEG K

38

Normalisation : BCFN
Dfinition : Boyce-Codd forme normale: Une relation est en BCFN si :
- elle est en 3 eme forme normale ; - aucun attribut ne dpend d'un attribut non cl. Toute relation qui est en BCFN est forcement en 3 FN

C.a.d. toute DF a pour partie gauche (origine de la flche) un cl candidate ou primaire entire. Une relation en BCFN si quelle que soit la DF, le membre gauche est une cl.

A, B, C
Cours BD Dr REZEG K 39

Normalisation : Exemple FNBC


Considrons la relation suivante: Cours (Matiere, Classe, Professeur) complte par les rgles de gestion suivantes: un professeur n'enseigne qu'une seule matire, un classe n'a qu'un seul enseignant par matire desquelles on dduit les DF suivantes: Matire, Classe Professeur Professeur Matire Cette relation est en 3NF, nanmoins il est impossible d'enregistrer un professeur sans classe affecte (puisque classe est une partie de la cl primaire de la table Cours), et la disparition d'une classe peut entraner la disparition de professeur. Ceci est du au fait qu'une DF n'ait pas comme origine une cl de la relation.
Cours BD Dr REZEG K 40

Normalisation : Exemple FNBC


On pourrait alors dcomposer la table Cours en 2 tables: Spcialit (Professeur, Matire) Enseignant (Classe, Professeur) Mais la premire DF serait alors perdue

Cours BD Dr REZEG K

41

Normalisation : 2ime exemple FNBC


Considrons la relation suivante: Fournisseur (nom, adresse, produit, prix) avec les DF suivantes : DF1: nom adresse DF2: nom, produit prix Alors la cl de la relation Fournisseur est [nom, produit]. Cette relation n'est pas en FNBC, car dans la DF1, la partie gauche "nom" n'est pas une cl entire.

Cours BD Dr REZEG K

42

Algorithme de synthse (1)


En appliquant les tapes de cet algorithme, vous pourrez dduire un schma de relation en 3 FN. Relation universelle Ensemble de DF

Algorithme de synthse

Relation en 3 FN
Cours BD Dr REZEG K 43

Algorithme de synthse (2)


Une relation universelle : est une relation qui contient tous les attributs du domaine dtude. Couverture minimale (irrductible): est un sous ensemble minimum de DF lmentaires permettant de gnrer toutes les autres.
Thorme: Tout ensemble de DF admet une couverture minimale, en gnral non unique

Cours BD Dr REZEG K

44

Algorithme de synthse (3)


Exemple : 1- code_mod cod_filire 2- cod_filire libl_filire 3- Code_mod libl_filire Transitivit de 1 et 2 4- Jour, heure, local num_ens 5- Jour, heure, local cod_filire Transitivit de 1 et 9 6- Jour, heure, local section 7- Jour, heure, local groupe 8- Jour, heure, local an_tude 9- Jour, heure, local cod_mod 10 - Jour, heure, local , num_ens cod-filire Augmentation de 5
Cours BD Dr REZEG K 45

Algorithme de synthse (4)


La couverture minimale est la suivante : 1- code_mod cod_filire 2- cod_filire libl_filire 3- Jour, heure, local num_ens 4- Jour, heure, local section 5- Jour, heure, local groupe 6- Jour, heure, local an_tude 7- Jour, heure, local cod_mod

Cours BD Dr REZEG K

46

Algorithme de synthse (5)


Etapes de lalgorithme de synthse
Trouver lensemble IRR(F) contenant la couverture irrductible (minimale) de F; Partitionner lensemble IRR(F) en sous ensemble de Fi, tels que toutes les DFs de Fi ont la mme partie gauche; Pour chaque ensemble Fi de DFs, construire une relation compose de tous les attributs formant les DFs de Fi, la cl de la relation sera la partie gauche commune ces DFs; Traiter les attributs isols

Cours BD Dr REZEG K

47

Algorithme de synthse (7)


Exercice
1- Code_mod libell_mod 2- Code_mod an_etude 3- Code_mod libell_filire 4- code_filire libell_filire 5- matricule nom_et 6- matricule adresse-et 7- matricule dat_nai_et 8- num_ens nom_ens 9- num_ens dat_nai_ens 10- num_ens grade 11-num_enssituation_familiale 12- num_ens salaire 13- grade nbre_heures 14- grade salaire 15- cod_mod coef 16- cod_mod cod_filire 17- matricule prenom_et 18- num_ens prenom_ens 19- num_ens adresse_ens 20- num_ens, gradenbre_heures 21- num_ens, grade salaire 22- num_ens nbre_heures 23- matricule section 24- matricule groupe 25-cod_mod,matriculecod_filire
48

Cours BD Dr REZEG K

Algorithme de synthse (8)


Concevoir un schma relationnel en 3FN, partir de cet ensemble de DFs en appliquant lalgorithme de synthse.

Cours BD Dr REZEG K

49

Chapitre 4

Manipulation de bases de donnes relationnelles

Cours BD Dr REZEG K

Algbre relationnelle

Les oprandes sont les relations ou variables (qui reprsentent des relations) Les oprateurs sont conus afin de rpondre aux besoins des utilisateurs Le rsultat est une algbre qui peut tre utilis comme langage de requtes

Cours BD Dr REZEG K

Oprateurs de base

Union, intersection, et la diffrence.


Des oprations ensemblistes qui imposent que les oprandes aient le mme schma.

Slection: garder certains n-uplets. Projection: garder certaines colonnes. Produits et jointure. Re-nomage des relations et attributs.

Cours BD Dr REZEG K

Lalgbre relationnelle Oprateurs unaires


Affectation : opration qui consiste transfrer des tuples dune table dans une autre table. Cette opration est note Restriction : Opration qui consiste supprimer les tuples dune relation ne satisfaisant pas la condition prcise. Cette opration est note s Projection : Opration qui consiste supprimer des attributs dune relation et liminer les tuples en double apparaissant dans la nouvelle relation. Cette opration est note .

Cours BD Dr REZEG K

Lalgbre relationnelle Laffectation

Laffectation permet de sauvegarder le rsultat dune expression de recherche ou bien de renommer une relation et ses attributs. Notation : Reprsentation graphique : Exemple : R A B C a b c d e f 1 2 3

S(D,E,F) R donne S

:
D a b c E d e f

F 1 2 3
5

Cours BD Dr REZEG K

Lalgbre relationnelle La restriction (1)


La restriction (ou slection) dune relation R par une qualification Q est une relation R de mme schma dont les tuples sont ceux de R qui satisfont la qualification. Q peut sexprimer laide de constante, dattributs, de comparateurs (>, >=, <, <=,=, <>) et doprateurs logiques ( , , ) Notation : sQ ( R ) ou select Q (R) Reprsentation graphique :

Cours BD Dr REZEG K

Lalgbre relationnelle La restriction (2)

A a b c

B d e f

C 1 2 3

Select

(R) C < 4 et A <> a

A
b c

B
e f

C
2 3

Cours BD Dr REZEG K

Lalgbre relationnelle La projection (1)


La projection dune relation R de schma R(A1, A2, , An) sur les attributs Ai1, Ai2, , Aip avec avec ij != ik et p<= n est une relation R(Ai1, Ai2, , Aip ) dont Les tuples sont obtenus par limination des attributs de R nappartenant pas R et par suppression des doublons Notation : p Ai1, Ai2, , Aip (R) ou proj Ai1, Ai2, , Aip (R) Reprsentation graphique :

Ai1, Ai2, , Aip R

Cours BD Dr REZEG K

Lalgbre relationnelle La projection (2)

Exemple :

A a b c

B d e f

C 1 2 3

proj A,B(R)

A a b c

B d e f

proj A (R)

A a b c

Cours BD Dr REZEG K

Lalgbre relationnelle Oprateurs binaires ayant le mme schma


Union : opration portant sur deux relations ayant le mme schma et construisant une troisime relation constitue des tuples appartenant chaque relation. Les tuples en double sont liminer Intersection : Opration portant sur deux relations ayant le mme schma et construisant une troisime relation dont les tuples sont constitus de ceux appartenant au deux relations Diffrence relationnelle : Opration portant sur deux relations ayant le mme schma et construisant une troisime relation dont les tuples sont constitus de ceux ne se trouvant que dans une seule relation

Cours BD Dr REZEG K

10

Lalgbre relationnelle Lunion (1)

Lunion de deux relations R et S de mme schma est une relation T de mme schma contenant lensemble des tuples appartenant R, S ou aux deux. Notation : R US ou union (R, S) Reprsentation graphique :

Cours BD Dr REZEG K

11

Lalgbre relationnelle Lunion (2)

A a b c

B d e f

C 1 2 3 T A a s c B d e d C 1 4 3

Union (R,T)

A a b c s c

B d e f e d

C 1 2 3 4 3
Cours BD Dr REZEG K 12

Lalgbre relationnelle Lintersection(1)

Lintersection de deux relations R et S de mme schma est une relation T de mme schma contenant lensemble des tuples appartenant la fois R et S. Notation : R IS ou inter (R,S) Reprsentation graphique :

R
Cours BD Dr REZEG K

S
13

Lalgbre relationnelle Lintersection(2)

A a b c

B d e f

C 1 2 3 T A a s c B d e d C 1 4 3

Inter (R,T)

A a

B d

C 1

Cours BD Dr REZEG K

14

Lalgbre relationnelle La diffrence (1)

La diffrence entre deux relations R et S de mme schma est une relation T de mme schma contenant lensemble des tuples appartenant R et nappartenant pas S. Notation : R S ou minus (R, S) Reprsentation graphique :

R
Cours BD Dr REZEG K

S
15

Lalgbre relationnelle La diffrence (2)

A a b c

B d e f

C 1 2 3 T A a s c B d e d C 1 4 3

R- T

A b c

B e f

C 2 3
16

Cours BD Dr REZEG K

Lalgbre relationnelle Oprateurs binaires ayant un schma diffrent


Le produit cartsien : opration sur deux relations de schma diffrents construisant une troisime relation constitue des attributs appartenant chaque relation et dont les tuples sont constitus de toutes les concatnations des tuples des deux relations. La jointure : opration qui consiste faire le produit cartsien de deux relations, puis supprimer les tuples ne satisfaisant pas une condition portant sur un attribut de la premire relation et sur un attribut de la seconde. La division : opration sur deux relations de schma diffrents construisant une troisime relations constitue de tous les tuples qui concatn chaque tuple de la deuxime relation, donnent toujours un tuple de la premire relation.
Cours BD Dr REZEG K 17

Lalgbre relationnelle Le produit cartsien (1)


Le produit cartsien de deux relations R et S de schmas quelconques est une relation T ayant pour attributs la concatnation des attributs de R et de S et dont les tuples Sont constitus de toutes les concatnations dun tuple de R un tuple de S. Notation : R x S ou product(R,S) Reprsentation graphique :

R
Cours BD Dr REZEG K

S
18

Lalgbre relationnelle Le produit cartsien (2)

A a b c

B d e f

C 1 2 3

D a b

E d e

RxS

A a a b b c c

B d d e e f f

C 1 1 2 2 3 3

D a b a b a b

E d e d e d e
19

Cours BD Dr REZEG K

Lalgbre relationnelle La jointure (1)


La q jointure de deux relations R et S selon une qualification Q est lensemble des Tuples du produit cartsien R qui satisfont la qualification Q. Il sagit donc de la Restriction selon Q de R x S, cest dire sQ ( R X S) Notation : R

S ou joint Q (R,S)

Reprsentation graphique :

Q R Cours BD Dr REZEG K S
20

Lalgbre relationnelle La jointure (2)

A a b c

B d e f

C b g c

D f b

E d e

B<D et A != C

A a b

B d e

C b g

D f f

E d d

Cours BD Dr REZEG K

21

Lalgbre relationnelle Lqui-jointure


Lqui-jointure de deux relations R et S est une q jointure avec pour qualification Q lgalit entre deux colonnes, cest--dire R
Ai = Bj

S avec Ai et Bj, deux

attributs de R et de S respectivement R A a b c B d e f C d g c

D d b

E f e

B= D

A a

B d

C d

D d

E f
22

Cours BD Dr REZEG K

Lalgbre relationnelle La jointure naturelle (1)

La jointure naturelle de deux relations R et S est une qui-jointure sur tous les attributs de mme nom dans R et dans S, suivie de la projection qui permet de ne conserver quun seul des cas attributs gaux de mme nom. Notation : R S ou joint (R,S) Reprsentation graphique :

R Cours BD Dr REZEG K

S
23

Lalgbre relationnelle La jointure naturelle (2)

A a b c

B d e f

C s g c

A a a c

B d d f

D d g c

A a a c

B d d f

C s s c

D d g c

Cours BD Dr REZEG K

24

Problmes lis la jointure (1)

La jointure ninclut les tuples que sil y a galit entre deux colonnes
Exemple : on dsire la liste de tous les dpartements de lentreprise avec les employs Associs. Dpt Did
D1 D2 D3 D4

Dnom
Achats Recherche Ventes Informatiq ue

Dville
Amiens Boves Ailly Dreuil

Emp

Eid
E10 E20 E30 E40 E50 E60

Enom
Black White Lger Flam Albator DreamBox

Epren
John Bob Ferdinand Captain Roger Ren

Did
D3 D3 D2 D3 D1 D1 25

Cours BD Dr REZEG K

Problmes lis la jointure (2)

Dpt

Emp

Did
D1 D1 D2 D3 D3 D3

Dnom
Achats Achats Recherche Ventes Ventes Ventes

Dville
Amiens Amiens Boves Ailly Ailly Ailly

Eid
E50 E60 E30 E10 E40 E20

Enom
Albator Dreambox Lger Black Flam White

Epren
Roger Ren Ferdinand John Captain Bob

Remarque : il nous manque le dpartement informatique !!!

Cours BD Dr REZEG K

26

Lalgbre relationnelle La division (1)

La division (ou quotient) de la relation R (A1, A2, , An) par la (sous-)relation S de schma S(A p+1, , An) est la relation de schma T (A1, A2, , Ap) forme de Tous les tuples qui, concatns chaque tuple de S, donnent toujours un tuple de R. Notation : R / S ou div(R,S) Reprsentation graphique :

%
R S

Cours BD Dr REZEG K

27

Lalgbre relationnelle La division (2)

A
a a b e e a

B
b b c d d b

C
c e e c e d
c c f d

D
d f f d f e

C
c e

D
d f

R/S

A
a e

B
b d

Cours BD Dr REZEG K

28

Agrgats

Un agrgat est un partitionnement horizontal d une relation selon des valeurs d attributs, suivi d un regroupement par une fonction de calcul Notation : Fonction_d Agrgat Ai1,Ai2,,Aip (R) Par exemple : Compte A,B,C ( R ) Reprsentation graphique :

FA Ai1,Ai2,,Aip

Cours BD Dr REZEG K

29

Agrgats : Exemple

A
a d c b

B
b a b g

C
10 15 5 8

Compte (R)

Compte
4

Moyenne (R , C)

Moyenne
9,5

Compte B (R, C)

B
b a g

Compte
2 1 1

Somme B (R, C)

B
b a g

Somme
15 15 8
30

Cours BD Dr REZEG K

Expressions de lalgbre relationnelle(1)


Les oprations algbriques peuvent tre combines pour former des expressions de lalgbre relationnelle. Il sera donc possible de composer la plupart des questions que l'on peut poser une base de donnes relationnelle. Ainsi, ces questions peuvent tre exprimes l'aide de successions des oprations UNION, DIFFERENCE, JOINTURE, SELECTION, PROJECTION. La reprsentation graphique de ces oprations permet de composer des arbres d'oprations relationnelles.

Cours BD Dr REZEG K

31

Expressions de lalgbre relationnelle(2)


Exemple : soit la base de donnes compose des relations suivantes : R1(MEDECIN , MALADIE , TARIF) R2(NUMERO , MALADE , MALADIE) La relation R1 reprsente les maladies qui peuvent tre examines par un mdecin et le tarif de la consultation chez ce mdecin pour chaque maladie. La relation R2 reprsente les maladies pour lesquelles un malade souhaite tre examin. La rponse la question suivante : "Quels sont les noms des mdecins pouvant examiner le malade "Adel" et les prix de leurs consultations ainsi que les maladies examiner " peut tre exprime l'aide de l'un des deux arbres suivants Cours BD Dr REZEG K 32 :

Expressions de lalgbre relationnelle(3)

Cours BD Dr REZEG K

33

Expressions de lalgbre relationnelle(4)


La condition C1 est : Malade = Adel Un arbre d'oprations s'interprte de bas en haut. Les expressions algbriques correspondant chacun des deux arbres prcdents sont respectivement : a) PROJECT mdecin, maladie, tarif (SELECT malade = ''Adel'' (JOIN (R1, R2))) b) PROJECT mdecin, maladie, tarif (JOIN (SELECT malade = ''Adel'' (R2), R1)) (b) est plus efficace que (a) puisque on applique d'abord le SELECT sur R2 qui donnera une relation intermdiaire contenant uniquement les tuples relatifs au malade "Adel" (c.a.d. 2) et qu'on utilisera pour calculer le JOIN avec R1.
Cours BD Dr REZEG K 34

Chapitre 4

Le langage SQL (Structured Query Language)

Cours BD Dr REZEG K

Introduction
SQL est le langage informatique standard pour la communication avec les SGBD relationnelles. Il peut tre logiquement vu comme tant compos de 3 sous langages: un Langage de Manipulation de Donnes (LMD), un Langage de Description de Donnes (LDD) et un Langage de Contrle de Donnes (LCD). Interrogation en SQL L'interrogation de relation s'exprime l'aide de la commande Select, ne pas confondre avec la slection algbrique.

Cours BD Dr REZEG K

Projection
SELECT liste d'attributs FROM nom de relation Exemple : soit la relation Produit (code, desig, PU), et soit l'expression en algbre relationnelle suivante: Project Desig, SELECT PU (produit), elle se traduit en SQL comme suit: desig, PU FROM Produit RQ: SQL n'limine pas les tuples en double moins que ceci soit explicitement demand par un mot cl du langage qui est : DISTINCT (ou parfois UNIQUE) SELECT UNIQUE
Cours BD Dr REZEG K 3

Slection
SELECT * FROM nom de relation WHERE condition ; " * " dnote toutes les colonnes de la relation. Exemples: 1) SELECT (PU<= 250) (produit) SELECT * FROM Produit WHERE (PU<= 250) 2) "Quel sont les produits dont le nom commence par 'P' et dont le prix unitaire est infrieur ou gale 300?" SELECT * FROM Produit WHERE (Desig Like "P%") and (PU<= 300)
Cours BD Dr REZEG K 4

Composition de la slection et de la projection


SELECT liste d'attributs FROM nom de relation WHERE condition Exemple: "liste contenant le code et la dsignation des produits dont leur prix unitaire est suprieur ou gal 500" SELECT code, desig FROM Produit WHERE (PU>= 500)

Cours BD Dr REZEG K

Produit cartsien
Le produit cartsien entre deux relations s'exprime comme une jointure sans condition (qualification). SELECT * FROM liste de noms de relations Exemple: le produit cartsien des relations EMPLOYES et DEPARTEMENTS s'obtient l'aide de la requte suivante : SELECT * FROM EMPLOYES , DEPARTEMENTS

Cours BD Dr REZEG K

Jointure
SELECT * FROM liste de noms de relations WHERE expression de jointure Exemples: "Quels sont les numros et les noms des employs qui travaillent BATNA ? SELECT Num_Emp , Nom_Emp FROM EMPLOYES , DEPARTEMENTS WHERE (EMPLOYESNum_Dept=DEPARTEMENTSNum_Dept) AND (Ville = 'BATNA')

Cours BD Dr REZEG K

Expression de l'union, de l'intersection et de la diffrence


SQL offre des oprateurs ensemblistes qui permettent d'exprimer l'union (UNION), l'intersection (INTERSECT) et la diffrence (MINUS) l'aide de requtes: < Clause Select > < oprateur ensembliste> <Clause Select> Il faut veiller ce que les oprandes gauche et droit de l'oprateur soit des relations de mme schma ou de schmas compatibles.

Cours BD Dr REZEG K

La description des donnes avec SQL (1)


Cration de schma de relations La cration de schma de relation consiste nommer la relation et en dfinir les attributs; CREATE TABLE nom de relation (nom_attribut1 type_attribut1 [Not NULL| NULL] [nom_attribut2 type_attribut2 [Not NULL| NULL]) type_attribut peut tre par exemple: Int: entier sign reprsent sur 4 octets; Float: virgule flottante; Char (longueur): chane de longueur fixe. NOT NULL: spcifie qu'une colonne ne doit pas contenir de valeurs NULL (ou indfinies, inconnues). Exemple: CREATE TABLE ETUDIANTS ( NUMERO int NOT NULL, NOM CHAR(10), MOYENNE float )
Cours BD Dr REZEG K 9

La description des donnes avec SQL (2)


Suppression dune table : DROP TABLE DROP TABLE <nom de table> ; supprime le contenu de la relation ainsi que sa dfinition, c. a d. son schma. Modification de schmas de relations: La commande ALTER TABLE permet de modifier le schma d'une relation en y ajoutant de attributs ou des contraintes, en modifiant la dfinition d'un attribut, la varit des modifications dpend des SGBD. Il faut cependant avoir l'esprit que la modification de schma de relations pendant la dure de vie d'une base peut avoir des incidences sur les donnes et sur les programmes existants.
Cours BD Dr REZEG K 10

Instruction SQL de mise jour


INSERT : ajout de tuples L'opration d'insertion permet d'ajouter un ou plusieurs tuples une relation INSERT INTO <nom de relation> [(liste de colonnes)] {VALUES (expression_constante[, expression_constante[, ]]) | clause select} UPDATE: modification de tuples UPDATE modifie des valeurs de colonnes dans une ou plusieurs lignes UPDATE nom de relation SET colonne 1= {expression| NULL| (clause Select)} [, colonne 2= ] [FROM ] [WHERE qualification]
Cours BD Dr REZEG K 11

Instruction SQL de mise jour


Delete: Suppression de tuples La suppression peut concerner tous les tuples d'1 relation ou un sous-ensemble de tuple qui vrifie une condition de selection; il fait noter que delete opre sur le contenu d'une relation, c'est--dire que le schma d'une relation persiste aprs suppression de tous les tuples de la relation. DELETE [FROM] nomde relation [,nom de relation[, ]] [WHERE qualification]

Cours BD Dr REZEG K

12

Les fonctions de groupes


Aperu gnral SQL offre aussi un certain nombre de fonctions dites fonctions de groupes qui peuvent tre utilises dans l'expression d'une requte. Les plus importantes sont : AVG : permet de calculer une MOYENNE SUM : permet de calculer une SOMME COUNT : permet de compter des tuples MAX : permet de calculer un maximum MIN : permet de calculer un minimum GROUP BY : permet de crer des sous-ensembles de tuples HAVING : permet de tester si une condition est vrifie par un groupe de tuples
Cours BD Dr REZEG K 13

Tri
Tri du rsultat dune requte : la clause ORDER BY La clause ORDER BY permet de trier le rsultat retourn par une requte. Lordre peut tre ascendant (ASC) ou descendant (DESC) et sera fonction du type de ou des attributs qui seront spcifis comme arguments de cette clause. Les exemples suivants permettent de donner une ide des possibilits de cette clause. Q8: Liste des employs du dpartement 10 par ordre dcroissant de leur salaire? SELECT Num_Dept , Nom_Emp, Salaire FROM EMPLOYES WHERE Num_Dept = 10 ORDER BY Salaire DESC

Cours BD Dr REZEG K

14

Exemples de requtes (1)


Q1:Quel est le nom, la fonction et le salaire de(s) lemploy(s) ayant le salaire le plus lev Q2: Quel est le nombre de fonctions diffrentes exerces dans le dpartement 30 ? Q3: Quelle est la moyenne des salaires par dpartement? Q4: Quels est pour chaque dpartement le salaire annuel (12 mois) moyen de tous ses employs sauf ceux ayant une fonction de DIRECTEUR ou PRESIDENT? Q5: Quels sont les numros des dpartements ayant plus de 10 employs ? Q6: Quelles sont les diffrentes fonctions exerces dans lensemble des dpartements et la moyenne des salaires par fonction ?
Cours BD Dr REZEG K 15

Exemples de requtes (2)


Q7: Quelles sont les diffrentes fonctions exerces dans lensemble des dpartements dont la moyenne des salaires par fonction est suprieure 10.000 ? Q8: Liste des employs tris selon un ordre alphabtique de leur fonction et lintrieur de chaque fonction les trier selon un salaire dcroissant.

Cours BD Dr REZEG K

16

You might also like