Professional Documents
Culture Documents
organise par
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.
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...
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.
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.
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
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.
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.
Coureurs
quipes
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
Schma Externe
....
Schma Externe
Schma Externe
perception du monde rel en terme dentits et de rgles de gestion entre ces entits
Schma Conceptuel
Schma Logique
Schma Physique
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 :
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
Relation : faire partie de Entits lies : Coureur, quipe Attribut de la relation : dates du contrat
Commande Concerner
Produit
Quand je compte le nombre de produits dune commande, je mintresse aux cardinalits de commande
Quand je compte le nombre de commandes dun produit, je mintresse aux cardinalits de produit
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
Plusieurs plusieurs
Un plusieurs
Un--un
est originaire de
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
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
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.
1, N
1, 1
fait partie de
1, 1
est originaire de
0, N
participe
1, N
10
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
12
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
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
1,N
Fait lobjet de
1,1
1,1
1,N
Suit
1,N PARTICIPANT NOPAR NOMP ADRP
Intervient
Base de donnes Gestion des Formations Modle Conceptuel de donnes Diagramme Entit-Association
14
Fait lobjet de
1,1
1,1
1,N
Suit
1,N INVITATION NOPAR NOMP ADRP
Intervient
15
Bateau
(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
Base de donnes Campagnes de Chalutage Exprimental Modle Conceptuel de donnes Entits et Attributs
17
1, 1
Suit
1, N
1, N Intervient 1, N
ENSEIGNANT PRNOM NOM MATIRE NOMBRE_HEURES
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
tape (NumroEtape, Ville dpart, Ville arrive, NbKm) Coureur (NumroCoureur, Prnom, Nom) Participe (NumroCoureur, NumroEtape, TempsRalis)
18
Coureur #Numro Coureur Prnom Nom Nationalit Code quipe Date Contrat
Coureur (NumroCoureur, Prnom, Nom, Nationalit, Code quipe, Date contrat) Equipe (CodeEquipe, NomEquipe, DirecteurSportif)
Modle logique relationnel Employ #identifiant Prnom Nom Salaire Schmas relationnels de la base de donnes
Employ (Identifiant,, Prnom, Nom, Salaire) Dpartement (Nom dpartement, Tlphone, Identifiant directeur)
19
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
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
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
Exemple :
21
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)
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
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
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
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
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
24