46
1 Chapitre 1 BASES DE DONNEES © HEC Carthage 2009-2010

Chap1 Base de données

Embed Size (px)

Citation preview

Page 1: Chap1 Base de données

1

Chapitre 1

BASES DE DONNEES

© H

EC

Car

thag

e 20

09-2

010

Page 2: Chap1 Base de données

© 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

Page 3: Chap1 Base de données

© 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.

Page 4: Chap1 Base de données

© 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)

Page 5: Chap1 Base de données

© 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

Page 6: Chap1 Base de données

© 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.

Page 7: Chap1 Base de 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,

...

Page 8: Chap1 Base de données

© 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

Page 9: Chap1 Base de données

© 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

Page 10: Chap1 Base de données

© H

EC

Car

thag

e 20

06-2

007

10

Processus de conception Processus de conception d’une BDd’une BD

Modélisation

Page 11: Chap1 Base de données

© 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.

Page 12: Chap1 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

Page 13: Chap1 Base de données

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.

Page 14: Chap1 Base de données

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.

Page 15: Chap1 Base de données

© 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

Page 16: Chap1 Base de données

© 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.

Page 17: Chap1 Base de données

© 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].

Page 18: Chap1 Base de données

© 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

Page 19: Chap1 Base de données

© 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.

Page 20: Chap1 Base de données

Diagramme Entité-AssociationDiagramme Entité-Association

Page 21: Chap1 Base de données

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”

Page 22: Chap1 Base de données

© 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

Page 23: Chap1 Base de données

© 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

Page 24: Chap1 Base de données

© 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é

Page 25: Chap1 Base de données

© 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.

Page 26: Chap1 Base de données

© H

EC

Car

thag

e 20

06-2

007

26

Diagramme E/ADiagramme E/A

Page 27: Chap1 Base de données

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

Page 28: Chap1 Base de données

© 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.

Page 29: Chap1 Base de données

© H

EC

Car

thag

e 20

06-2

007

29

Employé Département

NomDLocalisation

NoENomEGrade

1,1 1,N

travaille

Exercice 1Exercice 1

Page 30: Chap1 Base de données

© 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

Page 31: Chap1 Base de données

© 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

Page 32: Chap1 Base de données

© 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

Page 33: Chap1 Base de données

© 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

Page 34: Chap1 Base de données

© 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)

Page 35: Chap1 Base de données

© 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

Page 36: Chap1 Base de données

© 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.

Page 37: Chap1 Base de données

© 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.

Page 38: Chap1 Base de données

© 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

Page 39: Chap1 Base de données

© 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.

Page 40: Chap1 Base de données

© 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

Page 41: Chap1 Base de données

© 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.

Page 42: Chap1 Base de données

© 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

Page 43: Chap1 Base de données

© 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

Page 44: Chap1 Base de données

© 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

Page 45: Chap1 Base de données

© 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

Page 46: Chap1 Base de données

© 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