Académique Documents
Professionnel Documents
Culture Documents
El Fadlaoui1
El Fadlaoui1
com
EL FADDOULI NOUR-EDDINE
2010-2011
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 2
pour plus de documents : www.almohandiss.com
TP (16h)
1. Utilisation de Access pour créer une BD
2. Interrogation de la BD avec l'assistant
3. Utilisation de SQL : LMD
4. Création de formulaire
5. Projet : Conception et réalisation d'une
BD et de formulaires de manipulation.
© 2010-2011 \ N. El Faddouli 3
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 4
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 6
pour plus de documents : www.almohandiss.com
Emprunts
Cote Matricule Date_Emprunt Date_Remise
15 12308 11/10/2007 2/11/2007
4 12408 1/11/2007
24 12308 12/10/2007 7/11/2007
© 2010-2011 \ N. El Faddouli 7
pour plus de documents : www.almohandiss.com
Organisation en fichiers
Interface Traitement
(Saisie) (Programme) Fichier
Utilisateur
Fichier
Utilisateur
Interface Traitement
(Saisie) (Programme) États de Sortie
Utilisateur
© 2010-2011 \ N. El Faddouli 8
pour plus de documents : www.almohandiss.com
Organisation en fichiers
Limites:
- Non indépendance des données: Saisie et traitement en fonction des
- Redondance de données.
- Manque de sécurité.
© 2010-2011 \ N. El Faddouli 9
pour plus de documents : www.almohandiss.com
Organisation en BD
Interface
Contrôles
(Saisie)
Utilisateur
Traitements
BD (Programme)
Utilisateur
Utilisateur
États de Sortie
© 2010-2011 \ N. El Faddouli 10
pour plus de documents : www.almohandiss.com
Exemple:
Gestion des étudiants, internat, inscription, cours, notes, emploi du
temps, … d'une école (université).
© 2010-2011 \ N. El Faddouli 11
pour plus de documents : www.almohandiss.com
Avantages de BD
- Minimum de redondance de données.
- Contrôle d'intégrité.
- Sécurité d'accès.
© 2010-2011 \ N. El Faddouli 12
pour plus de documents : www.almohandiss.com
SGBD
Définition:
Logiciel(s) assurant structuration, stockage, maintenance, mise à
jour et consultation des données d’une BD en exécutant des
requêtes exprimées selon une vue logique de la BD.
© 2010-2011 \ N. El Faddouli 13
pour plus de documents : www.almohandiss.com
SGBD
Fonctionnalités :
© 2010-2011 \ N. El Faddouli 14
pour plus de documents : www.almohandiss.com
SGBD
Fonctionnalités (suite):
- les données doivent être protégées contre les accès non autorisés.
© 2010-2011 \ N. El Faddouli 15
pour plus de documents : www.almohandiss.com
SGBD
Architecture:
• Gestionnaire de fichiers
- Stockage des données sur des supports physique.
- Mécanisme de recherche par le contenu.
- Optimisation du stockage.
© 2010-2011 \ N. El Faddouli 16
pour plus de documents : www.almohandiss.com
SGBD
Architecture:
© 2010-2011 \ N. El Faddouli 17
pour plus de documents : www.almohandiss.com
SGBD
Architecture:
• SGBD externe
- Analyse et interprétation des requêtes des applications et des
utilisateurs interactifs.
- Mise en forme des données pour les échanges avec le monde
extérieur.
© 2010-2011 \ N. El Faddouli 18
pour plus de documents : www.almohandiss.com
SGBD
Outils d'un SGBD:
Etc…
© 2010-2011 \ N. El Faddouli 19
pour plus de documents : www.almohandiss.com
Types d'utilisateurs
L'administrateur de la BD:
- Créer la BD en précisant la structure ainsi que les détails de stockage
sur disque.
© 2010-2011 \ N. El Faddouli 20
pour plus de documents : www.almohandiss.com
Types d'utilisateurs
Le programmeur:
Développe des applications qui traitent les données de la base.
L'utilisateur final:
© 2010-2011 \ N. El Faddouli 21
pour plus de documents : www.almohandiss.com
Méthode d'accès:
Méthode d'exploitation du fichier utilisée par les programmes
d'application pour sélectionner des articles.
© 2010-2011 \ N. El Faddouli 22
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 23
pour plus de documents : www.almohandiss.com
- Chaque article possède dans le fichier une adresse relative qui indique
© 2010-2011 \ N. El Faddouli 24
pour plus de documents : www.almohandiss.com
a5 a2 a57 a3 a10
{ a5 a2 a57 a3 a10
0 4 7 12 18
{0 2 4 67 10 12 14 16 18 20 22 Index
24
© 2010-2011 \ N. El Faddouli 25
pour plus de documents : www.almohandiss.com
3- Utilisation
Interroger et mettre à jour les données (au moyen du LMD)
4- Maintenance
Correction, évolution
© 2010-2011 \ N. El Faddouli 26
pour plus de documents : www.almohandiss.com
Etapes de conception de BD
Monde
réel
Analyse
Spécifications
Conception Schéma
conceptuel
© 2010-2011 \ N. El Faddouli 27
pour plus de documents : www.almohandiss.com
Modèle Relationnel
- Le plus utilisé dans les BD et les SGBD (BDR et SGBDR).
- Fondé sur le concept mathématique de relation (théorie des ensembles):
Sous-ensemble du produit cartésien de différents ensembles (domaines).
- Représentation des données sous forme de tables à deux dimensions
contenant des valeurs simples.
- Concepts: Domaine, Relation, Attribut
Tuple
Schéma conceptuel
Clé
Contraintes
© 2010-2011 \ N. El Faddouli 29
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Domaine
Exemple:
© 2010-2011 \ N. El Faddouli 30
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Relation
SOUS-ENSEMBLE du produit cartésien de n domaines Di.
Caractérisée par un nom.
Exemple:
Livres ⊆ D2 × D4 × D4 × D4
Livres est d'arité 4
© 2010-2011 \ N. El Faddouli 31
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Relation (suite)
Une relation est composée de vecteurs (lignes) qui forment une table à
deux dimensions:
- Chaque ligne correspond à un vecteur.
- Chaque colonne correspond à un domaine du produit cartésien.
Exemple:
Attribut / Colonne /champ Relation / Table
Tuple / Ligne/ Enregistrement
© 2010-2011 \ N. El Faddouli 32
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Attribut
Nom donné à une composante d'une relation.
Exemple:
t1 (Cote:15, Titre:Le Langage C, Auteur: Claude Delanoy,
ISBN: 2-266-0865-4)
est un tuple de la relation Livres.
© 2010-2011 \ N. El Faddouli 33
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Schéma conceptuel de la relation :
Nom de la relation suivi de la liste des attributs et de leurs domaines.
Exemple: Domaines
Attributs
© 2010-2011 \ N. El Faddouli 34
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Schéma Conceptuel (suite)
On peut donner aux domaines des noms relativement au SGBD utilisé.
Exemple:
Livres(Cote:INTEGER,Titre:CHAR(50), Auteur:CHAR(50),ISBN:CHAR(50))
Exemple:
© 2010-2011 \ N. El Faddouli 35
pour plus de documents : www.almohandiss.com
Modèle Relationnel
© 2010-2011 \ N. El Faddouli 36
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Clé Primaire
Attribut ou ensemble d'attributs dont les valeurs identifient de manière
unique chaque tuple de la relation.
Exemple:
© 2010-2011 \ N. El Faddouli 37
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Clé Étrangère
Une clé étrangère dans une relation R1 est un attribut ou ensemble
d'attributs qui représentent une clé primaire dans une autre relation
R2.
Remarque:
La clé étrangère peut avoir un nom différent de la clé primaire
correspondante.
© 2010-2011 \ N. El Faddouli 38
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Contrainte (d'intégrité)
- Contrainte référentielle.
- Contrainte de domaine.
- Contrainte d'entité.
© 2010-2011 \ N. El Faddouli 39
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Contrainte d'unicité de clé
Elle permet d'assurer l'unicité de la clé primaire: Deux tuples dans
une relation ne peuvent pas avoir la même valeur de la clé primaire.
Contrainte référentielle
Une contrainte d'intégrité portant sur une relation R1, consiste à
imposer que la valeur d'un ou de plusieurs attributs apparaissent
comme valeur de clé primaire dans une autre relation R2.
Exemple: Pour chaque tuple de la relation Emprunt, il faut que la
valeur de l'attribut Cote apparaisse dans un tuple de la
relation Livres comme valeur de sa clé primaire Cote.
© 2010-2011 \ N. El Faddouli 40
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Contrainte de domaine
Elle impose qu'une colonne d'une relation doit comporter des valeurs
Exemple:
© 2010-2011 \ N. El Faddouli 41
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Valeurs Nulles et Clés
Si la valeur d'un attribut est inconnue au moment de l'insertion d'un
tuple dans une relation: on lui attribue une valeur conventionnelle,
appelée valeur nulle (Null)
Contrainte d'entité
Une contrainte d'intégrité imposant que toute relation possède une
clé primaire et que tout attribut participant à cette clé primaire
soit non nul.
© 2010-2011 \ N. El Faddouli 42
pour plus de documents : www.almohandiss.com
Modèle Relationnel
Instance (Extension)
Le schéma d'une relation représente les propriétés (attributs) des
Une table représente une instance d'une relation, c.-à-d. une vue
© 2010-2011 \ N. El Faddouli 43
pour plus de documents : www.almohandiss.com
SQL
Structured Query Langage(SQL):
- Langage de base dans les SGBD
la BD (index, …)
© 2010-2011 \ N. El Faddouli 44
pour plus de documents : www.almohandiss.com
SQL: LDD
Définition des schémas
Exemple 1:
Dat_Nais DATE )
© 2010-2011 \ N. El Faddouli 45
pour plus de documents : www.almohandiss.com
SQL: LDD
Création de tables (suite)
Exemple 2:
Auteur CHAR(255),
ISBN CHAR(100) )
© 2010-2011 \ N. El Faddouli 46
pour plus de documents : www.almohandiss.com
SQL: LDD
Création de tables (suite)
Exemple 3:
Dat_Remise DATE,
© 2010-2011 \ N. El Faddouli 47
pour plus de documents : www.almohandiss.com
SQL: LDD
Création de tables (suite)
Exemple 4:
Dat_B DATE,
© 2010-2011 \ N. El Faddouli 48
pour plus de documents : www.almohandiss.com
SQL: LDD
Exercice:
Donnez le code SQL permettant de créer les tables de la BD dont le
N.B:
© 2010-2011 \ N. El Faddouli 49
pour plus de documents : www.almohandiss.com
l'algèbre relationnelle.
Projection
Restriction
© 2010-2011 \ N. El Faddouli 50
pour plus de documents : www.almohandiss.com
attributs Ai, Aj, …Ap est notée par l'une des notations suivantes:
© 2010-2011 \ N. El Faddouli 52
pour plus de documents : www.almohandiss.com
FROM Table
FROM Livres
SELECT DISTINCT
Auteur Auteur
FROM Livres
© 2010-2011 \ N. El Faddouli 53
pour plus de documents : www.almohandiss.com
(relation)
SELECT *
FROM Table
*
SELECT Cote, Titre, Auteur, ISBN
FROM Livres
© 2010-2011 \ N. El Faddouli 54
pour plus de documents : www.almohandiss.com
σCondition (R1)
© 2010-2011 \ N. El Faddouli 55
pour plus de documents : www.almohandiss.com
Restrict
σ (Emprunts,
Matricule = 12308 Matricule=12308)
(Emprunts)
Cote Matricule Date_Emprunt Date_Remise
15 12308 11/10/2007 2/11/2007
4 12308 1/11/2007
24 12308 12/10/2007 7/11/2007
© 2010-2011 \ N. El Faddouli 56
pour plus de documents : www.almohandiss.com
FROM table
WHERE Condition
est 12308.
SELECT *
FROM Emprunts
© 2010-2011 \ N. El Faddouli 57
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 58
pour plus de documents : www.almohandiss.com
Exemple 3: Sélection des livres dont la cote n'est pas entre 130 et 160.
© 2010-2011 \ N. El Faddouli 59
pour plus de documents : www.almohandiss.com
SELECT *
FROM Livres
SELECT *
FROM Livres
© 2010-2011 \ N. El Faddouli 60
pour plus de documents : www.almohandiss.com
SELECT *
FROM Livres
SELECT *
FROM Livres
© 2010-2011 \ N. El Faddouli 61
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 62
pour plus de documents : www.almohandiss.com
SELECT *
FROM Livres
WHERE Titre NOT LIKE '*algèbre*'
© 2010-2011 \ N. El Faddouli 63
pour plus de documents : www.almohandiss.com
une condition.
SELECT Attributs
FROM Table
WHERE Condition
© 2010-2011 \ N. El Faddouli 64
pour plus de documents : www.almohandiss.com
SELECT Titre
FROM Livres
WHERE Auteur = "Claude Delanoy"
"Gardarin".
R1 × R2
© 2010-2011 \ N. El Faddouli 66
pour plus de documents : www.almohandiss.com
Étudiant
Matricule Nom_Prenom Code_Dept
12308 Alami Samir 1
12408 Semah Amal 3
© 2010-2011 \ N. El Faddouli 67
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 68
pour plus de documents : www.almohandiss.com
Exemple 13:
SELECT *
FROM Départements, Étudiants
© 2010-2011 \ N. El Faddouli 69
pour plus de documents : www.almohandiss.com
deux relations (en général: une clé primaire avec une clé étrangère).
Join (R1,R2,Condition)
© 2010-2011 \ N. El Faddouli 70
pour plus de documents : www.almohandiss.com
ou
© 2010-2011 \ N. El Faddouli 71
pour plus de documents : www.almohandiss.com
Project
( Join (Département, Étudiant, Code=Code_Dept), Nom_Dept,Nom_Prenom)
© 2010-2011 \ N. El Faddouli 72
pour plus de documents : www.almohandiss.com
Ville Ecole
Code_V Nom_Ville Code_E Nom_Ecole NbSalle Code_V
1 Rabat 120 Mohammed V 20 1
2 Casa 130 Imam Malek 15 1
3 Tanger 140 Al Massira 25 3
© 2010-2011 \ N. El Faddouli 73
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 74
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 75
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 76
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 77
pour plus de documents : www.almohandiss.com
FROM Table(s)
WHERE Condition
© 2010-2011 \ N. El Faddouli 78
pour plus de documents : www.almohandiss.com
Exemple 18:
SELECT Nom_Ecole, Nom_Ville
FROM Ville V , Ecole E
WHERE V.Code_V = E.Code_V
ORDER BY 1, 2 DESC
© 2010-2011 \ N. El Faddouli 79
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 80
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 81
pour plus de documents : www.almohandiss.com
FROM Ecole
© 2010-2011 \ N. El Faddouli 82
pour plus de documents : www.almohandiss.com
FROM Ecole
FROM Ecole
© 2010-2011 \ N. El Faddouli 83
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 84
pour plus de documents : www.almohandiss.com
Exercices:
© 2010-2011 \ N. El Faddouli 85
pour plus de documents : www.almohandiss.com
fonctions d'agrégation.
© 2010-2011 \ N. El Faddouli 86
pour plus de documents : www.almohandiss.com
GROUP Nom_Ville
BY V.Code_V
© 2010-2011 \ N. El Faddouli 87
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 88
pour plus de documents : www.almohandiss.com
Problème de la redondance
© 2010-2011 \ N. El Faddouli 91
pour plus de documents : www.almohandiss.com
Problème de la redondance
Anomalies liées à la redondance:
Anomalies de modification: Si l'on souhaite mettre à jour l'adresse
© 2010-2011 \ N. El Faddouli 92
pour plus de documents : www.almohandiss.com
Origine du Problème
Les problèmes viennent en fait des dépendances fonctionnelles
© 2010-2011 \ N. El Faddouli 93
pour plus de documents : www.almohandiss.com
On note: X à Y
Propriétés des DF
Réflexivité: Y ⊆ X ð X à Y
Augmentation: X à Y ð X , Z à Y, Z
Transitivité: X à Y et Y à Z ð X à Z
Pseudo-transitivité: X à Y et Y, Z à T ð X, Z à T
Union: X à Y et X à Z ð X à Y, Z
Décomposition: X à Y et Z ⊆ Y ð X à Z
© 2010-2011 \ N. El Faddouli 95
pour plus de documents : www.almohandiss.com
Pratique de la normalisation
© 2010-2011 \ N. El Faddouli 96
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 97
pour plus de documents : www.almohandiss.com
Remarque
La jointure des deux nouvelles relations sur l'attribut Cote donnera
l'équivalent de la relation de départ:
Join (Livre, Auteurs, Livre.Cote = Auteurs.Cote)
Cette jointure permettra d'avoir, pour chaque livre, la Cote, le titre et les
auteurs.
© 2010-2011 \ N. El Faddouli 98
pour plus de documents : www.almohandiss.com
© 2010-2011 \ N. El Faddouli 99
pour plus de documents : www.almohandiss.com
R2 = Project(R,B, C) ð R2 (B, C)
"extrait" la DF de R
© 2010-2011 \ N. El Faddouli 100
pour plus de documents : www.almohandiss.com
Employé(Mat, Nom)
Participation(Mat, CodeProjet, FonctionProjet)
© 2010-2011 \ N. El Faddouli 101
pour plus de documents : www.almohandiss.com
Exercice
Exercice (Suite)
Contrôle Continu
Exercice 1 : A partir du schéma de base suivant :
Etudiant (numEtudiant, nom, prénom, age, adresse)
Cours (numCours, intitule, nbreHeure, salle, #numDep)
Inscription (#numCours, #numEtudiant)
Département (numDep, nomDep, nbreEnseignant)
Inscription modélise l’inscription d’un étudiant (numEtudiant) à un cours
(numCours). Un cours est géré par un département (numDep)
Exprimer les requêtes en algèbre relationnelle:
R1) Donner toutes les informations associées aux cours gérés par le
département de nom "Informatique".
R2) Donner les numEtudiant et nom des étudiants inscrits dans les cours
gérés par le département de nom "Informatique".
© 2010-2011 \ N. El Faddouli 111
pour plus de documents : www.almohandiss.com
Contrôle Continu
Exercice 2: Exprimer en SQL les requêtes suivantes :
R1) Donner les nom et prénom et intitule des cours pour lesquels
l’étudiant est inscrit.
R2) Donner les numCours et intitule des cours pour lesquels l’étudiant
de clé numEtudiant = 1 est inscrit
R3) Donner les numCours, intitule et nombre d'inscrits des cours.
R4) Donner les numCours, intitule et nombre d'inscrits des cours pour
lesquels il y a 15 étudiants inscrits ou plus
R5) Donner pour chaque cours les numCours et intitule du cours ainsi
que le nombre d’élèves inscrits dans ce cours
R6) Donner pour chaque département le nombre d’étudiants inscrits dans
chaque cours géré par ce département ainsi que numCours et intitule