Vous êtes sur la page 1sur 54

Institut Supérieur des Sciences Appliquées et de

Technologie de Kairouan

Fondements des Bases de


Données

Dr. Wided BEN ABID


benabidwided@hotmail,com
À propos du cours

Objectifs:
• Apprendre le modèle Entité-Association et le schéma
relationnel de base de données.
• Maîtriser la théorie de normalisation de base de
données.
• Maîtriser le langage algébrique de base de données.
• Comprendre les bases du langage SQL.
Bibliographie:
1. Akoka, J., & Comyn-Wattiau, I. Conception de bases de
données relationnelles en pratique.
2. Gardarin, G. Bases de données, Eyrolles.
3. L. B. Romdhane, Base de données, FSM, 2008. .
2
Plan du cours

1. Introduction aux bases de données


2. Modèle Entité /Association
3. Modèle relationnel
4. Normalisation
5. Algèbre relationnelle
6. Langage SQL

3
INTRODUCTION AUX BASES DE
DONNÉES
Organisation des données (1)

▪ Les données peuvent être enregistrées :


❑ Dans des fichiers – besoin d’un SGF (Système de Gestion de
Fichier) pour l’exploitation de ces fichiers.
▪ L’utilisation directe de fichiers, avec un SGF, soulève de très
gros problèmes :
❑ Lourdeur d’accès aux données
❑ Manque de sécurité
❑ Pas de contrôle de concurrence : dans un environnement
où plusieurs utilisateurs accèdent aux mêmes fichiers,
des problèmes de concurrence d’accès se posent.
❑ Dans des Bases De Données (BD) – besoin d’un système de
gestion de base de données (SGBD) pour l’exploitation des
données

5
Base de données (définition)

• Base de données (BD) : une collection de


données modélisant des objets du monde réel.

• Exemple :
Une BD permettant de stocker et de gérer les données
de la scolarité des étudiants à L’ISIMM:
• la liste des étudiants,
• la liste des cours,
• les inscriptions,
• les emplois du temps,
• les relevés de notes, …)

6
6
Base de données (définition)

En pratique, une Base de Données (BD) est un :

• ensemble structuré de données enregistrées sur des


supports permanents accessibles par l’ordinateur (stockage
sur disque)

• permet de satisfaire simultanément plusieurs utilisateurs


(partage de données),

• ceci de manière sélective (confidentialité)

7
7
Avantages d’une BD

• Disponibilité des données pour une consultation, une saisie


ou une mise à jour,

• tout en s'assurant des droits accordés aux utilisateurs de la


BD.

• Limiter la redondance des données.

• Accès simultané à la base par plusieurs utilisateurs.

• Partage et sécurité de données.

• …

8
8
Les utilisateurs d’une BD

• Utilisateur final:
• Recherche d’informations sans connaître la BD.
• Accède à la BD par des interfaces applicatives, Web…

• Programmeur d’applications :
• Conçoit et implémente des applications qui accèdent à la
BD pour les utilisateurs finaux.
• Spécialiste de SQL.

• Administrateur de la BD :
• Définit et gère le schéma de la BD.
• Règle les performances.
• Charge les données et reformate la BD.
• Gère la sécurité et la fiabilité.
9
9
Définition d’un SGBD (1)

• Système de Gestion de BD (SGBD): un ensemble de logiciels


systèmes permettant de stocker et d’interroger un ensemble de
fichiers interdépendants

• Exemples:
– SGBD « bureautiques » : Access, Base, Filemaker,
Paradox…
– SGBD serveurs : Oracle, DB2, SQL Server,
PostgreSQL, MySQL, MariaDB…
10
Définition d’un SGBD (2)

◼ Chaque niveau du SGBD dispose des fonctionnalités :


❑ Niveau externe : vues ; environnement de programmation (intégration avec un
langage de programmation) ; Interfaces conviviales ; Outils d’aides (e.g.
conception de schémas) ; Outils de saisie/d’impression d’états

❑ Niveau logique :
◼ Un langage de définition de données (LDD)

◼ Un langage de manipulation de données (LMD)

◼ Gestion de la confidentialité (sécurité)

◼ Maintien de l’intégrité

❑ Niveau physique : gestion sur mémoire secondaire (fichiers) des données, du


schéma, des index ; Partage de données et gestion de la concurrence d’accès ;
Reprise sur pannes (fiabilité) ; Distribution des données et interopérabilité
(accès aux réseaux)

11
Définition d’un SGBD (3)

◼ Un SGBD assure :
❑ la description des données et leur recherche et mise à jour
❑ la non redondance des données : afin d’éviter les problèmes lors des mises à

jour, chaque donnée ne doit être présente qu’une seule fois


❑ la sûreté : vérifier les droits d’accès des utilisateurs ; limiter les accès non

autorisés
❑ la sécurité : sauvegarde et restauration des données ; limiter les erreurs de

saisie
❑ et de manipulation

❑ l’intégrité : Les données sont soumises à un certain nombre de contrainte

d’intégrité qui définissent un état cohérent de la base


❑ la concurrence d’accès : détecter et traiter les cas où il y a conflit d’accès

entre plusieurs utilisateurs et les traiter correctement


❑ le partage des données : Il s’agit de permettre à plusieurs utilisateurs

d’accéder aux mêmes données au même moment.

12
Plan du cours BD

1. Conception d’une BD (Niveau 1) :


• Comment construire une BD?
• Quelles sont les informations à rajouter dans la BD?
• Comment structurer une BD?
• Trouver la meilleure représentation d’une BD
• …

2. Utilisation d’une BD (Niveau 2) :


• Comment accéder aux informations contenues dans la BD?
• Comment utiliser les capacités d’un SGBD (Système de
Gestion de Base de Données) ?
• …

13
Conception d’une BD

• La conception d’une BD se fait en quatre étapes:


– Phase 1: Spécification de besoins (description des
besoins via un cahier de charge).
– Phase 2: Élaboration du schéma conceptuel de
données.
– Phase 3: Conception et affinement du schéma
logique des données.
– Phase 4: Élaboration du schéma physique des
données.

14
Conception d’une BD

15
Conception d’une BD (Plan Niveau 1)

1. Le modèle Entité-Association (E/A)

2. Le modèle Relationnel.

3. Conception et optimisation du
schéma relationnel (Formes
normales).

16
Conception d’une BD (Niveau 1)

Chapitre 1
Le modèle Entité-Association (E/A)

17
Modèle Entité-Association (E/A)

1. Définition de modèle E/A


2. Entité: type d’entité, attributs, identifiant (ou clé)
3. Association: type d’association, attributs,
identifiant (ou clé)
4. Cardinalités
5. Entité faible
6. Spécialisation
7. Contraintes d’intégrités
8. Démarche de définition de modèle E/A
9. Validation de modèle E/A

18
Modèle Entité-Association (E/A)
▪ La base de données est le fondement de tout le système, une
erreur pendant sa conception est difficilement récupérable par
la suite
▪ C’est le modèle conceptuel le plus utilisé
▪ Il se caractérise pas sa simplicité et sa puissance :
▪ analyse du monde réel
▪ conception du système d’information
▪ communication entre différents acteurs de l’entreprise
▪ il repose sur une représentation graphique facilitant sa
compréhension
▪ Actuellement utilisé par plusieurs méthodes et outils d'aide à
la conception des bases de données (MERISE, IDA,
Yourdon, ...)
▪ La modélisation conceptuelle est totalement indépendante de
tout choix d’implantation

19
Modèle Entité-Association (E/A)

▪ Modèle E/A : Description des données en termes d'objets,


liens et propriétés.
▪ objet → entité
▪ lien → association
▪ propriété → attribut
• Exemple d’un diagramme Entité-Association :

Client Commander Produit

• La version de base de ce modèle constitue un excellent


outil de communication entre les concepteurs de
systèmes d'information et les utilisateurs.

20
Modèle Entité-Association (E/A)

Exemple : La Gestion des Cartes Grises

On veut modéliser une Base de Données (BD) qui contient les


personnes qui possèdent des véhicules.

On veut répertorier toutes les personnes qui possèdent (ou qui


ont possédé) des véhicules.

Quelle est la structure de la BD la plus adéquate ?

21
Modèle Entité-Association (E/A)
Exemple : La Gestion des Cartes Grises
Des PERSONNES décrites par : Des VEHICULES décrits par :
le Numéro de sécurité sociale, le Numéro d’immatriculation,
le nom, l’adresse, la date de naissance la marque, le modèle, la puissance
… …
{P1, Clément, Paris, … {V1, Peugeot, 407, …
P2, Traifor, Paris, … V2, Peugeot, 1007, …
P3, Legrand, Nice, … V3, Mercedes, M, …
…} …}

La personne P3 possède le véhicule V3 ;


Le véhicule V3 est possédé par la personne P3

22
Modèle Entité-Association (E/A)
Exemple : Diagramme E/A
Des PERSONNES décrites par : Des VEHICULES décrits par :
le Numéro de sécurité sociale, le Numéro d’immatriculation,
le nom, l’adresse, la date de naissance la marque, le modèle, la puissance

Des entités (des objets) de Des entités (des objets) de
type Personne type Véhicule

Association:
La personne P possède le véhicule V ;
Le véhicule V est possédé par la personne P

Personne Posséder Véhicule


… …
23
Modèle Entité-Association (E/A)

- Exemple d’un Diagramme Entité-Association pour la Gestion des Cartes Grises

Personne Posséder Véhicule


… …

- Diagramme Entité-Association (notation générale) :

Type d’Entité 1 Type d’Entité 2


Type d’Association
… …

24
Modèle Entité-Association (E/A)

Des PERSONNES décrites par : Des VEHICULES décrits par :


le Numéro de sécurité sociale, le Numéro d’immatriculation,
le nom, l’adresse, la date de naissance la marque, le modèle, la puissance

Exemple d’un Diagramme Entité-Association après l’ajout des
attributs des deux entités Personne et Véhicules :
Personne Véhicule
NuméroDeSécuritéSociale NuméroImmatriculation
Nom Posséder Marque
Adresse Modèle
DateDeNaissance Puissance

25
Modèle Entité-Association (E/A)

Personne Véhicule
NuméroDeSécuritéSociale NuméroD’Immatriculation
Nom Posséder Marque
Adresse Modèle

DateDeNaissance Puissance
Date d’achat

Cette représentation graphique des données est appelée :


Diagramme ENTITE/ASSOCIATION (E/A) ou
SCHEMA CONCEPTUEL DE DONNEES (SCD) ou
MODELE CONCEPTUEL DE DONNEES (MCD)

26
Modèle Entité-Association (E/A)

Type d’Entité 1
Type d’Entité 2
Type d’Association

Personne Véhicule

NuméroDeSécuritéSociale NuméroD’Immatriculation
Posséder
Nom Marque
Adresse Modèle
Date d’achat
DateDeNaissance Puissance

27
Modèle Entité-Association (E/A)

Concepts de base du modèle E/A

– Entité
– Type d’entité
– Association
– Type d’association
– Attribut
– Valeur
– Type de valeur

28
Entité (1)
Définition (Entité): Une entité est une chose concrète ou
abstraite de la réalité perçue à propos de laquelle on veut
conserver des informations. Une entité a une existence
autonome.
- Une entité est définie comme un objet fiable et pertinent
pour l’application.
Exemples :
• Le crayon qui se trouve sur ma table (Entité concrète)
• Le Projet de Fin d’Etude PFE (Entité abstraite)
• Mme Fathia, Mr. Hichem, la cafetière X32, l'atelier de
fabrication A22, le service Comptabilité, … sont des objets
susceptibles d'être représentés par des entités.

29
Entité (2)

Dans un processus de modélisation, on ne s’intéresse


pas à chaque entité séparément mais à un type d’entité.

1. Un type d’entité (TE) est la classe de toutes les entités


qui sont de même nature et qui jouent le même rôle.
En d’autres termes, un TE est une représentation d’un
ensemble d’entités similaires et ayant les mêmes
caractéristiques.

2. Un TE est décrit par :


─ Un nom
─ Une définition qui précise la signification que nous
voulons retenir de ce type d’entité dans le cadre de la
base de données.
─ Une liste d’attributs
30
Entité (3)
Exemples de TE :
Dans l’exemple de BD de Gestion des Cartes Grises, le type d’entité Personne
regroupe les personnes qui possèdent (ou qui ont possédé) des véhicules.

Dans l’exemple d’une BD destinée à conserver des descriptions d’articles


parus dans les journaux, le type d’entité «Auteur» regroupe des personnes
auteur d’articles de journaux caractérisées par leur nom, leur prénom, leur
adresse,…

Par abus de langage, on utilise couramment:


• le terme «Entité» pour parler de «Type d’entité»,
• et on utilise le terme «occurrence» d’une entité pour parler d’un
individu particulier faisant partie de l’entité.

31
Entité (4)
Exemples de TE :

Dans l’exemple de BD de Gestion des Cartes Grises, le type d’entité Personne


regroupe les personnes qui possèdent (ou qui ont possédé) des véhicules.

numéro de sécurité sociale nom prénom date de naissance


158097520072013 CLEMENCE Adam 17/SEP/1958

Dans l’exemple ci-dessus, on dit l’entité «Personne » et on dit que


Adam CLEMENCE est une occurrence de l’entité «Personne » .

32
Entité (5)

Attributs d’une entité:


• Une entité possède toujours un ensemble de propriétés
appelées attributs.
• Pour une entité donnée, on ne conserve que les attributs
pertinents pour l’application.
• Un attribut dispose d’un nom unique et un domaine de
valeurs.

- Num_Sécurité_Sociale - Num_Matriculation
- Nom - Marque
- Adresse
- Date de naissance - Modèle
- Puissance

33
Entité (6)

Par convention, un type d'entité est représenté


Nom du Type
par un rectangle divisé en deux parties : d’Entité
- la partie supérieure contient le nom du type Attribut1
d'entité, et
Attribut2
- la partie du dessous contient l'ensemble de(s)
Attribut3
attribut(s) qui décrivent le type.

Exemples:
Personne
NuméroDeSécuritéSociale
Nom
Adresse
DateDeNaissance
34
Entité (7)
Un autre exemple d’entité :

Dans une base de données destinée à conserver des


descriptions d’articles parus dans les journaux:
• Le type d’entité «AUTEUR» regroupe des personnes
auteur d’articles de journaux caractérisées par leur
nom, leur prénom, leur adresse et leur date de
naissance.

35
Entité (8)
Entités Attributs Valeurs
Nom Blaise
Prénom Pascal, Pierre
Auteurs Adresse Paris

Date de naissance 12 Nov 1842

Attributs atomiques : Nom, Prénom, Adresse


Attributs composés : Date de naissance(jour, mois, année)

Attributs monovalués (Une seule valeur pour une entité donnée) : Nom,
Adresse, Date de naissance.
Attributs Multivalués (Plusieurs valeur pour une entité donnée) :
Prénom
36
Entité (9)
Une autre Notation d’Entité et de ses attributs:

Nom Prénom adresse

AUTEUR

Date de
naissance

Jour Mois Année


37
Entité (10)
Type de valeur ou domaine d’un attribut :

• Le type de valeur ou le domaine d’un attribut est


la spécification de toutes les valeurs possibles
que peut prendre un attribut.
• Exemples :
– Nom : Chaîne de caractères alphabétiques.
– Numéro de journal : entier compris entre 1 et 366.
– Couleur : {rouge, bleu, jaune, vert, blanc, noir}

38
Entité (11)
Clé d’une entité :

• Pour distinguer une entité d’une autre, on doit disposer d’une


clé.
• La clé d’une entité est un sous-ensemble minimal
d’attributs permettant de l’identifier de manière unique.
• Cas 1 : L’identifiant est formé d’un ou plusieurs attributs de
l’entité à identifier.
- Le Numéro d’immatriculation est la clé de l’entité Véhicule.
- Les Nom et prénom sont les attributs clé de l’entité Auteur.
• Cas 2 : on ajoute à l’entité un attribut artificiel, un numéro
arbitraire dont l’unicité est garantie (par la BD)

39
Entité (12)
Notation de clé (identifiant) d’Entité :
Nom du Type d’Entité
Par convention, l'identifiant d'entité est souligné: Attribut1 (Clé ou Identifiant)
Attribut2
Attribut3
Attribut4
Exemples: …

Véhicule Personne

NuméroD’Immatriculation NuméroDeSécuritéSociale

Marque Nom

Modèle Adresse

Puissance DateDeNaissance

40
Entité (13)
Exemple de clé (plusieurs attributs):

Auteur Nom Prénom Adresse Date de naissance


Doignon Jean Paris 14 novembre 1970
Legrand David Paris 12 janvier 1968
Beaudoin David Marseille 24 février 1973
Legrand Christophe Toulouse 24 février 1973

AUTEUR
Nom
Auteur: nom, prénom, adresse, date de naiss. Prénom
Adresse
Date de naissance

41
Association (1)

• Une association est une correspondance entre deux ou


plusieurs occurrence d’entités. En d’autres termes, Une
association est une information permettant de relier deux
ou plusieurs entités.
• Chaque occurrence d’entité joue un rôle particulier dans
l’association.
• On dit que ces occurrences d’entités participent à
l’association.

42
Association (2)

Exemples d’associations :
• Jérôme travaille sur la machine FIDJI
L’association TRAVAILLER relie la personne JEROME à
la machine FIDJI.
Jérôme : joue le rôle de travailleur dans l’association TRAVAILLER
Fidji : joue le rôle de l’outil de travail dans l’association TRAVAILLER

• Le Real de Madrid a battu le Juventus au stade Delle Alpi


L’association BATTRE relie : l’équipe du REAL, l’équipe
de JUVENTUS et le stade DELLE ALPI
REAL : rôle équipe gagnante.
JUVENTUS : rôle équipe perdante.
DELLE ALPI : rôle lieu du match.

43
Association (3)

Type d’association :
• Un type d’association permet de relier des types d’entités.
• Soient 𝐸1 𝐸2 , 𝐸3 , …, 𝐸𝑛 des types d’entités. Le type
d’association A est un ensemble d’associations de la forme
(𝑒1,𝑒2,..,𝑒𝑛), avec 𝑒𝑖 ∈ 𝐸𝑖.
Exemples :
– Posséder(Personne,Véhicule)
– Ecrire(Auteur, Article)
– Travailler(personne,machine)
Par abus de langage, on utilise en pratique les termes:
– association pour parler de type d’association
– occurrence d’association pour parler de chaque instance
d’une association

44
Association (4)

Notation d’une association :


Par convention, un type d'association est représenté par un losange qui
contient le nom du type d'association:
Nom du Type Nom du Type
d’Entité 1 d’Entité 2

Attribut11 Nom du Type Attribut21


d’Association Attribut22
Attribut12
Attribut13 Attribut23
Attribut24
Attribut14
Attribut31 …

Attribut32

45
Association (5)

Exemples d’associations :
• Jérôme travaille sur la machine FIDJI
L’association TRAVAILLER relie la personne JEROME à la
machine FIDJI.
Jérôme : rôle de travailleur
Fidji : rôle l’outil de travail

PERSONNE MACHINE
Nom N° IP
Prénom Travailleur Outil NOM
TRAVAILLER
Adresse Processeur
Date de naissance T. Mémoire

46
Association (6)
Exemples d’associations :
• Le Real de Madrid a battu Juventus au stade Delle Alpi
Association BATTRE relie : l’équipe du REAL, l’équipe de
JUVENTUS et le stade DELLE ALPI
REAL : rôle équipe gagnante.
JUVENTUS : rôle équipe perdante.
DELLE ALPI : rôle lieu du match.

perdant
STADE
EQUIPE Nom S
lieu
Nom BATTRE Adresse
Adresse Nombre de plae

gagnant
47
Association (7)
Attributs d’association :
• Une association peut posséder une ou plusieurs propriétés
appelées attributs qui vont participer à sa définition.
• Les attributs sont facultatifs pour les associations et obligatoires
pour les entités.
Par convention, chaque attribut est représenté dans une forme
ovale.
Personne Véhicule
NuméroDeSécuritéSociale
NuméroD’Immatriculation
Nom Posséder Marque
Adresse
Modèle
DateDeNaissance
Puissance
Date d’achat
48
Association (8)
Degré d’une association :
On appelle degré d’une association le nombre d’entités qui y
participent.
• Deux types d’associations :
– Association binaire: le degré = 2:
– Association généralisée: le degré > 2:
• Les associations généralisées présentent plusieurs
difficultés:
– Interprétation
– Représentation des cardinalité
• Ils peuvent être transformées en des associations
binaires sans perte de sémantiques.

49
Cardinalités (1)

• La cardinalité est une information qui est relative à une


association.
• Elle permet d’indiquer le nombre d’entités qui sont en
association.
• Il s’agit d’un couple (min,max).
– min: le nombre minimal d’entités
– max: le nombre maximal d’entités
• La cardinalité est indiquée de chaque côté de
l’association.

Min,Max Min,Max
Cardinalité : E A E

50
Cardinalités (2)

Exemples de cardinalité:

• Exprime le nombre minimum et le nombre maximum de


participations de chaque occurrence d’entité à une
association => (min, max): (0,1) / (1,1) / (0,n) / (1,n) / (n,m)

(0,n) (1,1)
Employe diriger Service
Chef de Est dirigé par
E1 S1
E2 S2
E3 S3
E4 S4
51
Cardinalités (3)

Exemples de cardinalité: La gestion des cartes grises


Quelle est la Cardinalité ?
0,1 / 1,1 / 0,n / 1,n / n,m ?

Personne Véhicule
NuméroDeSécuritéSociale NuméroDImmatriculation
1,n 1,1
Nom Posséder Marque
Adresse Modèle
DateDeNaissance Puissance

Une personne peut posséder Un véhicule est possédé par


un ou plusieurs véhicules: 1,n une et une seule personne: 1,1

52
Cardinalités (4)

Exemples de cardinalité:
depuis snom sno
ssn nom prénom budget

Chef de Est dirigé par


Employe diriger Service
(0,1) (1,1)

date qte
ssn nom prénom pnom nprod prix

commande Est commandé par


Client Commander Produit
(1,n) (0,n)

53
Exercice

Objectif: Conception d’une base de données destinée à


conserver des descriptions d’articles parus dans les journaux.
1. Un éditeur édite des journaux. Il est caractérisé par un
nom et une adresse.
2. Un journal est édité par un éditeur et publie des articles
dans ses numéros. On conservera le nom du journal et
le nom de son rédacteur en chef.
3. Un numéro de journal contient une collection d’articles.
4. Chaque article paru dans un numéro est signé par un
auteur. On désire conserver le titre et un résumé de
l’article ainsi que le nom de son auteur.
5. Les auteurs sont connus par leur nom, leur prénom, leur
adresse et leur date de naissance.

54

Vous aimerez peut-être aussi