Bases de Données pour Étudiants en Finance
Bases de Données pour Étudiants en Finance
http://eric.univ-lyon2.fr/~jdarmont/?page_id=447
Bases de données
http://eric.univ-lyon2.fr/~jdarmont/?feed=rss2
http://eric.univ-lyon2.fr/~jdarmont/
Conception de sites Web http://eric.univ-lyon2.fr/~jdarmont/ 1
≠ Fichier
1
Organisation base de données Avantages de l’organisation BD
Uniformisation de la saisie
Saisie
Base Standardisation des traitements
+ de Traitements
données
Contrôles
Contrôle immédiat de la validité des données
2
Processus de conception d’une BD Sondage express
Problème du
monde réel Qu’avez-vous compris jusqu’ici ?
Cahier des charges
Introduction
Modèle UML
Modèle relationnel
Langage SQL Standard de l’Object Management Group
Ensemble de formalismes graphiques
Diagramme de classes
Représentation graphique :
3
Instances Identifiant (1/2)
Objets de la classe ETUDIANT : les étudiant·es Solution : Ajouter un attribut numéro d’étudiant !
Nom Prénom DateNaiss Etc.
Dupont Albertine 01/06/1993 ... NumEtu Nom Prénom DateNaiss
West James 03/09/1994 ... 1110 Dupont Albertin 01/06/1993
Martin Marie 05/06/1995 ... 2002 West James 03/09/1994
Durand Rachid 15/11/1995 ... 3333 Martin Marie 05/06/1995
Titgoutte Justine 28/02/1996 ... 4042 Durand Rachid 05/11/1995
Dupont Noémie 18/09/1995 ... 5552 Titgoutte Justine 28/02/1996
Dupont Albert 23/05/1990 ... 6789 Dupont Noémie 18/09/1995
7000 Dupont Albert 23/05/1990
Convention graphique :
NB : Ne pas confondre avec Répondre sur http://toreply.univ-lille1.fr
les attributs de classe UML
dont c’est la notation usuelle
Question n° 5872
4
Multiplicité (ou cardinalité) Associations 1-1
Définition : Indicateur qui montre combien d’instances de ex. Un·e étudiant·e possède une et une seule carte Izly.
la classe considérée peuvent être liées à une instance Cette dernière n’est possédée que par un·e seul·e
de l’autre classe participant à l’association étudiant·e.
1 Un et un seul
0..1 Zéro ou un
0..* ou * Zéro ou plus
1..* Un ou plus
M..N De M à N (M, N entiers)
ex. 4..10 (de 4 à 10) Lire "Un·e étudiant·e possède multiplicité (1) carte Izly".
5
Classes-associations Exemple : spécifications (1/2)
Il est possible de caractériser une association par des Les étudiant·es sont caractérisé·es par un numéro
attributs. unique, leur nom, prénom, date de naissance, rue, code
ex. Un·e étudiant·e obtient une note par épreuve passée. postal et ville.
Les étudiant·es possèdent une carte Izly caractérisée
par un numéro unique et un solde d’argent utilisable au
CROUS.
Selon qu’ils ou elles sont dispensé·es ou non
d’assiduité, les étudiant·es appartiennent à un groupe de
TD caractérisé par un code unique.
NB : Une classe-association demeure une association.
Bases de données http://eric.univ-lyon2.fr/~jdarmont/ 30 Bases de données http://eric.univ-lyon2.fr/~jdarmont/ 31
Les étudiant·es passent des épreuves et obtiennent une 1. Identifier les classes
note pour chacune.
2. Identifier les associations entre les classes
Les épreuves sont caractérisées par un code, ainsi que
3. Identifier les attributs de chaque classe et de chaque
la date et le lieu auxquels elles se déroulent. classe-association
Chaque épreuve relève d'une matière unique (mais une 4. Identifier et souligner l’identifiant de chaque classe
matière donnée peut donner lieu à plusieurs épreuves).
5. Évaluer les multiplicités des associations
Les matières sont caractérisées par un code et un
intitulé.
6
Plan du cours Modèle logique relationnel
Introduction
Modèle UML
Modèle relationnel
Modèle associé aux SGBD relationnels
Langage SQL
Objectifs du modèle relationnel :
Indépendance physique
Traitement du problème de redondance des données
LMD non procéduraux (faciles à utiliser)
Devenir un standard
Bases de données http://eric.univ-lyon2.fr/~jdarmont/ 36 Bases de données http://eric.univ-lyon2.fr/~jdarmont/ 37
Modèle
relationnel
Modèle Modèle
relationnel relationnel
7
Modèle Modèle
relationnel relationnel
ex. CARTE_IZLY (NumCarte, SoldeCROUS) ex. EPREUVE (CodeEpr, DateEpr, Lieu, CodeMat#)
ETUDIANT (NumEtu, Nom, Prénom, DateNaiss, Rue,
CP, Ville, NumCarte#) MATIERE (CodeMat, Intitulé)
8
Modèle
relationnel
Modèle
relationnel
Modèle Modèle
relationnel relationnel
Lorsque l’on effectue directement une modélisation logique Anomalies de modification : Si l’on souhaite mettre à jour
ex. Soit la relation PASSER_EPREUVE. le lieu d’une épreuve, il faut le faire pour tous les n-uplets
concernés.
NumEtu Note CodeEpr Lieu Anomalies d’insertion : Pour ajouter une nouvelle
1110 15,5 INFO1 Amphi Aubrac
1110 14,0 ECO1 Amphi Aubrac épreuve, il faut obligatoirement fournir des valeurs pour
2002 13,0 ECO2 Salle D201 NumEtu et Note.
3333 10,5 INFO1 Amphi Aubrac
Anomalies de suppression : ex. La suppression de
l’étudiant·e n° 2002 fait perdre toutes les informations
Cette relation présente différentes anomalies. concernant l’épreuve ECOS2.
9
Éviter la redondance Quizz
Pourquoi ? La redondance, c’est :
Suppression des problèmes de mise à jour
Minimisation de l’espace de stockage
A. Vraiment Très MalTM
B. Parfois nécessaire
Comment ? C. Une figure de style littéraire
Dans le modèle conceptuel, ne spécifier que des attributs non
décomposables (première forme normale).
ex. Une adresse doit être décomposée en rue, code postal,
ville… Répondre sur http://toreply.univ-lille1.fr
C’est tout !
Question n° 6721
Modèle Modèle
relationnel relationnel
Modèle Modèle
relationnel relationnel
10
Modèle Modèle
relationnel relationnel
Modèle Modèle
relationnel relationnel
T
NumEtu
÷ = 101
103
R S
Bases de données http://eric.univ-lyon2.fr/~jdarmont/ 62 Bases de données http://eric.univ-lyon2.fr/~jdarmont/ 63
Modèle Modèle
relationnel relationnel
11
Modèle Modèle
relationnel relationnel
T NumEtu NumEtu
=
A B
= ETUDIANT PASSER
R S
*Requête : enchaînement d’opérations
Bases de données http://eric.univ-lyon2.fr/~jdarmont/ 66 Bases de données http://eric.univ-lyon2.fr/~jdarmont/ 67
Modèle Modèle
relationnel relationnel
Modèle
relationnel
12
Classification des SGBD relationnels Quizz
Niveau 1 : Systèmes non relationnels. Quel est le niveau de classification
Supportent uniquement la structure tabulaire. d’un tableur ?
Niveau 2 : Systèmes relationnellement minimaux.
A. Non relationnel – Niveau 1
Permettent les opérations de restriction, projection et
jointure. B. Relationnellement minimal – Niveau 2
C. Relationnellement complet – Niveau 3
Niveau 3 : Systèmes relationnellement complets. Toutes D. Relationnellement plein – Niveau 4
les opérations de l’algèbre relationnelle.
Niveau 4 : Systèmes relationnellement pleins. Répondre sur http://toreply.univ-lille1.fr
Permettent la définition des contraintes d’intégrité.
Question n° 2469
LDD LDD
13
LDD LDD
LDD LDD
LDD LMD
14
LMD
LMD LMD
LMD LMD
15
LMD LMD
LMD LMD
LMD LMD
Exemple Jointure
Table PASSER ex. Liste des notes avec le nom des étudiant·es
ETUDIANT PASSER
16
LMD LMD
Jointure Jointure
ex. Idem avec le numéro d'étudiant en plus Jointure exprimée avec le prédicat IN
SELECT E.NumEtu, Nom, CodeEpr, Note ex. Notes des épreuves passées le 23 septembre 2013
FROM Etudiant E, Passer P
SELECT Note FROM Passer
WHERE E.NumEtu = P.NumEtu
WHERE CodeEpr IN (
ORDER BY Nom, Note DESC Sous-
SELECT CodeEpr FROM Epreuve requête
WHERE DateEpr = ‘23-09-2013’)
NB : Utilisation d’alias (E et P) pour alléger l’écriture
+ tri par nom (croissant) et note (décroissante).
NB : Il est possible d’imbriquer des requêtes.
LMD LMD
LMD LMD
17
LMD
http://eric.univ-lyon2.fr/~jdarmont/tutoriel-sql/
Sondage express
18