58
© C. HANACHI, J.M. THEVENIN 1 Licence AES Cours d ’informatique 1ère Partie Cours de Mme Soulé-Dupuy [email protected] Mr Thévenin [email protected] Polycopié réalisé par C. HANACHI, J.M. THEVENIN Introduction aux Bases de Données

1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy [email protected] Mr Thévenin [email protected]

Embed Size (px)

Citation preview

Page 1: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

1

Licence AESCours d ’informatique

1ère Partie

Cours de Mme Soulé-Dupuy [email protected]

Mr Thévenin [email protected]

Polycopié réalisé par C. HANACHI, J.M. THEVENIN

Introduction aux Bases de Données

Page 2: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

2

Page 3: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

3

Objectif du cours

La conception de bases de données est une tâche de première importance dès lors que l’on veut exploiter des données informatisées dans le cadre une activité donnée. Il faut savoir organiser les données utiles à son activité afin de les gérer de façon efficace (les stocker, les retrouver, les analyser).

L’objectif de ce cours :

• Présenter les règles essentielles permettant de concevoir une base de données cohérente dans le cadre d’une activité précise

• Présenter les langages d’interrogations permettant de tirer profit de ces données.

Les compétences acquises par les étudiants :• Être capable de concevoir et d ’exploiter une base de

données relevant de la micro-informatique, dans le cadre de leur activité professionnelle ;

• Être des interlocuteurs avertis pour la conception du système d’information de leur entreprise ;

• Maîtriser les concepts essentiels d’ACCESS, un outil répandu dans le domaine de la micro-informatique.

Page 4: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

4

Plan *

1ère Partie :Introduction aux concepts fondamentaux des Bases de Données1. Notions de base.2. Le modèle Entité-Association.3. Le modèle relationnel.4. Interroger une base de données.

2ème Partie :Concevoir une base de données1. Les finesses de la modélisation Entité-Association2. Compléments sur le modèle relationnel3. Présenter un dossier d’analyse

3ème Partie :Interroger une Base de Données1. Le langage algébrique

2. Le langage SQL

* seule la première partie du cours fait l’objet de ce poly

Page 5: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

5

Chapitre 1Notions de Base

1. Place des SGBD dans le Système d’Information de l’entreprise

2. Approche intuitive de BD

3. Définitions4. Les 3 fonctions d’un SGBD.

4.1. La description des données

4.2. La mise à jour et la restitution de données.

4.3. Le contrôle de la base de données.

4.4. Simplifier l ’accès aux données

5. Quelques SGBD du marché

6. La démarche enseignée

Page 6: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

6

1.1 Place des SGBD dans le Système d’Information de l’entreprise

Système de Pilotage

Système d’Information

Système Opérant

Base deDonnées

Entrées Résultat

Perturbations

Circulation de l’information dans l’entreprise :

Comptes rendus

Directives Coordination

Page 7: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

7

Place des SGBD dans le Système d’Information de l’entreprise

Besoin de gérer l’information : L’information apparaît à un

• Instant différent

• Endroit différent

• Sous une forme différente

=> 4 étapes :- Saisie- Mémorisation- Traitement- Communication

Difficulté d’accéder à l’information :

• Où est l’information ?

• Comment est elle codée ?

• Comment y accéder ?

Page 8: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

8

1.2 Approche intuitive

Définition Intuitive : Une base de données est un “pot” commun d’information, partagé par plusieurs utilisateurs. Ces informations peuvent être interrogées et mises à jour par l'intermédiaire d’un logiciel. Le plus souvent ces informations décrivent la structure et/ou l’activité d’une organisation et facilite la prise de décision.

Exemples d’applications basées sur une BD:• Gestion des contrats d’une SSII

• Amadeus(Avions), Socrate(SNCF).

• L’annuaire Electronique.

• Catalogue électronique de la Bibliothèque.

• Guichets bancaires.

• Vente par correspondance

Page 9: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

9

Approche intuitive

Le catalogue électronique de la Bibliothèque :

• utilisation simultanée par les étudiants, le personnel de la BU, la direction de la BU.

• fonction : recherche multi-critères d’ouvrage(Etudiant),prêt,relance (personnel de la BU), statistique sur les prêts (direction de la BU).

• garantie : limite automatique du nombre d’ouvrages prêtés, vérification du droit d'accès, ...

Page 10: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

10

1.3 Définitions

Définition 1 : “ Une Base de données est un ensemble structuré de données(1) enregistrées sur des supports accessibles par l’ordinateur(2) pour satisfaire simultanément plusieurs utilisateurs(3) de manière sélective(4) et en un temps opportun(5) ” (Adiba & Delobel).

(1) Organisation et Description des objets et des liens entre ces objets à l’aide d’un Langage de Description des Données.

(2) Stockage sur disque.

(3) Partage de l’information, gestion des accès concurrents , facilité d’utilisation(à l’aide d’un Langage de Manipulation des Données).

(4) Confidentialité, Sécurité.

(5) Performance.

Page 11: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

11

BD

SGBD

Application

ApplicationA

B

C

A

B

C

Définitions

Définition 2 : “ Le logiciel qui permet d’interagir avec une BD est un Système de Gestion de Bases de Données (SGBD) ” (Adiba & Delobel, 82).

Page 12: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

12

1.4 Les trois fonctions d’un S.G.B.D

La description des données (codification, structuration

=> schéma conceptuel).

La manipulation et la restitution des données (insertion, mise à jour, interrogation).

Le contrôle (partage, intégrité, confidentialité, sécurité).

Page 13: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

13

1.4.1 La description des données

Groupe d’utilisateur I (GU 1)

Groupe d’utilisateur II(GU 2)

...

Interview

Documents

Modélisation

Schéma Conceptuel de Données

T T

Schéma externe 1pour GU1

Schéma externe 2pour GU2

...Schéma Physique

BD

Page 14: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

14

1.4.2 La mise à jour et la restitution des données

Mise en oeuvre à l’aide d’un Langage de Manipulation des Données (LMD).

Fonctions : • insérer des valeurs ;

• mise à jour des valeurs ;

• interrogation de la BD.

S.Q.L (Structured Query Language) : Langage standard et déclaratif.

Page 15: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

15

1.4.3 Le contrôle de la Base de Données

Contrôle : • confidentialité

• partage, concurrence

• respect des Contraintes d’intégrité

• sûreté de fonctionnement.

Page 16: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

16

1.4.4 Simplifier l’accès aux données

Où est l’information ?• Dans la base de données

Comment est codée l’information ?• Schéma conceptuel des données

Comment accéder à l’information ?• Langage d’interrogation

Page 17: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

17

1.5 Quelques S.G.B.D (relationnels) du marché

Micro : • ACCESS

• PARADOX

• DBASE V

• FOXPRO, ...

Gros Système : • DB2

• ORACLE

• SQL server

• SYBASE

• INGRES ...

Page 18: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

18

1.6 Démarche enseignée

Interview

Documents Modélisation Entité-Association

Schéma Conceptuel en Entité -Association

Transformation en relationnel

Schéma conceptuel en relationnel

Passage en machine sous Access

Base de Données Relationnellemanipulable en SQL

Page 19: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

19

Chapitre 2Le modèle Entité-Association

1. Les concepts de base

2. Les associations

3. Les propriétés

4. Les cardinalités des rôles

5. Identification des occurrences

6. Exemple

7. Expression des contraintes d'intégrité

8. Démarche de conception

Page 20: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

20

2.1 Les concepts de base

Modèle, Langage, Formalisme. Origine : Travaux de Chen(USA),

Tardieu(France), en 74/75. Succès dus à :

• langage graphique

• Intégré à des méthodes d’analyse (MERISE par ex.).

• Concepts simples : - choses ->entités- liens entre les choses -> association- regroupement des choses de même nature :

classes d’entités, classes d’associations.

Page 21: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

21

Les concepts de base

FILMS

titre : textedurée : 30..300version : (VO,VF)nationalité : texte

CINEMAAffiche

ACTEURS

Casting

a p

ou

r dis

tribu

tion

est à l’affiche diffuse

0..n

1..n

joue dans

1..n 0..m

Page 22: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

22

Concepts de base

Une entitéC’est un objet, un événement, un lieu , une personne identifiable sans ambiguïté.Exemple : abc, utopia, Woody Allen, Emmanuelle Beart, Coups de feu sur Brodway.

Une association C’est un lien entre 2 ou plusieurs entités.Exemple : Woody Allen a mis en scène “Coups de feu sur Brodway”

Classe d’entités : C’est un regroupement d’entités de même nature. Exemple : Films, cinéma, metteurs en scène.

Classe d’Associations : C’est un lien entre 2 ou plusieurs classes d’entités.Exemple : Affiche(entre Cinéma et Films), Distribution(entre Films et Acteurs).

Page 23: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

23

Les concepts de base Propriété : unité d’information indécomposable

désignée par un nom. Exemple : nom_acteur, titre, ...

Propriété d’une classe d’entités : caractéristique commune à chaque élément de la classe.

Domaine de valeur : ensemble de valeurs possibles d’une propriété.

Exemple : numérique, montant, texte, (M,F), 0..17, ...

Identifiants : propriété ou groupe de propriétés dont la valeur identifie sans ambiguïté une entité ou une liaison d’une classe.

Rôle : sens d’une patte (relie une classe d’entité à une classe d’association).

Cardinalités d’une patte : constituées de deux nombres correspondant au maximum et minimum d'occurrences de l’association pouvant être associés à chaque occurrence de l’entité.

Page 24: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

24

2.2 Les associations

Différents types d’association : Statique : interprétation. Dynamique : affiche.

• Variable dans le temps

• Gestion d ’historiques

Binaire, ternaire, ... selon le nombre de classes d’entités associées à la classe d’association.

Réflexive (suite d’un film).

Remarque : Il peut exister plusieurs classes d’association entre 2 mêmes entités.

Page 25: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

25

2.3 Les propriétés

Déterminent la structure d’une classe d’entités ou d’une classe d’associations (ex : tarif d’un film).

Définie par un nom et un domaine de valeurs

Choix du nom : unique, explicite. Domaine de valeurs : détermine l’ensemble

des valeurs possibles pour une propriété• énumérés : (M,F), (rouge, blanc, rosé).• intervalle : 0..120, • montant, date, texte, numérique.• ...

• détermine les opérations possibles sur la propriété ainsi que les autres propriétés aux quelles elle est comparable

Page 26: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

26

2.4 Les cardinalités des rôles

La cardinalité des rôles répond à la question : combien de fois une occurrence peut-elle jouer un rôle donné au maximum et au minimum ?

Facultatif Obligatoire

0,1 1,1 Unique 0,n 1,n Multiple

typologie des cardinalités des liens ne tenant compte que des maximums• de type un à un (bijectif) 1,1

• un à plusieurs (hiérarchique) 1,n

• plusieurs à plusieurs (Affiche entre Film et Cinéma) m,n

Page 27: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

27

2.5 Identification des occurrences

Objectifs : chaque occurrence doit pouvoir être repérée de manière unique et sans ambiguïté, pour être distinguée de toutes les autres.

Pour une classe d’entités : • Propriété ou groupe de propriétés qui

permet de repérer une occurrence de manière unique. On souligne l’identifiant.

• Un seul identifiant.• On privilégie l’identifiant le plus court,

le plus naturel (n° bon de commande, n° étudiant, ...).

• On peut créer un identifiant artificiel par commodité

• Identifiant non variable dans le temps. Identifiant d’une association : implicite,

obtenu en juxtaposant les identifiants des entités qui participent à la liaison.

Page 28: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

28

2.6 Exemple

On souhaite créer une base de données géographique destinée à la gestion des pays, des fleuves et des espaces maritimes (mers et océans).

Chaque pays est connu par un nom, une superficie, un nombre d'habitants, la liste des pays qui ont une frontière commune avec lui et la liste des fleuves qui le traversent.

Un fleuve est connu par son nom, sa longueur, l'espace maritime dans lequel il se jette, le nom du pays dans lequel il prend sa source, la liste des pays qu'il traverse et la distance parcourue dans chacun de ces pays.

Un espace maritime est connu par un nom, un type (mer ou océan), la liste des pays qu'il côtoie et la liste des fleuves qui s'y jettent.

Donnez le schéma E/A permettant de gérer les informations décrites ci-dessus. Commentez les choix des cardinalités.

Page 29: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

29

Chapitre 3Le modèle Relationnel

1. Les concepts de base

2. Les tables

3. Les attributs

4. Les clés

5. Les clés étrangères

6. Traduction d ’une association 1,1

7. Traduction d ’une association m,n

8. Démarche de traduction

Page 30: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

30

3.1Les concepts de base

Modèle, Langage, Théorie. Origine : Travaux de Codd (USA), en 70. Succès dus à :

• Concepts simples : - entités, associations -> tables- identifiants d’entité ou d’association ->

clés- liens entre entités et associations ->

clés étrangères

• Un modèle et un langage standard (SQL)

• Une base théorique- théorie des ensembles- algèbre relationnelle

Page 31: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

31

Matricule Nom DateNaissance DateEmbauche Salaire #NomService

118 Martin 2/05/1964 19/02/84 13500 Comptabilité57 Brown 20/06/1950 10/01/92 20000 Informatique98 Milesi 18/04/1970 10/05/91 10000 Comptabilité3 Rive 12/12/1970 12/08/91 10000 Informatique10 Oates 01/01/1972 17/10/93 18000 Finance7 Slow 10/04/1975 20/01/94 6500 Comptabilité1 Brun 11/11/1968 30/04/96 8600 Finance

3.2 Les tables (relations)

Représentation graphique d'une table :

EMPLOYES

• Nom de la table : EMPLOYES.

• Schéma : 1ère ligne.

• Tuple : chacune des autres lignes.

• Attribut : une colonne

• Clé de la relation : Matricule.

• Clé étrangère : #NomService

Page 32: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

32

Les tables (relations)

Correspondance entité -> table :

Nom entité -> Nom table

Propriété -> Attribut

Domaine -> Domaine

Identifiant -> Clé

Instance -> Tuple

Correspondance association -> table :

Nom association -> Nom table

Propriété -> Attribut

Domaine -> Domaine

Identifiant -> Clé

Lien entre 2 instance d’entité -> Tuple

Page 33: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

33

Les tables (relations)

Propriétés :

1. Une valeur de la clé désigne une ligne unique

Ainsi, la valeur en question permet de retrouver cette ligne

2. Un nom d’attribut désigne une colonne

1 et 2 => l’ordre des ligne et des colonnes n’est pas significatif

Remarque : si la clé d’une table est définie par un couple d’attributs, ses valeurs sont des couples.

Page 34: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

34

3.3 Les attributs

La notion d’attribut en relationnel correspond à la notion de propriété en entité/association

Un attribut est défini par un nom et un domaine

Le domaine d’un attribut décrit les valeurs autorisées dans la colonne de cet attribut

Les valeurs d’un attribut sont atomiques : non décomposables

Contraintes supplémentaires :unicité, non nullité, clé, clé étrangère, valeur par défaut

Page 35: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

35

3.4 Les clés

La clé d’une table est un attribut ou groupe d’attributs dont les valeurs identifient de façon unique une ligne de la table

Il est possible que plusieurs combinaisons d’attributs puissent être exploitées comme clé :• on choisit la combinaison la plus courte

comme clé primaire

• Les autres combinaisons sont des clés candidates

Il est parfois utile de créer une clé artificielle lorsque les clés candidates sont compliquées

Page 36: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

36

3.5 Les clés étrangères

EMPLOYES

SERVICES

Dans la table SERVICES NomService est une clé qui permet retrouver la ligne décrivant un service donné

Dans la table EMPLOYES NomService* est une clé étrangère qui permet d’aller chercher dans la table SERVICE la description du service auquel appartient un employé donné

Matricule Nom DateNaissance DateEmbauche Salaire NomService*

118 Martin 2/05/1964 19/02/84 13500 Comptabilité57 Brown 20/06/1950 10/01/92 20000 Informatique98 Milesi 18/04/1970 10/05/91 10000 Comptabilité3 Rive 12/12/1970 12/08/91 10000 Informatique10 Oates 01/01/1972 17/10/93 18000 Finance7 Slow 10/04/1975 20/01/94 6500 Comptabilité1 Brun 11/11/1968 30/04/96 8600 Finance

NomService Budget Etage

Comptabilité 1MF 1Finance 1.5 MF 2Informatique 3 MF 2

Page 37: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

37

Les clés étrangères

Le terme clé étrangère signifie clé d’une autre table

La notion de clé étrangère est utilisée pour établir un lien entre deux tables

Soit une table A possédant un attribut b* définit comme clé étrangère provenant de la table B :• Chaque ligne de la table A possède une valeur pour

la clé étrangère b*, permettant de retrouver une ligne de la table B

• Chaque ligne de la table B possède une valeur pour la clé b qui peut apparaître dans 0 ou n lignes de la table A comme valeur de b*

• b* établit un lien n-1 entre A et B

Les clés étrangères sont les seules redondances autorisées

Page 38: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

38

Les clés étrangères

Règles d’intégrité référentielle Toute valeur saisie pour une clé

étrangère doit être incluse dans l’ensemble des valeurs de la clé référencée• Toute valeur saisie dans une colonne b*

doit exister dans la colonne b

• Le non respect de cette règle entraîne que la table A référence des lignes n’existant pas dans la table B

Lorsque l’on supprime une ligne dans une table référencée, la valeur de clé supprimée doit avoir été préalablement supprimée des colonnes clé étrangères

Page 39: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

39

3.6 Traduction d’une association 1-n

Exemple de lien 1-n :• Chaque ligne de FILMS doit être reliée à 1

lignes de CINEMA

• une ligne de CINEMA peut être reliée à n lignes de FILMS

TraductionFilms (titre, durée, version, nationalité, NR*, année)

Réalisateur (NR, nomR, prénomR)

FILMS

titre : textedurée : 30..300version : (VO,VF)nationalité : texte

Réaliserest réalise réalise

1..1 0..nAnnée : num

REALISATEURNR : numériquenomR : textePrénomR : texte

Page 40: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

40

Traduction d’une association 1-n

Toute association possédant une arrête de cardinalité 1,1 fusionne avec l’entité reliée à cette arrête

Pour fusionner une association avec une entité :• ajouter toutes les propriétés de

l’association dans la table de l’entité

• importer les clé des autres entités auxquelles l’association est reliée

• déclarer les clés importées comme clés étrangères

Une association ne fusionne qu’une fois

Page 41: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

41

FILMS

titre : textedurée : 30..300version : (VO,VF)nationalité : texte

CINEMAAfficheest à l’affiche diffuse

1..n 0..mNC : numériquenomC : texteAdresseC : texte

3.7 Traduction d’une association m-n

Exemple de lien m-n :• Chaque ligne de FILMS doit être reliée

à n lignes de CINEMA

• Chaque ligne de CINEMA doit être reliée à n lignes de FILMS

TraductionFilms (titre, durée, version, nationalité)

Cinéma (NC, nomC, adresseC)

Affiche (titre*, NC*, DD, DF)

DD : dateDF : date

Page 42: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

42

Traduction d’une association m-n

Pour traduire un lien m-n il faut créer une table intermédiaire• Du nom de l’association

• Comportant toutes les propriétés de l’association

• Comportant comme clés étrangères les clés des entités reliées

• Dont la clé est l’union des clés étrangères et des attributs soulignés de l ’association

Page 43: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

43

3.8 Démarche de traduction d’un schéma entité/ association

Etape 1 : Toute classe d’entités du diagramme entité/association est représentée par une table dans le schéma relationnel équivalent. La clé de cette table est l’identifiant de la classe d’entités correspondante.

Etape 2 : Toute classe d’associations 1,n (possédant une arrête de cardinalité 1,1 vers une entité Ei) fusionne avec la table de l’entité Ei.

Etape 3 : Toute classe d’associations m,n est transformée en table. La clé de cette table inclut tous les identifiants des entités participantes qui sont déclarés comme clé étrangère.

Page 44: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

44

3.9 Exemple :

Traduire le schéma E/A de la base de données géographique en schéma relationnel.

Page 45: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

45

Chapitre 4 Interroger une base de données

PLAN

1. Les différents types de langages

2. Bases théoriques

3. Opérations utilisées4. Projection

5. Restriction

6. Jointure

7. Démarche d’interrogation

8. Exemples

Page 46: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

46

4.1 Les différents types de langages

Langage Graphique

R S

a b cAfficher x x x

Critères =Cte

SELECT a,b,cFROM R,SWHERE R S and =Cte

Langage SQL

Langage Algébrique

R S

= Cte

a, b, c

Res

SGBD BD

a b c

Page 47: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

47

Les différents types de langages

SQL :• Langage puissant et complet

• Interface standard des SGBD

Langages graphiques• Plus faciles d’accès

• Permettent d’exprimer des requêtes SQL simples

• Un langage graphique est spécifique à un SGBD (certains SGBD n’en ont pas)

• Attention ! Si mal maitrisé -> risque de répondre « à côté »

Langage Algébrique• Comprendre la sémantique des requêtes

• Langage intermédiaire de travail

Page 48: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

48

4.2 Bases théoriques

Théorie des ensembles

OP1

OP3

OP2

Relation Rr1 r2 r3

Table T1r1 r2 r3

Table T2r1 r2 r3 s1 s2

Relation S

s1 s2

Table Résultatr3 s2

Page 49: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

49

4.3 Opérateurs utilisés

Opérateurs relationnels• Projection

• Restriction

• Jointure

Opérateurs ensemblistes• Union

• Intersection

• Différence

Fonction statistiques• Somme

• Min

• Max

• Moyenne

• ComptageDeLignes (NbVal)

Page 50: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

50

4.4 Projection

Opération permettant d’éliminer les colonnes qui ne nous intéressent pas dans une table

Ex : Afficher les noms de pays source d’un fleuve

Relation Ra b c

b

b

Rabc

Attribut bAfficher x

SELECT bFROM R

Langage algébrique Langage graphique Langage SQL

Page 51: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

51

4.5 Restriction

Opération permettant d’éliminer les lignes qui ne nous intéressent pas dans une table

Ex : Liste des pays dont la superficie est supérieure à 1 000 000 Km2

Relation Ra b c

b=10

Rabc

Attribut b Afficher Critère =10

WHERE b=10

Langage algébrique Langage graphique Langage SQL

110210

a b c1010

Page 52: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

52

4.5 Jointure

Opération permettant de relier des lignes provenant de deux tables différentes selon un critère pour fabriquer une nouvelle table

Ex : Nom et superficie des pays dans lesquels les fleuves prennent leur source

Rabc

WHERE R.c=S.c

Langage algébrique Langage graphique Langage SQL

Relation Ra b c

riri 3fifi 3loulou 3nafnaf 1

Relation Sc d1 cochon2 loup3 canard4 poule

Relation Ra b c

Relation Sc d3 canard3 canard3 canard1 cochon

riri 3fifi 3loulou 3nafnaf 1

R.c=S.c

Scd

Page 53: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

53

Jointure naturelle

Cas particulier• jointure entre deux tables avec un

prédicat d’égalité entre une clé étrangère et la clé référencée

-> Premet de parcourir les arcs reliant des Entités représentés sur un schéma E/A

Exemple : Fleuves.NomPSource=Pays.NomP

Page 54: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

54

4.7 Démarche

Soit une question Q que l’on souhaite poser au SGBDa) identifier sur le schéma E/A les propriétés que

l’on doit afficher et celle dont on a besoin pour les restrictions exprimées dans Q

b) choisir sur le schéma E/A les associations par lesquelles on va passer pour relier les entités impliquées en a), en fonction de la sémantique de Q

c) repérer dans le schéma relationnel les attributs et les tables correspondant à ce qui a été repéré en a) et b)

d) effectuer pour chaque table les restriction nécessaires

e) relier les tables 2 à 2 avec les jointures adéquates

f) appliquer à la dernière table obtenue une projection sur les attributs que l ’on souhaite afficher

Page 55: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

55

4.8 Exemples

Page 56: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

56

Exemples

Q1 Nom et superficie des pays ou le Danube prend sa source

Q2 Liste des pays traversés par le Danube. Donner leur nom, leur superficie et la distance parcourue

Page 57: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

57

Exemples

Q3 Liste des fleuves de plus de 500 Km se jetant dans une mer

Q4 Liste des pays qui côtoient l’espace maritime dans le quel se jette le Rhône

Page 58: 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy soule@univ-tlse1.fr Mr Thévenin thevenin@univ-tlse1.fr

© C. HANACHI, J.M. THEVENIN

58

Exemples

Q5 Liste des pays qui côtoient les espaces maritimes dans lesquels se jette un fleuve prenant sa source en France