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


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

Présentations similaires


Annonces Google