modèle relationnel, bases de données
TRANSCRIPT
![Page 1: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/1.jpg)
Modele relationnel, bases de donnees
Ivan Noyer
Lycee Thiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 1 / 39
![Page 2: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/2.jpg)
1 Introduction
2 Le modele relationnel
3 Cles
4 Relations entre deux tables
5 Modele client-serveurArchitecture client-serveurArchitecture trois tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 2 / 39
![Page 3: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/3.jpg)
Introduction
1 Introduction
2 Le modele relationnel
3 Cles
4 Relations entre deux tables
5 Modele client-serveurArchitecture client-serveurArchitecture trois tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 3 / 39
![Page 4: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/4.jpg)
Introduction
E. F. Codd
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 4 / 39
![Page 5: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/5.jpg)
Introduction
Resume
Le Modele relationnel pour la gestion des Bases De Donnees (BDD)est un modele de BDD base sur la logique du premier ordre proposeet formule pour la 1ere fois par Edgar F. Codd (1969).
Dans une BDD relationnelle l’information est organisee dans destableaux a deux dimensions appelees relations ou tables.
Une BDD est donc un ensemble de tables. Les lignes sont appeleestuples, nuplets ou encore enregistrement.
Le modele relationnel fournit une methode declarative pour specifierdonnees (l’ensemble etudie) et requetes (questions permises sur cetensemble).
L’utilisateur decrit les informations que contient la BDD et quellesinformations il souhaite connaıtre et laisse le systeme de gestion deBDD (SGBD) gerer la description machine de la base et son stokageainsi que la maniere dont il retrouve l’information.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 5 / 39
![Page 6: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/6.jpg)
Introduction
Resume
Le Modele relationnel pour la gestion des Bases De Donnees (BDD)est un modele de BDD base sur la logique du premier ordre proposeet formule pour la 1ere fois par Edgar F. Codd (1969).
Dans une BDD relationnelle l’information est organisee dans destableaux a deux dimensions appelees relations ou tables.
Une BDD est donc un ensemble de tables. Les lignes sont appeleestuples, nuplets ou encore enregistrement.
Le modele relationnel fournit une methode declarative pour specifierdonnees (l’ensemble etudie) et requetes (questions permises sur cetensemble).
L’utilisateur decrit les informations que contient la BDD et quellesinformations il souhaite connaıtre et laisse le systeme de gestion deBDD (SGBD) gerer la description machine de la base et son stokageainsi que la maniere dont il retrouve l’information.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 5 / 39
![Page 7: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/7.jpg)
Introduction
Resume
Le Modele relationnel pour la gestion des Bases De Donnees (BDD)est un modele de BDD base sur la logique du premier ordre proposeet formule pour la 1ere fois par Edgar F. Codd (1969).
Dans une BDD relationnelle l’information est organisee dans destableaux a deux dimensions appelees relations ou tables.
Une BDD est donc un ensemble de tables. Les lignes sont appeleestuples, nuplets ou encore enregistrement.
Le modele relationnel fournit une methode declarative pour specifierdonnees (l’ensemble etudie) et requetes (questions permises sur cetensemble).
L’utilisateur decrit les informations que contient la BDD et quellesinformations il souhaite connaıtre et laisse le systeme de gestion deBDD (SGBD) gerer la description machine de la base et son stokageainsi que la maniere dont il retrouve l’information.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 5 / 39
![Page 8: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/8.jpg)
Introduction
Resume
Le Modele relationnel pour la gestion des Bases De Donnees (BDD)est un modele de BDD base sur la logique du premier ordre proposeet formule pour la 1ere fois par Edgar F. Codd (1969).
Dans une BDD relationnelle l’information est organisee dans destableaux a deux dimensions appelees relations ou tables.
Une BDD est donc un ensemble de tables. Les lignes sont appeleestuples, nuplets ou encore enregistrement.
Le modele relationnel fournit une methode declarative pour specifierdonnees (l’ensemble etudie) et requetes (questions permises sur cetensemble).
L’utilisateur decrit les informations que contient la BDD et quellesinformations il souhaite connaıtre et laisse le systeme de gestion deBDD (SGBD) gerer la description machine de la base et son stokageainsi que la maniere dont il retrouve l’information.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 5 / 39
![Page 9: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/9.jpg)
Introduction
Resume
Le Modele relationnel pour la gestion des Bases De Donnees (BDD)est un modele de BDD base sur la logique du premier ordre proposeet formule pour la 1ere fois par Edgar F. Codd (1969).
Dans une BDD relationnelle l’information est organisee dans destableaux a deux dimensions appelees relations ou tables.
Une BDD est donc un ensemble de tables. Les lignes sont appeleestuples, nuplets ou encore enregistrement.
Le modele relationnel fournit une methode declarative pour specifierdonnees (l’ensemble etudie) et requetes (questions permises sur cetensemble).
L’utilisateur decrit les informations que contient la BDD et quellesinformations il souhaite connaıtre et laisse le systeme de gestion deBDD (SGBD) gerer la description machine de la base et son stokageainsi que la maniere dont il retrouve l’information.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 5 / 39
![Page 10: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/10.jpg)
Le modele relationnel
1 Introduction
2 Le modele relationnel
3 Cles
4 Relations entre deux tables
5 Modele client-serveurArchitecture client-serveurArchitecture trois tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 6 / 39
![Page 11: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/11.jpg)
Le modele relationnel
Quelques considerations generales
Toutes les donnees sont representees comme des relations n−aires,des sous-ensembles de produits cartesiens de n ensembles.
Calculs sur les donnees : calcul relationnel ou algebre relationnelle.
Le concepteur de BDD relationnelle cree un modele logique coherent(sans contradiction).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 7 / 39
![Page 12: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/12.jpg)
Le modele relationnel
Quelques considerations generales
Toutes les donnees sont representees comme des relations n−aires,des sous-ensembles de produits cartesiens de n ensembles.
Calculs sur les donnees : calcul relationnel ou algebre relationnelle.
Le concepteur de BDD relationnelle cree un modele logique coherent(sans contradiction).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 7 / 39
![Page 13: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/13.jpg)
Le modele relationnel
Quelques considerations generales
Toutes les donnees sont representees comme des relations n−aires,des sous-ensembles de produits cartesiens de n ensembles.
Calculs sur les donnees : calcul relationnel ou algebre relationnelle.
Le concepteur de BDD relationnelle cree un modele logique coherent(sans contradiction).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 7 / 39
![Page 14: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/14.jpg)
Le modele relationnel
Attributs
Definition
On considere donne un ensemble infini A, dont les elements sont appelesdes attributs, un ensemble D, et une application dom de A dans lessous-ensembles de D.
Remarque
Si A ∈ A, l’element dom(A) de D est appele domaine de A.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 8 / 39
![Page 15: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/15.jpg)
Le modele relationnel
Attributs
Definition
On considere donne un ensemble infini A, dont les elements sont appelesdes attributs, un ensemble D, et une application dom de A dans lessous-ensembles de D.
Exemple
Soit le lycee Pierre Dupont contenant des CPGE. Les classes sont descouples (filiere,numero) comme (MPSI,1) ; (MPSI,2) ou (PCSI,1).
filiere est un attribut dont le domaine est l’ensemble fini dechaınes de caracteres {MPSI,PCSI,PC,PSI,MP,BCPST,HK}.numero est un attribut dont le domaine est l’ensemble N∗ ou mieux :un intervalle J0,mK ou m est le nombre maximum de classes de memeniveau dans le lycee.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 8 / 39
![Page 16: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/16.jpg)
Le modele relationnel
Schema relationnel
Definition
Un Schema relationnel est un tuple S = (A1,A2, . . .An) ∈ An ou les Ai
sont distincts deux a deux.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 9 / 39
![Page 17: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/17.jpg)
Le modele relationnel
Schema relationnel
Definition
Un Schema relationnel est un tuple S = (A1,A2, . . .An) ∈ An ou les Ai
sont distincts deux a deux.
Remarque
Souvent on ecrit le schema sous forme de tuples de couples (attribut,
domaine) comme S = ((A1, dom(A1)), . . . , (An, dom(An)))
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 9 / 39
![Page 18: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/18.jpg)
Le modele relationnel
Schema relationnel
Definition
Un Schema relationnel est un tuple S = (A1,A2, . . .An) ∈ An ou les Ai
sont distincts deux a deux.
Exemple
Schema des classes du lycee :
S = ((filiere, {MPSI,PCSI,...}), (numero,N∗))
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 9 / 39
![Page 19: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/19.jpg)
Le modele relationnel
Schema relationnel
Definition
Un Schema relationnel est un tuple S = (A1,A2, . . .An) ∈ An ou les Ai
sont distincts deux a deux.
Notation
On ecrit abusivement B ∈ S si B ∈ {A1, . . . ,An}.Si X = {B1, . . . ,Bm} est un ensemble d’attributs (distincts), on ecritabusivement X ⊂ S si tous les Bi sont dans {A1, . . . ,An}.On s’autorise aussi des notations de la forme :
(nom,ville) ⊂ (telephone,nom,ville,classe)
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 9 / 39
![Page 20: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/20.jpg)
Le modele relationnel
Table
Definition
On appelle relation ou table associee a un schema relationnel(A1,A2, . . . ,An) tout ensemble fini de tuples dedom(A1)× dom(A2)× . . . dom(An).
Notation
Les relations sont souvent notees sous la forme R(S) (pour indiquer que Rest associe au schema S).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 10 / 39
![Page 21: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/21.jpg)
Le modele relationnel
Table
Definition
On appelle relation ou table associee a un schema relationnel(A1,A2, . . . ,An) tout ensemble fini de tuples dedom(A1)× dom(A2)× . . . dom(An).
Exemple
Si la table classe est finie on peut la representer par un tableau :
classe(filiere,numero)=
Filiere Numero
MPSI 1PC 3
PCSI 2PCSI 1
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 10 / 39
![Page 22: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/22.jpg)
Le modele relationnel
Table
Definition
On appelle relation ou table associee a un schema relationnel(A1,A2, . . . ,An) tout ensemble fini de tuples dedom(A1)× dom(A2)× . . . dom(An).
Exemple
L’ordre des attributs et des tuples n’a pas d’importance. On a aussi :
classe(filiere,numero)=
Numero Filiere
3 PC1 PCSI1 MPSI2 PCSI
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 10 / 39
![Page 23: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/23.jpg)
Le modele relationnel
Representation des schemas relationnels
Notation
Nom du schema
Attribut 1 type 1
Attribut 2 type 2
Remarque
Deux relations distinctes peuvent avoir le meme schema.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 11 / 39
![Page 24: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/24.jpg)
Le modele relationnel
Representation des schemas relationnels
Notation
Nom du schema
Attribut 1 type 1
Attribut 2 type 2
Exemple
Le shema
eleve
Nom string
Annee de naissance int
possede les instances
Nom Annee de naissance
Hoareau 1996Grondin 1995
Nom Annee de naissance
Nativel 1998Hoareau 1996Grondin 1997
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 11 / 39
![Page 25: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/25.jpg)
Le modele relationnel
Multi-ensemble
Un multi-ensemble est une sorte d’ensemble dans lequel un meme elementpeut apparaıtre plusieurs fois comme dans {1, 2, 3, 2}.
Remarque
Notion a mi-chemin des ensembles et des listes.
On peut voir les multi-ensembles comme des listes quotientees par lespermutations, i.e. des listes commutatives.
Le multi-ensemble {1, 2, 2} est egal a {2, 1, 2}.Les relations du modele relationnel sont en fait des multi-ensembles.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 12 / 39
![Page 26: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/26.jpg)
Le modele relationnel
Multi-ensemble
Un multi-ensemble est une sorte d’ensemble dans lequel un meme elementpeut apparaıtre plusieurs fois comme dans {1, 2, 3, 2}.
Remarque
Notion a mi-chemin des ensembles et des listes.
On peut voir les multi-ensembles comme des listes quotientees par lespermutations, i.e. des listes commutatives.
Le multi-ensemble {1, 2, 2} est egal a {2, 1, 2}.Les relations du modele relationnel sont en fait des multi-ensembles.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 12 / 39
![Page 27: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/27.jpg)
Le modele relationnel
Multi-ensemble
Un multi-ensemble est une sorte d’ensemble dans lequel un meme elementpeut apparaıtre plusieurs fois comme dans {1, 2, 3, 2}.
Remarque
Notion a mi-chemin des ensembles et des listes.
On peut voir les multi-ensembles comme des listes quotientees par lespermutations, i.e. des listes commutatives.
Le multi-ensemble {1, 2, 2} est egal a {2, 1, 2}.
Les relations du modele relationnel sont en fait des multi-ensembles.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 12 / 39
![Page 28: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/28.jpg)
Le modele relationnel
Multi-ensemble
Un multi-ensemble est une sorte d’ensemble dans lequel un meme elementpeut apparaıtre plusieurs fois comme dans {1, 2, 3, 2}.
Remarque
Notion a mi-chemin des ensembles et des listes.
On peut voir les multi-ensembles comme des listes quotientees par lespermutations, i.e. des listes commutatives.
Le multi-ensemble {1, 2, 2} est egal a {2, 1, 2}.Les relations du modele relationnel sont en fait des multi-ensembles.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 12 / 39
![Page 29: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/29.jpg)
Le modele relationnel
Multi-ensemble
Un multi-ensemble est une sorte d’ensemble dans lequel un meme elementpeut apparaıtre plusieurs fois comme dans {1, 2, 3, 2}.
Remarque
Notion a mi-chemin des ensembles et des listes.
On peut voir les multi-ensembles comme des listes quotientees par lespermutations, i.e. des listes commutatives.
Le multi-ensemble {1, 2, 2} est egal a {2, 1, 2}.Les relations du modele relationnel sont en fait des multi-ensembles.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 12 / 39
![Page 30: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/30.jpg)
Cles uniques
1 Introduction
2 Le modele relationnel
3 Cles
4 Relations entre deux tables
5 Modele client-serveurArchitecture client-serveurArchitecture trois tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 13 / 39
![Page 31: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/31.jpg)
Cles uniques
Notation objet
Notation
Soit R(S) une relation de schema S , e ∈ R(S) un tuple de la relation etA ∈ S . On note e.A la composante du tuple e associee a l’attribut A.Si K ⊂ S , on note e.K ou encore e(K ) le sous-tuple de e constitue descomposantes associees aux elements de K . Il s’agit de la projection de esur les attributs de K .
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 14 / 39
![Page 32: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/32.jpg)
Cles uniques
Notation objet
Notation
Soit R(S) une relation de schema S , e ∈ R(S) un tuple de la relation etA ∈ S . On note e.A la composante du tuple e associee a l’attribut A.Si K ⊂ S , on note e.K ou encore e(K ) le sous-tuple de e constitue descomposantes associees aux elements de K . Il s’agit de la projection de esur les attributs de K .
Exemple
classe(filiere,numero,Salle)=
Filiere Numero Salle
MPSI 1 B.10MPSI 2 C.34PCSI 2 B.1PCSI 1 C.20
Si e = (PCSI, 2,B.1), alors e.Numero = 2 et e.(Numero, Salle) = (2,B.1).On dit que e.A est la projection de e sur l’attribut A. e.(A1, . . . ,An) est laprojection de e sur A1 × · · · × An.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 14 / 39
![Page 33: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/33.jpg)
Cles uniques
Cle unique
Definition
Soit R(S) une relation de schema S . On dit que K ⊂ S est une cle uniquepour R si et seulement si
∀(t1, t2) ∈ R2, t1.K = t2.K ⇐⇒ t1 = t2.
Remarque
La connaissance des attributs dans K suffit a distinguer deuxelements.
K est une cle unique si et seulement si la projection sur K estinjective.
Lorsqu’il y a une cle unique, la table ne contient pas de doublon delignes.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 15 / 39
![Page 34: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/34.jpg)
Cles uniques
Cle unique
Definition
Soit R(S) une relation de schema S . On dit que K ⊂ S est une cle uniquepour R si et seulement si
∀(t1, t2) ∈ R2, t1.K = t2.K ⇐⇒ t1 = t2.
Remarque
La connaissance des attributs dans K suffit a distinguer deuxelements.
K est une cle unique si et seulement si la projection sur K estinjective.
Lorsqu’il y a une cle unique, la table ne contient pas de doublon delignes.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 15 / 39
![Page 35: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/35.jpg)
Cles uniques
Cle unique
Definition
Soit R(S) une relation de schema S . On dit que K ⊂ S est une cle uniquepour R si et seulement si
∀(t1, t2) ∈ R2, t1.K = t2.K ⇐⇒ t1 = t2.
Remarque
La connaissance des attributs dans K suffit a distinguer deuxelements.
K est une cle unique si et seulement si la projection sur K estinjective.
Lorsqu’il y a une cle unique, la table ne contient pas de doublon delignes.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 15 / 39
![Page 36: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/36.jpg)
Cles uniques
Cle unique
Definition
Soit R(S) une relation de schema S . On dit que K ⊂ S est une cle uniquepour R si et seulement si
∀(t1, t2) ∈ R2, t1.K = t2.K ⇐⇒ t1 = t2.
Exemple
eleve(Nom,Prenom,Annee de naissance)=Nom Prenom Annee de naissance
Hoareau Patrice 1996Hoareau Patrice 1995Dupont Marie 1997Grondin Patrice 1996
Dans cette relation
(Nom,Prenom) n’est pas une cle unique, ni (Prenom,Annee) mais(Nom,Annee) est une cle unique.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 15 / 39
![Page 37: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/37.jpg)
Cles uniques
Cle unique
Soit R(S) une relation de schema S .
Souvent, on cherche a limiter la cle unique a un seul attribut.
Le terme cle unique est trompeur : il peut y en avoir plusieurs !Exemple : une table Etudiant(id,nom, prenom,num. de secu)
ou id est le numero d’etudiant.
Une cle unique peut porter sur plusieurs attributs : il peut tres bien nepas y avoir de cle a un seul element.
Et d’ailleurs, il est possible qu’il n’y ait pas de cle unique (si la tablepossede des doublons de lignes).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 16 / 39
![Page 38: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/38.jpg)
Cles uniques
Cle unique
Soit R(S) une relation de schema S .
Souvent, on cherche a limiter la cle unique a un seul attribut.
Le terme cle unique est trompeur : il peut y en avoir plusieurs !Exemple : une table Etudiant(id,nom, prenom,num. de secu)
ou id est le numero d’etudiant.
Une cle unique peut porter sur plusieurs attributs : il peut tres bien nepas y avoir de cle a un seul element.
Et d’ailleurs, il est possible qu’il n’y ait pas de cle unique (si la tablepossede des doublons de lignes).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 16 / 39
![Page 39: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/39.jpg)
Cles uniques
Cle unique
Soit R(S) une relation de schema S .
Souvent, on cherche a limiter la cle unique a un seul attribut.
Le terme cle unique est trompeur : il peut y en avoir plusieurs !Exemple : une table Etudiant(id,nom, prenom,num. de secu)
ou id est le numero d’etudiant.
Une cle unique peut porter sur plusieurs attributs : il peut tres bien nepas y avoir de cle a un seul element.
Et d’ailleurs, il est possible qu’il n’y ait pas de cle unique (si la tablepossede des doublons de lignes).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 16 / 39
![Page 40: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/40.jpg)
Cles uniques
Cle unique
Soit R(S) une relation de schema S .
Souvent, on cherche a limiter la cle unique a un seul attribut.
Le terme cle unique est trompeur : il peut y en avoir plusieurs !Exemple : une table Etudiant(id,nom, prenom,num. de secu)
ou id est le numero d’etudiant.
Une cle unique peut porter sur plusieurs attributs : il peut tres bien nepas y avoir de cle a un seul element.
Et d’ailleurs, il est possible qu’il n’y ait pas de cle unique (si la tablepossede des doublons de lignes).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 16 / 39
![Page 41: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/41.jpg)
Cles uniques
Cle primaire
Definition
Une cle primaire est une cle unique associee a un index
Remarque
On peut voir l’index comme une table des matieres facilitant un accesrapide aux enregistrement d’une table ayant une cle primaire.
En particulier, la complexite des jointures est grandement diminueepar l’usage d’une cle primaire ; les valeurs possibles etant triees dansl’index.
Il peut y avoir plusieurs cles unique par table mais une seule cleprimaire.
Une cle unique peut prendre la valeur NULL (case vide, equivalentPython de None) pas la cle primaire.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 17 / 39
![Page 42: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/42.jpg)
Cles uniques
Cle primaire
Definition
Une cle primaire est une cle unique associee a un index
Remarque
On peut voir l’index comme une table des matieres facilitant un accesrapide aux enregistrement d’une table ayant une cle primaire.
En particulier, la complexite des jointures est grandement diminueepar l’usage d’une cle primaire ; les valeurs possibles etant triees dansl’index.
Il peut y avoir plusieurs cles unique par table mais une seule cleprimaire.
Une cle unique peut prendre la valeur NULL (case vide, equivalentPython de None) pas la cle primaire.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 17 / 39
![Page 43: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/43.jpg)
Cles uniques
Cle primaire
Definition
Une cle primaire est une cle unique associee a un index
Remarque
On peut voir l’index comme une table des matieres facilitant un accesrapide aux enregistrement d’une table ayant une cle primaire.
En particulier, la complexite des jointures est grandement diminueepar l’usage d’une cle primaire ; les valeurs possibles etant triees dansl’index.
Il peut y avoir plusieurs cles unique par table mais une seule cleprimaire.
Une cle unique peut prendre la valeur NULL (case vide, equivalentPython de None) pas la cle primaire.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 17 / 39
![Page 44: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/44.jpg)
Cles uniques
Cle primaire
Definition
Une cle primaire est une cle unique associee a un index
Remarque
On peut voir l’index comme une table des matieres facilitant un accesrapide aux enregistrement d’une table ayant une cle primaire.
En particulier, la complexite des jointures est grandement diminueepar l’usage d’une cle primaire ; les valeurs possibles etant triees dansl’index.
Il peut y avoir plusieurs cles unique par table mais une seule cleprimaire.
Une cle unique peut prendre la valeur NULL (case vide, equivalentPython de None) pas la cle primaire.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 17 / 39
![Page 45: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/45.jpg)
Cles uniques
Cle primaire
On indique par un symbole dans le schema qu’une cle estunique/primaire.
Nous signalons les cles uniques en les soulignant. SousPHPMYADMIN, les cles primaires sont representees par des clesjaunes, les cles uniques par une cle grise.
eleve
Nom string
Numero SS int
Un mot cle PRIMARY indique, au moment de la creation de la tabledans la plupart des SGBD, qu’une cle est primaire.
Si un tuple deja defini possede une valeur v pour la cle primaire de latable T, alors le SGBD devrait empecher l’ajout de tout nouveau tuplea T possedant la valeur v pour la cle.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 18 / 39
![Page 46: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/46.jpg)
Cles uniques
Cle primaire
On indique par un symbole dans le schema qu’une cle estunique/primaire.
Nous signalons les cles uniques en les soulignant. SousPHPMYADMIN, les cles primaires sont representees par des clesjaunes, les cles uniques par une cle grise.
eleve
Nom string
Numero SS int
Un mot cle PRIMARY indique, au moment de la creation de la tabledans la plupart des SGBD, qu’une cle est primaire.
Si un tuple deja defini possede une valeur v pour la cle primaire de latable T, alors le SGBD devrait empecher l’ajout de tout nouveau tuplea T possedant la valeur v pour la cle.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 18 / 39
![Page 47: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/47.jpg)
Cles uniques
Cle primaire
On indique par un symbole dans le schema qu’une cle estunique/primaire.
Nous signalons les cles uniques en les soulignant. SousPHPMYADMIN, les cles primaires sont representees par des clesjaunes, les cles uniques par une cle grise.
eleve
Nom string
Numero SS int
Un mot cle PRIMARY indique, au moment de la creation de la tabledans la plupart des SGBD, qu’une cle est primaire.
Si un tuple deja defini possede une valeur v pour la cle primaire de latable T, alors le SGBD devrait empecher l’ajout de tout nouveau tuplea T possedant la valeur v pour la cle.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 18 / 39
![Page 48: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/48.jpg)
Cles uniques
Cle primaire
On indique par un symbole dans le schema qu’une cle estunique/primaire.
Nous signalons les cles uniques en les soulignant. SousPHPMYADMIN, les cles primaires sont representees par des clesjaunes, les cles uniques par une cle grise.
eleve
Nom string
Numero SS int
Un mot cle PRIMARY indique, au moment de la creation de la tabledans la plupart des SGBD, qu’une cle est primaire.
Si un tuple deja defini possede une valeur v pour la cle primaire de latable T, alors le SGBD devrait empecher l’ajout de tout nouveau tuplea T possedant la valeur v pour la cle.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 18 / 39
![Page 49: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/49.jpg)
Relations entre deux tables
1 Introduction
2 Le modele relationnel
3 Cles
4 Relations entre deux tables
5 Modele client-serveurArchitecture client-serveurArchitecture trois tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 19 / 39
![Page 50: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/50.jpg)
Relations entre deux tables
Deux schemas
Soit une BDD modelisant une bibliotheque simplifiee avec deux tables
dont les schemas sont :
livre
titre string
auteur string
annee de publication int
et
emprunteur
Nom string
Livre emprunte string
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 20 / 39
![Page 51: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/51.jpg)
Relations entre deux tables
Deux tables
Une table bibliotheque instanciant livre :titre auteur Publication
Harry Potter J.K. Rowling 1997Pensees Pascal 1670
Marseille coquin Anonyme 2016
Une table Clients instanciant emprunteurNom Livre emprunte
Hoareau Harry PotterGrondin Marseille coquin
Dupont Maths MP
On en conclut que Hoareau a emprunte � Harry Potter � et queGrondin est un petit coquin !
Dupont emprunte un ouvrage qui n’existe pas dans la bibliotheque,ce qui concerne davantage l’administrateur de BDD que la vie priveede Grondin.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 21 / 39
![Page 52: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/52.jpg)
Relations entre deux tables
Deux tables
Une table bibliotheque instanciant livre :titre auteur Publication
Harry Potter J.K. Rowling 1997Pensees Pascal 1670
Marseille coquin Anonyme 2016
Une table Clients instanciant emprunteurNom Livre emprunte
Hoareau Harry PotterGrondin Marseille coquin
Dupont Maths MP
On en conclut que Hoareau a emprunte � Harry Potter � et queGrondin est un petit coquin !
Dupont emprunte un ouvrage qui n’existe pas dans la bibliotheque,ce qui concerne davantage l’administrateur de BDD que la vie priveede Grondin.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 21 / 39
![Page 53: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/53.jpg)
Relations entre deux tables
Deux tables
Une table bibliotheque instanciant livre :titre auteur Publication
Harry Potter J.K. Rowling 1997Pensees Pascal 1670
Marseille coquin Anonyme 2016
Une table Clients instanciant emprunteurNom Livre emprunte
Hoareau Harry PotterGrondin Marseille coquin
Dupont Maths MP
On en conclut que Hoareau a emprunte � Harry Potter � et queGrondin est un petit coquin !
Dupont emprunte un ouvrage qui n’existe pas dans la bibliotheque,ce qui concerne davantage l’administrateur de BDD que la vie priveede Grondin.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 21 / 39
![Page 54: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/54.jpg)
Relations entre deux tables
Deux tables
Une table bibliotheque instanciant livre :titre auteur Publication
Harry Potter J.K. Rowling 1997Pensees Pascal 1670
Marseille coquin Anonyme 2016
Une table Clients instanciant emprunteurNom Livre emprunte
Hoareau Harry PotterGrondin Marseille coquin
Dupont Maths MP
On en conclut que Hoareau a emprunte � Harry Potter � et queGrondin est un petit coquin !
Dupont emprunte un ouvrage qui n’existe pas dans la bibliotheque,ce qui concerne davantage l’administrateur de BDD que la vie priveede Grondin.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 21 / 39
![Page 55: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/55.jpg)
Relations entre deux tables
Cle etrangere
Definition
Une cle etrangere (representee dans ce cours par un #) est un attribut quiest la cle primaire d’une autre relation. Elle permet d’etablir le lien entreplusieurs relations. Elle met en evidence les dependances fonctionnellesentre 2 tables.
Remarque
En SQL, on declare une cle etrangere avec la syntaxe FOREIGN KEY.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 22 / 39
![Page 56: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/56.jpg)
Relations entre deux tables
Cle etrangere
On peut representer les liens entre deux relations dans un diagrammepar une fleche depuis l’attribut vers la cle primaire.
Si on impose que le domaine de livre emprunte est constitueexactement des livres apparaissant dans la relation bibliotheque, leschema de emprunteur devient
Shema referencant Schema reference
emprunteurNom string
Livre emprunte# titre
→
livretitre string
auteur string
annee de publication int
L’emprunteur (Dupont,Maths MP) ne peut plus etre un element deClient car Maths MP n’est pas dans le domaine de � titre �.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 23 / 39
![Page 57: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/57.jpg)
Relations entre deux tables
Cle etrangere
On peut representer les liens entre deux relations dans un diagrammepar une fleche depuis l’attribut vers la cle primaire.
Si on impose que le domaine de livre emprunte est constitueexactement des livres apparaissant dans la relation bibliotheque, leschema de emprunteur devient
Shema referencant Schema reference
emprunteurNom string
Livre emprunte# titre
→
livretitre string
auteur string
annee de publication int
L’emprunteur (Dupont,Maths MP) ne peut plus etre un element deClient car Maths MP n’est pas dans le domaine de � titre �.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 23 / 39
![Page 58: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/58.jpg)
Relations entre deux tables
Cle etrangere
On peut representer les liens entre deux relations dans un diagrammepar une fleche depuis l’attribut vers la cle primaire.
Si on impose que le domaine de livre emprunte est constitueexactement des livres apparaissant dans la relation bibliotheque, leschema de emprunteur devient
Shema referencant Schema reference
emprunteurNom string
Livre emprunte# titre
→
livretitre string
auteur string
annee de publication int
L’emprunteur (Dupont,Maths MP) ne peut plus etre un element deClient car Maths MP n’est pas dans le domaine de � titre �.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 23 / 39
![Page 59: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/59.jpg)
Relations entre deux tables
La contrainte de cle etrangere est geree par la plupart des SGBD :Oracle, Microsoft SQL Server, PostgreSQL, etc.Sur MySQL , il faut utiliser le moteur InnoDB pour obtenir cettefonctionnalite. Actuellement le moteur MyISAM, souvent propose pardefaut, ne gere pas les cles etrangeres.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 24 / 39
![Page 60: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/60.jpg)
Modele client-serveur
1 Introduction
2 Le modele relationnel
3 Cles
4 Relations entre deux tables
5 Modele client-serveurArchitecture client-serveurArchitecture trois tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 25 / 39
![Page 61: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/61.jpg)
Modele client-serveur Architecture client-serveur
1 Introduction
2 Le modele relationnel
3 Cles
4 Relations entre deux tables
5 Modele client-serveurArchitecture client-serveurArchitecture trois tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 26 / 39
![Page 62: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/62.jpg)
Modele client-serveur Architecture client-serveur
Mode de communication
Environnement client-serveur : mode de communication a travers unreseau entre plusieurs programmes ou logiciels
1 le premier, le client, envoie des requetes ;2 l’autre ou les autres, les serveurs, attendent les requetes des clients et y
repondent.
Par extension, le client designe egalement l’ordinateur sur lequel estexecute le logiciel client, et le serveur, l’ordinateur sur lequel estexecute le logiciel serveur.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 27 / 39
![Page 63: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/63.jpg)
Modele client-serveur Architecture client-serveur
Mode de communication
Environnement client-serveur : mode de communication a travers unreseau entre plusieurs programmes ou logiciels
1 le premier, le client, envoie des requetes ;
2 l’autre ou les autres, les serveurs, attendent les requetes des clients et yrepondent.
Par extension, le client designe egalement l’ordinateur sur lequel estexecute le logiciel client, et le serveur, l’ordinateur sur lequel estexecute le logiciel serveur.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 27 / 39
![Page 64: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/64.jpg)
Modele client-serveur Architecture client-serveur
Mode de communication
Environnement client-serveur : mode de communication a travers unreseau entre plusieurs programmes ou logiciels
1 le premier, le client, envoie des requetes ;2 l’autre ou les autres, les serveurs, attendent les requetes des clients et y
repondent.
Par extension, le client designe egalement l’ordinateur sur lequel estexecute le logiciel client, et le serveur, l’ordinateur sur lequel estexecute le logiciel serveur.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 27 / 39
![Page 65: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/65.jpg)
Modele client-serveur Architecture client-serveur
Vocabulaire
Serveurs : souvent des ordinateurs dedies au logiciel serveur qu’ilsabritent (ex : serveur Web, serveur de bases de donnees, d’impression...). Ils sont dotes de capacites superieures a celles des ordinateurspersonnels en termes de puissance de calcul, d’entrees-sorties et deconnexions reseau.
Clients : souvent des ordinateurs personnels ou des appareilsindividuels (telephone, tablette), mais pas systematiquement.
Nombre de clients. Un serveur peut repondre aux requetes d’un grandnombre de clients.Grande variete de logiciels serveurs et de logiciels clients en fonctiondes besoins a servir :
un serveur web publie des pages web demandees par des navigateursweb ; un serveur de messagerie electronique envoie des mails a desclients de messagerie ; un serveur de fichiers permet de stocker etconsulter des fichiers sur le reseau ; un serveur de donnees acommuniquer des donnees stockees dans une base de donnees, etc...
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 28 / 39
![Page 66: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/66.jpg)
Modele client-serveur Architecture client-serveur
Vocabulaire
Serveurs : souvent des ordinateurs dedies au logiciel serveur qu’ilsabritent (ex : serveur Web, serveur de bases de donnees, d’impression...). Ils sont dotes de capacites superieures a celles des ordinateurspersonnels en termes de puissance de calcul, d’entrees-sorties et deconnexions reseau.
Clients : souvent des ordinateurs personnels ou des appareilsindividuels (telephone, tablette), mais pas systematiquement.
Nombre de clients. Un serveur peut repondre aux requetes d’un grandnombre de clients.Grande variete de logiciels serveurs et de logiciels clients en fonctiondes besoins a servir :
un serveur web publie des pages web demandees par des navigateursweb ; un serveur de messagerie electronique envoie des mails a desclients de messagerie ; un serveur de fichiers permet de stocker etconsulter des fichiers sur le reseau ; un serveur de donnees acommuniquer des donnees stockees dans une base de donnees, etc...
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 28 / 39
![Page 67: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/67.jpg)
Modele client-serveur Architecture client-serveur
Vocabulaire
Serveurs : souvent des ordinateurs dedies au logiciel serveur qu’ilsabritent (ex : serveur Web, serveur de bases de donnees, d’impression...). Ils sont dotes de capacites superieures a celles des ordinateurspersonnels en termes de puissance de calcul, d’entrees-sorties et deconnexions reseau.
Clients : souvent des ordinateurs personnels ou des appareilsindividuels (telephone, tablette), mais pas systematiquement.
Nombre de clients. Un serveur peut repondre aux requetes d’un grandnombre de clients.
Grande variete de logiciels serveurs et de logiciels clients en fonctiondes besoins a servir :
un serveur web publie des pages web demandees par des navigateursweb ; un serveur de messagerie electronique envoie des mails a desclients de messagerie ; un serveur de fichiers permet de stocker etconsulter des fichiers sur le reseau ; un serveur de donnees acommuniquer des donnees stockees dans une base de donnees, etc...
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 28 / 39
![Page 68: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/68.jpg)
Modele client-serveur Architecture client-serveur
Vocabulaire
Serveurs : souvent des ordinateurs dedies au logiciel serveur qu’ilsabritent (ex : serveur Web, serveur de bases de donnees, d’impression...). Ils sont dotes de capacites superieures a celles des ordinateurspersonnels en termes de puissance de calcul, d’entrees-sorties et deconnexions reseau.
Clients : souvent des ordinateurs personnels ou des appareilsindividuels (telephone, tablette), mais pas systematiquement.
Nombre de clients. Un serveur peut repondre aux requetes d’un grandnombre de clients.Grande variete de logiciels serveurs et de logiciels clients en fonctiondes besoins a servir :
un serveur web publie des pages web demandees par des navigateursweb ; un serveur de messagerie electronique envoie des mails a desclients de messagerie ; un serveur de fichiers permet de stocker etconsulter des fichiers sur le reseau ; un serveur de donnees acommuniquer des donnees stockees dans une base de donnees, etc...
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 28 / 39
![Page 69: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/69.jpg)
Modele client-serveur Architecture client-serveur
Vocabulaire
Serveurs : souvent des ordinateurs dedies au logiciel serveur qu’ilsabritent (ex : serveur Web, serveur de bases de donnees, d’impression...). Ils sont dotes de capacites superieures a celles des ordinateurspersonnels en termes de puissance de calcul, d’entrees-sorties et deconnexions reseau.
Clients : souvent des ordinateurs personnels ou des appareilsindividuels (telephone, tablette), mais pas systematiquement.
Nombre de clients. Un serveur peut repondre aux requetes d’un grandnombre de clients.Grande variete de logiciels serveurs et de logiciels clients en fonctiondes besoins a servir :
un serveur web publie des pages web demandees par des navigateursweb ; un serveur de messagerie electronique envoie des mails a desclients de messagerie ; un serveur de fichiers permet de stocker etconsulter des fichiers sur le reseau ; un serveur de donnees acommuniquer des donnees stockees dans une base de donnees, etc...
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 28 / 39
![Page 70: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/70.jpg)
Modele client-serveur Architecture client-serveur
Notion de port
Port : Correspondant a la couche transport du modele OSI, la notionde port logiciel permet, sur un ordinateur donne, de distinguerdifferents interlocuteurs. Ces interlocuteurs sont des programmesinformatiques qui, selon les cas, ecoutent ou emettent desinformations sur ces ports. Un port est distingue par son numero.
Image : port = porte donnant acces au systeme d’exploitation. Pourfonctionner, un programme ouvre des portes pour acceder auxservices de l’OS. Quand on ferme le programme, la porte n’a plusbesoin d’etre ouverte.
Lorsqu’un logiciel client veut dialoguer avec un logiciel serveur (leservice), il a besoin de connaıtre le port ecoute par ce dernier. Parexemple port 80 pour un serveur web HTTP ; port 3306 serveur debases de donnees MySQL ; port 8888 pour jupyter...
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 29 / 39
![Page 71: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/71.jpg)
Modele client-serveur Architecture client-serveur
Notion de port
Port : Correspondant a la couche transport du modele OSI, la notionde port logiciel permet, sur un ordinateur donne, de distinguerdifferents interlocuteurs. Ces interlocuteurs sont des programmesinformatiques qui, selon les cas, ecoutent ou emettent desinformations sur ces ports. Un port est distingue par son numero.
Image : port = porte donnant acces au systeme d’exploitation. Pourfonctionner, un programme ouvre des portes pour acceder auxservices de l’OS. Quand on ferme le programme, la porte n’a plusbesoin d’etre ouverte.
Lorsqu’un logiciel client veut dialoguer avec un logiciel serveur (leservice), il a besoin de connaıtre le port ecoute par ce dernier. Parexemple port 80 pour un serveur web HTTP ; port 3306 serveur debases de donnees MySQL ; port 8888 pour jupyter...
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 29 / 39
![Page 72: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/72.jpg)
Modele client-serveur Architecture client-serveur
Notion de port
Port : Correspondant a la couche transport du modele OSI, la notionde port logiciel permet, sur un ordinateur donne, de distinguerdifferents interlocuteurs. Ces interlocuteurs sont des programmesinformatiques qui, selon les cas, ecoutent ou emettent desinformations sur ces ports. Un port est distingue par son numero.
Image : port = porte donnant acces au systeme d’exploitation. Pourfonctionner, un programme ouvre des portes pour acceder auxservices de l’OS. Quand on ferme le programme, la porte n’a plusbesoin d’etre ouverte.
Lorsqu’un logiciel client veut dialoguer avec un logiciel serveur (leservice), il a besoin de connaıtre le port ecoute par ce dernier. Parexemple port 80 pour un serveur web HTTP ; port 3306 serveur debases de donnees MySQL ; port 8888 pour jupyter...
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 29 / 39
![Page 73: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/73.jpg)
Modele client-serveur Architecture client-serveur
Caracteristiques d’un processus serveur
Attend une connexion entrante sur un ou plusieurs ports reseaux.
a la connexion d’un client sur le port en ecoute, ouvre un socket local(interface de comunication) avec le systeme d’exploitation ;
suite a la connexion, le processus serveur communique avec le clientsuivant le protocole prevu par la couche application du modele OSI.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 30 / 39
![Page 74: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/74.jpg)
Modele client-serveur Architecture client-serveur
Caracteristiques d’un processus serveur
Attend une connexion entrante sur un ou plusieurs ports reseaux.
a la connexion d’un client sur le port en ecoute, ouvre un socket local(interface de comunication) avec le systeme d’exploitation ;
suite a la connexion, le processus serveur communique avec le clientsuivant le protocole prevu par la couche application du modele OSI.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 30 / 39
![Page 75: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/75.jpg)
Modele client-serveur Architecture client-serveur
Caracteristiques d’un processus serveur
Attend une connexion entrante sur un ou plusieurs ports reseaux.
a la connexion d’un client sur le port en ecoute, ouvre un socket local(interface de comunication) avec le systeme d’exploitation ;
suite a la connexion, le processus serveur communique avec le clientsuivant le protocole prevu par la couche application du modele OSI.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 30 / 39
![Page 76: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/76.jpg)
Modele client-serveur Architecture client-serveur
Caracteristiques d’un processus client
etablit la connexion au serveur grace a son adresse IP et le port, quidesigne un service particulier du serveur. Un socket est cree coteclient.
lorsque la connexion est acceptee par le serveur, les deux cotescommuniquent via les sockets comme le prevoit la coucheapplication du modele OSI.
Figure – Architecture client-serveur
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 31 / 39
![Page 77: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/77.jpg)
Modele client-serveur Architecture client-serveur
La machine a cafe
Dans une cafeteria, les cafes sont delivres par un automate.
Le client insere des pieces dans l’automate, selectionne sa boisson etattend que la machine remplisse son gobelet.
Le serveur est la machine a cafe. Le couple (client, automate) est unearchitecture client-serveur.
Le client accede directement a la ressource.
Si le serveur est en panne, c’est au client d’en trouver un autre (pb demaintenance)Si le client est malhonnete, il peut tenter d’inserer de fausses pieces (ilne court aucun risque).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 32 / 39
![Page 78: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/78.jpg)
Modele client-serveur Architecture client-serveur
La machine a cafe
Dans une cafeteria, les cafes sont delivres par un automate.
Le client insere des pieces dans l’automate, selectionne sa boisson etattend que la machine remplisse son gobelet.
Le serveur est la machine a cafe. Le couple (client, automate) est unearchitecture client-serveur.
Le client accede directement a la ressource.
Si le serveur est en panne, c’est au client d’en trouver un autre (pb demaintenance)Si le client est malhonnete, il peut tenter d’inserer de fausses pieces (ilne court aucun risque).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 32 / 39
![Page 79: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/79.jpg)
Modele client-serveur Architecture client-serveur
La machine a cafe
Dans une cafeteria, les cafes sont delivres par un automate.
Le client insere des pieces dans l’automate, selectionne sa boisson etattend que la machine remplisse son gobelet.
Le serveur est la machine a cafe. Le couple (client, automate) est unearchitecture client-serveur.
Le client accede directement a la ressource.
Si le serveur est en panne, c’est au client d’en trouver un autre (pb demaintenance)Si le client est malhonnete, il peut tenter d’inserer de fausses pieces (ilne court aucun risque).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 32 / 39
![Page 80: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/80.jpg)
Modele client-serveur Architecture client-serveur
La machine a cafe
Dans une cafeteria, les cafes sont delivres par un automate.
Le client insere des pieces dans l’automate, selectionne sa boisson etattend que la machine remplisse son gobelet.
Le serveur est la machine a cafe. Le couple (client, automate) est unearchitecture client-serveur.
Le client accede directement a la ressource.
Si le serveur est en panne, c’est au client d’en trouver un autre (pb demaintenance)Si le client est malhonnete, il peut tenter d’inserer de fausses pieces (ilne court aucun risque).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 32 / 39
![Page 81: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/81.jpg)
Modele client-serveur Architecture client-serveur
La machine a cafe
Dans une cafeteria, les cafes sont delivres par un automate.
Le client insere des pieces dans l’automate, selectionne sa boisson etattend que la machine remplisse son gobelet.
Le serveur est la machine a cafe. Le couple (client, automate) est unearchitecture client-serveur.
Le client accede directement a la ressource.
Si le serveur est en panne, c’est au client d’en trouver un autre (pb demaintenance)
Si le client est malhonnete, il peut tenter d’inserer de fausses pieces (ilne court aucun risque).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 32 / 39
![Page 82: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/82.jpg)
Modele client-serveur Architecture client-serveur
La machine a cafe
Dans une cafeteria, les cafes sont delivres par un automate.
Le client insere des pieces dans l’automate, selectionne sa boisson etattend que la machine remplisse son gobelet.
Le serveur est la machine a cafe. Le couple (client, automate) est unearchitecture client-serveur.
Le client accede directement a la ressource.
Si le serveur est en panne, c’est au client d’en trouver un autre (pb demaintenance)Si le client est malhonnete, il peut tenter d’inserer de fausses pieces (ilne court aucun risque).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 32 / 39
![Page 83: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/83.jpg)
Modele client-serveur Architecture trois tiers
1 Introduction
2 Le modele relationnel
3 Cles
4 Relations entre deux tables
5 Modele client-serveurArchitecture client-serveurArchitecture trois tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 33 / 39
![Page 84: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/84.jpg)
Modele client-serveur Architecture trois tiers
Une brasserie
Dans une brasserie, les garcons de cafe ont acces directement aupercolateur.
Le client (couche presentation) s’assied a une table, attend que legarcon (couche metier) vienne prendre sa commande.
Une fois que le garcon a pris la commande, il accede au percolateur(couche acces aux donnees) derriere le comptoir, prepare l’expresso etle ramene au client.
Le triplet (client,garcon,percolateur) est une architecture trois tiers(ou trois couches)
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 34 / 39
![Page 85: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/85.jpg)
Modele client-serveur Architecture trois tiers
Une brasserie
Dans une brasserie, les garcons de cafe ont acces directement aupercolateur.
Le client (couche presentation) s’assied a une table, attend que legarcon (couche metier) vienne prendre sa commande.
Une fois que le garcon a pris la commande, il accede au percolateur(couche acces aux donnees) derriere le comptoir, prepare l’expresso etle ramene au client.
Le triplet (client,garcon,percolateur) est une architecture trois tiers(ou trois couches)
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 34 / 39
![Page 86: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/86.jpg)
Modele client-serveur Architecture trois tiers
Une brasserie
Dans une brasserie, les garcons de cafe ont acces directement aupercolateur.
Le client (couche presentation) s’assied a une table, attend que legarcon (couche metier) vienne prendre sa commande.
Une fois que le garcon a pris la commande, il accede au percolateur(couche acces aux donnees) derriere le comptoir, prepare l’expresso etle ramene au client.
Le triplet (client,garcon,percolateur) est une architecture trois tiers(ou trois couches)
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 34 / 39
![Page 87: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/87.jpg)
Modele client-serveur Architecture trois tiers
Une brasserie
Dans une brasserie, les garcons de cafe ont acces directement aupercolateur.
Le client (couche presentation) s’assied a une table, attend que legarcon (couche metier) vienne prendre sa commande.
Une fois que le garcon a pris la commande, il accede au percolateur(couche acces aux donnees) derriere le comptoir, prepare l’expresso etle ramene au client.
Le triplet (client,garcon,percolateur) est une architecture trois tiers(ou trois couches)
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 34 / 39
![Page 88: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/88.jpg)
Modele client-serveur Architecture trois tiers
Une brasserie
Le client accede n’accede plus directement a la ressource.
Si le percolateur est en panne, c’est au garcon et pas au client d’entrouver un autre (maintenance facilitee, on peut imaginer unpercolateur d’appoint en attendant la reparation du principal)
Si le client est malhonnete, il lui est plus difficile d’acceder aupercolateur pour se servir gratuitement (securite renforcee).
Bien sur, le client pourrait attendre que le garcon prenne lacommande d’une autre personne pour acceder en cachette aupercolateur. Il suffirait alors de mettre quelqu’un en permanencederriere le bar (le patron) et ce probleme serait resolu (mais onpasserait en architecture 4 couches).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 35 / 39
![Page 89: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/89.jpg)
Modele client-serveur Architecture trois tiers
Une brasserie
Le client accede n’accede plus directement a la ressource.
Si le percolateur est en panne, c’est au garcon et pas au client d’entrouver un autre (maintenance facilitee, on peut imaginer unpercolateur d’appoint en attendant la reparation du principal)
Si le client est malhonnete, il lui est plus difficile d’acceder aupercolateur pour se servir gratuitement (securite renforcee).
Bien sur, le client pourrait attendre que le garcon prenne lacommande d’une autre personne pour acceder en cachette aupercolateur. Il suffirait alors de mettre quelqu’un en permanencederriere le bar (le patron) et ce probleme serait resolu (mais onpasserait en architecture 4 couches).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 35 / 39
![Page 90: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/90.jpg)
Modele client-serveur Architecture trois tiers
Une brasserie
Le client accede n’accede plus directement a la ressource.
Si le percolateur est en panne, c’est au garcon et pas au client d’entrouver un autre (maintenance facilitee, on peut imaginer unpercolateur d’appoint en attendant la reparation du principal)
Si le client est malhonnete, il lui est plus difficile d’acceder aupercolateur pour se servir gratuitement (securite renforcee).
Bien sur, le client pourrait attendre que le garcon prenne lacommande d’une autre personne pour acceder en cachette aupercolateur. Il suffirait alors de mettre quelqu’un en permanencederriere le bar (le patron) et ce probleme serait resolu (mais onpasserait en architecture 4 couches).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 35 / 39
![Page 91: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/91.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Definition
Le mot tier signifie etage ou niveau en anglais. On dit aussi couche.
Le but de l’architecture 3 tiers est de separer les 3 couches habituellesd’une application : IHM (Interface Homme Machine), traitements etdonnees.
Une application est composee de 3 couches independantes :
1 couche presentation,2 couche traitements (on dit aussi metier ou application)3 couche d’acces aux donnees.
Ces 3 couches communiqueront entre elles a l’aide de fonctionsspecifiques (des API : Application Programming Interface ouInterfaces de programmation).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 36 / 39
![Page 92: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/92.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Definition
Le mot tier signifie etage ou niveau en anglais. On dit aussi couche.
Le but de l’architecture 3 tiers est de separer les 3 couches habituellesd’une application : IHM (Interface Homme Machine), traitements etdonnees.
Une application est composee de 3 couches independantes :
1 couche presentation,2 couche traitements (on dit aussi metier ou application)3 couche d’acces aux donnees.
Ces 3 couches communiqueront entre elles a l’aide de fonctionsspecifiques (des API : Application Programming Interface ouInterfaces de programmation).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 36 / 39
![Page 93: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/93.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Definition
Le mot tier signifie etage ou niveau en anglais. On dit aussi couche.
Le but de l’architecture 3 tiers est de separer les 3 couches habituellesd’une application : IHM (Interface Homme Machine), traitements etdonnees.
Une application est composee de 3 couches independantes :1 couche presentation,
2 couche traitements (on dit aussi metier ou application)3 couche d’acces aux donnees.
Ces 3 couches communiqueront entre elles a l’aide de fonctionsspecifiques (des API : Application Programming Interface ouInterfaces de programmation).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 36 / 39
![Page 94: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/94.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Definition
Le mot tier signifie etage ou niveau en anglais. On dit aussi couche.
Le but de l’architecture 3 tiers est de separer les 3 couches habituellesd’une application : IHM (Interface Homme Machine), traitements etdonnees.
Une application est composee de 3 couches independantes :1 couche presentation,2 couche traitements (on dit aussi metier ou application)
3 couche d’acces aux donnees.
Ces 3 couches communiqueront entre elles a l’aide de fonctionsspecifiques (des API : Application Programming Interface ouInterfaces de programmation).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 36 / 39
![Page 95: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/95.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Definition
Le mot tier signifie etage ou niveau en anglais. On dit aussi couche.
Le but de l’architecture 3 tiers est de separer les 3 couches habituellesd’une application : IHM (Interface Homme Machine), traitements etdonnees.
Une application est composee de 3 couches independantes :1 couche presentation,2 couche traitements (on dit aussi metier ou application)3 couche d’acces aux donnees.
Ces 3 couches communiqueront entre elles a l’aide de fonctionsspecifiques (des API : Application Programming Interface ouInterfaces de programmation).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 36 / 39
![Page 96: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/96.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Definition
Le mot tier signifie etage ou niveau en anglais. On dit aussi couche.
Le but de l’architecture 3 tiers est de separer les 3 couches habituellesd’une application : IHM (Interface Homme Machine), traitements etdonnees.
Une application est composee de 3 couches independantes :1 couche presentation,2 couche traitements (on dit aussi metier ou application)3 couche d’acces aux donnees.
Ces 3 couches communiqueront entre elles a l’aide de fonctionsspecifiques (des API : Application Programming Interface ouInterfaces de programmation).
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 36 / 39
![Page 97: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/97.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Definition
Le mot tier signifie etage ou niveau en anglais. On dit aussi couche.
Figure – Architecture Trois Tiers
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 36 / 39
![Page 98: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/98.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Modele generalement suivi pour la communication des donnees dansles bases de donnees.
Un niveau de plus que dans le modele client/serveur :
1 Un client (l’ordinateur demandeur de ressources) equipe d’une interfaceutilisateur (generalement un navigateur web) chargee de lapresentation. C’est la couche presentation
2 Un serveur d’application (appele middleware) qui fournit la ressource,mais en faisant appel a un autre serveur.Correspond a la couche metier ou traitement : Decrit les operations quel’application opere sur les donnees en fonction des requetes des clients.
3 Un serveur de donnees qui fournit au serveur d’application les donneesrequises pour repondre au client. Acces aux donnees persistantes,destinee a etre conservee de facon longue voire definitive. Couche accesaux donnees.
Le point important : le client ne communique jamais directement avecle serveur de donnees.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 37 / 39
![Page 99: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/99.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Modele generalement suivi pour la communication des donnees dansles bases de donnees.Un niveau de plus que dans le modele client/serveur :
1 Un client (l’ordinateur demandeur de ressources) equipe d’une interfaceutilisateur (generalement un navigateur web) chargee de lapresentation. C’est la couche presentation
2 Un serveur d’application (appele middleware) qui fournit la ressource,mais en faisant appel a un autre serveur.Correspond a la couche metier ou traitement : Decrit les operations quel’application opere sur les donnees en fonction des requetes des clients.
3 Un serveur de donnees qui fournit au serveur d’application les donneesrequises pour repondre au client. Acces aux donnees persistantes,destinee a etre conservee de facon longue voire definitive. Couche accesaux donnees.
Le point important : le client ne communique jamais directement avecle serveur de donnees.
Figure – Trois couchesIvan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 37 / 39
![Page 100: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/100.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Modele generalement suivi pour la communication des donnees dansles bases de donnees.
Un niveau de plus que dans le modele client/serveur :
1 Un client (l’ordinateur demandeur de ressources) equipe d’une interfaceutilisateur (generalement un navigateur web) chargee de lapresentation. C’est la couche presentation
2 Un serveur d’application (appele middleware) qui fournit la ressource,mais en faisant appel a un autre serveur.Correspond a la couche metier ou traitement : Decrit les operations quel’application opere sur les donnees en fonction des requetes des clients.
3 Un serveur de donnees qui fournit au serveur d’application les donneesrequises pour repondre au client. Acces aux donnees persistantes,destinee a etre conservee de facon longue voire definitive. Couche accesaux donnees.
Le point important : le client ne communique jamais directement avecle serveur de donnees.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 37 / 39
![Page 101: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/101.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Modele generalement suivi pour la communication des donnees dansles bases de donnees.
Un niveau de plus que dans le modele client/serveur :
1 Un client (l’ordinateur demandeur de ressources) equipe d’une interfaceutilisateur (generalement un navigateur web) chargee de lapresentation. C’est la couche presentation
2 Un serveur d’application (appele middleware) qui fournit la ressource,mais en faisant appel a un autre serveur.Correspond a la couche metier ou traitement : Decrit les operations quel’application opere sur les donnees en fonction des requetes des clients.
3 Un serveur de donnees qui fournit au serveur d’application les donneesrequises pour repondre au client. Acces aux donnees persistantes,destinee a etre conservee de facon longue voire definitive. Couche accesaux donnees.
Le point important : le client ne communique jamais directement avecle serveur de donnees.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 37 / 39
![Page 102: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/102.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Modele generalement suivi pour la communication des donnees dansles bases de donnees.
Un niveau de plus que dans le modele client/serveur :
1 Un client (l’ordinateur demandeur de ressources) equipe d’une interfaceutilisateur (generalement un navigateur web) chargee de lapresentation. C’est la couche presentation
2 Un serveur d’application (appele middleware) qui fournit la ressource,mais en faisant appel a un autre serveur.Correspond a la couche metier ou traitement : Decrit les operations quel’application opere sur les donnees en fonction des requetes des clients.
3 Un serveur de donnees qui fournit au serveur d’application les donneesrequises pour repondre au client. Acces aux donnees persistantes,destinee a etre conservee de facon longue voire definitive. Couche accesaux donnees.
Le point important : le client ne communique jamais directement avecle serveur de donnees.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 37 / 39
![Page 103: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/103.jpg)
Modele client-serveur Architecture trois tiers
Architecture trois tiers
Modele generalement suivi pour la communication des donnees dansles bases de donnees.
Un niveau de plus que dans le modele client/serveur :
1 Un client (l’ordinateur demandeur de ressources) equipe d’une interfaceutilisateur (generalement un navigateur web) chargee de lapresentation. C’est la couche presentation
2 Un serveur d’application (appele middleware) qui fournit la ressource,mais en faisant appel a un autre serveur.Correspond a la couche metier ou traitement : Decrit les operations quel’application opere sur les donnees en fonction des requetes des clients.
3 Un serveur de donnees qui fournit au serveur d’application les donneesrequises pour repondre au client. Acces aux donnees persistantes,destinee a etre conservee de facon longue voire definitive. Couche accesaux donnees.
Le point important : le client ne communique jamais directement avecle serveur de donnees.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 37 / 39
![Page 104: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/104.jpg)
Modele client-serveur Architecture trois tiers
PHPMYADMIN
Exemple : un client veut connaıtre les vols diponibles pour une destination a une date donnee.
Figure – phpmyadmin
Le client demande une connexion au serveur d’application et l’obtient (1 et 2). Un formulaire Web s’affiche sur sonnavigateur.
Il coche des cases dans un formulaire (ex : destination, date, prix maximum) et clique sur send ce qui envoie la requeteHTTP au serveur (3).
Le moteur PHP transforme les infos recus du formulaire (requete Web) en requete SQL et laisse le serveur l’envoyer auSGBD (4).
Le SGBD traite la requete SQL et envoie la reponse au serveur d’application (5).
Le moteur PHP utilise la reponse pour former une page HTML contenant les infos et laisse le serveur envoyer la reponseau client.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 38 / 39
![Page 105: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/105.jpg)
Modele client-serveur Architecture trois tiers
PHPMYADMIN
Exemple : un client veut connaıtre les vols diponibles pour une destination a une date donnee.
Figure – phpmyadmin
Le client demande une connexion au serveur d’application et l’obtient (1 et 2). Un formulaire Web s’affiche sur sonnavigateur.
Il coche des cases dans un formulaire (ex : destination, date, prix maximum) et clique sur send ce qui envoie la requeteHTTP au serveur (3).
Le moteur PHP transforme les infos recus du formulaire (requete Web) en requete SQL et laisse le serveur l’envoyer auSGBD (4).
Le SGBD traite la requete SQL et envoie la reponse au serveur d’application (5).
Le moteur PHP utilise la reponse pour former une page HTML contenant les infos et laisse le serveur envoyer la reponseau client.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 38 / 39
![Page 106: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/106.jpg)
Modele client-serveur Architecture trois tiers
PHPMYADMIN
Exemple : un client veut connaıtre les vols diponibles pour une destination a une date donnee.
Figure – phpmyadmin
Le client demande une connexion au serveur d’application et l’obtient (1 et 2). Un formulaire Web s’affiche sur sonnavigateur.
Il coche des cases dans un formulaire (ex : destination, date, prix maximum) et clique sur send ce qui envoie la requeteHTTP au serveur (3).
Le moteur PHP transforme les infos recus du formulaire (requete Web) en requete SQL et laisse le serveur l’envoyer auSGBD (4).
Le SGBD traite la requete SQL et envoie la reponse au serveur d’application (5).
Le moteur PHP utilise la reponse pour former une page HTML contenant les infos et laisse le serveur envoyer la reponseau client.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 38 / 39
![Page 107: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/107.jpg)
Modele client-serveur Architecture trois tiers
PHPMYADMIN
Exemple : un client veut connaıtre les vols diponibles pour une destination a une date donnee.
Figure – phpmyadmin
Le client demande une connexion au serveur d’application et l’obtient (1 et 2). Un formulaire Web s’affiche sur sonnavigateur.
Il coche des cases dans un formulaire (ex : destination, date, prix maximum) et clique sur send ce qui envoie la requeteHTTP au serveur (3).
Le moteur PHP transforme les infos recus du formulaire (requete Web) en requete SQL et laisse le serveur l’envoyer auSGBD (4).
Le SGBD traite la requete SQL et envoie la reponse au serveur d’application (5).
Le moteur PHP utilise la reponse pour former une page HTML contenant les infos et laisse le serveur envoyer la reponseau client.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 38 / 39
![Page 108: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/108.jpg)
Modele client-serveur Architecture trois tiers
PHPMYADMIN
Exemple : un client veut connaıtre les vols diponibles pour une destination a une date donnee.
Figure – phpmyadmin
Le client demande une connexion au serveur d’application et l’obtient (1 et 2). Un formulaire Web s’affiche sur sonnavigateur.
Il coche des cases dans un formulaire (ex : destination, date, prix maximum) et clique sur send ce qui envoie la requeteHTTP au serveur (3).
Le moteur PHP transforme les infos recus du formulaire (requete Web) en requete SQL et laisse le serveur l’envoyer auSGBD (4).
Le SGBD traite la requete SQL et envoie la reponse au serveur d’application (5).
Le moteur PHP utilise la reponse pour former une page HTML contenant les infos et laisse le serveur envoyer la reponseau client.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 38 / 39
![Page 109: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/109.jpg)
Modele client-serveur Architecture trois tiers
PHPMYADMIN
Exemple : un client veut connaıtre les vols diponibles pour une destination a une date donnee.
Figure – phpmyadmin
Le client demande une connexion au serveur d’application et l’obtient (1 et 2). Un formulaire Web s’affiche sur sonnavigateur.
Il coche des cases dans un formulaire (ex : destination, date, prix maximum) et clique sur send ce qui envoie la requeteHTTP au serveur (3).
Le moteur PHP transforme les infos recus du formulaire (requete Web) en requete SQL et laisse le serveur l’envoyer auSGBD (4).
Le SGBD traite la requete SQL et envoie la reponse au serveur d’application (5).
Le moteur PHP utilise la reponse pour former une page HTML contenant les infos et laisse le serveur envoyer la reponseau client.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 38 / 39
![Page 110: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/110.jpg)
Modele client-serveur Architecture trois tiers
Utilite de l’architecture trois tiers
Cette separation a pour but de rendre independantes chacune descouches afin de simplifier la maintenance et les evolutions futures del’application (par exemple, changement de systeme de base dedonnees, portage d’un environnement graphique a un autre, ...).
Elle assure une securite plus importante car l’acces a la base dedonnees n’est autorise que via la couche Applications.
Elle a egalement l’avantage d’optimiser le travail en equipe.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 39 / 39
![Page 111: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/111.jpg)
Modele client-serveur Architecture trois tiers
Utilite de l’architecture trois tiers
Cette separation a pour but de rendre independantes chacune descouches afin de simplifier la maintenance et les evolutions futures del’application (par exemple, changement de systeme de base dedonnees, portage d’un environnement graphique a un autre, ...).
Elle assure une securite plus importante car l’acces a la base dedonnees n’est autorise que via la couche Applications.
Elle a egalement l’avantage d’optimiser le travail en equipe.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 39 / 39
![Page 112: Modèle relationnel, bases de données](https://reader035.vdocuments.mx/reader035/viewer/2022062409/62ac9c262fa149703f0610e1/html5/thumbnails/112.jpg)
Modele client-serveur Architecture trois tiers
Utilite de l’architecture trois tiers
Cette separation a pour but de rendre independantes chacune descouches afin de simplifier la maintenance et les evolutions futures del’application (par exemple, changement de systeme de base dedonnees, portage d’un environnement graphique a un autre, ...).
Elle assure une securite plus importante car l’acces a la base dedonnees n’est autorise que via la couche Applications.
Elle a egalement l’avantage d’optimiser le travail en equipe.
Ivan Noyer ( Lycee Thiers ) Modele relationnel, bases de donnees 39 / 39