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

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

Présentations similaires


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

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


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

Présentations similaires


Annonces Google