Modèle relationnel

  • Upload
    musatge

  • View
    3.501

  • Download
    1

Embed Size (px)

Citation preview

Le modle relationnel

Le modle relationnelnature

La modlisation relationnelle permet de reprsenter les relations l'aide de tables ( deux dimensions).

La modlisation relationnelle permet de reprsenter les relations l'aide de tables ( deux dimensions).

Exemple de la relation agent

La modlisation relationnelle permet de reprsenter les relations l'aide de tables ( deux dimensions) dont chaque colonne a un identificateur qui reprsente un domaine.

La modlisation relationnelle permet de reprsenter les relations l'aide de tables ( deux dimensions) dont chaque colonne a un identificateur qui reprsente un domaine.

Identificateur nom_a

La modlisation relationnelle permet de reprsenter les relations l'aide de tables ( deux dimensions) dont chaque colonne a un identificateur qui reprsente un domaine.

Identificateur nom_a qui reprsente l'ensemble des noms des agents

La modlisation relationnelle permet de reprsenter les relations l'aide de tables ( deux dimensions) dont chaque colonne a un identificateur qui reprsente un domaine. Une ligne du tableau reprsente donc une entit et chacune des cases reprsente un de ses attributs.

La modlisation relationnelle permet de reprsenter les relations l'aide de tables ( deux dimensions) dont chaque colonne a un identificateur qui reprsente un domaine. Une ligne du tableau reprsente donc une entit et chacune des cases reprsente un de ses attributs.

L'entit Atis

La modlisation relationnelle permet de reprsenter les relations l'aide de tables ( deux dimensions) dont chaque colonne a un identificateur qui reprsente un domaine. Une ligne du tableau reprsente donc une entit et chacune des cases reprsente un de ses attributs.

L'attribut prnom de l'entit Atis

On appelle attributs le nom des colonnes qui reprsentent les constituants de l'entit. Un attribut (une colonne) est repr par un nom et un domaine de dfinition, c'est--dire l'ensemble des valeurs qu'il peut prendre.

On appelle attributs le nom des colonnes qui reprsentent les constituants de l'entit. Un attribut (une colonne) est repr par un nom et un domaine de dfinition, c'est--dire l'ensemble des valeurs qu'il peut prendre.

attributs

On appelle attributs le nom des colonnes qui reprsentent les constituants de l'entit. Un attribut (une colonne) est repr par un nom et un domaine de dfinition, c'est--dire l'ensemble des valeurs qu'il peut prendre.

attribut

On appelle attributs le nom des colonnes qui reprsentent les constituants de l'entit. Un attribut (une colonne) est repr par un nom et un domaine de dfinition, c'est--dire l'ensemble des valeurs qu'il peut prendre.

Nom de l'attribut

On appelle attributs le nom des colonnes qui reprsentent les constituants de l'entit. Un attribut (une colonne) est repr par un nom et un domaine de dfinition, c'est--dire l'ensemble des valeurs qu'il peut prendre.

domaine de dfinition: ensemble des noms des agents

On appelle tuple (ou n-uplet) une ligne du tableau.

On appelle tuple (ou n-uplet) une ligne du tableau.

tuple

La cardinalit d'une relation est le nombre de tuples qui la composent.

La cardinalit d'une relation est le nombre de tuples qui la composent.

la cardinalit est gale 4 la cardinalit est gale 4 la cardinalit est gale 4 la cardinalit de la relation agent est gale 4

La cl principale d'une relation est l'attribut, ou l'ensemble d'attributs, permettant de dsigner de faon unique un tuple.

La cl principale d'une relation est l'attribut, ou l'ensemble d'attributs, permettant de dsigner de faon unique un tuple.

cl principale

La cl principale d'une relation est l'attribut, ou l'ensemble d'attributs, permettant de dsigner de faon unique un tuple.

105 permet de dsigner de faon unique l'agent Rumer Nathalie mme si il existe un homonyme

La relation rclamation

Une cl trangre est une cl (donc un attribut permettant d'identifier de faon unique un tuple) .

cls trangres

cls trangrescls trangres

Une cl trangre est une cl (donc un attribut permettant d'identifier de faon unique un tuple) faisant rfrence une cl appartenant une autre table.

La cl trangre code_a# de la relation rclamation

Une cl trangre est une cl (donc un attribut permettant d'identifier de faon unique un tuple) faisant rfrence une cl appartenant une autre table.

fait rfrence la cl primaire de la relation agent

La description d'une relation (d'une table) par ses attributs (nom et domaine) est appele schma d'une relation.

La description d'une relation (d'une table) par ses attributs (nom et domaine) est appele schma d'une relation.

AGENT (code_a, nom_a, prenom_a)

Par convention la cl primaire est souligne

AGENT (code_a, nom_a, prenom_a)

Le modle relationnelconception

Le modle relationnelcontexte

Hifeocontexte

Hifeo

Hifeo est une entreprise de la grande distribution spcialise en tl, hi-fi et vido.

Hifeo

Le service consommateurs a pour activit principale de soccuper des rclamations clients.

Hifeo

Le responsable de la clientle d'Hifeo souhaite mettre en place un outil qui lui permettrait damliorer la gestion des rclamations des clients insatisfaits.

Quelles sont les informations utiles ?

Dans un modle relationnel, seules les donnes lmentaires sont ncessaires: les attributs.Un attribut ne peut pas tre obtenu partir d'autres attributs.

Quelles sont les informations utiles ?

Chaque client est rpertori lors dune ventuelle rclamation.

Quelles sont les informations utiles ?

Chaque client est rpertori lors dune ventuelle rclamation.

noms des clients

prnoms des clients

adresses des clients

codes postaux des clients

villes des clients

Quelles sont les informations utiles ?

Tous les produits vendus par Hifeo sont rpertoris dans des fiches qui regroupent la rfrence, la marque, la catgorie et le prix de vente.

Quelles sont les informations utiles ?

Tous les produits vendus par Hifeo sont rpertoris dans des fiches qui regroupent la rfrence, la marque, la catgorie et le prix de vente.

rfrences des produits

catgories des produits

marques des produits

prix de vente des produits

Quelles sont les informations utiles ?

Lors dune rclamation, un numro permettant didentifier celle-ci est enregistr. La fiche rclamation, effectue partir dun coup de tlphone ou dun courrier, met en vidence le type de problme rencontr (ou lobjet de la demande), la date, le nom de client et le produit concern.Une fois la rclamation enregistre, celle-ci doit tre traite par un des agents du service. Chaque rclamation ne peut tre traite que par un seul agent.

Quelles sont les informations utiles ?

Lors dune rclamation, un numro permettant didentifier celle-ci est enregistr.

rfrences des rclamations

Quelles sont les informations utiles ?

La fiche rclamation, effectue partir dun coup de tlphone ou dun courrier, met en vidence le type de problme rencontr (ou lobjet de la demande), la date, le nom de client et le produit concern.

rfrences des rclamations

dates des rclamations

existence d'une garantie

retards de livraison

livraisons incompltes

pannes des produits livrs

noms des clients

rfrences des produits

Quelles sont les informations utiles ?

Une fois la rclamation enregistre, celle-ci doit tre traite par un des agents du service.

rfrences des rclamations

dates des rclamations

existence d'une garantie

retards de livraison

livraisons incompltes

pannes des produits livrs

noms des clients

rfrences des produits

noms des agents

Quelles sont les informations utiles ?

Chaque rclamation ne peut tre traite que par un seul agent.

prnoms des agents

noms des agents

Comment organiser les attributs ?

noms des clients

prnoms des clients

adresses des clients

codes postaux des clients

villes des clients

rfrences des produits

catgories des produits

marques des produits

prix de vente des produits

rfrences des rclamations

dates des rclamations

existence d'une garantie

retards de livraison

livraisons incompltes

pannes des produits livrs

noms des clients

rfrences des produits

noms des agents

prnoms des agents

noms des agents

Comment organiser les attributs ?Les dfinir

noms des clients

prnoms des clients

adresses des clients

codes postaux des clients

villes des clients

rfrences des produits

catgories des produits

marques des produits

prix de vente des produits

rfrences des rclamations

dates des rclamations

existence d'une garantie

retards de livraison

livraisons incompltes

pannes des produits livrs

noms des clients

rfrences des produits

noms des agents

prnoms des agents

noms des agents

Comment organiser les attributs ?Les dfinir

dates des rclamations date_r

existence d'une garantie garantie

noms des clients nom_c

codes postaux des clients cp

prix de vente des produits prixvente

Les nommer: choisir un identificateur

Comment organiser les attributs ?Les dfinir

date_r ensemble des dates des rclamations

garantie oui, non

nom_c ensemble des noms des clients

cp ensemble des codes postaux des clients

prixvente ensemble des prix de vente des produits

Les nommer: Un domaine est un ensemble fini ou infini de valeurs.

Comment organiser les attributs ?Les dfinir

garantie oui, non

Les nommer: On reprsente le domaine par une liste d'lments ou ...

Comment organiser les attributs ?Les dfinir

date_r ensemble des dates des rclamations

nom_c ensemble des noms des clients

cp ensemble des codes postaux des clients

prixvente ensemble des prix de vente des produits

Les nommer: On reprsente le domaine par une condition ncessaire et suffisante d'appartenance.

Comment organiser les attributs ?Les dfinir

date_r ensemble des dates des rclamations

garantie oui, non

nom_c ensemble des noms des clients

cp ensemble des codes postaux des clients

prixvente ensemble des prix de vente des produits

Comment organiser les attributs ?Les dfinir

date_r date

garantie boolen

nom_c texte

cp texte

prixvente montaire

Les caractriser: Chaque attribut doit tre caractriser par un format, afin de pouvoir stocker correctement l'information.

Comment organiser les attributs ?Les dfinir

date_r non

garantie non

nom_c non

cp non

prixvente numrique

Les caractriser: L'attribut accepte-t-il des donnes quantitatives ?

Comment organiser les attributs ?Les dfinir

date_r non

garantie non

nom_c texte

cp texte

prixvente non

Les caractriser: L'attribut accepte-t-il des chanes de caractres ?

Comment organiser les attributs ?Les dfinir

date_r non

garantie boolen

nom_c non

cp non

prixvente non

Les caractriser: L'attribut accepte-t-il les donnes de type vrai/faux ?

Comment organiser les attributs ?Les dfinir

date_r date

garantie non

nom_c non

cp non

prixvente non

Les caractriser: L'attribut accepte-t-il les donnes de type date ?

Comment organiser les attributs ?Les dfinir

date_r non

garantie non

nom_c non

cp non

prixvente montaire

Les caractriser: L'attribut accepte-t-il les donnes numriques sous forme montaire ?

Comment organiser les attributs ?Les dfinir

date_r date

garantie non

nom_c non

cp non

prixvente montaire

Les caractriser: L'attribut permet-il d'effectuer des calculs ?

Comment organiser les attributs ?Les dfinir

date_r date

garantie boolen

nom_c texte

cp texte

prixvente montaire

Comment organiser les attributs ?Les dfinir

noms des clients

prnoms des clients

adresses des clients

codes postaux des clients

villes des clients

rfrences des produits

catgories des produits

marques des produits

prix de vente des produits

rfrences des rclamations

dates des rclamations

existence d'une garantie

retards de livraison

livraisons incompltes

pannes des produits livrs

prnoms des agents

noms des agents

Comment organiser les attributs ?Les dfinir : identificateurs

nom_c

prenom_c

adresse

cp

ville

reference

categorie

marque

prixvente

reference_r

date_ r

garantie

retard_liv

incomplete_liv

panne

prenom_a

nom_a

Comment organiser les attributs ?Les dfinir : format texte

nom_c

prenom_c

adresse

cp

ville

reference

categorie

marque

reference_r

prenom_a

nom_a

Comment organiser les attributs ?Les dfinir : format numrique

prixvente

Comment organiser les attributs ?Les dfinir : format date

date_ r

Comment organiser les attributs ?Les dfinir : format boolen

reference_r

garantie

retard_liv

incomplete_liv

panne

Comment organiser les attributs ?Les regrouper

Regrouper les attributs de mme nature, les rassembler dans une relation. Cette relation est dsigne par un nom reprsentatif des attributs qu'elle regroupe.

nom_c

prenom_c

adresse

cp

ville

reference

marque

reference_r

date_ r

garantie

incomplete_liv

panne

nom_a

categorie

prixvente

prenom_a

Comment organiser les attributs ?Les regrouper

Relationclient (nom_c, prenom_c, adresse, cp, ville)

nom_c

prenom_c

adresse

cp

ville

reference

marque

reference_r

date_ r

garantie

incomplete_liv

panne

nom_a

categorie

prixvente

prenom_a

Comment organiser les attributs ?Les regrouper

Relationproduit (reference, categorie, marque, prixvente)

nom_c

prenom_c

adresse

cp

ville

reference

marque

reference_r

date_ r

garantie

incomplete_liv

panne

nom_a

categorie

prixvente

prenom_a

Comment organiser les attributs ?Les regrouper

Relationagent (nom_a, prenom_a)

nom_c

prenom_c

adresse

cp

ville

reference

marque

reference_r

date_ r

garantie

incomplete_liv

panne

nom_a

categorie

prixvente

prenom_a

Comment organiser les attributs ?Les regrouper

Relationreclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference, nom_c, nom_a )

nom_c

prenom_c

adresse

cp

ville

reference

marque

reference_r

date_ r

garantie

incomplete_liv

panne

nom_a

categorie

prixvente

prenom_a

Comment organiser les attributs ?Les regrouper

La dpendance fonctionnelle directe:

Comment organiser les attributs ?Les regrouper

La dpendance fonctionnelle directe:deux donnes X et Y sont en dpendance fonctionnelle lorsque la connaissance de X entrane la connaissance de Y.

Comment organiser les attributs ?Les regrouper

La cl primaire est l'attribut qui permet de distinguer les diffrentes valeurs d'une relation.

Comment organiser les attributs ?Les regrouper

La valeur de la cl primaire permet d'identifier de manire unique les autres valeurs des attributs de la relation.

Comment organiser les attributs ?Les regrouper

La valeur de l'attribut reference permet d'identifier de manire unique les autres valeurs des attributs de la relation.

prixvente

marque

categorie

reference

Comment organiser les attributs ?Les regrouper

La valeur de l'attribut reference permet d'identifier de manire unique les autres valeurs des attributs de la relation.

produit (reference, categorie, marque, prixvente)

Comment organiser les attributs ?Les regrouper

L'attribut reference est donc la cl primaire.Par convention la cl primaire est souligne.

produit (reference, categorie, marque, prixvente)

Comment organiser les attributs ?Les regrouper

La valeur de l'attribut nom_c ne permet pas d'identifier de manire unique les autres valeurs des attributs de la relation.En effet il peut y avoir plusieurs clients portant le mme nom.

client (nom_c, prenom_c, adresse, cp, ville)

Comment organiser les attributs ?Les regrouper

Il est donc ncessaire de crer un nouvel attribut permettant d'identifier de manire unique les autres valeurs des attributs de la relation. On peut utiliser un code client nomm code_c.

prenom_c

nom_c

cp

adresse

code_c

ville

Comment organiser les attributs ?Les regrouper

Il est donc ncessaire de crer un nouvel attribut permettant d'identifier de manire unique les autres valeurs des attributs de la relation. On peut utiliser un code client nomm code_c.

client (code_c, nom_c, prenom_c, adresse, cp, ville)

Comment organiser les attributs ?Les regrouper

La valeur de l'attribut nom_a ne permet pas d'identifier de manire unique les autres valeurs des attributs de la relation.En effet il peut y avoir plusieurs agents portant le mme nom.

agent (nom_a, prenom_a)

Comment organiser les attributs ?Les regrouper

Il est donc ncessaire de crer un nouvel attribut permettant d'identifier de manire unique les autres valeurs des attributs de la relation. On peut utiliser un code agent nomm code_a.

prenom_a

nom_a

code_a

Comment organiser les attributs ?Les regrouper

Il est donc ncessaire de crer un nouvel attribut permettant d'identifier de manire unique les autres valeurs des attributs de la relation. On peut utiliser un code agent nomm code_a.

agent (code_a, nom_a, prenom_a)

Comment organiser les attributs ?Les regrouper

La valeur de l'attribut reference_r permet d'identifier de manire unique les autres valeurs des attributs de la relation.

reference_r

date_ r

garantie

incomplete_liv

panne

Comment organiser les attributs ?Les regrouper

La valeur de l'attribut reference_r permet d'identifier de manire unique les autres valeurs des attributs de la relation.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference, code_c, code_a )

prixvente

prenom_c

reference_r

prenom_a

nom_a

code_a

marque

categorie

reference

nom_c

ville

cp

adresse

code_c

date_ r

garantie

incomplete_liv

panne

agentproduitclientUne rclamation est grepar un agent et concerneun produit donn pour un client.Comment organiser les relations ?Les lier

prixvente

prenom_c

reference_r

prenom_a

nom_a

code_a

marque

categorie

reference

nom_c

ville

cp

adresse

code_c

date_ r

garantie

incomplete_liv

panne

agentproduitclientreclamationComment organiser les relations ?Les lier

Comment organiser les relations ?Les lier

prixvente

prenom_c

reference_r

prenom_a

nom_a

code_a

marque

categorie

reference

nom_c

ville

cp

adresse

code_c

date_ r

garantie

incomplete_liv

panne

Comment organiser les relations ?Les lier

reference_r

code_a

reference

code_c

date_ r

garantie

incomplete_liv

panne

Une cl trangre est un attribut qui est la cl primaire d'une autre relation.

Comment organiser les relations ?Les lier

reference_r

code_a

reference

code_c

date_ r

garantie

incomplete_liv

panne

Il s'agit d'une dpendance directe.

Comment organiser les relations ?Les lier

reference_r

code_a

reference

code_c

date_ r

garantie

incomplete_liv

panne

La cl trangre permet d'tablir la liaison entre les relations.

Comment organiser les relations ?Les lier

La cl trangre permet d'tablir la liaison entre les relations.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference, code_c, code_a )

Comment organiser les relations ?Les lier

La cl trangre permet d'tablir la liaison entre les relations.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference, code_c, code_a )

agent (code_a, nom_a, prenom_a)

client (code_c, nom_c, prenom_c, adresse, cp, ville)

produit (reference, categorie, marque, prixvente)

Comment organiser les relations ?Les lier

La cl trangre permet d'tablir la liaison entre les relations.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference, code_c, code_a )

agent (code_a, nom_a, prenom_a)

client (code_c, nom_c, prenom_c, adresse, cp, ville)

produit (reference, categorie, marque, prixvente)

Comment organiser les relations ?Les lier

La cl trangre permet d'tablir la liaison entre les relations.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference, code_c, code_a )

agent (code_a, nom_a, prenom_a)

client (code_c, nom_c, prenom_c, adresse, cp, ville)

produit (reference, categorie, marque, prixvente)

Comment organiser les relations ?Les lier

Par convention la cl trangre est souvent signale par un #

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference#, code_c#, code_a# )

Comment reprsenter le modle relationnel ?

Un modle relationnel est reprsent en ligne.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference#, code_c#, code_a# )

agent (code_a, nom_a, prenom_a)

client (code_c, nom_c, prenom_c, adresse, cp, ville)

produit (reference, categorie, marque, prixvente)

Comment reprsenter le modle relationnel ?

Chaque relation est identifie par un nom.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference#, code_c#, code_a# )

agent (code_a, nom_a, prenom_a)

client (code_c, nom_c, prenom_c, adresse, cp, ville)

produit (reference, categorie, marque, prixvente)

Comment reprsenter le modle relationnel ?

La cl primaire de la relation est souligne.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference#, code_c#, code_a# )

agent (code_a, nom_a, prenom_a)

client (code_c, nom_c, prenom_c, adresse, cp, ville)

produit (reference, categorie, marque, prixvente)

Comment reprsenter le modle relationnel ?

La cl trangre est signale par un #.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference#, code_c#, code_a# )

agent (code_a, nom_a, prenom_a)

client (code_c, nom_c, prenom_c, adresse, cp, ville)

produit (reference, categorie, marque, prixvente)

Le modle relationnel

La cl trangre est signale par un #.

reclamation (reference_r, date_ r, garantie, incomplete_liv, panne, reference#, code_c#, code_a# )

agent (code_a, nom_a, prenom_a)

client (code_c, nom_c, prenom_c, adresse, cp, ville)

produit (reference, categorie, marque, prixvente)

Le modle relationnel