55
Théorie de base de données BOUSETTA Ibrahim

Théorie de base de données.pdf

Embed Size (px)

Citation preview

Page 1: Théorie de base de données.pdf

Théorie de base de donnéesBOUSETTA Ibrahim

Page 2: Théorie de base de données.pdf

Définition : Base de données relationnelle

Une BDR est un stock d'informations décomposées et organisées dans des matrices appelées relations ou tables conformément au modèle de données relationnel.

Ell t êt défi i ét t blElle peut être définie encore comme étant un ensemble d'information connexes enregistrées dans un dispositif informatique. Dans une base de données relationnelle les informations sont stockées sous forme de groupe de valeurs : les enregistrements. Un ensemble d'enregistrements relatif à un sujet forme une relation et est stocké dans une table. La base de jdonnées comporte une ou plusieurs tables et les sujets sont connexes.

Le modèle de données relationnel permet d'utiliser les opérateurs de l'algèbre relationnelle pour retrouver une information quelconque stockée dans la base de données, ainsi que les q q , qinformations connexes.

Page 3: Théorie de base de données.pdf

Modèle relationnel

Le modèle de données relationnel est basé sur la notion de relation : uneLe modèle de données 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, stockés dans les enregistrements d'une base de données. Une relation est stockée dans une table de la base de données.

Selon le modèle relationnel, il peut y avoir plusieurs relations connexes. Dans une base de données relationnelle chaque enregistrement d'une table contient un groupe d'informations relatives à un sujet et lestable contient un groupe d informations relatives à un sujet et les différents sujets sont connexes. les liens existants entre les informations sont stockés dans les champs des enregistrements sous forme de clé primaire et clé étrangèreprimaire et clé étrangère.

Les opérations d'algèbre relationnelle telles que l'intersection, la jointure ou le produit cartésien sont utilisées pour faire des rapprochements entre les enregistrements et créer de nouvelles relations à partir des relations enregistrées dans la base de données.

Page 4: Théorie de base de données.pdf

Modèle relationnel

Une composante N d'un n-uplet est une clé primaire lorsque parUne composante N d un n uplet est une clé primaire lorsque par nature la valeur de cette composante est différente pour chaque nuplet d'une relation, et que - pour une valeur donnée - il n'existe qu'un seul nuplet dans toute la relation dont la composante a cettequ un seul nuplet dans toute la relation dont la composante a cette valeur (absence de redondance).

Une composante N d'un n-uplet est une clé étrangère lorsque lesUne composante N d un n uplet est une clé étrangère lorsque les valeurs de cette composante sont des références à une clé primaire. Il y a une situation d'intégrité référentielle lorsque toutes les valeurs d'une clé étrangère A correspondent à une valeur de lales valeurs d une clé étrangère A correspondent à une valeur de la clé primaire référencée B.

Le schéma, c'est-à-dire le plan des relations, des clés et desLe schéma, c est à dire le plan des relations, des clés et des références est créé par un ingénieur. Il vise à minimiser la redondance, et maximiser la cohérence. Les formes normales sont des modèles d'organisation du contenu des bases desont des modèles d organisation du contenu des bases de données relationnelles.

Page 5: Théorie de base de données.pdf

Modèle relationnel

Il existe deux grands types de liens : Un - Plusieurs (comme leIl existe deux grands types de liens : Un Plusieurs (comme le précédent) et Plusieurs - Plusieurs. La réalisation de ce dernier type de liens, un peu plus complexe, passe par l'utilisation d'une table intermédiaire dont la clé primaire est formée des cléstable intermédiaire dont la clé primaire est formée des clés étrangères des tables qu'elle relie.

Le modèle relationnel est le plus souvent décrit sous la formeLe modèle relationnel est le plus souvent décrit sous la forme suivante, les clés primaires étant soulignées et les clés étrangères marquées par un signe distinctif (ici *).

EQUIPES (C d E i N E i Di t S tif)EQUIPES (CodeEquipe, NomEquipe, DirecteurSportif)COUREURS (NuméroCoureur, NomCoureur, CodeEquipe*, CodePays*)y )ETAPES (NuméroEtape, VilleDépart, VilleArrivée, NbKm)TEMPS (NuméroCoureur*, NuméroEtape*, TempsRéalisé)PAYS (CodePays, NomPays)

Page 6: Théorie de base de données.pdf

Modèle relationnel•On peut aussi le représenter sous forme graphique, de manière à mieux visualiser et inte

On peut aussi le représenter sous formeOn peut aussi le représenter sous forme graphique, de manière à mieux visualiser et interpréter les liens :interpréter les liens :

Page 7: Théorie de base de données.pdf

Contraintes d'intégrité

Un schéma de base de données est un ensemble de schémas deUn schéma de base de données est un ensemble de schémas de relation S = {R1, R2, ..., Rn} et un ensemble de contraintes d'intégrité CI.

Une contrainte d'intégrité est une propriété du schéma, invariante dans le temps. On peut distinguer plusieurs catégories de contraintes.contraintes.

Les contraintes structurelles, définissent plus précisément la structure des associations entre les données (le modèle de données les supporte en partie) et les contraintes sur les valeurs donnent des relations entre les données (unet les contraintes sur les valeurs donnent des relations entre les données (un chef gagne plus que ses subordonnés).

La plupart des contraintes ne sont pas supportées pas le modèle d d é t d i t d êt dé lde données et doivent donc être codées par les programmeurs dans des programmes d'application.

Page 8: Théorie de base de données.pdf

contrainte d'intégrité sur les clés :

Par définition, tous les nuplets d'une relation sont distincts deux à deuxPar définition, tous les nuplets d une relation sont distincts deux à deux (puisqu'il s'agit d'un ensemble). Il est également intéressant de définir des sous-ensembles du schéma qui permettent d'identifier de manière unique un nuplet (par exemple dans l'exemple de l'étudiant, l'attribut No-ssp (p p ppermet d'identifier un étudiant).

Ces sous-ensembles du schéma s'appellent des clés. Le système doit donc garantir l'unicité des valeurs de clé (un seul nuplet étudiant peutdonc garantir l unicité des valeurs de clé (un seul nuplet étudiant peut avoir une valeur de No-ss donnée).

Il peut y avoir plusieurs clés pour une même relation (elles sont alors y (appelées clés candidates) et on choisit le plus souvent une clé particulière dite clé primaire qui servira d'identification privilégiée des nuplets. Cette clé sera indiquée de manière graphique en mettant en gras les attributs la composant.

Page 9: Théorie de base de données.pdf

contrainte d'intégrité référentielle :

C'est une contrainte exprimée entre deux relations. Intuitivement celaC est une contrainte exprimée entre deux relations. Intuitivement cela consiste à vérifier que l'information utilisée dans un nuplet pour désigner un autre nuplet est valide, notament si le nuplet désigné existe bien.

P l i idè l ti EMPLOYE(Par exemple, si on considère une relation EMPLOYE(no-ss, nom, adresse, rôle, no-dept) et une relation DEPARTEMENT(no-dept, nom, no-ss-chef), un nuplet de EMPLOYE référence un nuplet de DEPARTEMENT via l'attribut no dept (numéro de département) et unDEPARTEMENT via l attribut no-dept (numéro de département) et un nuplet de DEPARTEMENT référence un nuplet de EMPLOYE via l'attribut no-ss-chef (numéro sécurité sociale du chef de département). Il est important de s'assurer que les nuplets référencés existent bien On peutimportant de s assurer que les nuplets référencés existent bien. On peut noter qu'un nuplet peut référencer un autre nuplet de la même relation. Dans ce cas, no-dept et no-ss-chef sont appelés des clés étrangères, puisque se sont des attributs clés d'une autre relationpuisque se sont des attributs clés d une autre relation.

Cette contrainte implique un ordre dans la création ou la destruction des entités, puiqu'on ne peut créer un département si le nuplet correspondant

h f ' été éé t t dét i h f d dé t t iau chef n'a pas été créé et on ne peut détruire un chef de département si le département existe toujours (ou bien si on n'a pas mis un autre chef).

Page 10: Théorie de base de données.pdf

Dépendances fonctionnelles

Dépendances fonctionnelles sur une relation (DF)Dépendances fonctionnelles sur une relation (DF)R(X,Y,Z) un schéma de relation

X, Y, Z des ensembles d'attributs, Z pouvant être éventuellement vide

O dit ’il dé d f ti ll d X Y t lOn dit qu’il y a une dépendance fonctionelle de X vers Y et on le note X -> Y si la connaissance d'une valeur de X détermine au plus une valeur de Y propriété définie sur l'intension du schéma et non son extension (elle est donc invariante dans le temps et ne peut être extraite à partir d'exemples). C'est une propriété qui doit être extraite de la connaissance que l'on a de l'application à q ppmodéliser.

Page 11: Théorie de base de données.pdf

Propriétés des dépendances fonctionnelles

Axiomes d'AmstrongAxiomes d Amstrong

DF1 : réflexivité Y inclus-ou-egal X => X -> Y

DF2 : augmentation X -> Y => X,Z -> Y,Z

DF3 : transitivité X > Y ET Y > Z => X > ZDF3 : transitivité X -> Y ET Y -> Z => X -> Z

DF4 : pseudo-transitivité X Y ET Y W Z X W ZX -> Y ET Y,W -> Z => X,W -> Z

DF5 : union X -> Y ET X -> Z => X -> Y,Z

Page 12: Théorie de base de données.pdf

dépendance fonctionnelle élémentaire (DFE) :(DFE) :

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

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

Page 13: Théorie de base de données.pdf

Dépendance multivaluée (DM)

On dit qu’il y a une dépendance multivaluée de X vers Y, si toute n-upletde X détermine plus d’un n-uplet de Y on le note : X Yde X détermine plus d un n uplet de Y. on le note : X Y

Comme illustration, supposons une situation où un employé d’un garage est qualifié pour effectuer un certain type d’intervention sur certaines

d i C i i déli é l hémarques de voiture. Cette situation est modélisée par le schéma relationnel suivant :

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

Supposons maintenant qu’un employé qui effectue un ensemble de types d’interventions pour un ensemble de marques de voiture, est capable d’effectuer chacun de ces types d’interventions sur chacune de ces

d it D il i t d dé dmarques de voitures. Dans ce cas, il existe des dépendances multivaluées dans la relation Intervenir : Nom-Employé Type-Intervetion et Nom-Employé Marque.

Page 14: Théorie de base de données.pdf

Forme normale

Dans une base de données relationnelle, une forme normale désigne unDans une base de données relationnelle, une forme normale désigne un type de relation particulier entre les entités.

Le but essentiel de la normalisation est d'éviter les anomalies t ti ll t dé l d' i déli ti dtransactionnelles pouvant découler d'une mauvaise modélisation des données et ainsi éviter un certain nombre de problèmes potentiels tels que les anomalies de lecture, les anomalies d'écriture, la redondance des données et la contre performancedonnées et la contre performance.

La normalisation des modèles de données permet de vérifier la robustesse de leur conception pour améliorer la modélisation (et donc (obtenir une meilleure représentation) et faciliter la mémorisation des données en évitant la redondance et les problèmes sous-jacents de mise à jour ou de cohérence. La normalisation s’applique à toutes les entités et aux relations porteuses de propriétés.

Les formes normales s'emboitent les unes dans les autres, tant et si bien que le respect d'une forme normale de niveau supérieur implique leque le respect d une forme normale de niveau supérieur implique le respect des formes normales des niveaux inférieurs.

Page 15: Théorie de base de données.pdf

1FN - première forme normale :

Relation dont tous les attributs :contiennent une valeur atomique (les valeurs ne peuvent pas être divisées en q ( p pplusieurs sous-valeurs dépendant également individuellement de la clé primaire)contiennent des valeurs non répétitives (le cas contraire consiste à mettre une li t d l tt ib t)liste dans un seul attribut).sont constants dans le temps (utiliser par exemple la date de naissance plutôt que l'âge).Le non respect de deux premières conditions de la 1FN rend la rechercheLe non respect de deux premières conditions de la 1FN rend la recherche parmi les données plus lente parce qu'il faut analyser le contenu des attributs. La troisième condition quant à elle évite qu'on doive régulièrement mettre à jour les données.j

Dans ce cas les valeurs du fournisseur sont multivaluées et ne sont pas atomiques. Pour que cette relation soit en première forme normale, il faut décomposer les attributs de la colonne fournisseur comme suit :déco pose es a bu s de a co o e ou sseu co e su

Page 16: Théorie de base de données.pdf

2FN - deuxième forme normale

la relation respectant la première forme normale et d tdont :

Tout attribut ne composant pas un identifiant dépend de tout l’ identifiantdépend de tout l’ identifiant.Le non respect de la 2FN entraine une redondance des données qui encombrent alors inutilement lades données qui encombrent alors inutilement la mémoire et l'espace disque.chaque attribut qui n'appartient pas à la cléchaque attribut qui n appartient pas à la clé (l'ensemble des attributs permettant d'identifier de manière unique un tuple de l'entité) ne dépend pas uniquement d'une partie de la clé

Autrement dit, toute dépendance Clé A est élémentaire (si A n’appartient pas á une clé).

Page 17: Théorie de base de données.pdf

Admettons que la clé de cette table soit une clé composite (produit - fournisseur). Dans le cas d'un changement d'adresse d'un ) gfournisseur, il faudra faire preuve de beaucoup d'attention pour n'oublier aucun endroit où l'adresse est mentionnée. En effet, on constate que le champ adresse ne dépend que d'une partie de laconstate que le champ adresse ne dépend que 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:table en deux:

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

Page 18: Théorie de base de données.pdf

3FN - troisième forme normale

la relation respectant la seconde forme normale et dont :Tout attribut ne composant pas un identifiant dépend directement d'un p p pidentifiant.Le non respect de la 3FN peut également entrainer une redondance des données.les attributs qui ne font pas partie de la clé ne dépendent pas d'attributs ne faisant pas non plus partie de la clé (les attributs sont donc complètement indépendants les uns des autres).

Le pays de l'adresse n'est pas dépendant de la clé de la table, à savoir le nom du fournisseur, mais est fonction de la ville de l'adresse. De nouveau, il est préférable de scinder la table en deux:préférable de scinder la table en deux:

Page 19: Théorie de base de données.pdf

FNBC - forme normale de Boyce - Codd

la relation respectant la troisième forme normale et dont :la relation respectant la troisième forme normale et dont :tous les attributs non-clé ne sont pas source de dépendance fonctionnelle (DF) vers une partie de la cléLe non respect de la 2FN, 3FN et la FNBC entraîne de la redondance. Une même information étant répétée un nombre considérable de fois.R est en forme normale de Boyce-Codd si toute dépendance fonctionnelle élémentaire à la forme Clé A.A t t dit t t dé d X A il f t X itAutrement dit, pour toute dépendance X A il faut que X soit une clé (ou contienne une clé)

Page 20: Théorie de base de données.pdf

4FN - quatrième forme normale

Une relation est en quatrième forme normaleUne relation est en quatrième forme normale (4FN) si, et seulement si, elle est en forme normale de BOYCE CODD et si elle nenormale de BOYCE-CODD et si elle ne possède pas de dépendance multivaluée

ou si, X Y étant la dépendance multivaluée, il existe une propriété A telle que X → A. p p q

Cette normalisation conduit parfois à dé l ti l ddécomposer une relation complexe en deux relations plus simples.

Page 21: Théorie de base de données.pdf

Les différentes formes normales

Pour se souvenir de l'ordre et des caractéristiques des trois iè f l il ffit d l l tpremières formes normales, il suffit de se rappeler le serment que

tous les témoins doivent prêter devant la justice : Je jure de dire la vérité, toute la vérité, rien d'autre que la vérité.Ce qui donne : 1FN = La clé. 2FN = Toute la clé. 3FN = Rien que la clé.La phrase originale étant : "The key, the whole key, nothing but p g y, y, gthe key" (Chris Date). Elle est empruntée à l'œuvre de Shakespeare.

Page 22: Théorie de base de données.pdf

Algèbre relationnelle

L´algèbre relationnelle est une théorie deL algèbre relationnelle est une théorie de mathématiques et d'informatique proche de la théorie des ensembles.

Selon cette théorie, les informations sont classées dans des relations : des matrices contenant undans des relations : des matrices contenant un ensemble de nuplets (un nuplet est un groupe de N valeurs). Des opérations permettent à partir d'une relation d'obtenir une autre relation ainsi que de combiner deux relations et obtenir une troisième relationrelation.

Page 23: Théorie de base de données.pdf

Il existe huit opérateurs d'algèbre relationnelle.

Sélection: à partir d'un ensemble A, obtenir un ensemble B dont les valeurs des nuplets correspondent à des critèresdont les valeurs des nuplets correspondent à des critères donnés.

Projection: à partir d'un ensemble A obtenir un ensemble BProjection: à partir d un ensemble 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 présents à la fois dans A et dans B. voir aussi intersection (mathématiques)

Union: à partir des ensembles A et B, obtenir un ensemble C qui contient les nuplets présents dans A ou dans B. voir aussi union (mathématiques).

Page 24: Théorie de base de données.pdf

Différence: à partir des ensembles A et B, obtenir un ensemble C quiDifférence: à partir des ensembles A et B, obtenir un ensemble C qui contient les nuplets présents dans A mais pas dans B. voir aussi différence.

P d it C té i à ti d bl A t B bt i bl CProduit Cartésien: à partir des ensembles A et B, obtenir un ensemble C qui contient des nuplets qui sont toutes les combinaisons possibles des nuplets de A avec les nuplets de B. voir aussi produit cartésien.

Jointure: à partir des ensembles A et B, obtenir un ensemble C qui est le produit cartésien 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 cartésienne: à partir des ensembles A et B, obtenir un ensemble C où la combinaison de chaque nuplet de B avec chaque nuplet de CC, où la combinaison de chaque nuplet de B avec chaque nuplet de C (produit cartésien de B et C) existe dans A.

Page 25: Théorie de base de données.pdf

Sélection

Opération unaire essentielle

Signature : relation R × expression logique E → relation

Rôle : La sélection génère une relation regroupant exclusivement toutes les occurrences de la relation R qui satisfont l'expression logique E.

E d' t t l él ti t d h i i d li dEn d'autres termes, la sélection permet de choisir des lignes dans le tableau.

Le résultat de la sélection est une nouvelle relation qui a lesLe résultat de la sélection est une nouvelle relation qui a les mêmes attributs que R.

Si R est vide (c'est-à-dire ne contient aucune occurrence), laSi R est vide (c est à dire ne contient aucune occurrence), la relation qui résulte de la sélection est vide.

Notation : σER (σ est la lettre grecque sigma.)E ( g q g )

« » signifie « et », « » signifie « ou » et « ¬ » signifie « non ».

Page 26: Théorie de base de données.pdf

Sélection

Page 27: Théorie de base de données.pdf

Projection

Opération unaire essentielleOpération unaire essentielle

Signature : relation R × liste d'attributs A → relation

Rôl L j ti é è l ti t l i tRôle : La projection génère une relation regroupant exclusivement toutes les occurrences de la relation R réduites aux attributs de la liste d'attributs A.

En d'autres termes, la projection permet de choisir des colonnes dans le tableau.

Le résultat de la projection est une nouvelle relation dont les attributs sont ceux présents dans A.

Si R est vide, la relation qui résulte de la projection est vide.

Notation : πAR (π est la lettre grecque pi.)

Page 28: Théorie de base de données.pdf

Projection

Page 29: Théorie de base de données.pdf

Complément

Signature : relation R → relationSignature : relation R relation

Rôle : Le complément génère une relation regroupant exclusivement toutes les occurrences possibles créées à partir des valeurs d'attributs

é t d l l ti R à l' ti d d Rprésentes dans la relation R, à l'exception des occurrences de R.

En d'autres termes, le complément permet de générer toutes les occurrences qui n'existent pas dans R. Cependant, comme l'ensemble q p p ,des valeurs possibles pour chaque attribut est généralement inconnu ou infini, seules les valeurs déjà présentes dans un attribut de R sont utilisées, dans cet attribut, pour créer de nouvelles occurrences.

Le résultat du complément est une nouvelle relation qui a les mêmes attributs que R.

Si R est vide, la relation qui résulte du complément est vide.

Notation : -R

Une propriété remarquable (non exhaustif) : --R est identique à R.

Page 30: Théorie de base de données.pdf

Complément

Page 31: Théorie de base de données.pdf

Union

Opération binaire ensembliste commutative

Signature : relation R1 × relation R2 → relation

Rôle : L'union génère une relation regroupant exclusivement toutes les occurrences de la relation R1 et toutes les occurrences de la relation R2.

Si une même occurrence existe dans R1 et dans R2, elle n'apparaît qu'une seule fois dans le résultat de l'union.

Contrainte : R1 et R2 doivent avoir les mêmes attributs.

Le résultat de l'union est une nouvelle relation qui a les mêmes attributs que R1 et R2.

Si R1 et R2 sont vides, la relation qui résulte de l'union est vide. Si R1 (respectivement R2) est vide, la relation qui résulte de l'union est identique à R2 (respectivement R1).

Notation : R1 R2

Quelques propriétés remarquables (non exhaustif) : R R est identique à R.R -R est la relation regroupant exclusivement toutes les occurrences possibles créées à partir des valeurs d'attributs présentes dans la relation R.

Page 32: Théorie de base de données.pdf

Union

Page 33: Théorie de base de données.pdf

Intersection

Opération binaire ensembliste commutativep

Signature : relation R1 × relation R2 → relation

Rôle : L'intersection génère une relation regroupant exclusivement toutes les g g poccurrences qui existent à la fois dans la relation R1 et dans la relation R2.

Contrainte : R1 et R2 doivent avoir les mêmes attributs.

Le résultat de l'intersection est une nouvelle relation qui a les mêmes attributs que R1 et R2.

Si R1 ou R2 ou les deux sont vides, la relation qui résulte de l'intersection estSi R1 ou R2 ou les deux sont vides, la relation qui résulte de l intersection est vide.

Notation : R1 ∩ R2

Quelques propriétés remarquables (non exhaustif) : R ∩ R est identique à R.R ∩ -R est vide.R ∩ R est vide.R1 ∩ (R1 R2) est identique à R1.R1 (R1 ∩ R2) est identique à R1.

Page 34: Théorie de base de données.pdf

Intersection

Page 35: Théorie de base de données.pdf

Différence

Opération binaire ensembliste non commutativeOpération binaire ensembliste non commutative

Signature : relation R1 × relation R2 → relation

Rôle : La différence génère une relation regroupant exclusivement toutesRôle : La différence génère 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 mêmes attributs.

Le résultat de la différence est une nouvelle relation qui a les mêmes attributs que R1 et R2.

Si R1 est vide, la relation qui résulte de la différence est vide. Si R2 est vide, la relation qui résulte de la différence est identique à R1.

Notation : R1 - R2Notation : R1 R2

Quelques propriétés remarquables (non exhaustif) : R - R est vide.R - -R est identique à R.

Page 36: Théorie de base de données.pdf

Différence

Page 37: Théorie de base de données.pdf

Division

Opération binaire non commutativeOpération binaire non commutative

Signature : relation R1 × relation R2 → relation

Rôl L di i i é è l ti t l i tRôle : La division génère une relation regroupant exclusivement toutes les parties d'occurrence de la relation R1 qui sont associées à toutes les occurrences de la relation R2.

Contraintes : R2 ne peut pas être vide. Tous les attributs de R2 doivent être présents dans R1. R1 doit posséder au moins un tt ib t d l R2attribut de plus que R2.

Le résultat de la division est une nouvelle relation qui a tous les attributs de R1 sans aucun de ceux de R2attributs de R1 sans aucun de ceux de R2.

Si R1 est vide, la relation qui résulte de la division est vide.

Notation : R1 ÷ R2

Page 38: Théorie de base de données.pdf

Division

Page 39: Théorie de base de données.pdf

Produit cartésien

Opération binaire commutativeOpération binaire commutative

Signature : relation R1 × relation R2 → relation

Rôle : Le produit cartésien génère une relation regroupant exclusivementRôle : Le produit cartésien génère une relation regroupant exclusivement toutes les possibilités de combinaison des occurrences des relations R1 et R2.

C t i t R1 t R2 d i t i tt ib tContrainte : R1 et R2 ne doivent avoir aucun attribut commun.

Le résultat du produit cartésien est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2.attributs de R1 et tous ceux de R2.

Si R1 ou R2 ou les deux sont vides, la relation qui résulte du produit cartésien est vide.

Le nombre d'occurrences de la relation qui résulte du produit cartésien est le nombre d'occurrences de R1 multiplié par le nombre d'occurrences de R2.

Notation : R1 × R2

Page 40: Théorie de base de données.pdf

Produit cartésien

Page 41: Théorie de base de données.pdf

Thêta-produit

Opération binaire commutativep

Signature : relation R1 × relation R2 × expression logique E → relation

Rôle : Le thêta-produit génère une relation regroupant exclusivement toutes p g g ples possibilités 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 E doit êtreContrainte : R1 et R2 ne doivent avoir aucun attribut commun. E doit être une comparaison (=, ≠, <, >, ≤ ou ≥) entre un attribut de R1 et un attribut de R2.

Le rés ltat d thêta prod it est ne no elle relation q i a to s les attrib ts deLe résultat du thêta-produit 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 résulte du thêta-produit est vide.

Notation : R1 θE R2 (θ est la lettre grecque thêta.)

Une propriété remarquable (non exhaustif) : R1 θE R2 est identique à σE(R1 × R2).

Page 42: Théorie de base de données.pdf

Thêta-produit

Page 43: Théorie de base de données.pdf

Jointure

Opération binaire commutative essentielle, également appelée jointure naturelle

Si t l ti R1 l ti R2 tt ib t A l ti l ti R1Signature : relation R1 × relation R2 × attribut A → relation ou relation R1 ×relation R2 × attribut A1 × attribut A2 → relation

Rôle : La jointure génère une relation regroupant exclusivement toutes les possibilités 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 réalisée la jointure (A).

Le résultat 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 indifférent 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 résulte de la jointure est vide.

Notation : R1 A R2 si A est l'attribut commun ou R1 A1,A2 R2

Une propriété remarquable (non exhaustif) : R1 A1,A2 R2 est identique à R1 θA1=A2 R2 suivi du retrait de A2 par projection.

Page 44: Théorie de base de données.pdf
Page 45: Théorie de base de données.pdf

Jointure extérieure

Opération binaire commutative

Signature : relation R1 × relation R2 × attribut A → relation ou relation R1 ×grelation R2 × attribut A1 × attribut A2 → relation

Rôle : La jointure extérieure génère une relation regroupant exclusivement toutes les possibilités de combinaison des occurrences des relations R1 et R2 pourles possibilités 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 associées sont également ajoutées et complétées par le vide (noté ). L'attribut A (ou A2) de la

l ti R2 t it éli i é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 réalisée la jointure extérieure (A).

Le résultat de la jointure extérieure est une nouvelle relation qui a tous les attributs de R1 et tous ceux de R2 sauf A (ou A2).

Il est en fait indifférent d'éliminer l'attribut A (ou A1) de la relation R1 ou l'attribut AIl est en fait indifférent 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 résulte de la jointure extérieure est vide.

Notation : R1 A R2 si A est l'attribut commun ou R1 A1,A2 R2

Page 46: Théorie de base de données.pdf

Jointure extérieure

Page 47: Théorie de base de données.pdf

Semi-jointure

Opération 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

Rôle : La semi-jointure génère une relation regroupant exclusivement toutes les possibilités de j g g p pcombinaison 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 semi-jointure gauche (respectivement droite), les occurrences de la relation R1 (respectivement R2) qui ne peuvent pas être associées sont également ajoutées et complétées par le vide (noté ). q p p g j p p ( )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 réalisée la semi-jointure (A).

Le résultat 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 indifférent 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 résulte de la semi-jointure est vide.

Notation pour la semi-jointure gauche : R1 A R2 si A est l'attribut commun ou R1 A1 A2 R2p j g A A1,A2

Notation pour la semi-jointure droite : R1 A R2 si A est l'attribut commun ou R1 A1,A2 R2

Page 48: Théorie de base de données.pdf

Semi-jointure

Page 49: Théorie de base de données.pdf

Un système de gestion de base de données

Un système de gestion de base de données (abr. SGBD, en anglaisUn système de gestion de base de données (abr. SGBD, en anglais DBMS) est un ensemble de logiciels qui sert à la manipulation des bases de données. Il sert à effectuer des opérations ordinaires telles que consulter, modifier, construire, organiser, transformer, copier, g psauvegarder ou restaurer des bases de données par application des opérations de l'algèbre relationnelle telles que la jointure, la sélection et la projection.

Ces SGBD résolvent sur demande (anglais query) des calculs utilisant des opérateurs d'algèbre relationnelle. SQL (sigle de Structured QueryLanguage) est le langage informatique le plus répandu utilisé pourLanguage) est le langage informatique le plus répandu utilisé pour formuler des calculs d'algèbre relationnelle[1].

Les SGBD relationnels peuvent être exploités à partir d'autres logiciels par l'intermédiaire d'interface de programmation telles que ODBC ou JDBC. Ces interfaces permettent d'envoyer des requêtes sous forme de phrases d'interrogation et récupérer le résultat.

Page 50: Théorie de base de données.pdf

Les SGBD relationnels sont également utilisés pour ajouter ouLes SGBD relationnels sont également utilisés pour ajouter ou supprimer du contenu dans la base de données, et vérifier que le nouveau contenu ne casse pas l'intégrité référentielle entre les clés ou crée de la redondanceclés, ou crée de la redondance.

un SGBD est dit relationnel lorsque les informations sont présentées selon le modèle relationnel. Un SGBD orienté objetprésentées selon le modèle relationnel. Un SGBD orienté objet présente les informations sous formes d'objets, et un SBGD objet-relationnel peut présenter les informations alternativement sous formes de relations ou d'objetsformes de relations ou d objets.

Les logiciels écrits en langage de programmation orientée objet utilisent parfois des composants logiciels de mapping objet-utilisent parfois des composants logiciels de mapping objetrelationnel pour présenter le contenu d'une base de données relationnelles sous forme d'objets.

Page 51: Théorie de base de données.pdf

Fonctionnalités

Contrôler la redondance d'informationsContrôler la redondance d informations La redondance d'informations pose différents problèmes (coût en temps, coût en volume et risque d'incohérence entre les différentes copies). Un des objectifs des bases de données est de contrôler cettecopies). Un des objectifs des bases de données est de contrôler cette redondance, voire de la supprimer, en offrant une gestion unifiée des informations complétée par différentes vues pour des classes d'utilisateurs différents.

Partage des données Une base de données doit permettre d'accéder la même information par plusieurs utilisateurs en même temps. Le SGBD doit inclure un mécanisme de contrôle de la concurrence basé sur des techniques de verrouillage des données (pour éviter par exemple qu'on puisse li i f ti ' t t i d tt à j )lire une information qu'on est en train de mettre à jour). Le partage des données se fait également par la notion de vue utilisateur, qui permet de définir pour chaque classe d'utilisateurs la

ti d l b d d é i l'i té ( t d l f iportion de la base de données qui l'intéresse (et dans la forme qui l'intéresse).

Page 52: Théorie de base de données.pdf

Gérer les autorisations d'accèsGérer les autorisations d accèsUne base de données étant multi-utilisateurs, se pose le problème de la confidentialité des données. Des droits doivent être gérés sur les données, droits de lecture, mise à jour, création, ... qui permettentles données, droits de lecture, mise à jour, création, ... qui permettent d'affiner la notion de vue utilisateur.

Offrir des interfaces d'accès multiplesUn SGBD doit offrir plusieurs interfaces d'accès, correspondant aux différents types d'utilisateurs pouvant s'adresser à lui. On trouve des interfaces orientées utilisateur final (langages de requêtes déclaratifs comme SQL avec mise en oeuvre graphique, interface de type formulaire, ...) ou bien orientées programmeurs d'applications (interface avec des langages de programmation classiques comme

l l' h SQL i é " b dd d SQL")par exemple l'approche SQL immergé ou "embedded SQL").

Page 53: Théorie de base de données.pdf

Représenter des relations complexes entre les donnéesp pUn SGBD doit permettre de représenter des données inter-reliées de manière complexe. Cette facilité s'exprime à travers le modèle de données sous-jacent au SGBD. Chaque modèle de données offre ses propres concepts pour

é l l i O i l dèl hié hi éreprésenter les relations. On peut citer les modèles hiérarchique, réseau (première génération de modèles), relationnel (génération actuelle), sémantiques (ou orientés vers la conception tel que Entité-Association, Z, ...) ou orienté-objet (la génération future ?).ou orienté objet (la génération future ?).

Vérifier les contraintes d'intégritéUn schéma de base de données se compose d'une description des données et de leurs relations ainsi que d'un ensemble de contraintes d'intégrité Uneet de leurs relations ainsi que d un ensemble de contraintes d intégrité. Une contrainte d'intégrité est une propriété de l'application à modéliser qui renforce la connaissance que l'on en a. On peut classifier les contraintes d'intégrité, en contraintes structurelles (un employé a un chef et un seul par exemple) et ( p y p p )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 codées dans les programmes d'application)(elles doivent être codées dans les programmes d application).

Page 54: Théorie de base de données.pdf

Assurer la sécurité et la reprise après panneAssurer la sécurité et la reprise après panneUne base de données est souvent vitale dans le fonctionnement d'une organisation, et il n'est pas tolérable qu'une panne puisse remettre en cause son fonctionnement de manière durable. Lesremettre en cause son fonctionnement de manière durable. Les SGBD fournissent des mécanismes pour assurer cette sécurité. Le premier mécanisme est celui de transaction qui permet d'assurer un comportement atomique à une séquence d'actions (elle s'effectue p q q (complètement avec succès ou elle est annulée). Une transaction est une séquence d'opérations qui fait passer la base de données d'un état cohérent à un nouvel état cohérent. L'exemple typique est celui ydu débit-crédit pour la gestion d'une carte bancaire. Ce mécanisme permet de s'affranchir des petites pannes (style coupure de courant). En ce qui concerne les risques liés aux pannes disques, les SGBD q q p q ,s'appuie sur un mécanisme de journalisation qui permet de regénérerune base de données automatiquement à partir d'une version de sauvegarde et du journal des mouvements.

Page 55: Théorie de base de données.pdf