Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parCerise Bernier Modifié depuis plus de 9 années
1
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio
2
Quinio2 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
Quinio3 BDD : définitions Fichier Fichier Attribut Attribut Bases de données Bases de données SGBD SGBD
4
Quinio4 BDD : glossaire SGBDR Table ou relation Table ou relation Clé primaire Clé primaire Champ Champ Domaine Domaine Tuple Tuple Clé externe Clé externe
5
Quinio5 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
Quinio6 BDD : Conception Merise : MCD, modèle relationnel Merise : MCD, modèle relationnel Normalisation : formes normales Normalisation : formes normales
7
Quinio7 Merise données : MCD Entité Association 0-n 1-n cardinalités
8
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
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
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 à 1-1 1-N 0-N
11
Quinio11 Modèle relationnel Chaque entité devient une table Chaque entité devient une table Chaque association porteuse ( relation n,n ) devient une table Chaque association porteuse ( relation n,n ) devient une table Chaque association non porteuse ( relation 1,n ) devient une clé externe dans une table Chaque association non porteuse ( relation 1,n ) devient une clé externe dans une table
12
12 1.Elève (Numéro élève, Nom élève, Prénom élève, Date naissance, Numéro classe) 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) Clef externe Schéma relationnel
13
Quinio13 Normalisation de Codd : point de départ Liste des attributs Dépendances fonctionnelles Dépendances multivaluées NON vues ici
14
Quinio14 Normalisation Normalisation : processus Normaliser c’est regrouper la liste des attributs en relations - ayant du sens - cohérentes - sans redondance
15
Quinio15 Normalisation Normalisation : Point d’arrivée On obtient une série de tables
16
Quinio16 Normalisation : 1FN Tout attribut de R contient: une valeur monovaluée et non composée
17
Quinio17 Normalisation : 1FN Exemples : Exemples : Prénom 1, Prénom 2 Adresse: Numéro voie, type voie, nom voie, nom ville, code postal
18
Quinio18 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
Quinio19 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
Quinio20 Normalisation : 2FN 1. R est en 1FN 2. Tout attribut non clé de R dépend de la totalité de la clé
21
Quinio21 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
22 10000512Dupont 10000116Dupont 10000208Dupont 10000310Dupont 20000412Martin
23
Quinio23 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
Quinio24 Normalisation : 3FN 1. R est en 2FN 2. Tout attribut de R ne dépend pas de la clé par transitivité
25
Quinio25 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
26 100Duval001Anglais 101Farenc001Anglais 102Gervais001Anglais 103Justin001Anglais 104Loliée002Espagnol
27
Quinio27 On normalise en 3 FN R1 (Numéro professeur, Nom professeur, numéro matière) R2 (Numéro matière, libellé matière)
28
Quinio28 Normalisation 4FN et 5 FN Non traitées
29
Quinio29 DF 3FN 4FN 5FN
30
Quinio30 NORMALISATION : préparation Num é ro é l è ve = A Num é ro é l è ve = A Nom é l è ve = B Nom é l è ve = B Pr é nom é l è ve = C Pr é nom é l è ve = C l Date naissance = D Num é ro mati è re = E Num é ro mati è re = E Libell é = F Libell é = F l Note = G Num é ro professeur = H Num é ro professeur = H l Nom professeur = I Pr é nom professeur = J Pr é nom professeur = J Num é ro classe = K Num é ro classe = K l Niveau = L l A DF B, C, D, K l E DF F l AE DF G l H DF I, J, E l K DF L
31
Quinio31 NORMALISATION : exécution l A DF B, C, D, K l E DF F l AE DF G l H DF I, J, E l K DF L 1) DF l Elève (A, B, C, D, K) l Matière (E, F) l Apprend (A, E, G) l Professeur (H, I, J, E) l Classe (K, L)
32
Quinio32 Création & manipulation des BDD : requêtes SQL « Structured Qwery Language » 1986 « Structured Qwery Language » 1986 Opérateurs de l’algèbre relationnelle Opérateurs de l’algèbre relationnelle
33
Quinio33 « 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)…)
34
Quinio34 « 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)
35
Quinio35 ALTER TABLE matière ADD COLUMN coefficient NUM(1) DROP TABLE apprend RENAME apprend to notation « LDD »
36
36 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 à 1-1 1-N 0-N ALTER
37
37 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 à 1-1 1-N 0-N DROP
38
38 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 à 1-1 1-N 0-N RENAME
39
Quinio39 « 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)
40
Quinio40 GRANT INSERT ON apprend TO professeur GRANT SELECT ON apprend TO PUBLIC REVOKE ALL ON apprend FROM PUBLIC « Les autorisations d’accès» :
41
Quinio41 « LMD » : langage de manipulation des données SELECT INSERT UPDATE DELETE
42
Quinio42 SELECT nomélève, prénomélève FROM élève WHERE annaissance = 1994 ORDER BY nomélève SELECT
43
Quinio43 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 SELECT avec jointure
44
Quinio44 INSERT INSERT INTO élève (numéroélève, nomélève, prénomélève, annaissance) VALUES (105, durant, alexis, 2000)
45
Quinio45 UPDATE UPDATE apprend SET note = 14 WHERE numéroélève = 106 AND numéromatière = 5
46
Quinio46 DELETE DELETE FROM élève, apprend WHERE numéroélève = 78
47
Quinio47 Les agrégats : SUM SELECT SUM (montant) FROM commande GROUP BY numéro-client
48
Quinio48 AVG SELECT nom-élève FROM élève SELECT AVG (note) FROM apprend GROUP BY numéro-élève
49
Quinio49 MIN ou MAX SELECT MAX(note) FROM apprend WHERE numéro-élève = 105
50
Quinio50 COUNT SELECT COUNT FROM apprend SELECT COUNT FROM apprend WHERE numéro-élève = 102
51
Quinio51 Opérateurs ensemblistes EXISTS UNION INTERSECT MINUS
52
Quinio52 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
53
Quinio53 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
54
Quinio54 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
55
Quinio55 INTERSECT SELECT numéro-élève FROM apprend INTERSECT SELECT numéro-élève FROM pratique
56
Quinio56 MINUS SELECT numéro-élève FROM apprend MINUS SELECT numéro-élève FROM pratique
57
Quinio57 VUE : table virtuelle Non stockée (temporaire) créée par une requête sur une ou plusieurs tables (permanentes)
58
58 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.