Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parEmmanuelle Bossé Modifié depuis plus de 8 années
1
Bases de données : modèlisation et SGBD Séance 3
2
Bases de données Définitions Définitions Glossaire des SGBD relationnels Glossaire des SGBD relationnels Démarche Démarche Structures physiques Structures physiques
3
BDD : définitions Fichier Fichier Attribut Attribut Identifiant Identifiant Bases de données Bases de données SGBD SGBD
4
BDD : glossaire SGBDR Table ou relation Table ou relation Clé primaire Clé primaire Champ Champ Domaine Domaine Tuple Tuple Clé externe Clé externe
5
BDD : démarche Conception : modélisation, normalisation Conception : modélisation, normalisation Développement : création,optimisation Développement : création,optimisation Utilisation Utilisation Maintenance Maintenance
6
BDD : Conception Merise : MCD, MLD, MPD Merise : MCD, MLD, MPD Normalisation : formes normales Normalisation : formes normales
7
Merise données : MCD Entité Association 0-n 1-n cardinalités
8
ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé PROFESSEUR Numéro professeur Nom professeur Prénom professeur APPREND ENSEIGNE 1-1 0-N 1-N 0-N
9
ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé PROFESSEUR Numéro professeur Nom professeur Prénom professeur APPREND ENSEIGNE 1-1 0-N 1-N 0-N NOTE
10
ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé PROFESSEUR Numéro professeur Nom professeur Prénom professeur APPREND ENSEIGNE 1-1 0-N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à 0-1 1-N 0-N
11
Merise : MLD relationnel Chaque entité devient une table Chaque entité devient une table Chaque association porteuse devient une table Chaque association porteuse devient une table Chaque association non porteuse devient soit une table de pointeurs, soit une clé externe dans une table Chaque association non porteuse devient soit une table de pointeurs, soit une clé externe dans une table
12
1.Elève (Numéro élève, Nom élève, Prénom élève, Date naissance) 2.Apprend (Numéro élève, Numéro matière, Note) 3.Matière (Numéro matière, Libellé) 4.Professeur (Numéro professeur, Nom professeur, Prénom professeur, Numéro matière) 5.Classe (Numéro classe, Niveau) 6.Intervient dans (Numéro classe, Numéro professeur) 7.Est affecté à (Numéro élève, Numéro classe)
13
Normalisation de Codd : point de départ Liste des attributs Dépendances fonctionnelles Dépendances multivaluées
14
Normalisation Normalisation : processus Normaliser c’est regrouper la liste des attributs en relations - ayant du sens - cohérentes - sans redondance
15
Normalisation Normalisation : Point d’arrivée On obtient une série de tables : fichiers et index
16
Normalisation : 1FN Tout attribut de R contient: une valeur monovaluée et non composée
17
Normalisation : 1FN Exemples : Exemples : Prénom 1, Prénom 2 Adresse: Numéro voie, type voie, nom voie, nom ville, code postal
18
Normalisation : 1FN R (Numéro élève, Prénoms, Adresse) R (Numéro élève, Prénoms, Adresse) n’est pas en 1FN n’est pas en 1FN
19
R normalisée en 1FN R (Numéro élève, Prénom1, Prénom2, Numéro voie, Type voie, Nom voie, Nom ville, Code postal) R (Numéro élève, Prénom1, Prénom2, Numéro voie, Type voie, Nom voie, Nom ville, Code postal)
20
Normalisation : 2FN 1.R est en 1FN 2.Tout attribut non clé de R dépend de la totalité de la clé
21
Normalisation : 2FN R (Numéro élève, Numéro matière, note, Nom élève) R (Numéro élève, Numéro matière, note, Nom élève) Le Nom ne dépend F. que du Numéro de l’élève
22
10000512Dupont 10000116Dupont 10000208Dupont 10000310Dupont 20000412Martin
23
Normalisation : 2FN R n’est pas en 2FN R n’est pas en 2FN On normalise : On normalise : R1 (Numéro élève, Nom élève) R2 (Numéro élève,Numéro matière, Note)
24
Normalisation : 3FN 1.R est en 2FN 2.Tout attribut de R ne dépend pas de la clé par transitivité
25
Normalisation : 3FN R (Numéro professeur, Nom professeur, Numéro matière, Libellé matière) R (Numéro professeur, Nom professeur, Numéro matière, Libellé matière) Libellé matière dépend fonctionnellement de Numéro, professeur par transitivité,à travers le Numéro matière Libellé matière dépend fonctionnellement de Numéro, professeur par transitivité,à travers le Numéro matière
26
100Duval001Anglais 101Farenc001Anglais 102Gervais001Anglais 103Justin001Anglais 104Loliée002Espagnol
27
On normalise en 3 FN R1 (Numéro professeur, Nom professeur, numéro matière) R2 (Numéro matière, libellé matière)
28
Normalisation 4FN et 5 FN On traite les DM
29
4FN : la relation ne contient qu’une seule DM R (Etudiant, Cours, Sport) avec avec Etudiant DM Cours Etudiant DM Sport Etudiant DM Cours Etudiant DM Sport R n’est pas en 4FN R n’est pas en 4FN
30
PierreMathsKaraté PierreAnglaisKaraté PierrePhysiqueKaraté JacquesPhiloJudo JacquesPhiloNatation JacquesPhiloMarathon
31
Normalisation de R en 4FN R1 (Etudiant, Cours) R2 (Etudiant, Sport)
32
PierreMaths PierreAnglais PierrePhysique JacquesPhilo R1
33
PierreKaraté JacquesJudo JacquesNatation JacquesMarathon R2
34
5FN : DM de jointure R (Revendeur, Marque, Type de produit) avec avec Revendeur DM Marque Revendeur DM Marque Revendeur DM Type de produit Marque DM Type de produit Marque DM Type de produit
35
PierreRenaultVoiture PierreRenaultCamion PierreVolvoVoiture PaulRenaultCamion JacquesRenaultVoiture JacquesVolvoVoiture
36
Normalisation de R en 5FN R1 (Revendeur, Marque) R2 (Revendeur, Type de produit) R3 (Marque, Type de produit)
37
PierreRenault PierreVolvo JacquesRenault PaulRenault PaulVolvo R1
38
PierreVoiture PierreCamion PaulCamion JacquesVoiture R2
39
RenaultVoiture RenaultCamion VolvoVoiture R3
40
DF 3FN 4FN 5FN
41
NORMALISATION : préparation Num é ro é l è ve = ANum é ro é l è ve = A Nom é l è ve = BNom é l è ve = B Pr é nom é l è ve = CPr é nom é l è ve = C Date naissance = DDate naissance = D Num é ro mati è re = ENum é ro mati è re = E Libell é = FLibell é = F Note = GNote = G Num é ro professeur = HNum é ro professeur = H Nom professeur = INom professeur = I Pr é nom professeur = JPr é nom professeur = J Num é ro classe = KNum é ro classe = K Niveau = LNiveau = L A DF B, C, D, KA DF B, C, D, K E DF FE DF F AE DF GAE DF G H DF I, J, EH DF I, J, E K DF LK DF L A DM EA DM E H DM KH DM K E DM HE DM H
42
NORMALISATION : exécution A DF B, C, D, KA DF B, C, D, K E DF FE DF F AE DF GAE DF G H DF I, J, EH DF I, J, E K DF LK DF L A DM EA DM E H DM KH DM K E DM HE DM H 1) DF Elève (A, B, C, D, K)Elève (A, B, C, D, K) Matière (E, F)Matière (E, F) Apprend (A, E, G)Apprend (A, E, G) Professeur (H, I, J, E)Professeur (H, I, J, E) Classe (K, L)Classe (K, L) 2)DM Intervient dans (H,K)Intervient dans (H,K)
43
Création & manipulation des BDD : requêtes SQL « Structured Qwery Language » 1986« Structured Qwery Language » 1986 Opérateurs de l’algèbre relationnelleOpérateurs de l’algèbre relationnelle
44
« LDD » : langage de définition des données CREATE TABLE élève (numéroélève NUM(6) [ UNIQUE] [NOT NULL] [PRIMARY KEY], nomélève CHAR(30)[NOT NULL], prénomélève CHAR(20) [NOT NULL],annaissance NUM(4)…)
45
« LDD » CREATE TABLE apprend (numéroélève [ UNIQUE] [NOT NULL] [PRIMARY KEY], numéromatière [ UNIQUE] [NOT NULL] [PRIMARY KEY], note NUM(2,2) [VALEUR: 0,00 à 20,00],FOREIGN KEY)
46
INDEX : structures d’accès CREATE [UNIQUE] INDEX i1 ON élève (numéroéléve) CREATE INDEX i2 ON élève (annaissance)
47
ALTER TABLE matière ADD COLUMN coefficient NUM(1) DROP TABLE apprend RENAME apprend to notation
48
ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé coefficient PROFESSEUR Numéro professeur Nom professeur Prénom professeur APPREND ENSEIGNE 1-1 0-N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à 0-1 1-N 0-N
49
ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé coefficient PROFESSEUR Numéro professeur Nom professeur Prénom professeur ENSEIGNE 1-1 0-N 1-N INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à 0-1 1-N 0-N
50
ELEVE Numéro élève Nom élève Prénom élève Date de naissance MATIERE Numéro matière Libellé coefficient PROFESSEUR Numéro professeur Nom professeur Prénom professeur NOTATION ENSEIGNE 1-1 0-N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à 0-1 1-N 0-N
51
« Les autorisations d’accès» : GRANT & REVOKE GRANT privilège ON objet TO public Qui (public) a le droit de faire quoi (privilège) Qui (public) a le droit de faire quoi (privilège) à quoi (objet) à quoi (objet)
52
GRANT INSERT ON apprend TO professeur GRANT SELECT ON apprend TO PUBLIC REVOKE ALL ON apprend FROM PUBLIC
53
« LMD » : langage de manipulation des données SELECT INSERT UPDATE DELETE
54
SELECT SELECT nomélève, prénomélève FROM élève WHERE annaissance = 1994 ORDER BY nomélève
55
SELECT nomélève, prénomélève FROM élève, apprend WHERE annaissance = 1994 AND élève.numéro-élève = apprend.numéro-élève AND note NOT NULL ORDER BY nomélève ORDER BY nomélève
56
INSERT INSERT INTO élève (numéroélève, nomélève, prénomélève, annaissance) VALUES (105, durant, alexis, 2000)
57
UPDATE UPDATE apprend SET note = 14 WHERE numéroélève = 106 AND numéromatière = 5
58
DELETE DELETE FROM élève, apprend WHERE numéroélève = 78
59
Les agrégats SUM SELECT SUM (montant) FROM commande GROUP BY numéro-client
60
AVG SELECT nom-élève FROM élève SELECT AVG (note) FROM apprend GROUP BY numéro-élève
61
MIN ou MAX SELECT MAX(note) FROM apprend WHERE numéro-élève = 105
62
COUNT SELECT COUNT FROM apprend SELECT COUNT FROM apprend WHERE numéro-élève = 102
63
Opérateurs ensemblistes EXISTS UNION INTERSECT MINUS
64
EXISTS SELECT nom-élève FROM élève WHERE EXISTS FROM apprend note = 20 AND élève.numéro-élève = apprend.numéro-élève
65
NOT EXISTS SELECT nom-élève FROM élève WHERE NOT EXISTS FROM matière AND élève.numéro-élève = apprend.numéro-élève AND matière.code-matière = apprend.code-matière
66
UNION apprend(numéro-élève, code-matière) pratique(numéro-élève, code-sport) SELECT numéro-élève FROM apprend UNION SELECT numéro-élève FROM pratique
67
INTERSECT SELECT numéro-élève FROM apprend INTERSECT SELECT numéro-élève FROM pratique
68
MINUS SELECT numéro-élève FROM apprend MINUS SELECT numéro-élève FROM pratique
69
VUE : table virtuelle Non stockée (temporaire) créée par une requête sur une ou plusieurs tables (permanentes)
70
CREATE VIEW élèves-forts (numéroélève, nomélève, moyenne) AS SELECT *, TRUNC (note* coefficient) / SUM(coefficient) Group BY élève FROM élève, apprend, matière WHERE moyenne > 17
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.