Upload
sofiene-melki
View
799
Download
3
Embed Size (px)
Citation preview
1
Chapitre 1
BASES DE DONNEES
© H
EC
Car
thag
e 20
09-2
010
© H
EC
Car
thag
e 20
06-2
007
2
Conception d’une base de donnéesConception d’une base de données
Définitions (BD, SGBD, …)
Méthodes de conception• Modèle Entité-Association : Modèle Conceptuel des données
(MCD)
- Concepts de base (entité, attribut, association, clé,…)
- Diagramme E/A
- Cardinalités
• Modèle Relationnel : Modèle Logique de données (MLD)
• Règles de passage du MCD au MLD
Etude de cas
© H
EC
Car
thag
e 20
06-2
007
3
Définition d’une Base de DonnéesDéfinition d’une Base de Données
Une BD est un ensemble cohérent de données mémorisé par un ordinateur, utilisé par de nombreuses personnes et possédant une organisation régie par un modèle de données défini pour les besoins d’une application.
La BD possède une organisation donc une structure régie par un modèle.
© H
EC
Car
thag
e 20
06-2
007
4
Bases de données: OBases de données: Objectifbjectif
Fournir des concepts et des méthodes pour analyser des problèmes et construire des solutions
prise en charge par des SGBD
(système de gestion de bases de données: Access)
© H
EC
Car
thag
e 20
06-2
007
5
Bases de données : ObjectifBases de données : Objectif
Afin de garantir• la qualité des données enregistrées• leur cohérence et leur intégrité• leur protection en cas d’incident• leurs accès simultanés et leur partage• leur confidentialité
• Indépendance des données
relationnelles
© H
EC
Car
thag
e 20
06-2
007
6
Système de Gestion de Bases de Système de Gestion de Bases de Données (SGBD)Données (SGBD)
Un SGBD représente un ensemble de logiciels qui permet de décrire, manipuler, traiter les ensembles de données formant la base. Il doit :
• assurer la sécurité et la confidentialité des données
• pouvoir être utilisé par des non-informaticiens.
• assurer la définition des structures de stockage et des structures de données + suivi de leur évolution.
• assurer la cohérence des données.
© H
EC
Car
thag
e 20
06-2
007
7
ExemplesExemples
Gestion du personnel, des étudiants, des
cours, des inscriptions, … d’une université ou
école,
Système de réservation de places d’avion pour
les compagnies aériennes,
Gestion des comptes clients dans une banque,
...
© H
EC
Car
thag
e 20
06-2
007
8
BD & SGBD relationnelsBD & SGBD relationnels
Une base de données (BD) relationnelle • apparaît comme une collection de tables • cache les détails techniques d’implantation• accessible par SQL (Structured Query Language)
– créer des tables– ajouter des colonnes– ranger, modifier & consulter des données– définir des droits d’accès
Informix, DB2,Unify, Sybase, ORACLE, Access, ...
CLIENT
NOM ADRESSE LOCALITE COMPTE
AMEURBEN SALAHMRABETKRAIEMLABIDICHAOUACHIGAFSIJELALIROUISSI
23, a. Carthage25, r. du Caire112, r. d’Athène5, a. de Madrid180, r. de Rome3, a. des Roses14, r. de l’Eté72, r. de la Gare65, r. Lafayette
CarthageTunisArianaTunisTunisLa MarsaCarthageArianaTunis
125.000-230.000
0.000.00
72.000-258.000870.000
-320.00035.000
© H
EC
Car
thag
e 20
06-2
007
9
Construction d’une BDConstruction d’une BD
Séparer l’analyse de l’implantation:
Analyse: schéma conceptuel de la BD• solution abstraite
– indépendante de la technologie
• formalisme “Entité-Association”
Implantation: structure de tables• langage SQL
© H
EC
Car
thag
e 20
06-2
007
10
Processus de conception Processus de conception d’une BDd’une BD
Modélisation
© H
EC
Car
thag
e 20
06-2
007
11
Modélisation : ObjectifModélisation : Objectif
Représenter l'ensemble des données:- sans redondances - avec un minimum de valeurs
nulles en vue de minimiser la taille de la base de données issue du modèle.
minimiser l'espace occupé en mémoire auxiliaire
minimiser le volume d'informations manipulées lors de chaque accès à la base de données.
© H
EC
Car
thag
e 20
06-2
007
12
Exemple (Magasin LOGICA)Exemple (Magasin LOGICA)
Soit la facture N°3 du magasin LOGICA concernant l’achat d’un ordinateur multimédia et deux CD-ROM éducatifs auprès du vendeur Ali BEN SALAH.
La facture mentionne le nom du vendeur, afin de calculer son chiffre d'affaires mensuel.
La vente d'un article est matérialisée par une ligne de la facture.
Société LOGICA Facture N° 3 Vendeur : Ali BEN SALAH Le 14 février 2001
Référence article Description article Prix unitaire Quantité Montant 1 Ordinateur multimédia 1 500,000 1 1 500,000 2 CDROM app-cla 150,000 2 300,000
Total 1 800,000 TVA 370,800 TTC 2170,800
Exemple (suite)Exemple (suite)
Référence article
Description article
Prix unitaire
Numéro facture
Date facture
Quantité Matricule vendeur
Nom vendeur
1 Ordinateur 1500,000 1 05-fév 2 1 Ali Ben Salah
1 Ordinateur 1500,000 3 12-fév 1 1 Ali Ben Salah
2 CDROM 150,000 1 05-fév 1 1 Ali Ben Salah
2 CDROM 150,000 3 12-fév 2 1 Ali Ben Salah
3 Lecteur DVD
300,000 2 12-fév 1 1 Ali Ben Salah
4 Téléviseur 800,000 NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL 2 Mounira Tounsi
Présence de cases vides (valeurs nulles) + redondances.
ModélisationModélisation
L'étude du SI d'une organisation consiste à : réunir les documents, réaliser des entretiens
pour établir la liste des informations utilisées.
Cette liste est divisée en groupes d'informations qui représentent des individus, des objets ou des concepts de l'organisation.
© H
EC
Car
thag
e 20
06-2
007
15
Modèle Conceptuel de données (M.C.D.) Modèle Conceptuel de données (M.C.D.) ou Modèle Entité-Associationou Modèle Entité-Association
Repose sur la perception du monde réel sous forme d’un ensemble d’objets “entités” associés au moyen d’un ensemble d’“associations” entre ces objets.
Modélisation = abstraction
Il s’agit d’une description :- statique : les entités et les associations sont décrites par leurs propriétés (attributs)
- dynamique : les associations traduisent les règles de gestion entre les entités identifiés.
Exemple :Un Coureur fait partie d’une Équipe Numéro Code Nom Nom Nationalité Directeur sportif
© H
EC
Car
thag
e 20
06-2
007
16
Modèle Entité-AssociationModèle Entité-Association
Entité Une entité correspond à un objet abstrait ou concret
que l’on perçoit de la réalité. Chaque entité est décrite par des propriétés
(ou attributs). Chaque occurrence de l’entité est définie par les
valeurs de ses différents attributs.
Exemple: l’entité Coureur a 3 attributs
Le coureur (nº8, Ben Salah , Tunisienne) est une occurrence de l’entité coureur.
© H
EC
Car
thag
e 20
06-2
007
17
Modèle Entité-AssociationModèle Entité-Association
Attribut C’est une propriété caractéristique de l’entité. Il associe à chaque entité une valeur appartenant à un
domaine. Un domaine est un ensemble de valeurs acceptables
pour l’attribut considéré.
Exemple:
Le domaine de l'attribut code postal peut être l'ensemble des entiers positifs appartenant à l'intervalle [1000, 3000].
© H
EC
Car
thag
e 20
06-2
007
18
Modèle Entité-AssociationModèle Entité-Association
Identifiant (clé) d’une entité
Chaque entité possède une clé qui permet d’identifier de façon unique chacune de ses occurrences.
L’existence de cette clé garantit l’accès à n’importe quelle occurrence de l’entité. La clé (dite primaire) est définit par un ou plusieurs attributs.
Exemple : Deux coureurs ne peuvent pas avoir le même numéro.
Par contre, on pourrait avoir deux coureurs ayant le même nom.
l’attribut numéro est retenu comme clé primaire de l’entité Coureur.
CoureurCoureur
NuméroNuméro
NomNom
prénomprénom
© H
EC
Car
thag
e 20
06-2
007
19
Modèle Entité-AssociationModèle Entité-Association
Association
Met en relation plusieurs entités. Une association n’existe que par les entités qu’elle met en
correspondance. Elle peut être caractérisée par des attributs qui dépendent
des occurrences que l’association met en relation. Une association est aussi appelée relation. On distingue :
les associations n-aires qui relient plus de deux entités. les associations binaires qui ne relient que deux entités.
Exemple :Le client Ali a commandé le produit n°20.
Diagramme Entité-AssociationDiagramme Entité-Association
Modèle Entité-AssociationModèle Entité-Association
CardinalitéPour une entité A en relation avec une entité B, il s’agit du nombre d’occurrences d’associations que possède une occurrence de l’entité A avec l’entité B.
Quand on compte le nombre de produits d’une commande, on s’intéresse aux cardinalités de « commande »
Quand on compte le nombre de commandes d’un produit, on s’intéresse aux cardinalités de “produit”
© H
EC
Car
thag
e 20
06-2
007
22
CardinalitésCardinalités
Cardinalités possibles :
Cardinalités Traductions
0,1 aucun ou un
1,1 un et un seul
0,n aucun ou au moins un
1,n au moins un
© H
EC
Car
thag
e 20
06-2
007
23
Exemple (Magasin LOGICA)Exemple (Magasin LOGICA)
Soit la facture N°3 du magasin LOGICA concernant l’achat d’un ordinateur multimédia et deux CD-ROM éducatifs auprès du vendeur Ali BEN SALAH.
La facture mentionne le nom du vendeur, afin de calculer son chiffre d'affaires mensuel.
La vente d'un article est matérialisée par une ligne de la facture.
Société LOGICA Facture N° 3 Vendeur : Ali BEN SALAH Le 14 février 2001
Référence article Description article Prix unitaire Quantité Montant 1 Ordinateur multimédia 1 500,000 1 1 500,000 2 CDROM app-cla 150,000 2 300,000
Total 1 800,000 TVA 370,800 TTC 2170,800
© H
EC
Car
thag
e 20
06-2
007
24
MCD (Exemple du magasin LOGICA)MCD (Exemple du magasin LOGICA)
Le modèle est établi à partir de la liste des informations qui réunit toutes les données élémentaires.
Exemple de la facture du magasin LOGICA : Liste des informations :
Les autres informations sont calculées à partir de cette liste élémentaire, ou bien ce sont des paramètres (Exp. taux de TVA).
numéro facture date facture
nom vendeur
référence article
description article
prix unitaire
quantité
© H
EC
Car
thag
e 20
06-2
007
25
MCDMCD
Chaque facture possède un numéro unique. Chaque article a une seule référence. Le nom de chaque vendeur peut ne pas être unique (cas
d'homonymie) création d’un matricule pour chaque vendeur. Les informations numéro facture, matricule vendeur, référence
article sont appelés identifiants.
Entités Associations facture (numéro facture, date facture)
vendeur(matricule vendeur, nom vendeur)
article(référence article, description article, prix unitaire)
un vendeur établit une facture
les factures comportent autant de lignes ( ligne facture ) que d'articles vendus, chaque ligne mentionne la quantité vendue.
© H
EC
Car
thag
e 20
06-2
007
26
Diagramme E/ADiagramme E/A
CardinalitésCardinalités
Elles expriment le nombre de valeurs minimum et maximum que l'entité peut prendre dans l'association.
Un vendeur établit aucune, ou au moins une facture
Une facture est établie par un et un seul vendeur
Un article figure aucune ou au moins une fois dans les factures
Une facture comporte au moins un article
© H
EC
Car
thag
e 20
06-2
007
28
Exercice 1
Dans une entreprise, un département est identifié par un nom et caractérisé par une localisation.
Un employé est caractérisé par un numéro, son nom, son grade et le département dans lequel il travaille.
Le numéro d ’un employé est unique dans l’entreprise.
© H
EC
Car
thag
e 20
06-2
007
29
Employé Département
NomDLocalisation
NoENomEGrade
1,1 1,N
travaille
Exercice 1Exercice 1
© H
EC
Car
thag
e 20
06-2
007
30
Soient un ensemble de personnes et un ensemble de voitures.
Une personne est caractérisée par un numéro qui l’identifie et par les voitures dont elle est l’unique propriétaire
Une voiture possède un numéro de plaque, une marque et une date de mise en circulation.
Exercice 2Exercice 2
© H
EC
Car
thag
e 20
06-2
007
31
No plaqueMarqueDate mise en circulation
Personne Voiture
1,11,NNoP
Exercice 2Exercice 2
possède
© H
EC
Car
thag
e 20
06-2
007
32
Soit un ensemble de personnes identifiées par un numéro et caractérisées par un nom.
Soit un ensemble de banques identifiées par un numéro.
Une personne peut ouvrir un ou plusieurs comptes dans une banque.
Chaque banque affecte à ses comptes un numéro unique.
Exercice 3Exercice 3
© H
EC
Car
thag
e 20
06-2
007
33
Banque
NoB
Personne
NoPNomP 1,N
1,N
NoC
Compte
1,1
1,1
Exercice 3Exercice 3
possède
accorde
© H
EC
Car
thag
e 20
06-2
007
34
Modèle Logique de Données (M.L.D.) ou Relationnel
Une BD relationnelle est une BD dont le schéma est un ensemble de schémas de relations et dont les occurrences sont des tuples ou n-uplets (enregistrements) de ces relations.
Les entités et les associations du modèle E-A sont représentées exclusivement par des relations (des tables).
Une entité est représentée par sa liste d'attributs.
CLIENT (Numclient, Nom, Adresse, Solde)
Une association est représentée par la liste des clés des entités qu'elle associe et ses propres attributs.
Facturer (#Numclient, #Numfacture, Période)
© H
EC
Car
thag
e 20
06-2
007
35
MCD
MLD 1 MLD 2
Notation graphique:
Entité 1 Entité 2Association
Relation1 Relation 2 Relation 1 Relation2
Relation 3
ou
Modèle Logique de Données (M.L.D.) Modèle Logique de Données (M.L.D.) ou Relationnelou Relationnel
© H
EC
Car
thag
e 20
06-2
007
36
Modèle Logique de Données (M.L.D.) ou relationnel
Le modèle logique est composé de relations qui décrivent les tables de données du système d'information.
Il est construit à partir du modèle conceptuel, à l'aide de règles de transformations.
© H
EC
Car
thag
e 20
06-2
007
37
Règles de transformation (R1)
1. Les entités deviennent des relations, l'identifiant de l'entité devient la clé primaire de la relation correspondante.
© H
EC
Car
thag
e 20
06-2
007
38
Règles de transformation (R2)
2. Les associations disparaissent, mais le lien entre les deux entités est conservé.
C.I.F
© H
EC
Car
thag
e 20
06-2
007
39
Règles de transformation (R3)
3. Les associations se transforment en relations. La clé de la relation est formée des identifiants des entités.
© H
EC
Car
thag
e 20
06-2
007
40
Exemple de la société LOGICA
Soit l’exemple de la société LOGICA : l'entité facture la relation facture, sa clé est le numéro
de facture l'entité article la relation article, sa clé est le numéro
d'article l'entité vendeur la relation vendeur, sa clé est le
matricule du vendeur l'association établit disparaît, mais le lien entre facture et
vendeur est conservé en intégrant à la relation facture le matricule du vendeur (une facture est établie par un seul vendeur)
l'association ligne facture devient la relation ligne facture, sa clé est l'ensemble numéro article et numéro de facture
© H
EC
Car
thag
e 20
06-2
007
41
Modèle Logique de Données (M.L.D.) ou relationnel
Les relations possèdent des clés primaires qui jouent le même rôle que les identifiants dans les entités.
La clé primaire identifie de manière unique chaque ligne d'une table.
Les relations possèdent éventuellement des clés étrangères (informations précédées du symbole #), qui sont des clés primaires d’autres relations.
© H
EC
Car
thag
e 20
06-2
007
42
Le modèle logique (Exp. de la société LOGICA) obtenu est le suivant :
facture ( num éro facture , date facture, # matricule vendeur )
vendeur ( matricule vendeur , nom vendeur )
ligne facture (# num éro facture, # réfé rence article , quantit é )
facture ( num éro facture , date facture, # matricule vendeur )facture ( num éro facture , date facture, #facture ( num éro facture , date facture, #
article (réfé rence articlearticle (réfé rence article , designation article, prix unitaire )
vendeur ( matricule vendeur , nom vendeur )vendeur ( matricule vendeur , nom vendeur )vendeur ( matricule vendeur , nom vendeur )
Modèle Logique de Données (M.L.D.) ou relationnel
© H
EC
Car
thag
e 20
06-2
007
43
Exemple de la société LOGICA :
Modèle Logique de Données (M.L.D.) ou relationnel
© H
EC
Car
thag
e 20
06-2
007
44
Autre Exemple
Un patient possède un numéro de dossier unique, un nom, une adresse et un numéro de téléphone.
Un patient est suivi par un médecin généraliste, caractérisé par un numéro de matricule, son nom et un numéro de téléphone
Un patient peut s’adresser aux policliniques pour obtenir des consultations auprès de médecins spécialistes. Une consultation est effectuée à une date donnée et dans une policlinique donnée, par un médecin spécialiste
Seules les consultations sur rendez-vous, donc obtenues à une date antérieure à celle de la consultation, sont admises
Etc. ..
0, N1,1Suivi
GENERALISTE
MatriculeGNomGTéléphoneG
PATIENTNumDossierPNomPAdressePTéléphoneP
© H
EC
Car
thag
e 20
06-2
007
45
Schéma Entité-Association (exemple)
0,N1,1 Suivi
0,N0,N Emploi
0,N
0,N0,N
Consultation
DateConsultation
DatePriseRV
Généraliste
MatriculeG
NomG
TéléphoneG
Patient
NumDossierP
NomP
AdresseP
TéléphoneP
Spécialiste
MatriculeS
NomS
Spécialités
Policlinique
NomP
LocalitéP
TéléphoneP
© H
EC
Car
thag
e 20
06-2
007
46
Transformation de schémas (exemple)
EMPLOYE
MatriculeNomFonction
DEPARTEMENT
NomDépAdresse
1,1
0,N
EMPLOYE
Matricule Nom Fonction #NomDép
DEPARTEMENT
NomDép Adresse
Modèle Entité-association Modèle Relationnel
Occupe