Vous êtes sur la page 1sur 53

Cours

Les Bases de Données


Relationnelles
Plan

I) le modèle Entité-Association (MEA)


II) les règles de passage du MEA au modèle
logique des données relationnelles
III) création de Tables
IV) Création de requêtes
V) création de formulaires
VI) création d’états et Création de macro
VII) Création de Menus
Objectifs du cours

1. Objectif général
Initier les étudiants à la conception d’une base de données
en utilisant le SGBD(Système d Gestion de Base de Données)
Access.

2. Objectifs spécifiques
 maitriser la conception d’une base de données en terme
théorique que pratique ;
 implémenter une Base de Données
 faire des requêtes en utilisant le SGBD Access.
Volume d’Information

Contexte

Trop d’information tue l’information

Les volumes de données générés par les systèmes


d’informatique sont colossaux :

 Comment stocker l’information de manière non


redondante?
 Comment extraire l’information utile?
Volume d’Information

Contexte

Problème La gestion des informations

La gestion des informations d’une organisation


est un élément essentiel de son efficacité.
L’obligation de les trouver et de les traiter
rapidement conduit le plus souvent les
organisations à en informatiser la gestion.
Attention !

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


 un fichier Word
 un fichier Excel
 un fichier texte

Une BD est un 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)
Attention !

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
PostGress
SQLseveur
Les Systèmes actuels

 ORACLE
gros systèmes (entreprises, administrations)

 ACCESS
PC sous Windows (MS Office)

 MySQL
PC sous Windows ou Linux (gratuit)

et bien d’autres encore… SQL-Server, PostGreSQL,


Interbase, sybase, DB2
Historique

 Naissance des SGBD dans les années 60


Systèmes propriétaires (IBM)

 1970 T. Codd chercheur chez IBM propose


Le modèle relationnel

 Tables
 Algèbre relationnelle

Démarche cohérente et unifiée concernant

 Le LDD (Langage de Description des Données)


 Le LMD (Langage de Manipulation des Données)
Structuration

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
Fonctions des SGBD
Les SGBD modernes permettent une gestion
efficace des données en visant la mise en place
de 7 objectifs complémentaires :
1.Centralisation
2. Indépendance
3. Liaison
4. Intégrité (totalité des données)
5. Sécurité
6. Confidentialité
7. Partage
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
Elaboration d’une BD

Les phases de l’élaboration d’une Base de Données


Modèle Conceptuel de Données

Exemple:

1-Déterminer les informations ou les propriétés


2- Organiser les informations ou Etablir le Dictionnaire de
Données

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

 
-Le numéro du produit
-Le prix unitaire du produit
-La quantité en stock du produit
-Le numéro du client
-Le nom du client
-Le prénom du client
-L’adresse du client (contact)
-La date de la commande
- Quantité totale des produite achetés.
Modèle Conceptuel de Données

•Dictionnaire de données
SIGLE DESCRIPTION TYPE LONGUEUR

NumProd Numéro du produit Numérique 20


prixProd Prix du produit Numérique 15
quantProd Quantité du produit en stock Numérique 8

numClient Numéro du client Numérique 8


nomClient Nom du client Alphabet 30
prenomClient Prénom du client Alphabet 60
contClient Adresse du client Texte 50
dateCmd Date de la commande Date 10
Elaboration d’une BD

Une banque désire posséder un SGBD pour suivre ses clients. Elle
désire ainsi stocker les coordonnées de chaque client (nom, prénom
adresse), et les comptes dont elle dispose ainsi que leur solde (sachant
par ailleurs que certains compte ont plusieurs bénéficiaires). On
stockera également les opérations relatives à ces comptes (retrait et
dépôt, avec leur date et le montant).
Questions :
1.Identifier les différentes entités et leurs propriétés pour cette gestion
2.Préciser les différentes associations entre les entités et ajouter les
propriétés pour les associations porteuses de propriétés.
3.Préciser les cardinalités pour les différentes associations
Elaboration d’une BD

On passe par trois phases essentielles :

1) Création du Modèle Conceptuel des Données (MCD)

2) traduction du MCD en Modèle Logique des Données (MLD)

3) Implémentation avec des outils ( SGBD et Langage)


Création du Modèle Conceptuel de Données

1) Modèle Conceptuel des Données (MCD)

Les Concepts

• les entités
• les relations (associations)
• les propriétés
• identifiant
• Occurrences
• Cardinalités
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 propriétés

Une propriété particulière, appelée identifiant permet de distinguer sans


ambiguïté toutes les occurrences de l’entité

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

Modèle Conceptuel de Données

Une association est un lien entre deux entités (ou plus). On doit lui donner un
nom, souvent un verbe,.

Une cardinalité est une expression qui permet d’indiquer combien de fois au
minimum et au maximum le lien entre 2 entités peut se produire.
Modèle Conceptuel de Données

Une occurrence est l’ensemble des valeurs prises par les propriétés d’une
entité ou dans une relation.

c’est tout simplement une « ligne » de valeurs.


Exemple:

on a 4 occurrences
Modèle Conceptuel de Données

_ _
_
Modèle Conceptuel de Données

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

Un étudiant suit 1 ou plusieurs cours

Etudiant suivre Cours


1..n 0..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.
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 Logique de Données (MLD)

Le modèle logique de données ou MLD décrit la structure


des données qui seront utilisées dans une base de données
indépendamment des langages de programmation. 

Le MLD dépend du type de la base de données à utiliser


pour créer votre application.
Elaboration d’une BD

1) traduction du MCD en Modèle Logique des Données (MLD)

Les concepts
• les attributs
• les tables ou les relations
• les cardinalités d’une relation
• Le schéma d’une relation
• Le tuple
• La clé
 Clé primaire
 Clé etrangère
Elaboration d’une BD

Un attribut est une propriété décrivant une information de la


table stockée dans une base. Autrement dit un attribut est
une colonne d’une table.

Une relation (table) désigne un ensemble de données


organisées sous forme d'un tableau où
les colonnes correspondent à des catégories d'information
(une colonne peut stocker des numéros de téléphone, une
autre des noms...)

Un tuple est une ligne d’une relation ou table


Elaboration d’une BD

La cardinalité d’une relation est le nombre de tuples(le


nombre d’occurrences) qui la composent

La clé primaire d’une table est un attribut (comme l’identifiant


de l’entité). Elle est choisie comme étant la clé unique d’accès
aux tuples de la table

La clé étrangère d’une relation est un attribut qui permet


d’identifier de façon unique un tuple faisant référence à une
clé primaire appartenant à une autre table
Table, tuple, attribut

Champs (attributs ou colonnes)

Code_etu Nom_etu Prenom_etu


Tuples
(enregistrements ou lignes)
1 Saraka Kouamé Simon

2 Ta Gbamble

Table 3 Ag Abdalla
etudiant
4 Goa Alain Patrick

Le schéma de la relation etudiant est :


Etudiant ( code_etu, nom_etu , prenom_etu )
Transformation en Modèle Logique des Données
Modèle Logique des Données

Comment passer du MCD au MLD ?

1) Les entités sont traduites en tables

Etudiant Livre Auteur Editeur

codetu codeliv codeaut coded


nometu titreliv nomaut nomed
prenometu Prenomaut celed
photoetu pays
celetu
Transformation du MCD en Modèle Logique des
Données (MLD)

1. Traduction des entités


Toute entité est traduite selon les trois règles suivantes :
 L’entité se transforme en une table (relation).
 L’identifiant de l’entité devient la clé primaire de la relation.
 Les propriétés de l’entité deviennent des attributs de la
relation
Transformation en Modèle Logique des Données

2. Traduction des associations


La traduction d’une association s’effectue selon les
cardinalités relatives aux entités participant à
l’association. Plusieurs cas peuvent se présenter.
 
Transformation en Modèle Logique des Données

 
2.1 Associations de type un à plusieurs

Association liant une entité A de cardinalité 0,N ou 1,N


et d’entité B de cardinalité 0,1 ou 1,1.

Les règles de traduction de ce type d’association sont


les suivantes :
Transformation en Modèle Logique des Données

2. Traduction des associations


 L’entité A (Entité père) devient une table(père),

 L’entité B (Entité fils) devient une table (fils).

 L’identifiant de l’entité A (père) devient attribut de la


relation fils. Cet attribut est désigné comme clé
étrangère.
Transformation en Modèle Logique des Données

2. Traduction des associations


 Les attributs de l’association migrent vers la table
fils et deviennent ses attributs
Modèle Logique des Données

Traduction des relations 1..1 <-> 1..n

Les identifiants et les attributs d’association qui migrent :


les associations ecrire et editer ne deviennent pas des tables,
leur identifiant migre dans la table Livre,
on parle de clé étrangère.

Livre (codeliv, coded # ,codeaut# , titreliv , dateliv )

Identifiant de editeur Identifiant de auteur


devient clé étrangère devient clé étrangère
Transformation en Modèle Logique des
Transformation en LMD
2. Traduction des associations
2.2 Association Plusieurs-à-Plusieurs
Association reliant une entité A de cardinalité 0, N ou 1, N et une entité
B de cardinalité 0, N ou 1, N

Les règles de traduction de ce type d’association sont les suivantes :

Chaque entité (Entité A et Entité B) devient une relation ;

 L'association sera transformée aussi en une relation ayant comme clé


la concaténation des deux clés issues des entités A et B.

 Les attributs de l'association seront stockés dans cette relation en tant


qu'attributs
Modèle Logique des Données

Traduction des relations 1..n <-> 1..n


Il faut créer une nouvelle table qui comprend les
identifiants des deux entités reliées.

L’ association emprunter devient table :

Emprunter(codetu #,codeliv#, datedeb, datefin)

Identifiant de entité Livre


Identifiant de l’entité Etudiant
devient clé primaire
devient clé primaire

On a une association ou une concaténation de clés pour


former une clé primaire (codetu,codeliv, datedeb)
Modèle Logique de Données (LMD)

On obtient les relations ou tables suivantes:


La base de données sera alors constituée des relations ou
tables suivantes :
Etudiant (codetu, nometu , prenometu, photoetu, cel)
Editeur (coded ,nomed , celed)
Auteur (codeaut ,nomaut, prenomaut , pays )
Livre (codeliv, coded # ,codeaut# , titreliv , dateliv )
Emprunter (codetu #,codeliv#,datedeb, datefin)
Exercice
transformer le MCD en MLD
Le Dictionnaire de données
Création de Menu

Afficher le gestionnaire de menu


Les outils permettant de structurer une application ne sont pas tous affichés. Il
faut paramétrer Access afin qu'ils soient affichés avant de pouvoir les utiliser.

Dans le volet de Gauche, cliquez sur personnaliser le ruban


Dans le volet de milieu, dans la liste déroulante, sélectionner commandes non présentes
sur le ruban
Création de Menu

Afficher le gestionnaire de menu


Le Langage SQL

SQL (Structured Query Language) est un langage de


manipulation et d’interrogation des bases de données.
Il fait office de LDD et LMD.

Il permet notamment de :

 Créer une base de données CREATE


 Créer une table CREATE
 Rechercher des enregistrements SELECT
 Ajouter un nouvel enregistrement INSERT
 Modifier des attributs d’un enregistrement UPDATE
 Supprimer des enregistrements DELETE
Créer une table

Exemple : création de la table produits

CREATE TABLE produits (


pr_id int(11) NOT NULL auto_increment,
pr_libelle varchar(50) NOT NULL default ‘’,
pr_qte_stock int(11) NOT NULL default ‘0’,
pr_prix_unit float NOT NULL default ‘0’,
PRIMARY KEY (‘pr_id’),
KEY ‘pr_libelle’ (‘pr_libelle’)
);
Manipuler des enregistrements

Insérer un enregistrement

INSERT INTO produits


VALUES ( 1, ‘Carte mère MSI Neo2’, 5, 70 );

Modifier un enregistrement
UPDATE produits SET pr_prix_unit = 75
WHERE pr_id = 1;

Supprimer un enregistrement
DELETE FROM produits
WHERE pr_id = 1;
Rechercher des enregistrements

Pour rechercher des informations on utilise la commande


SELECT qui possède le format suivant :

SELECT attribut1, attribu2, …


FROM table1, table2, …
WHERE conditions

ORDER BY attribut
GROUP BY attribut
Rechercher des enregistrements

Afficher tous les noms des clients


SELECT cl_nom
FROM clients;
Afficher tous les noms des clients par ordre alphabétique
SELECT cl_nom
FROM clients
ORDER BY cl_nom;
Afficher tous les noms des clients par ordre inverse
SELECT cl_nom
FROM clients
ORDER BY cl_nom DESC;
Rechercher des enregistrements

Afficher les commandes du client N° 2

SELECT *
FROM commandes
WHERE co_id_client=2;

Afficher le montant total des commandes du client N° 2


SELECT SUM(co_prix_total)
FROM commandes
WHERE co_id_client=2;
Rechercher des enregistrements

Afficher le libellé de tous les produits de la commande N° 1

SELECT pr_libelle
FROM comprod, produits
WHERE id_cmd=1 and id_prod=pr_id;

Vous aimerez peut-être aussi