• Aucun résultat trouvé

Bases de données Bases de données

N/A
N/A
Protected

Academic year: 2022

Partager "Bases de données Bases de données"

Copied!
125
0
0

Texte intégral

(1)

Bases de données Bases de données

Thierry Lecroq Thierry Lecroq

Thierry.Lecroq@univ-rouen.fr Thierry.Lecroq@univ-rouen.fr

http://www-igm.univ-mlv.fr/~lecroq http://www-igm.univ-mlv.fr/~lecroq

(2)

Si on souhaite mettre à jour l'adresse d'un fournisseur, il faut Si on souhaite mettre à jour l'adresse d'un fournisseur, il faut le faire partout ;

le faire partout ;

Pour ajouter un fournisseur nouveau, il faut obligatoirement Pour ajouter un fournisseur nouveau, il faut obligatoirement fournir des valeurs de produit et de quantité ;

fournir des valeurs de produit et de quantité ;

La suppression de Plaques ou Pinces fait perdre les La suppression de Plaques ou Pinces fait perdre les

informations concernant les fournisseurs de ces produits.

informations concernant les fournisseurs de ces produits.

ADRESSE FOURNISSEUR

QUANTITE PRODUIT

Grande rue QUIN K

50 Pinces

Quai des brumes L VIS

1000 Boulons

Bd des Belges ART PLAQUES

100 Plaques

Quai des brumes L VIS

300 Vis

(3)

Plan du cours Plan du cours

1.1. Introduction aux systèmes de gestion de bases Introduction aux systèmes de gestion de bases de données

de données

2.2. Le modèle Entité - AssociationLe modèle Entité - Association 3.3. Le modèle relationnelLe modèle relationnel

4.4. Dépendances fonctionnellesDépendances fonctionnelles 5.5. NormalisationNormalisation

(4)

1. Introduction aux systèmes de 1. Introduction aux systèmes de

gestion de bases de données gestion de bases de données

1.1 Un peu d'histoire 1.1 Un peu d'histoire

les SGBD ont vu le jour dans les années 1960 ;les SGBD ont vu le jour dans les années 1960 ;

gérer d'importants volume de données ;gérer d'importants volume de données ;

systèmes propriétaires appartenant à des constructeurs systèmes propriétaires appartenant à des constructeurs d'ordinateurs (ex : IBM - International Business

d'ordinateurs (ex : IBM - International Business Machine) ;

Machine) ;

fonctionnent sur des grands systèmes (fonctionnent sur des grands systèmes (main framesmain frames) ;) ;

schéma d'organisation « hiérarchique » ou « réseau ».schéma d'organisation « hiérarchique » ou « réseau ».

(5)

Le modèle hiérarchique Le modèle hiérarchique

BD construite selon un modèle en arborescence, BD construite selon un modèle en arborescence, avec une racine et plusieurs niveaux de sous-

avec une racine et plusieurs niveaux de sous- arbres ;

arbres ;

Chaque élément comporte juste un lien vers le Chaque élément comporte juste un lien vers le niveau inférieur ;

niveau inférieur ;

Les accès aux données commencent par la Les accès aux données commencent par la

racine et descendent l'arborescence jusqu'aux racine et descendent l'arborescence jusqu'aux

détails recherchés.

détails recherchés.

(6)

Le modèle réseau Le modèle réseau

nombreux liens entre les différents éléments de nombreux liens entre les différents éléments de données ;

données ;

accès aux données réalisés par des accès aux données réalisés par des cheminements divers.

cheminements divers.

(7)

Le modèle relationnel de Codd Le modèle relationnel de Codd

1970 ;1970 ;

Codd chercheur chez IBM ;Codd chercheur chez IBM ;

modèle conceptuel reposant sur une représentation unifiée de modèle conceptuel reposant sur une représentation unifiée de l'information sous forme de tables ;

l'information sous forme de tables ;

dispose d'un fondement mathématique solide avec l'algèbre dispose d'un fondement mathématique solide avec l'algèbre relationnel (opérations ensemblistes) ;

relationnel (opérations ensemblistes) ;

permet une grande indépendance entre les applications, les permet une grande indépendance entre les applications, les données et le support physique ;

données et le support physique ;

propose une démarche cohérente et unifiée pour :propose une démarche cohérente et unifiée pour :

la description des données (LDD : Langage de Description des la description des données (LDD : Langage de Description des Données) ;

Données) ;

l'interrogation des données (LMD : Langage de Manipulation l'interrogation des données (LMD : Langage de Manipulation

(8)

Le modèle relationnel de Codd Le modèle relationnel de Codd

(suite) (suite)

supporte le langage SQLsupporte le langage SQL

(9)

Les différents SGBD Les différents SGBD

MicroMicro

dBase (Borland) : gestionnaire de fichiers structurés dBase (Borland) : gestionnaire de fichiers structurés + langage de programmation

+ langage de programmation

FoxProFoxPro

Access (Microsoft)Access (Microsoft)

Paradox (Borland)Paradox (Borland)

(10)

Les différents SGBD Les différents SGBD

Stations de travail et mini-ordinateursStations de travail et mini-ordinateurs

OracleOracle

IngresIngres

InformixInformix

SybaseSybase

DB2 (IBM)DB2 (IBM)

(11)

Les SGBD, raison d'être de l'informatique de Les SGBD, raison d'être de l'informatique de gestion ont vu leur domaine d'application

gestion ont vu leur domaine d'application s'élargir considérablement :

s'élargir considérablement :

Bases de connaissancesBases de connaissances

Systèmes expertSystèmes expert

SIG (Systèmes d'Information Géographiques)SIG (Systèmes d'Information Géographiques)

BioinformatiqueBioinformatique

......

(12)

1.2 Base de données et 1.2 Base de données et

Système de Gestion de Base Système de Gestion de Base

de Données de Données

Une base de données (BD) est un ensemble Une base de données (BD) est un ensemble

structuré de données enregistrées avec le structuré de données enregistrées avec le

minimum de redondance pour satisfaire minimum de redondance pour satisfaire

simultanément plusieurs utilisateurs de façon simultanément plusieurs utilisateurs de façon

sélective en un temps opportun.

sélective en un temps opportun.

(13)

L'approche BD correspond à une triple évolution : L'approche BD correspond à une triple évolution :

évolution des entreprises (volumes importants de évolution des entreprises (volumes importants de données, centralisées ou réparties) ;

données, centralisées ou réparties) ;

évolution des technologies (accroissement des évolution des technologies (accroissement des performances, intégration des composants,

performances, intégration des composants, diminution des coûts) ;

diminution des coûts) ;

évolution des systèmes d'exploitation et des évolution des systèmes d'exploitation et des architectures (extension logicielle du matériel architectures (extension logicielle du matériel

initial, architecture client-serveur et réseaux initial, architecture client-serveur et réseaux

combinant de façon transparente des machines et combinant de façon transparente des machines et

des applications hétérogènes).

des applications hétérogènes).

(14)

Un SGBD est centré sur les données contrairement Un SGBD est centré sur les données contrairement

aux systèmes de gestion plus anciens (et aux systèmes de gestion plus anciens (et

dépassés) basés sur les fonctions et les dépassés) basés sur les fonctions et les

traitements (ex : chaîne de traitement de la paie, traitements (ex : chaîne de traitement de la paie,

chaîne de la facturation, gestion des stocks...).

chaîne de la facturation, gestion des stocks...).

(15)

Approche gestion de fichiers Approche gestion de fichiers

fichiers définis pour un ou plusieurs fichiers définis pour un ou plusieurs programmes ;

programmes ;

les données d'un fichier sont directement les données d'un fichier sont directement

associées à un programme par une description associées à un programme par une description

contenue dans le programme lui-même ; contenue dans le programme lui-même ;

aucune indépendance entre programme et aucune indépendance entre programme et données ;

données ;

toute modification de la structure de données toute modification de la structure de données nécessite la réécriture des programmes.

nécessite la réécriture des programmes.

(16)

Approche base de données Approche base de données

structuration et description des données sont structuration et description des données sont unifiées et séparées des programmes

unifiées et séparées des programmes d'application ;

d'application ;

la gestion des données (stockage, modification, la gestion des données (stockage, modification, recherche) qui est étroitement dépendante de

recherche) qui est étroitement dépendante de leur structuration est fournie par le système de leur structuration est fournie par le système de

gestion des données ; gestion des données ;

les applications ne communiquent avec les les applications ne communiquent avec les

données qu'au travers d'une interface de gestion.

données qu'au travers d'une interface de gestion.

(17)

Approche base de données Approche base de données

(suite) (suite)

indépendance entre données et applications indépendance entre données et applications (peuvent être modifiées indépendamment) ; (peuvent être modifiées indépendamment) ;

le programmeur d'application (le programmeur d'application (a fortioria fortiori l'utilisateur final) n'a pas à connaître

l'utilisateur final) n'a pas à connaître l'organisation physique des données.

l'organisation physique des données.

(18)

Un SGBD permet de communiquer avec une BD Un SGBD permet de communiquer avec une BD pourpour

décrire et organiser les données sur mémoire décrire et organiser les données sur mémoire secondaire (disques) ;

secondaire (disques) ;

rechercher, sélectionner et modifier les données.rechercher, sélectionner et modifier les données.

Un SGBD offre la possibilité de manipuler des Un SGBD offre la possibilité de manipuler des

représentations abstraites des données représentations abstraites des données

indépendamment de leur organisation et de leur indépendamment de leur organisation et de leur

implantation sur les supports physiques (mémoires).

implantation sur les supports physiques (mémoires).

(19)

On peut considérer un SGBD comme un On peut considérer un SGBD comme un

interprêteur d'un langage de programmation de interprêteur d'un langage de programmation de haut niveau qui permet à l'utilisateur de décrire haut niveau qui permet à l'utilisateur de décrire

précisément ce qu'il veut obtenir et non précisément ce qu'il veut obtenir et non

comment l'obtenir : c'est-à-dire formuler une comment l'obtenir : c'est-à-dire formuler une

assertion et non décrire une procédure (langage assertion et non décrire une procédure (langage

assertionnel

assertionnel versusversus langage procédural) langage procédural)

(20)

Un SGBD assure Un SGBD assure

la la descriptiondescription des données ; des données ;

la la rechercherecherche et la et la mise à jourmise à jour des données ; des données ;

la sûretéla sûreté des données : vérifier les droits d'accès des des données : vérifier les droits d'accès des utilisateurs, crypter les informations sensibles ;

utilisateurs, crypter les informations sensibles ;

la la sécuritésécurité des données : sauvegarder et restaurer les des données : sauvegarder et restaurer les données, limiter les erreurs de saisie, de manipulation ; données, limiter les erreurs de saisie, de manipulation ;

l'l'intégritéintégrité des données : définir des règles qui des données : définir des règles qui

maintiennent l'intégrité des données (contraintes maintiennent l'intégrité des données (contraintes

d'intégrité) ; d'intégrité) ;

la la concurrenceconcurrence des accès : détecter et traiter les cas où il y des accès : détecter et traiter les cas où il y a conflit d'accès entre plusieurs utilisateurs.

a conflit d'accès entre plusieurs utilisateurs.

(21)

1.3 Mise en oeuvre d'un SGBD 1.3 Mise en oeuvre d'un SGBD

On distingue 3 niveaux. À chaque niveau On distingue 3 niveaux. À chaque niveau

correspond un schéma de représentation : correspond un schéma de représentation :

le niveau interne avec le schéma physique ;le niveau interne avec le schéma physique ;

le niveau conceptuel avec le schéma conceptuel ;le niveau conceptuel avec le schéma conceptuel ;

le niveau externe avec les vues.le niveau externe avec les vues.

(22)

Le niveau interne Le niveau interne

Le schéma physique spécifie comment les données sont Le schéma physique spécifie comment les données sont

enregistrées sur les mémoires secondaires.

enregistrées sur les mémoires secondaires.

La base physique de données, seule, a une existence La base physique de données, seule, a une existence

matérielle.

matérielle.

Cette base est elle-même perçue à différents niveaux Cette base est elle-même perçue à différents niveaux

d'abstraction : d'abstraction :

fichierfichier

enregistrement, article (enregistrement, article (struct ou struct ou record d'un langage de record d'un langage de programmation)

programmation)

mot machinemot machine

octetoctet

bitbit

(23)

Le niveau conceptuel Le niveau conceptuel

Le schéma conceptuel décrit en termes abstraits mais Le schéma conceptuel décrit en termes abstraits mais fidèles la réalité du domaine d'application.

fidèles la réalité du domaine d'application.

Pour une BD d'une compagnie aérienne le niveau Pour une BD d'une compagnie aérienne le niveau conceptuel exprimera la réalité en termes de vol, conceptuel exprimera la réalité en termes de vol,

équipage, passager, horaire...

équipage, passager, horaire...

Le SGBD fournit un langage de définition des données Le SGBD fournit un langage de définition des données (LDD) (

(LDD) (DDLDDL - - Data Description LanguageData Description Language) qui permet ) qui permet de spécifier le schéma conceptuel.

de spécifier le schéma conceptuel.

C'est un langage de haut niveau qui décrit la BD C'est un langage de haut niveau qui décrit la BD conceptuelle par référence à un modèle de données.

conceptuelle par référence à un modèle de données.

Un graphe Entité-Association constitue un exemple de Un graphe Entité-Association constitue un exemple de modèle de données

modèle de données

(24)

Le niveau externe Le niveau externe

Le schéma externe, encore appelé « vue », Le schéma externe, encore appelé « vue »,

permet de décrire la façon dont sont perçues les permet de décrire la façon dont sont perçues les

données par un programme d'application.

données par un programme d'application.

Une vue est une représentation abstraite d'une Une vue est une représentation abstraite d'une partie de la BD conceptuelle (ou un sous-

partie de la BD conceptuelle (ou un sous- schéma du schéma conceptuel).

schéma du schéma conceptuel).

(25)

Le niveau externe (suite) Le niveau externe (suite)

Dans l'exemple de la compagnie aérienne, le Dans l'exemple de la compagnie aérienne, le service de réservation ne s'occupe que des vols service de réservation ne s'occupe que des vols

et des passagers et n'a pas à avoir accès aux et des passagers et n'a pas à avoir accès aux

données relatives au personnel et à l'affectation données relatives au personnel et à l'affectation

des pilotes sur les différents vols.

des pilotes sur les différents vols.

(26)

Le niveau externe (suite) Le niveau externe (suite)

En général, une vue est un sous-ensemble de la base En général, une vue est un sous-ensemble de la base conceptuelle de données.

conceptuelle de données.

Cependant, dans certains cas, une vue peut être plus Cependant, dans certains cas, une vue peut être plus abstraite que la base conceptuelle des données.

abstraite que la base conceptuelle des données.

Par exemple, les données qu'elle utilise peuvent se Par exemple, les données qu'elle utilise peuvent se

déduire de la base conceptuelle des données mais ne sont déduire de la base conceptuelle des données mais ne sont pas présentent dans celle-ci (ex : âge calculé à partir de la pas présentent dans celle-ci (ex : âge calculé à partir de la

date de naissance et de la date du jour).

date de naissance et de la date du jour).

(27)

Lors de la conception d'une BD on raisonne sur Lors de la conception d'une BD on raisonne sur le schéma conceptuel.

le schéma conceptuel.

Lors de l'exploitation de la BD on s'intéresse Lors de l'exploitation de la BD on s'intéresse aux données effectivement présentes.

aux données effectivement présentes.

L'ensemble des données présentes à un instant L'ensemble des données présentes à un instant déterminé est dénommé l'

déterminé est dénommé l'extensionextension de la base de la base ((instancesinstances).).

(28)

1.4 Indépendance physique - 1.4 Indépendance physique -

indépendance logique indépendance logique

La classification précédente suggère 2 types La classification précédente suggère 2 types

d'indépendance.

d'indépendance.

(29)

L'indépendance physique L'indépendance physique

On doit pouvoir changer le schéma physique On doit pouvoir changer le schéma physique sans modifier le schéma conceptuel et sans sans modifier le schéma conceptuel et sans

redéfinir les vues.

redéfinir les vues.

Les programmes d'application n'ont pas à être Les programmes d'application n'ont pas à être réécrits quand on change de configuration

réécrits quand on change de configuration matérielle ou de version du système

matérielle ou de version du système d'exploitation.

d'exploitation.

(30)

L'indépendance logique L'indépendance logique

On doit pouvoir modifier le schéma On doit pouvoir modifier le schéma

conceptuel en ajoutant des informations à conceptuel en ajoutant des informations à

certaines entités sans modifier les certaines entités sans modifier les

programmes d'application.

programmes d'application.

(31)

1.5 SGBD et langages 1.5 SGBD et langages

langages de programmation classiques : langages de programmation classiques : déclarations et instructions dans le même déclarations et instructions dans le même

langage langage

SGBD : 2 langages différentsSGBD : 2 langages différents

Dans un SGBD les données existent en Dans un SGBD les données existent en

permanence et doivent être déclarées une fois permanence et doivent être déclarées une fois

pour toute contrairement aux variables des pour toute contrairement aux variables des

programmes classiques qui disparaissent à programmes classiques qui disparaissent à

l'arrêt du programme.

l'arrêt du programme.

(32)

Le langage de description des Le langage de description des

données (LDD) données (LDD)

spécifie le schéma conceptuelspécifie le schéma conceptuel

descriptif des types d'entités, de leurs attributs et descriptif des types d'entités, de leurs attributs et

domaines et des associations (ou relations) entre ces domaines et des associations (ou relations) entre ces

entités entités

utiliséutilisé

lors de la définition de la BDlors de la définition de la BD

lors des modifications du schéma conceptuellors des modifications du schéma conceptuel

pour préciser la façon dont les données sont pour préciser la façon dont les données sont

enregistrées et comment y accéder (correspondance enregistrées et comment y accéder (correspondance entre schéma conceptuel et schéma physique)

entre schéma conceptuel et schéma physique)

(33)

Le langage de manipulation Le langage de manipulation

des données (LMD) ou des données (LMD) ou

langage d'interrogation langage d'interrogation

interroger la baseinterroger la base

mettre à jour les donnéesmettre à jour les données

Généralement un programme d'application (ex : gérer les Généralement un programme d'application (ex : gérer les

réservations) est écrit dans un langage de programmation réservations) est écrit dans un langage de programmation

classique, appelé « langage hôte » (C, C++, Cobol, Java, ...) et classique, appelé « langage hôte » (C, C++, Cobol, Java, ...) et

la communication avec la BD s'effectue avec des instructions du la communication avec la BD s'effectue avec des instructions du

LMD activées à partir du langage hôte.

LMD activées à partir du langage hôte.

On conserve ainsi la puissance des langages de programmation pour On conserve ainsi la puissance des langages de programmation pour

l'application tout en profitant de la généralité et de la portabilité du l'application tout en profitant de la généralité et de la portabilité du LMD.LMD.

(34)

1.6 Les intervenants 1.6 Les intervenants

L'L'administrateuradministrateur de la BD a la responsabilité de la gestion du de la BD a la responsabilité de la gestion du système dans son ensemble :

système dans son ensemble :

définition du schéma original de la basedéfinition du schéma original de la base

choix des structures de données et des méthodes d'accès au choix des structures de données et des méthodes d'accès au niveau physique

niveau physique

modifications éventuelles du schéma et de l'organistaion en modifications éventuelles du schéma et de l'organistaion en fonction de l'évolution de la BD

fonction de l'évolution de la BD

gestion des droits d'accès et des privilèges des utilisateursgestion des droits d'accès et des privilèges des utilisateurs

spécification des contraintes d'intégritéspécification des contraintes d'intégrité

sauvegardes et restaurationssauvegardes et restaurations

programmation (ou acquisition) d'applicationsprogrammation (ou acquisition) d'applications

(35)

1.6 Les intervenants (suite) 1.6 Les intervenants (suite)

Les Les utilisateurs occasionnelsutilisateurs occasionnels : :

interagissent avec le système sans écrire de interagissent avec le système sans écrire de

programme d'application mais en formulant leurs programme d'application mais en formulant leurs

requêtes avec le LMD requêtes avec le LMD

Les Les utilisateurs habituelsutilisateurs habituels : :

utilisent des programmes d'application prédéfinisutilisent des programmes d'application prédéfinis

(36)

2 Le modèle Entité - Association 2 Le modèle Entité - Association

L'informatisation de nombre d'activités nécessite L'informatisation de nombre d'activités nécessite leur modélisation, c'est-à-dire leur expression

leur modélisation, c'est-à-dire leur expression sous une forme symbolique (le plus souvent sous une forme symbolique (le plus souvent

mathématique) susceptible d'être représentée en mathématique) susceptible d'être représentée en

machine.

machine.

Le modèle Le modèle Entité - AssociationEntité - Association (EA) ou Entité - (EA) ou Entité - Relation fournit un outil pour analyser les

Relation fournit un outil pour analyser les situations du monde réel (entreprises,

situations du monde réel (entreprises, institutions, ...).

institutions, ...).

(37)

2.1 Entité 2.1 Entité

Une Une entitéentité est un être ou un objet (concret ou est un être ou un objet (concret ou

abstrait) qui existe et qui peut être distingué d'un abstrait) qui existe et qui peut être distingué d'un

autre objet.

autre objet.

Exemple : une personne (Martin), un véhicule Exemple : une personne (Martin), un véhicule (bicyclette), un concept (emploi), un sentiment (bicyclette), un concept (emploi), un sentiment

(joie) ...

(joie) ...

On regroupe les entités de même nature en On regroupe les entités de même nature en ensembles d'entités,

ensembles d'entités, par exemple toutes les par exemple toutes les personnes, tous les véhicules...

personnes, tous les véhicules...

(38)

Classes d'entités Classes d'entités

Une Une classe d'entitésclasse d'entités représente de manière représente de manière abstraite un ensemble d'entités.

abstraite un ensemble d'entités.

Par exemple les classes d'entités PERSONNE, Par exemple les classes d'entités PERSONNE, VEHICULE,SENTIMENT...

VEHICULE,SENTIMENT...

(39)

Classes d'entités (suite) Classes d'entités (suite)

Un ensemble d'entités se définit : Un ensemble d'entités se définit :

en extension, en extension, ex : { féminin, masculin }ex : { féminin, masculin }

en intention, en intention, ex : { ex : { xx est une personne telle est une personne telle que sexe (

que sexe (xx) = féminin }) = féminin }

par un produit cartésienpar un produit cartésien

AA, , BB et et CC désignent des ensembles désignent des ensembles

AA ×× BB ×× CC désignent l'ensemble des triplets désignent l'ensemble des triplets de la forme (

de la forme (aa,,bb,,cc) avec ) avec aa ∈ ∈ AA, , bb ∈∈ BB et et cc ∈∈ CC

(40)

Classes d'entités (suite) Classes d'entités (suite)

Exemple Exemple

Au rayon produits frais d'un supermarché, les Au rayon produits frais d'un supermarché, les denrées peuvent être considérées comme des denrées peuvent être considérées comme des

ensembles d'entités définis par 3 ensembles : NOM, ensembles d'entités définis par 3 ensembles : NOM,

PRIX et POIDS PRIX et POIDS

(carotte, 0,65, 1) est un tuple (ici un triplet) de (carotte, 0,65, 1) est un tuple (ici un triplet) de l'ensemble d'entités DENREE

l'ensemble d'entités DENREE

(41)

Attribut, valeur, domaine, clé Attribut, valeur, domaine, clé

Un Un attributattribut est une propriété caractéristique des est une propriété caractéristique des entités d'une même classe.

entités d'une même classe.

Un attribut associe à chaque entité une Un attribut associe à chaque entité une valeurvaleur appartenant à un domaine.

appartenant à un domaine.

Un Un domainedomaine est un ensemble de valeurs est un ensemble de valeurs acceptables pour l'attribut considéré.

acceptables pour l'attribut considéré.

(42)

Attribut, valeur, domaine, clé Attribut, valeur, domaine, clé

(suite) (suite)

Exemples Exemples

Le domaine de l'attribut PRIX est l'ensemble des Le domaine de l'attribut PRIX est l'ensemble des réels positifs.

réels positifs.

Les entités de l'ensemble d'entités ETUDIANT Les entités de l'ensemble d'entités ETUDIANT ont les attributs NOM, DDN (date de naissance), ont les attributs NOM, DDN (date de naissance), ADRESSE. Les domaines de valeurs sont ici les ADRESSE. Les domaines de valeurs sont ici les chaînes de caractères qui permettent de préciser chaînes de caractères qui permettent de préciser

le nom, la date de naissance et l'adresse.

le nom, la date de naissance et l'adresse.

(43)

Attribut, valeur, domaine, clé Attribut, valeur, domaine, clé

(suite) (suite)

Une Une cléclé est un attribut ou un ensemble est un attribut ou un ensemble

d'attributs dont les valeurs identifient de manière d'attributs dont les valeurs identifient de manière

unique une entité au sein de l'ensemble d'entités.

unique une entité au sein de l'ensemble d'entités.

Exemple : pour l'ensemble d'entités Exemple : pour l'ensemble d'entités

ETUDIANT, NOM, DDN et ADRESSE ne ETUDIANT, NOM, DDN et ADRESSE ne

forment pas une clé car 2 étudiants jumeaux ne forment pas une clé car 2 étudiants jumeaux ne

sont pas distingués.

sont pas distingués.

(44)

Notations Notations

EE = ( = (AA11,,AA22,...,,...,AAnn) est le schéma de l'ensemble ) est le schéma de l'ensemble d'entités

d'entités EE

les les AAii sont les attributs de sont les attributs de EE ( 1 ( 1 ii nn))

DD((AAii) est le domaine de l'attribut ) est le domaine de l'attribut AAii

ee = ( = (aa11,,aa22,...,,...,aann) est une entité, c'est-à-dire une ) est une entité, c'est-à-dire une instanciation

instanciation ou ou occurrenceoccurrence de de EE avec avec aaii DD((AAii) ) pour 1

pour 1 ii nn

KK((EE) = () = (AAii,...,,...,AAjj) est la clé de () est la clé de (AA11,,AA22,...,,...,AAnn))

((AAii,...,,...,AAjj) ) ( (AA11,,AA22,...,,...,AAnn) signifie que () signifie que (AAii,...,,...,AAjj) ) détermine de façon unique (A ,A ,...,A )

(45)

Le choix des attributs, domaines et clés Le choix des attributs, domaines et clés constitue une étape essentielle lors de la constitue une étape essentielle lors de la

définition d'un modèle du monde réel.

définition d'un modèle du monde réel.

Parmi toutes les clés qui identifient une entité Parmi toutes les clés qui identifient une entité dans un ensemble, on appelle

dans un ensemble, on appelle clé primaireclé primaire celle celle qui est retenue (parmi les

qui est retenue (parmi les clés candidatesclés candidates) par le ) par le concepteur de la BD pour identifier l'ensemble concepteur de la BD pour identifier l'ensemble

considéré.

considéré.

(46)

Entité dominante et entité Entité dominante et entité

subordonnée subordonnée

Si l'existence d'une entité Si l'existence d'une entité yy dépend de dépend de l'existence d'une entité

l'existence d'une entité xx, , xx est dominante et est dominante et yy est est subordonnée.

subordonnée.

Si Si xx doit être éliminé de la BD, doit être éliminé de la BD, yy doit l'être doit l'être aussi.

aussi.

(47)

Entité dominante et entité Entité dominante et entité

subordonnée (exemple) subordonnée (exemple)

Une BD BANQUE, les entités CLIENT, EMPLOYE, COMPTE, Une BD BANQUE, les entités CLIENT, EMPLOYE, COMPTE, TRANSACTION avec

TRANSACTION avec

COMPTE définie par les attributs NUMCOMPTE et SOLDECOMPTE définie par les attributs NUMCOMPTE et SOLDE

TRANSACTION définie par les attributs NUMTRANSACTION, TRANSACTION définie par les attributs NUMTRANSACTION, DATE et MONTANT

DATE et MONTANT

Un compte peut être concerné par plusieurs transactions.

Un compte peut être concerné par plusieurs transactions.

Une transaction doit être associée à un compte.

Une transaction doit être associée à un compte.

Si un compte est supprimé, il faut alors supprimer toutes les Si un compte est supprimé, il faut alors supprimer toutes les

transactions qui le concernent (l'inverse n'est pas vrai).

transactions qui le concernent (l'inverse n'est pas vrai).

L'entité COMPTE est dominante, l'entité TRANSACTION est L'entité COMPTE est dominante, l'entité TRANSACTION est

(48)

Généralisation et hiérarchie Généralisation et hiérarchie

Un ensemble d'entités Un ensemble d'entités EE11 est un est un sous-ensemblesous-ensemble de de EE22 si toute occurrence de si toute occurrence de EE11 est aussi une est aussi une

occurrence de

occurrence de EE22..

L'ensemble d'entités L'ensemble d'entités EE11 hérite des attributs de hérite des attributs de EE22.. Exemple : PILOTE est un sous-ensemble de

Exemple : PILOTE est un sous-ensemble de EMPLOYE dans la BD d'une compagnie EMPLOYE dans la BD d'une compagnie

aérienne aérienne

(49)

Généralisation et hiérarchie Généralisation et hiérarchie

(suite) (suite)

Un ensemble d'entités Un ensemble d'entités EE est une est une généralisationgénéralisation de de EE11,,EE22,...,,...,EEnn si chaque occurrence de si chaque occurrence de EE est une est une

occurrence d'une et une seule entité parmi occurrence d'une et une seule entité parmi EE11,,EE22,...,,...,EEnn..

Les ensembles d'entités Les ensembles d'entités EE11,E,E22,...,E,...,Enn sont des sont des spécialisations de l'ensemble d'entités

spécialisations de l'ensemble d'entités EE.. Exemple : l'ensemble VEHICULE est une Exemple : l'ensemble VEHICULE est une

généralisation des ensembles AUTOMOBILE et généralisation des ensembles AUTOMOBILE et

(50)

Généralisation et hiérarchie Généralisation et hiérarchie

(suite) (suite)

Les ensembles d'entités Les ensembles d'entités EE11,,EE22,...,,...,EEnn héritent des héritent des attributs de

attributs de EE et possèdent en outre des attributs et possèdent en outre des attributs spécifiques qui expriment leur spécialisation.

spécifiques qui expriment leur spécialisation.

Exemple : Exemple :

VEHICULE(marque, modèle) VEHICULE(marque, modèle)

AUTOMOBILE(marque, modèle, AUTOMOBILE(marque, modèle,

immatriculation) immatriculation)

CYCLE(marque, modèle, type) CYCLE(marque, modèle, type)

(51)

Notation Notation

On note On note AA « « EST-UN EST-UN » » BB si l'ensemble si l'ensemble BB est une est une extension de

extension de AA ou ou AA est un cas particulier de est un cas particulier de BB..

Exemple : PILOTE « EST-UN » EMPLOYEExemple : PILOTE « EST-UN » EMPLOYE

(52)

2.2 Association 2.2 Association

Une Une associationassociation d'entités est un regroupement d'entités est un regroupement d'entités traduisant une certaine réalité.

d'entités traduisant une certaine réalité.

Comme pour les entités, on regroupe les Comme pour les entités, on regroupe les associations de même nature en classes associations de même nature en classes

d'associations.

d'associations.

Exemple : entre les entités ETUDIANT et Exemple : entre les entités ETUDIANT et

ENSEIGNEMENT on peut considérer la classe ENSEIGNEMENT on peut considérer la classe

d'association INSCRIT pour traduire le fait d'association INSCRIT pour traduire le fait qu'un étudiant est inscrit à un enseignement.

qu'un étudiant est inscrit à un enseignement.

(53)

Attribut d'une association Attribut d'une association

Un Un attributattribut d'une classe d'association est une d'une classe d'association est une propriété qui dépend de toutes les entités

propriété qui dépend de toutes les entités intervenant dans l'association.

intervenant dans l'association.

Exemple : la classe d'association INSCRIT définie Exemple : la classe d'association INSCRIT définie

entre les classes d'entités ETUDIANT et entre les classes d'entités ETUDIANT et

ENSEIGNEMENT a pour attribut l'année de ENSEIGNEMENT a pour attribut l'année de

première inscription de l'étudiant à cet première inscription de l'étudiant à cet

enseignement. Cette année d'inscription est enseignement. Cette année d'inscription est

attribut de l'association et non de l'une des entités attribut de l'association et non de l'une des entités

car il faut connaître l'étudiant et l'enseignement car il faut connaître l'étudiant et l'enseignement

pour la déterminer.

pour la déterminer.

(54)

Type d'association Type d'association

Le Le type d'associationtype d'association caractérise le nombre de caractérise le nombre de liens autorisés entre entités.

liens autorisés entre entités.

Il sert à distinguer les associations en fonction Il sert à distinguer les associations en fonction du nombre d'entités et de classes d'entités

du nombre d'entités et de classes d'entités qu'elles mettent en jeu.

qu'elles mettent en jeu.

(55)

Type d'association (suite) Type d'association (suite)

On distingue : On distingue :

les associations les associations nn-aires qui relient plus de 2 classes -aires qui relient plus de 2 classes d'entités.

d'entités.

les associations binaires qui relient 2 classes d'entités les associations binaires qui relient 2 classes d'entités EE et et FF : :

de type 1:1 (ou un-à-un) si à une entité de de type 1:1 (ou un-à-un) si à une entité de EE peut peut correspondre par l'association

correspondre par l'association AA au plus une entité de au plus une entité de FF et que réciproquement à une entité de et que réciproquement à une entité de FF peut peut

correspondre par l'association

correspondre par l'association AA au plus une entité de au plus une entité de E E ;;

(56)

Type d'association (suite) Type d'association (suite)

de type 1:de type 1:nn (ou un-à-plusieurs) si à une entité de (ou un-à-plusieurs) si à une entité de EE peut correspondre par l'association

peut correspondre par l'association AA plusieurs plusieurs entités de

entités de FF mais à une entité de mais à une entité de FF ne peut ne peut correspondre par l'association

correspondre par l'association AA qu'au plus une qu'au plus une entité de

entité de E E ;;

de type de type mm::nn (ou plusieurs-à-plusieurs) si à une entité (ou plusieurs-à-plusieurs) si à une entité de de EE peuvent correspondre plusieurs entités de peuvent correspondre plusieurs entités de FF et et

réciproquement.

réciproquement.

(57)

Cardinalité Cardinalité

La La cardinalitécardinalité d'un couple EA est définie de la d'un couple EA est définie de la manière suivante:

manière suivante:

Étant données une classe d'entités Étant données une classe d'entités EE et une classe et une classe d'association

d'association AA reliant reliant EE à une (ou plusieurs) à une (ou plusieurs) autre(s) classe(s) d'entités, on définit

autre(s) classe(s) d'entités, on définit mm (respectivement

(respectivement MM) le nombre minimum ) le nombre minimum

(respectivement maximum) d'associations de (respectivement maximum) d'associations de

classe

classe AA pouvant exister pour une entité donnée pouvant exister pour une entité donnée de classe

de classe EE..

Alors (Alors (mm,,MM) est la cardinalité du couple () est la cardinalité du couple (EE,,AA).).

(58)

Cardinalité (suite) Cardinalité (suite)

Remarques : Remarques :

le minimum peut être 0, 1 ou un entier le minimum peut être 0, 1 ou un entier strictement plus grand que 1 ;

strictement plus grand que 1 ;

le maximum le maximum MM peut valoir 1 ou une valeur peut valoir 1 ou une valeur nn > 1. La valeur de > 1. La valeur de nn n'est souvent pas précisée n'est souvent pas précisée

de manière numérique faute de connaissance de manière numérique faute de connaissance

suffisante.

suffisante.

(59)

Cardinalité (exemple) Cardinalité (exemple)

La relation entre PROPRIETAIRE et La relation entre PROPRIETAIRE et VEHICULE est de type

VEHICULE est de type mm::nn car il est car il est

légalement possible d'acheter un véhicule à légalement possible d'acheter un véhicule à

plusieurs (bien que ce soit peu fréquent) et une plusieurs (bien que ce soit peu fréquent) et une

même personne peut posséder plusieurs même personne peut posséder plusieurs

véhicules.

véhicules.

Quant aux cardinalités, elles sont (0,Quant aux cardinalités, elles sont (0,nn) et (1,) et (1,nn) ) car certains véhicules sont abandonnés (0,

car certains véhicules sont abandonnés (0,nn) ) mais qu'il faut posséder au moins 1 véhicule mais qu'il faut posséder au moins 1 véhicule

(60)

Contraintes d'identité Contraintes d'identité

fonctionnelle (CIF) fonctionnelle (CIF)

Quand on détermine, entre une association et une Quand on détermine, entre une association et une

entité, une cardinalité présentant les valeurs (0,1) ou entité, une cardinalité présentant les valeurs (0,1) ou

(1,1), l'association est particulière.

(1,1), l'association est particulière.

On l'appelle On l'appelle contrainte d'identité fonctionnellecontrainte d'identité fonctionnelle (CIF). (CIF).

Cette association particulière n'est en général pas Cette association particulière n'est en général pas nommée.

nommée.

Elle indique que l'une des entités est totalement Elle indique que l'une des entités est totalement déterminée par la connaissance de l'autre.

déterminée par la connaissance de l'autre.

(61)

Contraintes d'identité Contraintes d'identité fonctionnelle (exemple) fonctionnelle (exemple)

Si on connait une commande bien précise alors Si on connait une commande bien précise alors on connait un client bien précis.

on connait un client bien précis.

(62)

Contraintes d'identité Contraintes d'identité

fonctionnelle (suite) fonctionnelle (suite)

Une CIF qui met en relation plus de 2 entités est Une CIF qui met en relation plus de 2 entités est une CIF multiple.

une CIF multiple.

(63)

2.3 Diagramme Entité - 2.3 Diagramme Entité -

Association Association

Un graphe EA décrit la structure d'ensemble d'une BD en Un graphe EA décrit la structure d'ensemble d'une BD en

combinant les objets graphiques suivants : combinant les objets graphiques suivants :

des rectangles qui représentent les entités ;des rectangles qui représentent les entités ;

des ellipses (ou écrits en colonnes) pour les attributs ;des ellipses (ou écrits en colonnes) pour les attributs ;

des losanges pour les associations ;des losanges pour les associations ;

des arêtes qui relient les attributs (ellipses) aux entités des arêtes qui relient les attributs (ellipses) aux entités (rectangles) et les entités aux associations (losanges).

(rectangles) et les entités aux associations (losanges).

Dans les diagrammes les clés sont soulignées.

Dans les diagrammes les clés sont soulignées.

(64)

2.4 Dictionnaire des données 2.4 Dictionnaire des données

Le dictionnaire des données liste les entités et leurs attributs en Le dictionnaire des données liste les entités et leurs attributs en spécifiant le domaine de chacun ainsi que leur catégorie :

spécifiant le domaine de chacun ainsi que leur catégorie :

données élémentaires (informations stockées) ;données élémentaires (informations stockées) ;

données d'informations déduites ou calculées d'utilisation données d'informations déduites ou calculées d'utilisation

fréquente (ce qui évite de refaire le calcul plusieurs fois) ainsi fréquente (ce qui évite de refaire le calcul plusieurs fois) ainsi

que les règles de calcul ; que les règles de calcul ;

données calculées de type situation ou historique (ex : total HT données calculées de type situation ou historique (ex : total HT des commandes par mois) ;

des commandes par mois) ;

paramètres utilisés dans des cas particuliers (ex : TVA).paramètres utilisés dans des cas particuliers (ex : TVA).

Il se présente sous forme d'une grille d'analyse.

Il se présente sous forme d'une grille d'analyse.

(65)

2.5 Règles de validation 2.5 Règles de validation

Elles doivent être respectées pour la cohérence du modèle EA : Elles doivent être respectées pour la cohérence du modèle EA :

chaque entité possède un identifiant ;chaque entité possède un identifiant ;

chaque propriété (attribut) d'une occurrence d'une entité ne chaque propriété (attribut) d'une occurrence d'une entité ne possède, au plus, qu'une valeur ;

possède, au plus, qu'une valeur ;

toutes les propriétés doivent être élémentaires ;toutes les propriétés doivent être élémentaires ;

toutes les propriétés autres que l'identifiant doivent dépendre toutes les propriétés autres que l'identifiant doivent dépendre pleinement et directement de l'identifiant ;

pleinement et directement de l'identifiant ;

à chaque occurrence d'une association correspond une et une à chaque occurrence d'une association correspond une et une seule occurrence de chaque entité participant à l'association ; seule occurrence de chaque entité participant à l'association ;

(66)

2.5 Règles de validation (suite) 2.5 Règles de validation (suite)

pour une occurrence d'une association, il ne doit pour une occurrence d'une association, il ne doit exister au plus qu'une valeur pour chaque

exister au plus qu'une valeur pour chaque propriété (attribut) de cette association ; propriété (attribut) de cette association ;

chaque propriété d'une association doit dépendre chaque propriété d'une association doit dépendre pleinement et directement de tout identifiant

pleinement et directement de tout identifiant (clé) et non pas d'une partie seulement de

(clé) et non pas d'une partie seulement de l'identifiant ;

l'identifiant ;

une cardinalité (0,1) ou (1,1) indique une CIF et une cardinalité (0,1) ou (1,1) indique une CIF et réciproquement.

réciproquement.

(67)

Exemple : modélisation Exemple : modélisation

conceptuelle de la publication conceptuelle de la publication

des articles de journaux des articles de journaux

But : conception d'une BD destinée à conserver But : conception d'une BD destinée à conserver

des descriptions d'articles parus dans des journaux.

des descriptions d'articles parus dans des journaux.

(68)

Un éditeur édite des journaux. Il est caractérisé par Un éditeur édite des journaux. Il est caractérisé par

un nom et une adresse. Un journal est édité par un un nom et une adresse. Un journal est édité par un

éditeur et publie des articles dans ses numéros.

éditeur et publie des articles dans ses numéros.

On conservera le nom du journal et le nom de son On conservera le nom du journal et le nom de son

rédacteur en chef. Un numéro de journal contient rédacteur en chef. Un numéro de journal contient une collection d'articles. Chaque article paru dans une collection d'articles. Chaque article paru dans

un numéro est signé par un auteur. On désire un numéro est signé par un auteur. On désire

conserver le titre et un résumé de l'article ainsi conserver le titre et un résumé de l'article ainsi

que le nom de son auteur. Les auteurs sont connus que le nom de son auteur. Les auteurs sont connus

par leur nom, leur prénom, leur adresse et leur par leur nom, leur prénom, leur adresse et leur

date de naissance.

date de naissance.

(69)

Un Un éditeuréditeur édite des journaux. Il est caractérisé par édite des journaux. Il est caractérisé par un nom et une adresse. Un journal est édité par un un nom et une adresse. Un journal est édité par un

éditeur et publie des articles dans ses numéros.

éditeur et publie des articles dans ses numéros.

On conservera le nom du journal et le nom de son On conservera le nom du journal et le nom de son

rédacteur en chef. Un numéro de journal contient rédacteur en chef. Un numéro de journal contient une collection d'articles. Chaque article paru dans une collection d'articles. Chaque article paru dans

un numéro est signé par un auteur. On désire un numéro est signé par un auteur. On désire

conserver le titre et un résumé de l'article ainsi conserver le titre et un résumé de l'article ainsi

que le nom de son auteur. Les auteurs sont connus que le nom de son auteur. Les auteurs sont connus

par leur nom, leur prénom, leur adresse et leur par leur nom, leur prénom, leur adresse et leur

date de naissance.

date de naissance.

Références

Documents relatifs

Tous les attributs doivent être élémentaires par rapport au choix de gestion et il doit y avoir un identifiant à chaque entité. n'est

h) Nom et prime des joueurs sponsorisés par Peugeot entre 1985 et 1990. i) Nom et année de naissance des joueurs ayant participé au tournoi de Rolland Garros de 1989. j) Nom

Cette requête retourne exactement les mêmes colonnes qu’il y a dans la base de données. Pour en savoir plus sur le sujet il est recommandé de lire l’article avantage et

Pour ceci faire, lors de la phase d’extraction de la sémantique d’un schéma de base de données, nous enri- chissons la représentation des concepts, des relations entre concepts

La base de données (données primaires) est la matière première à partir de laquelle la bioinformatique va produire d'autres données (données secondaires) et

Pour une naïve et belle démonstration, on pourra utiliser la figure ci- contre : Il suffit, dans le cas de figure donné, d’exprimer l’aire du

• dans le cas particulier d’une entité faible, la clé primaire de la relation correspondant à l’entité faible sera le couple constitué de la clé de l’entité forte et de

•Extraction des caractéristiques de l’image : couleur, texture, forme, contraintes spatiales, régions.. Recherche d’images basée sur