Vous êtes sur la page 1sur 46

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 ; 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.
Contexte

Trop d’information tue l’information

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


d’informatique sont colossaux.

 Stockage de l’information de manière non


redondante.
 Extraction des informations utiles dans un délai

réduit?

 Enregistrement dans des fichiers manipulées par les


logiciels applicatifs.
Définition de Base de Données

Définition :

Une Base de Données ou BD est un ensemble


structuré de données enregistrées avec le
minimum de redondance pour satisfaire
simultanément plusieurs utilisateurs de façon
sélective en un temps opportun

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 !

Remarque

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


 un fichier Word
 un fichier Excel
 un fichier texte
Système de Gestion de Base de Données

Définition

Un SGBD ou DBMS (Data Base Management


System) est un ensemble de logiciels permettant
de stocker et d’interroger un ensemble données
interdépendants. Il peut aussi être défini comme un
outil permettant de modéliser et de gérer les
données d’une entreprise
Système de Gestion de Base de Données

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


de Gestion de Base de Données) pour manipuler
ses données.
 Un SGBD permet à un utilisateur de
communiquer avec une base de données pour :
- décrire et organiser les données sur les mémoires
secondaires (disques),
- rechercher, sélectionner et modifier les données
Les Systèmes actuels

Exemples:

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

Ces systèmes peuvent être catégorisés selon leur


fonctionnement :
•Système propriétaire : Oracle Database, Microsoft SQL
Server, DB2, MaxDB, 4D, dBase, Informix, Sybase …
•Système libre MySQL, PostgreSQL, MariaDB, Firebird,
Ingres, HSQLDB, Derby, Apache Derby
•Orienté objet : ZODB, db4o
•Embarqué : SQLite, Berkeley DB
Les Systèmes actuels

Ces systèmes peuvent être catégorisés selon leur


fonctionnement :
•NoSQL : Cassandra, Redis, MongoDB, SimpleDB,
BigTable, CouchDB, Couchbase, HBase, LevelDB,
RethinkDB, Memcached
•Autre système : Access, OpenOffice.org Base, FileMaker,
HyperFileSQL, Paradox, Neo4j, Riak, Voldemort
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)
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é
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


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)


Elaboration d’une BD

1) Création du 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 suit 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 Conceptuel de Données

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

1..1 Commande 1..n

Date
Prix total
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 un identificateur décrivant une information


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
Transformation en Modèle Logique des Données

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
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 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 relation
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é pour


former une clé primaire (codetu,codeliv, datedeb)
Transformation en Modèle Logique des
Transformation en LMD

On obtient les relations 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 , date )
Emprunter(codetu #,codeliv#,datedeb, datefin)
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