Vous êtes sur la page 1sur 25

Session de Formation Systmes de Gestion de Bases de donnes Relationnelles Utilisation de MS ACCESS 2000

I.N.A.T. (Tunisie) 25 septembre 2 octobre 2001

organise par

lInstitut National des Sciences et Technologies de la Mer


avec la collaboration du

projet FAO COPEMED


Formateur : Alexis Bensch*
* Expert Systmes dInformation Projet FAO COPEMED GCP/REM/057/SPA - Alicante (Espagne)

Notions fondamentales lies aux systmes de gestion de bases de donnes (SGBD) et prsentation du modle de donnes relationnel. Elaboration du modle conceptuel de donnes. Exercices. Processus de passage du modle conceptuel de donnes au modle logique relationnel. Exercices.

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Systme dInformation Composant dune organisation qui gre (acquiert, traite, stocke, communique) de linformation dintrt - toute organisation possde un systme dinformation, pas toujours explicit dans sa structure - en gnral, le systme dinformation opre comme un support dautres composants de lorganisation La notion premire de systme dinformation est en partie indpendante de son informatisation; nanmoins, nous nous intressons principalement aux systmes dinformation qui sont dans une large mesure informatiss

Gestion de lInformation Linformation est manipule et enregistre selon diverses techniques : langage naturel (crit ou parl) dessins, diagrammes, nombres codes des ides informelles...

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Information Structure Lorsque les activits deviennent systmatiques, des moyens appropris dorganisation et de codification de linformation sont invents. Par exemple, considrons linformation sur les personnes : dans la majorit des pays, une structure pour les noms a t mise en place plus tard, on a ralis quil pouvait tre utile de garder une trace de la date et du lieu de naissance (utilisable pour distinguer des personnes ayant le mme nom) plus rcemment, le numro de scurit sociale a t introduit afin dobtenir un identifiant unique pour chaque personne.

Information et Donnes Dans les systmes informatiss (mais aussi non-informatiss), linformation est reprsente par des donnes brutes, qui doivent tre interprtes et corrles pour fournir de linformation. Par exemple: John Smith et 25755 sont une chane de caractres et un nombre : deux donnes si ces donnes sont utilises comme rponse la question Qui est le chef de dpartement et quelle est son extension de tlphone, alors, ces donnes sont utilises pour produire de linformation Les collections de donnes structures sont relativement stables, et constitue une ressource exploite par des procdures plus frquemment modifies.

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Base de Donnes Une base de donnes est une collection de donnes utilise par les applications pour gnrer de linformation dintrt au sein dun systme dinformation.

Application 1 Utilisateur 1 Application 2


Fichier de donnes

Utilisateur 2

Application 3 Application 4
Fichier de donnes

Gestion informatise des donnes Systme de fichiers conventionnel: Les donnes sont stockes sous forme de fichier, incluant ou non une description de sa structuration. Chaque application de traitement de donnes utilise un format de fichier de donnes qui lui est spcifique. L Systme de Gestion de Bases de donnes (SGBD) Ensemble des programmes assurant la structuration, le stockage, la mise jour et la recherche des donnes dune base, ainsi que les interfaces ncessaires aux diffrentes formes dutilisation de la base. Les SGBD sont une volution des systmes de fichiers conventionnels, qui prsentent une srie dinconvnients

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

SGBD versus Systme de fichiers (1) Accs aux donnes : SGBD Les SGBDs disposent doutils qui permettent de grer un accs simultan ou partag aux donnes par plusieurs utilisateurs Pas de de redondance Facilit de mise jour Systme simple de fichiers Accs exclusif => Ncessit de dupliquer les donnes, entranant des problmes de redondance et dinconsistance

SGBD versus Systme de fichiers (2) Gestion des donnes : SGBD Les SGBDs structure les donnes de manire rendre les procdures de gestion plus efficaces disposent doutils qui permettent de grer une grande quantit de donnes de faon uniforme. Systme simple de fichiers Les procdures de gestions sont assures par chaque application => duplication de procdures La simplicit de la structure des donnes limite les fonctionnalits de gestion des donnes.

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Structuration des donnes - Modle de reprsentation des donnes Dans un SGBD, les donnes sont organises selon un modle appel modle de donnes. Il existe plusieurs type de modles. Chacun est bas sur un type de constructeur utilis pour organiser les donnes. Parmi les modles utiliss:
Modle hirarchique rseau relationnel orient objet Structure arbres (annes 60) graphes (dbut des annes 70) relations (dbut des annes 80) objets

Le modle de donnes le plus rpandu est le modle de donnes relationnel, qui utilise un constructeur appel relation, au sens mathmatique densemble.

Modle de donnes relationnel


Une relation est reprsente par une table double entre. Une relation est caractrise par un nom. Chaque colonne est un attribut, encore appel champ. Un attribut est caractris par un nom. Chaque ligne est appele n-uplet ou enregistrement. Une relation regroupe une collection dlments (lignes) dfinis par les mmes attributs (colonnes). Exemple:

Coureurs

quipes

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Relation - Nomenclature Schma : descripteur dune relation: son nom, suivie de la liste des noms des attributs Domaine: ensemble des valeurs que peut prendre lattribut dune relation

Modles de donnes : niveaux dabstraction

Schma Externe

....

Schma Externe

Schma Externe

comment lutilisateur voit les donnes

perception du monde rel en terme dentits et de rgles de gestion entre ces entits

Schma Conceptuel

Description textuelle Modle conceptuel de donnes Modle de donnes du SGBD

Schma Logique

Stockage des donnes dans un systme particulier

Schma Physique

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Modle conceptuel de donnes Entit-Association


Il repose sur la perception du monde rel sous forme dun ensemble dobjets entits associs au moyen dun ensemble d associations entre ces objets.

Modlisation = abstraction
E1

R1

Il sagit dune description : - statique : les entits et les associations sont dcrites par leurs proprits (attributs) - dynamique . les associations traduisent les rgles de gestion entre les entits identifis.

E2 E3 R2

Monde rel

Exemple :

Un Coureur fait partie d une quipe


Numro Nom Nationalit Code Nom Directeur sportif

Modle entit-association reprsentation graphique


Entit Chaque entit est dcrite par des proprits (ou attributs). Chaque occurrence de lentit est dfinie par les valeurs de ses diffrents attributs.
COUREUR

Exemple: lentit Coureur a 3 attributs Le coureur (Jan, ULLRICH , n8) est une occurrence de lentit coureur Association Met en relation plusieurs entits. Une association nexiste que par les entits quelle met en correspondance. Elle peut tre caractrise par des attributs qui dpendent des occurrences que lassociation met en relation. Une association est aussi appele relation.

Diagramme entit-association
Coureur Numro Nom Prnom quipe Code Nom Directeur sportif

Fait partie de

Lgende entit association

Relation : faire partie de Entits lies : Coureur, quipe Attribut de la relation : dates du contrat

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Modle entit-association cardinalits dune association


Cardinalit Pour une entit A en relation avec une entit B, il sagit du nombre doccurrences dassociations que possde une occurrence de lentit A avec lentit B
3 2 1

Commande Concerner

Produit

Quand je compte le nombre de produits dune commande, je mintresse aux cardinalits de commande

4 3 2 1 Commande Concerner Produit

Quand je compte le nombre de commandes dun produit, je mintresse aux cardinalits de produit

Modle entit-association Typologie dassociation (1)


Association Un Un (1,1) entre une entit A et une entit B Une occurrence de lentit A ne peut tre lie qu une occurrence de lentit B et rciproquement

Association Un Plusieurs (1,N) entre une entit A et une entit B Une occurence de lentit B peut tre associe plusieurs occurrences de lentit A Une occurence de lentit A ne peut tre associe qu une occurrence de lentit B

Association Plusieurs Plusieurs (N,N) entre une entit A et une entit B Une occurence de lentit A peut tre associe plusieurs occurrences de lentit B et rciproquement

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Modle entit-association Typologie dassociation (2)

Plusieurs plusieurs

Un plusieurs

Un--un

Modle entit-association Typologie dassociation (3)


Exemple :
quipe Code Nom Directeur sportif 1
Fait partie de

Coureur Numro N Prnom Nom N


participe

est originaire de

Pays Code Pays Nom Pays

N Diagramme entit-association tape Ville dpart Ville Arrive Distance

Un Coureur appartient une quipe Un Coureur Participe Plusieurs tapes Une tape fait participer plusieurs Coureurs Une quipe est compose de plusieurs Coureurs Un Coureur est originaire dun Pays Un Pays est reprsent par plusieurs Coureurs

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Modle entit-association cardinalits dune association (1)

Cardinalit minimale : Nombre de fois minimum qu'une occurrence d'Entit participe une Relation.

Exemple : la commande peut-elle ne concerner aucun produit ? OUI : cardinalit minimale = 0 NON : cardinalit minimale = 1

Client

0, N

Est faite par

1, 1

Commande

Cardinalit maximale : Nombre de fois maximum qu'une occurrence d'Entit participe une Relation. Exemple : la commande concerne-t-elle un seul produit au maximum ? OUI : cardinalit maximale = 1 NON : cardinalit maximale = N Commande

1, N

concerner

0, N

Produit

Quand une cardinalit maximale pour une entit = 1, on reprsente une flche partant de lentit, et on parle dune dpendance fonctionnelle (DF) : Commande dpend du client, Chaque commande est associe un client. Si on supprime un client, ses commandes nont plus besoin dtre mmorises, mais on peut annuler les commandes et conserver le client.

Modle entit-association cardinalits dune association (2)

quipe Code Nom Directeur sportif

1, N

1, 1

fait partie de

Coureur Numro Prnom Nom


0, N

1, 1

est originaire de

0, N

Pays Code Pays Nom Pays

participe
1, N

tape Ville dpart Ville Arrive Distance

10

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Modle entit-association Identifiant (cl) dune entit


Chaque entit ou association possde une cl qui permet didentifier de faon unique chacune de ses occurrences. Lexistence de cette cl garantit laccs nimporte quelle occurrence de lentit. La cl (dite primaire) est dfinit par un ou plusieurs attributs. Exemple : Soit lentit Coureur (numro, nom, prnom) Aucun coureur na le mme numro. Par contre, on pourrait avoir deux coureurs ayant le mme nom => lattribut numro est retenu comme cl primaire de lentit Coureur Dans la plus part des cas, un attribut ou un groupe dattributs de lentit pourront tre utiliss comme cl. Dans le cas contraire, il est toujours possible de crer un nouvel attribut (code squentiel par exemple) qui sera utilis comme cl. Les cls primaires sont utilises pour les associations entre des occurrences de deux entits.

Concevoir un bon modle conceptuel de donnes (1)

Slection de lidentifiant (cl primaire) de chaque entit - attributs avec une valeur nulle ne peuvent tre candidats - le nombre dattributs entrant dans la composition de la cl doit etre minimal. En effet, plus le nombre dattributs de la cl est grand, plus les oprations de recherche dinformation dans la base de donnes seront complexes. - Si pas de bon candidat, on peut toujours crer un attribut code

11

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Concevoir un bon modle conceptuel de donnes (2)


Analyse des redondances: un attribut dont la valeur peut tre dduite partir dautres donnes : . calcul partir dautres attributs de la mme occurrence,
exemple : LigneCommande (N Commande, Article, Prix Unitaire, Nombre, Prix total) Le prix total peut tre facilement calcul : Prix unitaire x Nombre

. Agrgation dun attribut dune autre entit associe


exemple : Commande (N, Client, Montant, nombre darticles) LigneCommande (N Commande, Article, Prix Unitaire, Nombre, Prix total) Le montant de la commande peut tre calcul en additionnant les valeur de prix total des lignes de la commande

. comptage doccurrences dune autre entit associe


Commande (N, Client, Montant, nombre darticles) LigneCommande (N Commande, Article, Prix Unitaire, Nombre, Prix total) Le nombre darticles peut tre calcul en comptant le nombre de lignes de la commande

. Relations pouvant tre dduite dune autre relation

Exercice - Interprtation de schmas entit/association


Centre mdical On vous donne un schmas E/A ci-dessous reprsentant des visites dans un centre mdical. Rpondez aux questions suivantes en fonction des caractristiques de ce schma (i.e.: indiquez si la situation dcrite est reprsentable, indpendamment de sa vraisemblance).
Exercice A : Un patient peut-il effectuer plusieurs visites ? Exercice B : Un mdecin peut-il recevoir plusieurs patients dans la mme consultation ? Exercice C : Peut-on prescrire plusieurs mdicaments dans une mme consultation ? Exercice D : Deux mdecins diffrents peuvent-ils prescrire le mme mdicament ? Solution: A Oui : cardinalit maximale N de lassociation Patient-Consultation B - Non : cardinalit maximale 1 de lassociation Consultation-Patient : un patient par consultation). C Oui : cardinalit maximale n de lassociation Consultation-Mdicament D - Oui : pas dassociation entre un mdecin et un mdicament

12

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Exercice - Interprtation de schmas entit/association


Tournoi de tennis Le schma E/A ci-dessous reprsente des rencontres dans un tournoi de tennis. Rpondez aux questions suivantes en fonction des caractristiques de ce schma (i.e.: indiquez si la situation dcrite est reprsentable, indpendamment de sa vraisemblance). Exercice A : Peut-on jouer des matchs de double ? Exercice B : Un joueur peut-il gagner un match sans y a voir particip ? Exercice C : Peut-il y avoir deux matchs sur le mme terrain la mme heure

Solution: A Non : cardinalit maximale 2 de lassociation Match - Joueur B - Oui : les deux associations Gagne et Participe sont distinctes C A priori, oui, car une occurrence de lentit terrain peut tre associe N occurrence de lentit Match

Exercice - Interprtation de schmas entit/association


Un journal Le schma E/A ci-dessous reprsente le systme d'information (trs simplifi) d'un quotidien.Rpondez aux questions suivantes en fonction des caractristiques de ce schma (i.e.: indiquez si la situation dcrite est reprsentable, indpendamment de sa vraisemblance).
Exercice A : Un article peut-il tre rdig par plusieurs journalistes ? Exercice B : Un article peut-il tre publi plusieurs fois dans le mme numro ? Exercice C : Peut-il y avoir plusieurs articles sur le mme sujet dans le mme numro ?

Solution: A Non : cardinalit maximale 1 de lassociation Article - Journaliste B - Non : lassociation Article-Numro a pour cl primaire lidentifiant dun article + identifiant numro, qui sera unique par dfinition C Oui

13

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Exercice de modlisation 1 - nonc


Exercice 1
Il s'agit d'tablir le schma conceptuel d'une base de donnes pour la gestion des formations d'un institut priv. Un cours est caractris par un numro de cours (NOCOURS), un libell (LIBELLE), une dure en heures (DUREE) et un type (TYPE). Un cours peut faire l'objet dans l'anne de plusieurs sessions identiques. Une session est caractrise par un numro (NOSES), une date de dbut (DATE) et un prix (PRIX). Une session est le plus souvent assure par plusieurs animateurs et est place sous la responsabilit d'un animateur principal. Un animateur peut intervenir dans plusieurs sessions au cours de l'anne. On dsire mmoriser le nombre d'heures (NBH) effectu par un animateur pour chaque session. Un animateur est caractris par un numro (NOANI), un nom (NOMA) et une adresse (ADRA). Chaque session est suivie par un certain nombre de participants. Un participant est caractris par un numro (NOPAR), un nom(NOMP) et une adresse (ADRP). tablir le modle conceptuel de donnes sous format Diagramme Entit-Association. On indiquera les cardinalits minimales et maximales des couples entit-association.

Exercice de modlisation 1 - Solution

COURS NOCOURS LIBELLE DUREE TYPE

1,N

Fait lobjet de

1,1

1,1

SESSION NOSES DATE PRIX 1,N

1,N

Suit
1,N PARTICIPANT NOPAR NOMP ADRP

Intervient

NBH PRINCIPAL 1,N

ANIMATEUR NOANI NOMA ADRA

Base de donnes Gestion des Formations Modle Conceptuel de donnes Diagramme Entit-Association

14

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Exercice de modlisation 2 - nonc


Exercice 2 - LES INVITATIONS
Une personne dsire modliser le systme dinformation correspondant aux rceptions quelle organise (personnes invites, menus, ...). Ce systme dinformation doit lui permettre, en autre chose, de pouvoir laider organiser une rception en lui offrant la possibilit de construire sa liste dinvits, ainsi que son menu et les vins associs. Une rception a lieu une date donne et y sont invites des personnes dont on connat le nom, le prnom, leur sexe, leur ge et leur profession (lidentification dune personne se fait par son nom et son prnom). Le repas servi lors dune rception comprend un certain nombre de plats identifis par leur nom (" poulet la mexicaine " par exemple) et leur nature (" entre froide ", " dessert " par exemple). Pour pouvoir russir un menu, il faut que les vins servis soient en accord avec les plats. On dispose donc pour chaque plat dune liste de types de vins possibles caractriss par leur rgion viticole (" bourgogne " par exemple) et un type (" rouge cors ", " blanc sec " par exemple). Pour que la rception soit russie, il faut viter quune dispute vienne gcher lvnement et pour se faire la connaissance des amitis et inimitis entre personnes est primordiale. Enfin le dernier ingrdient dune rception russie est doffrir au menu des plats que les invits apprcient et surtout dviter de leur servir des plats quils naiment pas. tablir le modle conceptuel de donnes sous format Diagramme Entit-Association. On indiquera les cardinalits minimales et maximales des couples entit-association.

Exercice de modlisation 2 - Solution

PERSONNE NOCOURS 1,N LIBELLE DUREE TYPE

Fait lobjet de

1,1

1,1

PLAT NOSES DATE PRIX 1,N

1,N

Suit
1,N INVITATION NOPAR NOMP ADRP

Intervient

NBH PRINCIPAL 1,N

TYPE DE VIN NOANI NOMA ADRA

Base de donnes Invitations Modle Conceptuel de donnes Diagramme Entit-Association

15

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Exercice de modlisation 3 nonc


Exercice 3 - LES CAMPAGNES DE CHALUTAGE EXPERIMENTAL
On se propose de concevoir une base de donnes pour grer les donnes rcoltes lors de campagnes de prospection en mer. Chaque campagne est identifie par un code. Elle regroupe un ensemble d'oprations de pche appeles stations. Une campagne est ralise avec un bateau identifi par son nom, sur une priode continue limite par la date de la premire station et la date de la dernire station de cette campagne. La priode de la campagne se tient dans une saison. L'information sur la saison est importante pour la prparation de la campagne et l'analyse de ses rsultats. Chaque station est ralise dans une strate. Les strates sont issues du dcoupage d'une region selon un systme de stratification choisi pour chaque campagne. Le systme de stratification est identifi par un code, porte un nom ainsi qu'une description de la rgion prospecte et de son mode de dcoupage en strates. Au sein d'un systme de stratification, toute strate est identifie par un code, porte un nom et une description des critres qui ont servis sa dfinition. On considre que les critres utiliss pour la stratification sont des secteurs gographiques croiss avec des intervalles de bathymtrie. Chaque station est identifie par un code interne la campagne. La station est localise dans le temps (date, heures de dbut et de fin de l'opration de pche) et dans l'espace (position gographique en dbut et fin d'opration de pche).. L'tat de la mer lors de l'opration de pche est une information importante. Un engin de pche, connu par son nom, est utilis pour chaque station La capture ralise par l'opration de pche est quantifie globalement par pese. Le nombre d'espces captures est aussi identifi. Enfin, pour chaque espce, identifie par son nom, son genre et sa famille, on dtermine le poids correspondant dans la capture de la station. tablir le modle conceptuel de donnes sous format Diagramme Entit-Association. On indiquera les cardinalits minimales et maximales des couples entit-association.

Exercice de modlisation 3 - Solution


(0,n)

Bateau

Est effectue par

(1,1)

(0,n)

Engin de Pche

utilise

(1,1)

Base de donnes Campagnes de Chalutage Exprimental Modle Conceptuel de donnes Diagramme Entit-Association

16

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Exercice de modlisation 3 Solution

Base de donnes Campagnes de Chalutage Exprimental Modle Conceptuel de donnes Entits et Attributs

Exercice de modlisation 4 nonc


Exercice 4 On veut grer les tudiants et les professeurs dun ensemble de formations dispenss par une universit. Un tudiant est identifi par son prnom, son mon et son age. Un tudiant suit une formation. Chaque formation a un nom et une dure (nombre dannes). Elle est assure par un ensemble denseignants. Chaque enseignant est connu par son nom, son prnom et la matire quil enseigne. On dsire savoir le nombre dheures quun enseignant effectue pour chacune des formations dans lesquelles il enseigne. 1 - Identifier les entits, les attributs et les associations. On utilisera la reprsentation diagramme Entit-Association. 2 indiquer les cardinalits minimales et maximales de chaque association

17

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Exercice de modlisation 4 - Solution

ETUDIANT PRNOM NOM AGE

1, 1

Suit

1, N

FORMATION NOM_FORMATION NOMBRE_ANNES

1, N Intervient 1, N
ENSEIGNANT PRNOM NOM MATIRE NOMBRE_HEURES

Base de donnes tudiants Modle Conceptuel de donnes Diagramme Entit-Association

Traduction du modle conceptuel au Modle Relationnel (1)


Relation Plusieurs- Plusieurs pour chaque entit, une relation (table) ayant les mmes attributs et la mme cl primaire pour la relation, une relation(table) ayant pour attributs les ventuels attributs de lassociation ainsi que les attributs identifiant des deux entits de lassociation. Lensemble de ces attributs identifiant constituent la cl primaire de la table Exemple :
Modle conceptuel tape Numro tape Ville dpart Ville Arrive Distance Coureur
1, N participe Temps ralis 0, N Numro Coureur

Prnom Nom Nationalit

Modle logique relationnel Etape #Numro tape Ville dpart Ville Arrive Distance Participe #Numro tape #Numro de coureur Temps ralis Coureur #Numro Coureur Prnom Nom Nationalit
# : attribut faisant partie de la cl primaire

Schmas relationnels de la base de donns

tape (NumroEtape, Ville dpart, Ville arrive, NbKm) Coureur (NumroCoureur, Prnom, Nom) Participe (NumroCoureur, NumroEtape, TempsRalis)

18

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Traduction du modle conceptuel au Modle Relationnel (2)


Relation Un Plusieurs (dpendance fonctionnelle) pour chaque entit, une relation (table) ayant les mmes attributs et la mme cl primaire La cl primaire de lentit dpendante est ajoute aux attributs de lentit dont elle dpend (cl trangre) Les attributs de lassociation sont aussi ajouts comme attributs de lentit dpendante Exemple :
Modle conceptuel Coureur Numro Coureur Prnom Nom Nationalit
1, 1 Fait partie de Date contrat 1, N

quipe Code quipe Nom quipe Directeur Sportif

Modle logique relationnel

Coureur #Numro Coureur Prnom Nom Nationalit Code quipe Date Contrat

quipe #Code quipe Nom quipe Directeur sportif


# : attribut faisant partie de la cl primaire

Schmas relationnels de la base de donnes

Coureur (NumroCoureur, Prnom, Nom, Nationalit, Code quipe, Date contrat) Equipe (CodeEquipe, NomEquipe, DirecteurSportif)

Traduction du modle conceptuel au Modle Relationnel (3)


Relation Un Un (association binaire) pour chaque entit, une relation (table) ayant les mmes attributs et la mme cl primaire Une des deux relations doit inclure les attributs de la cl primaire de lautre (cl trangre) Une alternative est de regrouper les deux entits en une seule relation, regroupant tous les attributs des deux entits, et ayant pour cl primaire la cl primaire de lune des entits de la relation. Cette solution nest a priori pas souhaitable dans la mesure ou elle ne reflte pas la volont exprime au niveau conceptuel de voir apparatre les deux entits de faon distincte.
Modle conceptuel Employ Identifiant Prnom Nom Salaire
0, 1 Dirige 1, 1

Dpartement Nom du dpartement Tlphone Directeur Sportif

Modle logique relationnel Employ #identifiant Prnom Nom Salaire Schmas relationnels de la base de donnes

Dpartement #Nom du dpartement Tlphone Identifiant directeur


# : attribut faisant partie de la cl primaire

Employ (Identifiant,, Prnom, Nom, Salaire) Dpartement (Nom dpartement, Tlphone, Identifiant directeur)

19

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Normalisation du modle relationnel

Une telle relation prsente diffrent problmes: Redondance: rptition d'information comme le nom du produit associ un code produit perte d'espace disque difficult de mise jour, avec risque dintroduire des inconsistances dans la base de donnes Risques de perte d'information : si l'on supprime l'information sur le produit P2, on supprime aussi l'information sur le Dpt 3 Inaptitude la gestion de l'information : il n'est pas possible d'ajouter un produit sans ajouter les informations sur un des dpts qui le stocke

Normalisation Dpendance fonctionnelle Dpendance fonctionnelle :

Soient X et Y deux attributs dune relation R X Y : Y dpend fonctionnellement de X ou X dtermine fonctionnellement Y Si et seulement si pour une valeur de X, il existe une et une seule valeur de Y. Exemple : Soit la relation Employ (Nidentit, Prnom, Nom, Adresse) Employ.NIdentit Employ.Prnom Employ.NIdentit Employ.Nom Employ.NIdentit Employ.Adresse mais Employ.Adresse Employ. NIdentit
plusieurs employs peuvent vivre la mme adresse

20

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Normalisation - Premire forme normale

La premire forme normale 1NF: Une relation est 1NF si chacun de ses attributs a un domaine atomique (1 seule valeur pour une occurrence de la relation) Exemple: Personne (IdPersonne, nom, les diplmes) o les diplmes sont lensemble des diplmes obtenus par une personne; nest pas en 1NF -Personne (IdPersonne, nom) est en 1NF -Diplme (IdPersonne, unDiplme) est en 1NF

Normalisation - Deuxime forme normale

Exemple :

21

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Normalisation - Troisime forme normale Une relation est en 3NF ssi elle est en 2NF Tout attribut nappartenant pas la cl ne dpend pas dun attribut non cl (ou tout attribut nappartenant pas la cl ne dpend pas transitivement de la cl).
Exemple: R = (NumroFacture, DateFacture, TotalFacture, NumroClient, NomClient) NumroClient NumroFacture NumroFacture NumroClient NumroFacture NomClient => pas de DF => DF direct => DF indirect

En effet : La cl est NumroFacture. R est en 2NF. NumroFacture NumroClient NomClient => DF par transitivit. La solution en 3NF : R1 = (NumroFacture, DateFacture, TotalFacture, NumroClient) R2 = (NumroClient, NomClient)

Exercice Deuxime forme normale


Exercice :

Soit la relation COMMANDE(article,quantit,prix,fournisseur,adresse du fournisseur) 1 - Dfinir la cl primaire de cette relation 2 Cette relation reprsente une entit ou une association? Prciser. 3 - Cette relation est elle en 2NF ? Pourquoi ? 4 Si non, quelle modification du modle de donnes faut-il envisager?
Solution :

1 - La cl de la relation est compose des attributs article et fournisseur. 2 - Il sagit de la reprsentation logique dune association entre deux entits Article et Fournisseur. 3 - Les attributs Quantit et Prix dpendent des deux attributs de la cl (article, fournisseur) L'adresse du fournisseur ne dpend que du fournisseur. La relation nest donc pas en 2NF 4 -Il y aura forcment de la redondance. Chaque fois que l'on aura le fournisseur Truc, on aura l'adresse de Truc. (modifier l'adresse de Truc imposerait donc de modifier plusieurs cases. Il faut donc clater la table en deux relations : COMMANDE(Article, Quantit, Prix, Fournisseur) Quantit et Prix sont des attributs de lassociation entre une entit Article et une entit Fournisseur FOURNISSEUR(Fournisseur, Adresse du fournisseur) De cette manire, si l'adresse du fournisseur change, on fera la mise jour en modifiant une case seulement !

22

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Exercice Troisime forme normale


Exercice :

Soit la relation FOURNISSEUR (Fournisseur, Rue, Ville, Code Postal) 1 - Dfinir la cl primaire de cette relation 2 - Cette relation est elle en 3NF ? Pourquoi ? 3 Si non, quelle modification du modle de donnes faut-il envisager?

Solution :

Il existe une dpendance fonctionnelle ente lattribut ville et lattribut code postal: On peut retrouver une ville par la connaissance du code postal DF CodePostal-> Ville VILLE (CodePostal, Nom) FOURNISSEUR (Fournisseur, Rue, CodePostal) Lattribut CodePostal de la relation FOURNISSEUR est un cl trangre

Exercice 1 Modle Relationnel


Exercice :

On vous donne un schmas E/A ci-dessous reprsentant des visites dans un centre mdical. Construire le schma relationnel correspondant. Indiquez prcisment : La cl primaire. Les cls trangres. Les contraintes ventuelles.

Solution:

Mdicament (Code, Libell) Consultation (ID-consultation, Matricule, NO-SS, Date). Matricule et NO-SS sont les cls trangres. Prescription (Code-mdicament, ID-consultation, Nb-prises) Mdecin (Matricule, Nom). Les attributs entrant dans la composition de la cl primaire sont indiqus en caractres gras et Patient (NO-SS, Nom).
souligns

23

COPEMED - Formation SGBD - ACCESS

Tunis, 25 septembre 2 octobre 2001

Exercice 2 Modle Relationnel


Exercice Reprsenter le diagramme Entit-Relation ci-dessous dans le modle relationnel.

Exemple de relation binaire

Solution
POLICES(#P, BENEFICIAIRE, QUANTITE, #EMP) #EMP est une cl trangre EMPLOYE(#EMP, NOM, SALAIRE, #EMP_D) #EMP_D est une cl trangre COURTIER(#EMP, STATUT)

Les attributs entrant dans la composition de la cl primaire sont indiqus en caractres gras et souligns

Exercice 3 Modle Relationnel


Exercice Reprsenter dans le modle relationnel le diagramme Entit-Relation campagnes de chalutage dj utilis. Solution Campagne (#CodeCampagne, Date 1re Station, Date dernire Station, Saison, #CodeBateau) Bateau (#CodeBateau, NomBateau) peut aussi tre intgr la table Campagne

Systme Stratification(#CodeSystmeStratification, Nom, Description) Strate (#CodeSystmeStratification, #CodeStrate, Secteur, IntervalleBathymtrie)) Station (#Code Campagne, #CodeStation, Date, HeureDbut, HeureFin, PositionDbut, PositionFin, EtatMer, PoidCaptur, NombreEspces, #CodeEngin) Engin de pche (#CodeEngin, NomEngin) Espece (#Genre, #Espce, Famille) Association CaptureEspece (#CodeCampagne, #CodeStation, #Genre, #Espce, PoidsCaptur) peut aussi tre intgr la table Station

Base de donnes Campagnes de Chalutage Exprimental Schmas des relations

24