La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.

Présentations similaires


Présentation au sujet: "Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio."— Transcription de la présentation:

1 Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio

2 Quinio2 BDD : définitions Table ou relation Table ou relation Clé primaire Clé primaire Champ Champ Attribut avec un format Attribut avec un format Domaine Domaine Domaine de validité de certains attributs Domaine de validité de certains attributs Tuple Tuple Clé externe Clé externe

3 Quinio3 BDD : démarche Conception : Conception : modélisation modélisation Développement : Développement : création, optimisation création, optimisation Test Test Utilisation et mise à jour Utilisation et mise à jour Maintenance Maintenance GestionInformatique GestionInformatique Gestion Informatique

4 Quinio4 Modèle venant de Merise : MCD Entité Association 0-n 1-n cardinalités

5 5 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 N 1-N 0-N

6 6 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 N 1-N 0-N NOTE

7 7 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 N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à N 0-N

8 Quinio8 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

9 9 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

10 Quinio10 Normalisation de Codd : point de départ Liste des attributs Liste des attributs Dépendances fonctionnelles Dépendances fonctionnelles Dépendances multivaluées Dépendances multivaluées NON vues ici NON vues ici

11 Quinio11 Normalisation Normalisation : processus Normaliser cest regrouper la liste des attributs en relations - ayant du sens - cohérentes - sans redondance On obtient une série de table

12 Quinio12 Normalisation : 1FN Tout attribut de R contient: une valeur monovaluée et non composée

13 Quinio13 Normalisation : 1FN Exemples : Exemples : Prénom 1, Prénom 2 Prénom 1, Prénom 2 Adresse: Numéro voie, type voie, nom voie, nom ville, code postal Adresse: Numéro voie, type voie, nom voie, nom ville, code postal

14 Quinio14 Normalisation : 1FN R (Numéro élève, Prénoms, Adresse) R (Numéro élève, Prénoms, Adresse) nest pas en 1FN nest pas en 1FN

15 Quinio15 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)

16 Quinio16 Normalisation : 2FN 1. R est en 1FN 2. Tout attribut non clé de R dépend de la totalité de la clé

17 Quinio17 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

18 Dupont Dupont Dupont Dupont Martin

19 Quinio19 Normalisation : 2FN R nest pas en 2FN R nest 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)

20 Quinio20 Normalisation : 3FN 1. R est en 2FN 2. Tout attribut de R ne dépend pas de la clé par transitivité

21 Quinio21 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

22 22 100Duval001Anglais 101Farenc001Anglais 102Gervais001Anglais 103Justin001Anglais 104Loliée002Espagnol

23 Quinio23 On normalise en 3 FN R1 (Numéro professeur, Nom professeur, numéro matière) R2 (Numéro matière, libellé matière)

24 Quinio24 Normalisation 4FN et 5 FN Non traitées

25 Quinio25 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

26 Quinio26 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)

27 Quinio27 Création & manipulation des BDD : requêtes SQL « Structured Query Language » 1986 « Structured Query Language » 1986 Opérateurs de lalgèbre relationnelle Opérateurs de lalgèbre relationnelle Utilisé dans toutes les BD Utilisé dans toutes les BD

28 Quinio28 « 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)…)

29 Quinio29 ALTER TABLE matière ALTER TABLE matière ADD COLUMN coefficient NUM(1) DROP TABLE apprend DROP TABLE apprend RENAME apprend to notation RENAME apprend to notation « LDD »

30 30 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 N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à N 0-N ALTER

31 31 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 N 1-N INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à N 0-N DROP

32 32 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 N 1-N 0-N NOTE INTERVIENT dans CLASSE Numéro classe Niveau EST AFFECTE à N 0-N RENAME

33 Quinio33 « Les autorisations daccès» : GRANT & REVOKE 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)

34 Quinio34 GRANT INSERT ON apprend TO professeur GRANT SELECT ON apprend TO PUBLIC REVOKE ALL ON apprend FROM PUBLIC « Les autorisations daccès» :

35 Quinio35 « LMD » : langage de manipulation des données SELECT SELECT INSERT INSERT UPDATE UPDATE DELETE DELETE

36 Quinio36 SELECT nomélève, prénomélève FROM élève WHERE annaissance = 1994 ORDER BY nomélève SELECT

37 Quinio37 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

38 Quinio38 INSERT INSERT INSERT INTO élève (numéroélève, nomélève, prénomélève, annaissance) VALUES (105, durant, alexis, 2000)

39 Quinio39 UPDATE UPDATE UPDATE apprend SET note = 14 WHERE numéroélève = 106 AND numéromatière = 5

40 Quinio40 DELETE DELETE DELETE FROM élève, apprend WHERE numéroélève = 78

41 Quinio41 Les agrégats : SUM SELECT SUM (montant) FROM commande GROUP BY numéro-client

42 Quinio42 AVG AVG SELECT nom-élève FROM élève SELECT AVG (note) FROM apprend GROUP BY numéro-élève

43 Quinio43 MIN ou MAX MIN ou MAX SELECT MAX(note) FROM apprend WHERE numéro-élève = 105

44 Quinio44 COUNT COUNT SELECT COUNT FROM apprend SELECT COUNT FROM apprend WHERE numéro-élève = 102


Télécharger ppt "Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio."

Présentations similaires


Annonces Google