Vous êtes sur la page 1sur 55

Thorie de base de donnes

BOUSETTA Ibrahim

Dfinition : Base de donnes relationnelle


Une BDR est un stock d'informations dcomposes et organises dans des matrices appeles relations ou tables conformment au modle de donnes relationnel. Elle peut Ell t t tre dfi dfinie i encore comme t tant t un ensemble bl d'information connexes enregistres dans un dispositif informatique. Dans une base de donnes relationnelle les informations sont stockes sous forme de groupe de valeurs : les enregistrements. Un ensemble d'enregistrements relatif un sujet j forme une relation et est stock dans une table. La base de donnes comporte une ou plusieurs tables et les sujets sont connexes. Le modle de donnes relationnel permet d'utiliser les oprateurs de l'algbre relationnelle pour retrouver une information quelconque q q stocke dans la base de donnes, , ainsi q que les informations connexes.

Modle relationnel

Le modle de donnes relationnel est bas sur la notion de relation : une matrice qui contient un ensemble de groupes de valeurs (les n-uplet) ou appel encore tuples, stocks dans les enregistrements d'une base de donnes. Une relation est stocke dans une table de la base de donnes. Selon le modle relationnel, il peut y avoir plusieurs relations connexes. Dans une base de donnes relationnelle chaque enregistrement d'une table contient un groupe d'informations d informations relatives un sujet et les diffrents sujets sont connexes. les liens existants entre les informations sont stocks dans les champs des enregistrements sous forme de cl primaire et cl trangre trangre. Les oprations d'algbre relationnelle telles que l'intersection, la jointure ou le produit cartsien sont utilises pour faire des rapprochements entre les enregistrements et crer de nouvelles relations partir des relations enregistres dans la base de donnes.

Modle relationnel

Une composante N d'un d un n-uplet n uplet est une cl primaire lorsque par nature la valeur de cette composante est diffrente pour chaque nuplet d'une relation, et que - pour une valeur donne - il n'existe qu'un qu un seul nuplet dans toute la relation dont la composante a cette valeur (absence de redondance). Une composante N d'un d un n-uplet n uplet est une cl trangre lorsque les valeurs de cette composante sont des rfrences une cl primaire. Il y a une situation d'intgrit rfrentielle lorsque toutes les valeurs d'une d une cl trangre A correspondent une valeur de la cl primaire rfrence B. Le schma, c'est--dire c est dire le plan des relations, des cls et des rfrences est cr par un ingnieur. Il vise minimiser la redondance, et maximiser la cohrence. Les formes normales sont des modles d'organisation d organisation du contenu des bases de donnes relationnelles.

Modle relationnel

Il existe deux grands types de liens : Un - Plusieurs (comme le prcdent) et Plusieurs - Plusieurs. La ralisation de ce dernier type de liens, un peu plus complexe, passe par l'utilisation d'une table intermdiaire dont la cl primaire est forme des cls trangres des tables qu'elle relie. Le modle relationnel est le plus souvent dcrit sous la forme suivante, les cls primaires tant soulignes et les cls trangres marques par un signe distinctif (ici *). EQUIPES (CodeEquipe, (C d E i N E i NomEquipe, Di t S tif) DirecteurSportif) COUREURS (NumroCoureur, NomCoureur, CodeEquipe*, CodePays*) y ) ETAPES (NumroEtape, VilleDpart, VilleArrive, NbKm) TEMPS (NumroCoureur*, NumroEtape*, TempsRalis) PAYS (CodePays, NomPays)

On peut aussi le reprsenter sous forme graphique, de manire mieux visualiser et inte

Modle relationnel

On peut aussi le reprsenter sous forme graphique, de manire mieux visualiser et interprter les liens :

Contraintes d'intgrit

Un schma de base de donnes est un ensemble de schmas de relation S = {R1, R2, ..., Rn} et un ensemble de contraintes d'intgrit CI. Une contrainte d'intgrit est une proprit du schma, invariante dans le temps. On peut distinguer plusieurs catgories de contraintes.

Les contraintes structurelles, dfinissent plus prcisment la structure des associations entre les donnes (le modle de donnes les supporte en partie) et les contraintes sur les valeurs donnent des relations entre les donnes (un chef gagne plus que ses subordonns).

La plupart des contraintes ne sont pas supportes pas le modle d d de donnes et td doivent i td donc t tre codes d par l les programmeurs dans des programmes d'application.

contrainte d'intgrit sur les cls :


Par dfinition, tous les nuplets d d'une une relation sont distincts deux deux (puisqu'il s'agit d'un ensemble). Il est galement intressant de dfinir des sous-ensembles du schma qui permettent d'identifier de manire unique un nuplet p (p (par exemple p dans l'exemple p de l'tudiant, l'attribut No-ss permet d'identifier un tudiant). Ces sous-ensembles du schma s'appellent des cls. Le systme doit donc garantir l l'unicit unicit des valeurs de cl (un seul nuplet tudiant peut avoir une valeur de No-ss donne). Il peut y avoir plusieurs cls pour une mme relation ( (elles sont alors appeles cls candidates) et on choisit le plus souvent une cl particulire dite cl primaire qui servira d'identification privilgie des nuplets. Cette cl sera indique de manire graphique en mettant en gras les attributs la composant.

contrainte d'intgrit rfrentielle :


C est une contrainte exprime entre deux relations. Intuitivement cela C'est consiste vrifier que l'information utilise dans un nuplet pour dsigner un autre nuplet est valide, notament si le nuplet dsign existe bien. Par exemple, P l si i on considre id une relation l ti EMPLOYE(no-ss, nom, adresse, rle, no-dept) et une relation DEPARTEMENT(no-dept, nom, no-ss-chef), un nuplet de EMPLOYE rfrence un nuplet de DEPARTEMENT via l l'attribut attribut no-dept no dept (numro de dpartement) et un nuplet de DEPARTEMENT rfrence un nuplet de EMPLOYE via l'attribut no-ss-chef (numro scurit sociale du chef de dpartement). Il est important de s'assurer s assurer que les nuplets rfrencs existent bien bien. On peut noter qu'un nuplet peut rfrencer un autre nuplet de la mme relation. Dans ce cas, no-dept et no-ss-chef sont appels des cls trangres, puisque se sont des attributs cls d'une d une autre relation relation. Cette contrainte implique un ordre dans la cration ou la destruction des entits, puiqu'on ne peut crer un dpartement si le nuplet correspondant au chef h f n'a ' pas t cr et t on ne peut t dtruire dt i un chef h fd de d dpartement t t si i le dpartement existe toujours (ou bien si on n'a pas mis un autre chef).

Dpendances fonctionnelles

Dpendances fonctionnelles sur une relation (DF)


R(X,Y,Z) un schma de relation X, Y, Z des ensembles d'attributs, Z pouvant tre ventuellement vide On dit quil O il y a une d dpendance d f fonctionelle ti ll de d X vers Y et t on le l note X -> Y si la connaissance d'une valeur de X dtermine au plus une valeur de Y proprit dfinie sur l'intension du schma et non son extension (elle est donc invariante dans le temps et ne peut tre extraite partir d'exemples). C'est une proprit qui doit tre extraite de la connaissance q que l'on a de l'application pp modliser.

Proprits des dpendances fonctionnelles


Axiomes d'Amstrong d Amstrong

DF1 : rflexivit

Y inclus-ou-egal X => X -> Y

DF2 : augmentation X -> Y => X,Z -> Y,Z DF3 : transitivit X -> > Y ET Y -> > Z => X -> >Z DF4 : pseudo-transitivit X -> Y ET Y,W Y W -> Z => X,W X W -> Z DF5 : union X -> Y ET X -> Z => X -> Y,Z

dpendance fonctionnelle lmentaire (DFE) :


une DF X -> > Y avec X ne contenant pas Y est une DFE si :


il n'existe aucun sous sous-ensemble ensemble de X ayant une DF sur Y (X est la plus petite quantit d'information d information donnant Y)

Dpendance multivalue (DM)


On dit quil y a une dpendance multivalue de X vers Y, si toute n-uplet de X dtermine plus dun d un n-uplet n uplet de Y Y. on le note : XY Comme illustration, supposons une situation o un employ dun garage est qualifi pour effectuer un certain type dintervention sur certaines marques de d voiture. i C Cette situation i i est modlise dli par l le schma h relationnel suivant :

Employ(Nom-Employ) I t Intervention(Type-Intervetion) ti (T I t ti ) Constructeur(Marque) Intervenir(Nom-Employ, Type-Intervetion, Marque)

Supposons maintenant quun employ qui effectue un ensemble de types dinterventions pour un ensemble de marques de voiture, est capable deffectuer chacun de ces types dinterventions sur chacune de ces marques de d voitures. it D Dans ce cas, il existe i t d des d dpendances d multivalues dans la relation Intervenir : Nom-Employ TypeIntervetion et Nom-Employ Marque.

Forme normale

Dans une base de donnes relationnelle, une forme normale dsigne un type de relation particulier entre les entits. Le but essentiel de la normalisation est d'viter les anomalies t transactionnelles ti ll pouvant t dcouler d l d' d'une mauvaise i modlisation dli ti d des donnes et ainsi viter un certain nombre de problmes potentiels tels que les anomalies de lecture, les anomalies d'criture, la redondance des donnes et la contre performance performance. La normalisation des modles de donnes permet de vrifier la robustesse de leur conception pour amliorer la modlisation ( (et donc obtenir une meilleure reprsentation) et faciliter la mmorisation des donnes en vitant la redondance et les problmes sous-jacents de mise jour ou de cohrence. La normalisation sapplique toutes les entits et aux relations porteuses de proprits. Les formes normales s'emboitent les unes dans les autres, tant et si bien que le respect d'une d une forme normale de niveau suprieur implique le respect des formes normales des niveaux infrieurs.

1FN - premire forme normale :


Relation dont tous les attributs : contiennent une valeur atomique q ( (les valeurs ne p peuvent p pas tre divises en plusieurs sous-valeurs dpendant galement individuellement de la cl primaire) contiennent des valeurs non rptitives (le cas contraire consiste mettre une li t d liste dans un seul l attribut). tt ib t) sont constants dans le temps (utiliser par exemple la date de naissance plutt que l'ge). Le non respect de deux premires conditions de la 1FN rend la recherche parmi les donnes plus lente parce qu'il faut analyser le contenu des attributs. La troisime condition quant elle vite qu'on doive rgulirement mettre jour les donnes. j Dans ce cas les valeurs du fournisseur sont multivalues et ne sont pas atomiques. Pour que cette relation soit en premire forme normale, il faut dcomposer dco pose les es attributs a bu s de la a colonne co o e fournisseur ou sseu co comme e su suit :

2FN - deuxime forme normale


la relation respectant la premire forme normale et d t: dont Tout attribut ne composant pas un identifiant dpend de tout l identifiant identifiant. Le non respect de la 2FN entraine une redondance des donnes qui encombrent alors inutilement la mmoire et l'espace disque. chaque attribut qui n'appartient n appartient pas la cl (l'ensemble des attributs permettant d'identifier de manire unique un tuple de l'entit) ne dpend pas uniquement d'une partie de la cl
Autrement dit, toute dpendance Cl A est lmentaire (si A nappartient pas une cl).

Admettons que la cl de cette table soit une cl composite (produit - fournisseur). ) Dans le cas d'un changement g d'adresse d'un fournisseur, il faudra faire preuve de beaucoup d'attention pour n'oublier aucun endroit o l'adresse est mentionne. En effet, on constate que le champ adresse ne dpend que d'une d une partie de la cl : le champ fournisseur, ce qui induit la possibilit d'une redondance au sein de la table. Il convient donc de scinder la table en deux:

De cette manire, un changement d'adresse ne donne lieu qu' une seule modification dans la table des fournisseurs

3FN - troisime forme normale


la relation respectant la seconde forme normale et dont : Tout attribut ne composant p p pas un identifiant dpend p directement d'un identifiant. Le non respect de la 3FN peut galement entrainer une redondance des donnes. les attributs qui ne font pas partie de la cl ne dpendent pas d'attributs ne faisant pas non plus partie de la cl (les attributs sont donc compltement indpendants les uns des autres).

Le pays de l'adresse n'est pas dpendant de la cl de la table, savoir le nom du fournisseur, mais est fonction de la ville de l'adresse. De nouveau, il est prfrable de scinder la table en deux:

FNBC - forme normale de Boyce - Codd


la relation respectant la troisime forme normale et dont : tous les attributs non-cl ne sont pas source de dpendance fonctionnelle (DF) vers une partie de la cl Le non respect de la 2FN, 3FN et la FNBC entrane de la redondance. Une mme information tant rpte un nombre considrable de fois. R est en forme normale de Boyce-Codd si toute dpendance fonctionnelle lmentaire la forme Cl A. Autrement A t t dit, dit pour toute t t dpendance d d X A il f faut t que X soit it une cl (ou contienne une cl)

4FN - quatrime forme normale


Une relation est en quatrime forme normale (4FN) si, et seulement si, elle est en forme normale de BOYCE BOYCE-CODD CODD et si elle ne possde pas de dpendance multivalue ou si, X Y tant la dpendance multivalue, il existe une p proprit p A telle q que X A. Cette normalisation conduit parfois d dcomposer une relation l ti complexe l en d deux relations plus simples.

Les diffrentes formes normales


Pour se souvenir de l'ordre et des caractristiques des trois premires i formes f normales, l il suffit ffit d de se rappeler l l le serment t que tous les tmoins doivent prter devant la justice : Je jure de dire la vrit, toute la vrit, rien d'autre que la vrit. Ce qui donne : 1FN = La cl. 2FN = Toute la cl. 3FN = Rien que la cl. La p phrase originale g tant : "The key, y, the whole key, y, nothing g but the key" (Chris Date). Elle est emprunte l'uvre de Shakespeare.

Algbre relationnelle

L algbre relationnelle est une thorie de Lalgbre mathmatiques et d'informatique proche de la thorie des ensembles. Selon cette thorie, les informations sont classes dans des relations : des matrices contenant un ensemble de nuplets (un nuplet est un groupe de N valeurs). Des oprations permettent partir d'une relation d'obtenir une autre relation ainsi que de combiner deux relations et obtenir une troisime relation. relation

Il existe huit oprateurs d'algbre relationnelle.

Slection: partir d'un ensemble A, obtenir un ensemble B dont les valeurs des nuplets correspondent des critres donns. Projection: partir d'un d un ensemble A A, obtenir un ensemble B dont les nuplets contiennent certaines composantes des nuplets de A. Intersection: partir des ensembles A et B, obtenir un ensemble C qui contient les nuplets prsents la fois dans A et dans B. voir aussi intersection (mathmatiques) Union: partir des ensembles A et B, obtenir un ensemble C qui contient les nuplets prsents dans A ou dans B. voir aussi union (mathmatiques).

Diffrence: partir des ensembles A et B, obtenir un ensemble C qui contient les nuplets prsents dans A mais pas dans B. voir aussi diffrence. Produit P d it C Cartsien: t i partir ti d des ensembles bl A et tB B, obtenir bt i un ensemble bl C qui contient des nuplets qui sont toutes les combinaisons possibles des nuplets de A avec les nuplets de B. voir aussi produit cartsien. Jointure: partir des ensembles A et B, obtenir un ensemble C qui est le produit cartsien de chaque nuplet de A pour lesquels il existe des nuplets de B o la valeur de la composante M de A est identique la valeur de la composante N de B. Division cartsienne: partir des ensembles A et B, obtenir un ensemble C o la combinaison de chaque nuplet de B avec chaque nuplet de C C, (produit cartsien de B et C) existe dans A.

Slection

Opration unaire essentielle Signature : relation R expression logique E relation Rle : La slection gnre une relation regroupant exclusivement toutes les occurrences de la relation R qui satisfont l'expression logique E. En d'autres E d' t termes, t la l slection l ti permet td de choisir h i i d des li lignes d dans le tableau. Le rsultat de la slection est une nouvelle relation qui a les mmes attributs que R. Si R est vide (c'est--dire (c est dire ne contient aucune occurrence), la relation qui rsulte de la slection est vide. Notation : ER ( est la lettre grecque g q sigma.) g ) signifie et , signifie ou et signifie non .

Slection

Projection

Opration unaire essentielle Signature : relation R liste d'attributs A relation Rle : La Rl L projection j ti gnre une relation l ti regroupant t exclusivement l i t toutes les occurrences de la relation R rduites aux attributs de la liste d'attributs A. En d'autres termes, la projection permet de choisir des colonnes dans le tableau. Le rsultat de la projection est une nouvelle relation dont les attributs sont ceux prsents dans A. Si R est vide, la relation qui rsulte de la projection est vide. Notation : AR ( est la lettre grecque pi.)

Projection

Complment

Signature : relation R relation Rle : Le complment gnre une relation regroupant exclusivement toutes les occurrences possibles cres partir des valeurs d'attributs prsentes t d dans l la relation l ti R R, l' l'exception ti d des occurrences d de R R. En d'autres termes, le complment permet de gnrer toutes les occurrences q qui n'existent p pas dans R. Cependant, p , comme l'ensemble des valeurs possibles pour chaque attribut est gnralement inconnu ou infini, seules les valeurs dj prsentes dans un attribut de R sont utilises, dans cet attribut, pour crer de nouvelles occurrences. Le rsultat du complment est une nouvelle relation qui a les mmes attributs que R. Si R est vide, la relation qui rsulte du complment est vide. Notation : -R Une proprit remarquable (non exhaustif) : --R est identique R.

Complment

Union

Opration binaire ensembliste commutative Signature : relation R1 relation R2 relation Rle : L'union gnre une relation regroupant exclusivement toutes les occurrences de la relation R1 et toutes les occurrences de la relation R2. Si une mme occurrence existe dans R1 et dans R2, elle n'apparat qu'une seule fois dans le rsultat de l'union. Contrainte : R1 et R2 doivent avoir les mmes attributs. Le rsultat de l'union est une nouvelle relation qui a les mmes attributs que R1 et R2. Si R1 et R2 sont vides, la relation qui rsulte de l'union est vide. Si R1 (respectivement R2) est vide, la relation qui rsulte de l'union est identique R2 (respectivement R1). Notation : R1 R2 Quelques proprits remarquables (non exhaustif) : R R est identique R. R -R est la relation regroupant exclusivement toutes les occurrences possibles cres partir des valeurs d'attributs prsentes dans la relation R.

Union

Intersection

Opration p binaire ensembliste commutative Signature : relation R1 relation R2 relation Rle : L'intersection g gnre une relation regroupant g p exclusivement toutes les occurrences qui existent la fois dans la relation R1 et dans la relation R2. Contrainte : R1 et R2 doivent avoir les mmes attributs. Le rsultat de l'intersection est une nouvelle relation qui a les mmes attributs que R1 et R2. Si R1 ou R2 ou les deux sont vides, la relation qui rsulte de l'intersection l intersection est vide. Notation : R1 R2 Quelques proprits remarquables (non exhaustif) : R R est identique R. R -R R est vide. R1 (R1 R2) est identique R1. R1 (R1 R2) est identique R1.

Intersection

Diffrence

Opration binaire ensembliste non commutative Signature : relation R1 relation R2 relation Rle : La diffrence gnre une relation regroupant exclusivement toutes les occurrences de la relation R1 qui n'existent pas dans la relation R2. Contrainte : R1 et R2 doivent avoir les mmes attributs. Le rsultat de la diffrence est une nouvelle relation qui a les mmes attributs que R1 et R2. Si R1 est vide, la relation qui rsulte de la diffrence est vide. Si R2 est vide, la relation qui rsulte de la diffrence est identique R1. Notation : R1 - R2 Quelques proprits remarquables (non exhaustif) : R - R est vide. R - -R est identique R.

Diffrence

Division

Opration binaire non commutative Signature : relation R1 relation R2 relation Rle : La Rl L di division i i gnre une relation l ti regroupant t exclusivement l i t toutes les parties d'occurrence de la relation R1 qui sont associes toutes les occurrences de la relation R2. Contraintes : R2 ne peut pas tre vide. Tous les attributs de R2 doivent tre prsents dans R1. R1 doit possder au moins un attribut tt ib t de d plus l que R2 R2. Le rsultat de la division est une nouvelle relation qui a tous les attributs de R1 sans aucun de ceux de R2 R2. Si R1 est vide, la relation qui rsulte de la division est vide. Notation : R1 R2

Division

Produit cartsien

Opration binaire commutative Signature : relation R1 relation R2 relation Rle : Le produit cartsien gnre une relation regroupant exclusivement toutes les possibilits de combinaison des occurrences des relations R1 et R2. C t i t : R1 et Contrainte t R2 ne d doivent i t avoir i aucun attribut tt ib t commun. Le rsultat du produit cartsien est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2. Si R1 ou R2 ou les deux sont vides, la relation qui rsulte du produit cartsien est vide. Le nombre d'occurrences de la relation qui rsulte du produit cartsien est le nombre d'occurrences de R1 multipli par le nombre d'occurrences de R2. Notation : R1 R2

Produit cartsien

Thta-produit

Opration p binaire commutative Signature : relation R1 relation R2 expression logique E relation Rle : Le thta-produit p g gnre une relation regroupant g p exclusivement toutes les possibilits de combinaison des occurrences des relations R1 et R2 qui satisfont l'expression logique E. Contrainte : R1 et R2 ne doivent avoir aucun attribut commun commun. E doit tre une comparaison (=, , <, >, ou ) entre un attribut de R1 et un attribut de R2. Le rsultat rs ltat du d thta-produit thta prod it est une ne no nouvelle elle relation q qui i a to tous s les attrib attributs ts de R1 et tous ceux de R2. Si R1 ou R2 ou les deux sont vides, la relation qui rsulte du thta-produit est vide. Notation : R1 E R2 ( est la lettre grecque thta.) Une proprit remarquable (non exhaustif) : R1 E R2 est identique E(R1 R2).

Thta-produit

Jointure

Opration binaire commutative essentielle, galement appele jointure naturelle Signature Si t : relation l ti R1 relation l ti R2 attribut tt ib t A relation l ti ou relation l ti R1 relation R2 attribut A1 attribut A2 relation Rle : La jointure gnre une relation regroupant exclusivement toutes les possibilits de combinaison des occurrences des relations R1 et R2 pour lesquelles il y a galit entre l'attribut A (ou A1) de la relation R1 et l'attribut A (ou A2) de la relation R2. L'attribut A (ou A2) de la relation R2 est ensuite limin. Contrainte : R1 et R2 ne peuvent pas avoir plus d'un attribut commun. Si elles en ont un, ce ne peut tre que celui sur lequel est ralise la jointure (A). Le rsultat de la jointure est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2 sauf A (ou A2). Il est en fait indiffrent d'liminer l'attribut A (ou A1) de la relation R1 ou l'attribut A (ou A2) ( ) de la relation R2. Si R1 ou R2 ou les deux sont vides, la relation qui rsulte de la jointure est vide. Notation : R1 A R2 si A est l'attribut commun ou R1 A1,A2 R2 Une proprit remarquable (non exhaustif) : R1 A1,A2 R2 est identique R1 A1=A2 R2 suivi du retrait de A2 par projection.

Jointure extrieure

Opration binaire commutative Signature g : relation R1 relation R2 attribut A relation ou relation R1 relation R2 attribut A1 attribut A2 relation Rle : La jointure extrieure gnre une relation regroupant exclusivement toutes les possibilits de combinaison des occurrences des relations R1 et R2 pour lesquelles il y a galit entre l'attribut A (ou A1) de la relation R1 et l'attribut A (ou A2) de la relation R2. Les occurrences qui ne peuvent pas tre associes sont galement ajoutes et compltes par le vide (not ). L'attribut A (ou A2) de la relation l ti R2 est t ensuite it li limin. i Contrainte : R1 et R2 ne peuvent pas avoir plus d'un attribut commun. Si elles en ont un, ce ne peut tre que celui sur lequel est ralise la jointure extrieure (A). Le rsultat de la jointure extrieure est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2 sauf A (ou A2). Il est en fait indiffrent d'liminer d liminer l'attribut l attribut A (ou A1) de la relation R1 ou l'attribut l attribut A (ou A2) de la relation R2. Si R1 et R2 sont vides, la relation qui rsulte de la jointure extrieure est vide. Notation : R1 A R2 si A est l'attribut commun ou R1 A1,A2 R2

Jointure extrieure

Semi-jointure

Opration binaire non commutative qui peut tre gauche ou droite Signature : relation R1 relation R2 attribut A relation ou relation R1 relation R2 attribut A1 attribut A2 relation Rle : La semi-jointure j g gnre une relation regroupant g p exclusivement toutes les p possibilits de combinaison des occurrences des relations R1 et R2 pour lesquelles il y a galit entre l'attribut A (ou A1) de la relation R1 et l'attribut A (ou A2) de la relation R2. Pour une semijointure gauche (respectivement droite), les occurrences de la relation R1 (respectivement R2) qui ne p q peuvent p pas tre associes sont galement g ajoutes j et compltes p p par le vide ( (not ) ). L'attribut A (ou A2) de la relation R2 est ensuite limin. Contrainte : R1 et R2 ne peuvent pas avoir plus d'un attribut commun. Si elles en ont un, ce ne peut tre que celui sur lequel est ralise la semi-jointure (A). Le rsultat de la semi-jointure est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2 sauf A (ou A2). Il est en fait indiffrent d'liminer l'attribut A (ou A1) de la relation R1 ou l'attribut A (ou A2) de la relation R2. Si R1 et R2 sont vides, la relation qui rsulte de la semi-jointure est vide. Notation p pour la semi-jointure j gauche g : R1 A R2 si A est l'attribut commun ou R1 A1,A2 A1 A2 R2 Notation pour la semi-jointure droite : R1 A R2 si A est l'attribut commun ou R1 A1,A2 R2

Semi-jointure

Un systme de gestion de base de donnes


Un systme de gestion de base de donnes (abr. SGBD, en anglais DBMS) est un ensemble de logiciels qui sert la manipulation des bases de donnes. Il sert effectuer des oprations ordinaires telles que consulter, modifier, construire, organiser, g transformer, copier, p sauvegarder ou restaurer des bases de donnes par application des oprations de l'algbre relationnelle telles que la jointure, la slection et la projection. Ces SGBD rsolvent sur demande (anglais query) des calculs utilisant des oprateurs d'algbre relationnelle. SQL (sigle de Structured Query Language) est le langage informatique le plus rpandu utilis pour formuler des calculs d'algbre relationnelle[1]. Les SGBD relationnels peuvent tre exploits partir d'autres logiciels par l'intermdiaire d'interface de programmation telles que ODBC ou JDBC. Ces interfaces permettent d'envoyer des requtes sous forme de phrases d'interrogation et rcuprer le rsultat.

Les SGBD relationnels sont galement utiliss pour ajouter ou supprimer du contenu dans la base de donnes, et vrifier que le nouveau contenu ne casse pas l'intgrit rfrentielle entre les cls ou cre de la redondance cls, redondance. un SGBD est dit relationnel lorsque les informations sont prsentes selon le modle relationnel. Un SGBD orient objet prsente les informations sous formes d'objets, et un SBGD objetrelationnel peut prsenter les informations alternativement sous formes de relations ou d'objets d objets. Les logiciels crits en langage de programmation oriente objet utilisent parfois des composants logiciels de mapping objet objetrelationnel pour prsenter le contenu d'une base de donnes relationnelles sous forme d'objets.

Fonctionnalits

Contrler la redondance d'informations d informations La redondance d'informations pose diffrents problmes (cot en temps, cot en volume et risque d'incohrence entre les diffrentes copies). Un des objectifs des bases de donnes est de contrler cette redondance, voire de la supprimer, en offrant une gestion unifie des informations complte par diffrentes vues pour des classes d'utilisateurs diffrents. Partage des donnes Une base de donnes doit permettre d'accder la mme information par plusieurs utilisateurs en mme temps. Le SGBD doit inclure un mcanisme de contrle de la concurrence bas sur des techniques de verrouillage des donnes (pour viter par exemple qu'on puisse li une i lire information f ti qu'on ' est t en t train i d de mettre tt j jour). ) Le partage des donnes se fait galement par la notion de vue utilisateur, qui permet de dfinir pour chaque classe d'utilisateurs la portion ti de d l la b base d de d donnes qui i l'i l'intresse t ( (et td dans l la f forme qui i l'intresse).

Grer les autorisations d'accs d accs Une base de donnes tant multi-utilisateurs, 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 d'affiner la notion de vue utilisateur. Offrir des interfaces d'accs multiples Un SGBD doit offrir plusieurs interfaces d'accs, correspondant aux diffrents types d'utilisateurs pouvant s'adresser lui. On trouve des interfaces orientes utilisateur final (langages de requtes dclaratifs comme SQL avec mise en oeuvre graphique, interface de type formulaire, ...) ou bien orientes programmeurs d'applications (interface avec des langages de programmation classiques comme par exemple l l' l'approche h SQL i immerg ou " "embedded b dd d SQL"). SQL")

Reprsenter p des relations complexes p entre les donnes Un SGBD doit permettre de reprsenter des donnes inter-relies de manire complexe. Cette facilit s'exprime travers le modle de donnes sous-jacent au SGBD. Chaque modle de donnes offre ses propres concepts pour reprsenter l les relations. l i O On peut citer i l les modles dl hi hirarchique, hi rseau (premire gnration de modles), relationnel (gnration actuelle), smantiques (ou orients vers la conception tel que Entit-Association, Z, ...) ou orient orient-objet objet (la gnration future ?). Vrifier les contraintes d'intgrit Un schma de base de donnes se compose d'une description des donnes et de leurs relations ainsi que d'un d un ensemble de contraintes d'intgrit d intgrit. Une contrainte d'intgrit est une proprit de l'application modliser qui renforce la connaissance que l'on en a. On peut classifier les contraintes d'intgrit, en contraintes structurelles ( (un employ p y a un chef et un seul p par exemple) p ) et contraintes dynamiques (un salaire ne peut diminuer). Les SGBD commerciaux supportent automatiquement un certain nombre de contraintes structurelles, mais ne prennent pas en compte les contraintes dynamiques (elles doivent tre codes dans les programmes d'application) d application).

Assurer la scurit et la reprise aprs panne Une base de donnes est souvent vitale dans le fonctionnement d'une organisation, et il n'est pas tolrable qu'une panne puisse remettre en cause son fonctionnement de manire durable. Les SGBD fournissent des mcanismes pour assurer cette scurit. Le premier mcanisme est celui de transaction qui permet d'assurer un comportement p atomique q une squence q d'actions ( (elle s'effectue compltement avec succs ou elle est annule). Une transaction est une squence d'oprations qui fait passer la base de donnes d'un tat cohrent un nouvel tat cohrent. L'exemple typique y est celui du dbit-crdit pour la gestion d'une carte bancaire. Ce mcanisme permet de s'affranchir des petites pannes (style coupure de courant). En ce q qui concerne les risques q lis aux p pannes disques, q , les SGBD s'appuie sur un mcanisme de journalisation qui permet de regnrer une base de donnes automatiquement partir d'une version de sauvegarde et du journal des mouvements.