Vous êtes sur la page 1sur 57

Steve DJANI

Bases de Données
DGC : 2019/2020
Objectifs du Module
1. Savoir ce qu’est un SGBD
2. Comprendre l’apport des bases de données
3. Connaître le modèle relationnel
4. Mettre en œuvre une base de données: prise en compte des
problèmes d’optimisation, de gestion des droits d’accès
5. Comprendre les problèmes liés à la conception de gros systèmes
d’information
6. Maîtriser les fondamentaux des Bases de Donnée Relationnelles
7. Maîtriser les bases du langage SQL
8. Se familiariser avec le SGBD Microsoft Access

2
Objectifs du Module

A la fin de ce cours, l'étudiant devrait être capable de concevoir et


modéliser une base de données relationnelle, implémenter une base
de données Access et enfin effectuer des requêtes SQL sur cette base
de données.

3
Introduction
Les organisations manipulent un volume important d’informations et
doivent penser à une manière efficace de sauvegarder, rechercher et
mettre à jour ces informations.

Automatisation des systèmes d’information de l’organisation: pour


éviter les erreurs, les retards, l’indisponibilité de l’information.

4
• Qu’est-ce qu’une information ?

• Qu’est-ce qu’un système ?

• Qu’est-ce qu’un système d’information ?

5
Définition de l’information
1er niveau : la Donnée
• Chaîne de caractère associé à des objets, des personnes ou des
événements
• Représentée par un attribut et une valeur
• La donnée peut être brute ou calculée
• C’est la matière première de l’information

Exemples de données: Nom : Mohamed, Date de naissance :


11/10/1990, Taux de croissance de l’entreprise : 5%, Référence
machine : 1275DX, etc.

6
2ème niveau : l’Information
• La signification (explication/description) des données interprétée par
une personne ou par un système
• Autrement dit, c’est la perception intellectuelle qualitative ou
quantitative d’une réalité dans un référentiel sémantique
(signification)

Exemple 1: Un taux de croissance de 5% associé à un seuil de qualité


de 2% est une information que le pilote d’entreprise ou décideur
interprétera comme suit : ce taux de croissance est excellent en
comparaison au seuil de qualité qui peut être considéré comme une
norme.
Exemple 2 : L a donnée Age de l’employé est interprétée par la DRH
devient une information qui sert à décider si une personne ouvre droit
à la retraite ou pas.
7
3ème niveau : la Connaissance

Information apprise, découverte, comprise et partagée par une


communauté (groupe de personnes ayant suivi le même type de
formation, même spécialité, avec un langage commun)

Exemple : les maladies du corps humain peuvent être considérées


comme des connaissances apprises, découvertes, comprises et
partagées par la communauté des Médecins.

8
Définition du système
Un système peut être défini comme un tout organisé de composants
en interaction en vue de réaliser un objectif commun.

9
Exemples de systèmes :

• système de transport aérien (avions, pilotes, mécaniciens, passagers…et les relations


entre eux),

• système bancaire (banques, clients, argent… et les relations entre eux),

• système agricole (terres agricoles, fermiers, tracteurs, engrais, semence… et les


relations entre eux), etc.…

10
Définition du SI

Un système d’information est « un ensemble organisé de ressources :

matériel, logiciel, personnel, données, procédures permettant

d’acquérir, de traiter, stocker, communiquer des informations dans

des organisations »

11
12
Il comporte à ce titre un aspect statique : les données mais également un aspect dynamique : le
traitement ou la mise à jour de ces données.

13
14
Définition des BDD: Une base de données est un ensemble de données
modélisant les objets d’une partie du monde réel et servant de support
à une application informatique (Gardarin, 2003).

Une base de données (BD) est un ensemble structuré de données


cohérentes
• ensemble: collection disponible, accessible, extensible d’informations
(ajout, suppression, modification)
• structuré: collection organisée grâce à des structures logiques (tables,
cubes, arbres,...)
• données cohérentes: des contraintes peuvent être posées sur les
données

15
Définition d’un SGBD (Système de Gestion de Bases de Données) peut

être perçu comme un ensemble de logiciels systèmes permettant aux

utilisateurs d’insérer, de modifier et de rechercher efficacement des

données spécifiques dans une grande masse d’informations (Gardarin,

2003).

16
Structuration

Une BDD = ensemble structuré de données enregistrées


avec le minimum de redondance

Pour pouvoir gérer des données il faut les stocker de


manière structurée pour :

▪ identifier clairement les données (champs, tables)


▪ pouvoir y accéder rapidement (index)

Un SGBD = offre la possibilité de manipuler les


représentations abstraites des données,
indépendamment de leur organisation et de leur
implantation sur des supports physiques
Rôle et propriétés du SGBD
Un système de gestion de bases de données (SGBD) est un logiciel qui permet de
manipuler des bases de données :
• construction
• maintenance
• interrogation
• sécurité

Propriétés fondamentales d’un SGBD


• Indépendance des données : données physiques / conceptuelles / applications
• Accès efficace aux données (Langage de Manipulation de Données)
• Partage des données (Accès concurrents)
• Intégrité et sécurité des données

18
•Spécificités d’un SGBD

• Très grande quantité de données à gérer


• Besoin d’interroger, mettre à jour souvent, rapidement
et efficacement ces données
• Contrôler la redondance d’information
• Partage des données / Accés concurrents
• Gérer les autorisation d’accès / Sécurité des données
• Offrir des interfaces d’accès multiples
Attention !

Ce qu’une base de données n’est pas :

▪ un fichier Word
▪ un fichier Excel
▪ un fichier texte

Une base de données utilise un SGBD (Système de Gestion


de Base de Données) pour manipuler les données :

▪ Oracle
▪ Access
▪ MySQL
Organisation

▪ un SGDB est composé de bases de données

▪ une base de données est composée de tables

▪ chaque table est composée de champs

SGBD

BD BD BD

tables
Différents modèles de Bases de Données
• Le modèle hiérarchique (années 60) : Premier modèle de SGBD, les
données sont classées hiérarchiquement. Ce modèle utilise des pointeurs
entre les différents enregistrements, organisés dans une structure
arborescente.
• Le modèle réseau (années 70) : lève de nombreuses limites du modèle
hiérarchique grâce à la possibilité d’établir des liaisons de type n-n, les liens
entre objets pouvant exister sans restriction.
Pour retrouver une donnée dans ce modèle, il faut connaître le chemin
d’accès (les liens), ce qui rend les programmes dépendants de la structure de
données.

22
Différents modèles de Bases de Données
(suite)
• Le modèle Relationnel (Codd, fin des années 60). Les données sont
représentées dans des tables, sous forme de n-uplets.
Modèle le plus utilisé : celui que nous considèrerons dans la suite.
A donné lieu au langage SQL, extension de l’algèbre relationnelle,
standardisation en 1987. Près de 80% des utilisations en entreprise.
• Le modèle Orienté Objet, les données sont des objets.
• Le modèle Multidimensionnel. Les données sont représentées sous la
forme d’un cube.
• Le modèle Semi-structuré (fichiers XML). Les données sont
représentées sous la forme d’arbre.

23
Quelques exemples de SGBDR

• Oracle
• Microsoft : Access (inclus dans Office), SQL Server
• IBM : DB2
• Les libres : PostgreSQL, MySQL, . . .

24
Niveaux de description du SGBD
• Niveau externe (confidentialité), n schémas
externes associés ou vues à n types d’utilisateurs
• Niveau conceptuel (intégrité-cohérence) :
schéma logique, issu d’un processus de modélisation
• Niveau interne (gestion des accès) :
schéma physique

25
Architecture client-serveur
• Un serveur pour le SGBD : gérant les bases de données
communes
• De multiples clients pour accéder aux BDs : gérant les interfaces serveur-
utilisateurs/applications, permettant la distribution des applications.

26
27
Niveau Conceptuel
On ne doit pas se préoccuper de l'aspect physique de l'implantation
des structures des données.

Ce qui nous intéresse, à ce niveau, c'est la structuration des données


de manière à ce que le modèle conçu soit le plus proche possible de la
réalité perçue.

Modèle: représentation graphique d'une partie de la réalité montrant


les objets et les interactions entre ces objets.

Formalisme ou Notation: E/A ou UML (Unified Modeling Language).

28
Modèle Conceptuel de Données

Il décrit l’organisation initiale des données sous forme


d’entités et de relations

Une entité est un être ou un objet (concret ou abstrait) qui peut être
distingué d’un autre objet.

Une entité est composée de champs (ou attributs)

Etudiant Cours

Nom Intitulé
Prénom Nbr heures
N°Etud …

Modèle Entité/Association (E/A)
Ce modèle a été proposé par le prof. Peter Chen en 1976 qui permet de
représenter une partie du monde réel à partir des concepts d'entité et
d'association.

Basé sur la théorie des ensembles et des relations.

Propose la terminologie suivante:


Objet........Entité
Lien.........Association
Propriété....Attribut

30
Modèle Conceptuel de Données

Une association (ou relation) exprime une interaction entre une à plusieurs
entités. (Une association peut comporter des attributs)

Un étudiant suit 1 ou plusieurs cours

Etudiant suit Cours


0..n 1..n

Un cours est suivi par aucun ou plusieurs étudiants

La Cardinalité d’un couple entité – association permet de préciser


les nombres minimum et maximum de fois pour lesquelles une entité
est concernée par l’association
Entité-type: désigne un ensemble d'entités qui possèdent une
sémantique et des attributs communs.

Exemple: Entité-type: Voiture


Sémantique:
Un automobile est un véhicule terrestre disposant de roues et équipé
d'un moteur embarqué qui le propulser.
Attributs:
Immatriculation, Puissance, Marque, Modèle, Couleur...

Une entité est nommée occurrence ou instance du type-entité

32
BDD ENST 2017/2018 33
Un attribut est une caractéristique associée à une entité-type ou à une
association-type.
Exemple:
Couleur-Voiture : Blanche
attribut de l’entité-type voiture valeur ou occurrence de l’attribut

Chaque attribut appartient à un domaine qui définit l'ensemble des


valeurs possibles

Un attribut doit apparaître une seule fois dans un modèle

Un attribut doit être élémentaire: pas calculé

34
L'identifiant: l'ensemble minimum d'attributs qui désignent de manière
unique une entité.

exemples: num de ss pour une personne, code ISBN pour un livre ou


num de chassis pour une voiture.

chaque entité-type possède au moins un identifiant

35
Association: relation ou lien sémantique entre plusieurs entités.
exemple: une personne possède une voiture

une association peut être vide ou porteuse d'attributs

• l'ensemble des participants à une association est appelée collection


• le nombre d'entités participant à une association est appelé
dimension
• l'identifiant de l'association est la concaténation des identifiants des
entités qui participent à cette association.

36
Cardinalité: précise le nombre de fois minimal et maximal
d'interventions d'une entité dans une association
cardinalité minimale (0 ou 1) < cardinalité maximale (1 ou n)

37
38
Deux entités peuvent avoir des liens sémantiquement distincts .

39
Modèle Conceptuel de Données

Exemple

Créer un MCD pour modéliser le problème suivant :

Une société de vente par correspondance met en vente


des produits.

Chaque produit est identifié par un numéro, un prix


unitaire et une quantité en stock.

Un client identifié par un numéro de client, un nom, un


prénom et une adresse passe commande à une date
donnée d’un ensemble de produits.
Modèle Conceptuel de Données

Client
1..1 1..n Produit
N°client
Nom N°produit
Prénom Libellé
Adresse Descriptif
Prix unitaire
passe qté Qté en stock
contient

1..n Commande 1..n

Date
Prix total
Les données sont omniprésentes autour de nous ... Documents
données
du client

données
de la
commande

données
d'un produit
données
du client

données
de la
commande

données
d'un prodit

données de la commande données du client

NCOM DATECOM TOTAL-COMMANDE NCLI NOM ADRESSE LOCALITE

30188 2/1/2009 69720 B512 GILLET 14,r. de l'Eté Toulouse

données des produits

NPRO LIBELLE PRIX QCOM SOUS-TOTAL

CS464 CHEV. SAPIN 400x6x4 220 180 39600

PA45 POINTE ACIER 45 (20K) 105 22 2310

PA60 POINTE ACIER 60 (10K) 95 70 6650

PH222 PL. HETRE 200x20x2 230 92 21160


Principe

• à partir d’un énoncé,


. . . construire un schéma Entité-association
représentant les concepts et les faits exprimés,
explicitement ou implicitement, dans cet énoncé,
. . . concepts et faits au sujet desquels on désire
enregistrer des informations.
un employé peut emprunter des livres ou en réserver ; l’employé a un nom et une adresse ; il
possède un numéro unique et travaille dans un service de l’entreprise, identifié par son nom et dont
on connaît la localisation ; un ouvrage porte un numéro ISBN unique et possède un titre, un prix et
une date d’achat ;
le service possède un nom

SERVICE
le service a une localisation
Nom
Localisation
le service est
id: Nom identifié par son nom

0-N
un employé travaille
dans un service

travaille
un employé peut
emprunter des ouvrages
1-1
un ouvrage porte un
EM PLOY E 0-N emprunte 0-1 OUVRAGE numéro ISBN
Numéro ISBN
Nom Titre un ouvrage possède
Adresse Date achat un titre

id: Numéro 0-N réserve 0-1 id: ISBN


un ouvrage possède
une date d'achat
un employé a une adresse
le numéro ISBN est unique
un employé a un nom
un employé peut
un employé possède réserver des ouvrages
un numéro le numéro de l'employé est unique
Décomposition de l'énoncé

L'énoncé est décomposé en phrases très simples, facile à représenter dans un


schéma conceptuel : les propositions élémentaires.

sujet verbe objet

• une commande est passée par un client

• un voyage est effectué par un train

• un service traite des dossiers


Décomposition de l'énoncé - Cardinalité

A verbe B

• combien de B pour chaque A?


• combien de A pour chaque B ?

une commande est passée par un client

• combien de clients pour chaque commande ? [réponse : exactement un]


• combien de commandes pour chaque client ? [réponse : 0 ou plusieurs]
Le Modèle Relationnel
Modèle relationnel défini par E.F Codd dans les années 70.

Une base relationnelle est composée de tables. Dans une table, une
ligne correspond à un enregistrement (tuple ou n-uplet) et une colonne
à un champ (attribut) de cet enregistrement appartenant à un
Domaine.

49
50
Exemple développé
Gestion des réclamations clients dans une entreprise
d’électroménager :

CLIENT (Numcli, Nomcli, Prenomcli, Adrcli, Villecli, Cpcli)


PRODUIT (Refprod, Desiprod, Marqueprod, Prixprod)
RECLAMATION (Coderec, Daterec, Raisonrec, #Numcli, #Refprod)
La base de données : vocabulaire
• Les TABLES correspondent aux relations

• Les CHAMPS correspondent aux attributs (= colonne)

• Les ENREGISTREMENTS correspondent aux données saisies (= ligne)


La base de données : les tables
numcli nomcli prenomcli adrcli cpcli villecli
10003 ANDRE Thomas 10 rue courtalon 75014 PARIS
102778 BULI Patrice 20 cours Vuitton 69006 LYON
124682 VERIN Didier 10 rue Schuman 75002 PARIS
125941 GADRON Dominique 10 allée des Tilleuls 69300 CALUIRE
140621 BALOIR Claude 10 place des cordeliers 75008 PARIS
143025 BLANC Cécile 12 rue Cortier 89000 AUXERRE
147963 DOLMEN Christian 145 cous Lafayette 75015 PARIS
148254 JORET Geneviève 10 rue des provinces 69005 LYON
150763 MALOT Berthe 39 rue denfert rochereau 75014 PARIS
157269 OLIVE Virginie 20 rue Berliet 21000 DIJON
164025 PALO Nicole 10 rue de la Préfecture 75001 PARIS
172436 MARIE Olivier 43 rue de l'église 06000 NICE
172596 BELO Vincent 15 rue des chèvrefeuilles 75002 PARIS
175298 GIDOT Sylvie 20 rue de Melun 75013 PARIS
175496 FAVRE Caroline 61 rue du calvaire 10000 TROYES Table CLIENT
240573 VIAR Stéphane 68 rue Anatole France 75016 PARIS
279246 MAIRE René 28 rue de l'Orme 69003 LYON
La base de données : les champs

Champs de la table CLIENT

numcli nomcli prenomcli adrcli cpcli villecli


10003 ANDRE Thomas 10 rue courtalon 75014 PARIS
102778 BULI Patrice 20 cours Vuitton 69006 LYON
124682 VERIN Didier 10 rue Schuman 75002 PARIS
125941 GADRON Dominique 10 allée des Tilleuls 69300 CALUIRE
La base de données : les enregistrements
numcli nomcli prenomcli adrcli cpcli villecli
10003 ANDRE Thomas 10 rue courtalon 75014 PARIS
102778 BULI Patrice 20 cours Vuitton 69006 LYON
124682 VERIN Didier 10 rue Schuman 75002 PARIS
125941 GADRON Dominique 10 allée des Tilleuls 69300 CALUIRE
140621 BALOIR Claude 10 place des cordeliers 75008 PARIS
143025 BLANC Cécile 12 rue Cortier 89000 AUXERRE
147963 DOLMEN Christian 145 cous Lafayette 75015 PARIS
148254 JORET Geneviève 10 rue des provinces 69005 LYON
150763 MALOT Berthe 39 rue denfert rochereau 75014 PARIS
157269 OLIVE Virginie 20 rue Berliet 21000 DIJON Un enregistrement
164025
172436
PALO
MARIE
Nicole
Olivier
10 rue de la Préfecture
43 rue de l'église
75001
06000
PARIS
NICE
de la table CLIENT
172596 BELO Vincent 15 rue des chèvrefeuilles 75002 PARIS
175298 GIDOT Sylvie 20 rue de Melun 75013 PARIS
175496 FAVRE Caroline 61 rue du calvaire 10000 TROYES
240573 VIAR Stéphane 68 rue Anatole France 75016 PARIS
279246 MAIRE René 28 rue de l'Orme 69003 LYON
Clé Etrangère
Clé étrangère: attribut(s) devant apparaître comme clé primaire dans
une autre table (relation).

Les clés étrangères définissent les contraintes d'intégrité référentielles


suivantes:

• Lors d'une insertion, la valeur des attributs doit exister dans la


relation référencée
• Lors de la suppression dans la relation référencée, les tuples ou
n-uplets référençant doivent disparaître

56
BDD ENST 2017/2018 57

Vous aimerez peut-être aussi