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

© INT 1 Evry, 29-31 mai 2000 Programme Introduction aux BD et aux SGBD +Le modèle relationnel Le langage de requête SQL La conception dune BD relationnelle.

Présentations similaires


Présentation au sujet: "© INT 1 Evry, 29-31 mai 2000 Programme Introduction aux BD et aux SGBD +Le modèle relationnel Le langage de requête SQL La conception dune BD relationnelle."— Transcription de la présentation:

1 © INT 1 Evry, mai 2000 Programme Introduction aux BD et aux SGBD +Le modèle relationnel Le langage de requête SQL La conception dune BD relationnelle Protection des informations Perspectives des BD

2 © INT 2 Evry, mai 2000 Le modèle relationnel Inventé par E. F. Codd Laboratoire de recherche IBM à San José Publication ACM 1970 "A Relational Model of Data for Large Shared Data Banks"

3 © INT 3 Evry, mai 2000 Les concepts descriptifs Notion de domaine Produit cartésien Relation Attribut Exemples de relations Clé Schéma de relation Clé étrangère Métabase Résumé des notions

4 © INT 4 Evry, mai 2000 Notion de domaine Définition –Ensemble de valeurs Exemples –Entier, réel, chaîne de caractères, booléen –Salaire = –Couleur = {bleu, blanc, rouge} –Point = [X: entier, Y: entier] –Triangle = [P1, P2, P3: Point] –Polygone = {Point}

5 © INT 5 Evry, mai 2000 Produit cartésien Définition –Le produit cartésien de D1,...., Dn est l'ensemble des n-uplets (Tuples) tel que Vi Di. Notation –D1 X....X Dn

6 © INT 6 Evry, mai 2000 Produit cartésien (suite) Exemple –D1 = {Cadre, Ouvrier, Directeur} –D2 = {5000, 15000, 30000}

7 © INT 7 Evry, mai 2000 Relation Définition –sous-ensemble du produit cartésien d'une liste de domaines –caractérisée par un nom. Exemple –D1 = Fonction –D2 = Salaire

8 © INT 8 Evry, mai 2000 Relation (suite) Plus simplement, une relation est un tableau à deux dimensions. Une ligne est un n-uplet (tuple). On associe un nom à chaque colonne afin de la repérer indépendamment de l'ordre.

9 © INT 9 Evry, mai 2000 Attribut Définition –nom donné à une colonne d'une relation –prend ses valeurs dans un domaine Exemple –Fonction

10 © INT 10 Evry, mai 2000 Exemples de relations

11 © INT 11 Evry, mai 2000 Clé Définition –Une clé est un groupe d'attributs minimum qui détermine un n-uplet unique dans une relation (à tout instant). Exemple –Clé de salaire_moyen ? –Clé de départements ? Contrainte d'intégrité –Toute relation doit posséder une clé renseignée (sans valeur inconnue).

12 © INT 12 Evry, mai 2000 Schéma de relation Définition –Le schéma d'une relation décrit: v son nom v la liste des attributs qu'elle comporte et des domaines associés v la liste des attributs composant la clé (la clé est soulignée) Exemple –Départements(Nom: texte, Région: texte, Directeur: texte, Nb_employés: entier)

13 © INT 13 Evry, mai 2000 Schéma de relation (suite) Intention –Un schéma de relation: intention de la relation –table: extension –Le schéma d'une BD relationnelle: ensemble des schémas des relations

14 © INT 14 Evry, mai 2000 Clé étrangère Définition –Une clé étrangère est un groupe d'attributs qui apparaît comme clé dans une autre relation –R1(A1, A2,...., Ap, Ap+1,...., An) –R2(B1, B2,......, Bn) Rôle –Les clés étrangères définissent des contraintes d'intégrités référentielles entre relations

15 © INT 15 Evry, mai 2000 Mises à jour et clés étrangères –Insertion: la valeur des attributs doit exister dans la relation référencée. v Insertion de (R&D4, 2222) ? –Suppression dans la relation référencée, les n-uplets référençant doivent disparaître. v Suppression de l'employé 5678 –Les clés étrangères définissent les liens entités-associations.

16 © INT 16 Evry, mai 2000 Clé étrangère Exemples –Département(No_départ, Libellé, Région) –Employé(No_emp, Nom, Prénom, Adresse) –Travaille_dans(No_dept, No_emp, Date_embauche) –Clés étrangères: v No_dept dans Travaille_dans référence No_départ dans Département; v No_emp dans Travaille_dans référence No_emp dans Employé.

17 © INT 17 Evry, mai 2000 Métabase Définition –base de données contenant l'ensemble des schémas et des règles de correspondances associées à une base de données Principe –Une base décrivant les autres bases, c'est-à-dire: v les relations v + les attributs v + les domaines v + les clés..... –Notion de dictionnaire de données –Base particulière, système, gérée par l'administrateur de BD

18 © INT 18 Evry, mai 2000 Résumé des notions

19 © INT 19 Evry, mai 2000 Les opérateurs de manipulation Tout résultat d'une opération est une relation; celui-ci peut donc être réutilisé en entrée d'un nouvel opérateur. Les opérateurs peuvent être classifiés en : –opérateurs ensemblistes / opérateurs relationnels –opérateurs unaires / opérateurs binaires –opérateurs de base / opérateurs dérivés v Base: union, différence, restriction, projection, produit cartésien v dérivés: intersection, jointure, division

20 © INT 20 Evry, mai 2000 Union But –Permet de fusionner deux relations Contraintes –Binaire –Même schéma

21 © INT 21 Evry, mai 2000 Union (suite) Exemple

22 © INT 22 Evry, mai 2000 Union (suite) Notation –Notation textuelle: T = R S –Notation graphique: RS T

23 © INT 23 Evry, mai 2000 Différence But –Conserver les tuples d'une relation ne figurant pas dans une autre Contraintes –Binaire –Même schéma –Non commutatif

24 © INT 24 Evry, mai 2000 Différence (suite) Exemple

25 © INT 25 Evry, mai 2000 Différence (suite) Notation –Notation textuelle: T = R - S –Notation graphique: RS T

26 © INT 26 Evry, mai 2000 Restriction But –Permet de "sélectionner" des tuples –La restriction réduit la taille de la relation verticalement Contraintes –Unaire –Spécifier une condition

27 © INT 27 Evry, mai 2000 Restriction (suite) Exemple Restriction telle que salaire Restriction telle que Nom > 'Le Blanc'

28 © INT 28 Evry, mai 2000 Restriction (suite) Notation –Notation textuelle: T = cond (R) –Notation graphique: R Cond T

29 © INT 29 Evry, mai 2000 Projection But –Permet de "sélectionner" des attributs –La projection réduit la taille de la relation horizontalement Contraintes –Unaire –Spécifier une liste d'attributs

30 © INT 30 Evry, mai 2000 Projection (suite) Exemple Projection sur No_emp Projection sur Nom Projection sur No_emp et salaire

31 © INT 31 Evry, mai 2000 Projection (suite) Notation –Notation textuelle: T = liste d'attributs (R) –Notation graphique: R Attributs T

32 © INT 32 Evry, mai 2000 Produit cartésien But –Ensemble de tous les tuples obtenus par concaténation de chaque tuple de R avec chaque tuple de S –Relation X Relation Relation Contraintes –Binaire –Schéma du résultat: v R(a1, a2,...., an), S(b1, b2,..., bp) v T = R X S T(a1, a2,...., an, b1, b2,..., bp) –Card (R X S) = Card (R) * Card (S)

33 © INT 33 Evry, mai 2000 Produit cartésien (suite) Exemple

34 © INT 34 Evry, mai 2000 Produit cartésien (suite) Notation –Notation textuelle: T = R X S –Notation graphique: RS X T

35 © INT 35 Evry, mai 2000 Intersection But –Permet dobtenir lensemble des tuples appartenant à deux relations Contraintes –Binaire –Même schéma

36 © INT 36 Evry, mai 2000 Intersection (suite) Exemple

37 © INT 37 Evry, mai 2000 Intersection (suite) Notation –Notation textuelle: T = R S –Notation graphique: RS T Dérivation –T = R - (R - S) –T = S - (S - R)

38 © INT 38 Evry, mai 2000 Jointure But –Permet détablir le lien sémantique entre les relations Contraintes –Binaire –Schéma du résultat: v R(a1, a2,...., an) v S(b1, b2,..., bp) T = R X S T(a1, a2,...., an, b1, b2,..., bp)

39 © INT 39 Evry, mai 2000 Jointure (suite) Exemple

40 © INT 40 Evry, mai 2000 Jointure (suite) Notation –Notation textuelle: T = R >< S Critère de jointure –Notation graphique : RS Critère de jointure T Dérivation –Produit cartésien + restriction

41 © INT 41 Evry, mai 2000 Division But –Répondre aux requêtes de type « tous les » –Un tuple t est dans T si et seulement si pour tout tuple s de S, le tuple est dans R Contraintes –Binaire –Schéma du résultat: v R(a1, a2,...., an, b1, b2,..., bp) v S(b1, b2,..., bp) T = R ¸ S T(a1, a2,...., an)

42 © INT 42 Evry, mai 2000 Division (suite) Exemple –Quels sont les employés qui travaillent sur tous les projets ?

43 © INT 43 Evry, mai 2000 Division (suite) Exemple –Construire R: ensemble de toutes les informations dont on a besoin –Construire S: ensemble correspondant à "tous les" (projets)

44 © INT 44 Evry, mai 2000 Division (suite) Notation –Notation textuelle: T = R S –Notation graphique: RS T Dérivation –Projection + Produit cartésien + Différence. –R S = T1 - T2 avec: T1 = schéma(R) - schéma(S) (R) T2 = schéma(R) - schéma(S) (( schéma(R) - schéma(S) (R) X (S) - R)

45 © INT 45 Evry, mai 2000 Bilan

46 © INT 46 Evry, mai 2000 Exemples de requêtes en algèbre relationnelle Base de données –Employé(Nom_emp, Prénom_emp, No_ss, Date_naiss, Adresse_emp, Sexe, Salaire, No_chef, Nod) –Département(Nom_d, No_dept, No_dir, Date_affect) –Dept_local(Num_dept, Id_loc) –Projet(Nom, No_proj, Local_proj, Nod) –Travaille_sur(No_ss, No_projet, Nb_heures)

47 © INT 47 Evry, mai 2000 Requête 1 Nom et adresse de tous les employés travaillant pour le département "R&D" Solution textuelle –DEPT_RECH <- Nom_d="R&D" (Département) –EMP_DE_RECH < Employé No_dept = Nod –RESULTAT <- Nom_emp, Prénom_emp, Adresse_emp (EMP_DE_RECH)

48 © INT 48 Evry, mai 2000 Arbre algébrique (Requête 1)

49 © INT 49 Evry, mai 2000 Requête 2 Pour chaque projet situé à Paris, donner le numéro du projet, le numéro du département correspondant, et le nom, l'adresse et la date de naissance du directeur Solution textuelle –PROJ_PARIS <- Local_proj="Paris" (Projet) –DEPT_DE_PROJ_PARIS < Département Nod= No_dept –DIR_DE_PROJ_PARIS < Employé No_dir= No_ss –RESULTAT <- No_proj, No_dept, Nom_emp, Adresse_emp, Date_naiss (DIR_DE_PROJ_PARIS)

50 © INT 50 Evry, mai 2000 Arbre algébrique (Requête 2)

51 © INT 51 Evry, mai 2000 Requête 3 Donner le nom des employés qui travaillent sur tous les projets du departement Solution textuelle –PROJ_DE_DEPT5 <- No_proj ( Nod=5 (Projet)) –EMP_PROJ <- No_ss, No_projet (Travaille_sur) –EMP_PROJETS_DEPT5 <- EMP_PROJ PROJ_DE_DEPT5 –RESULTAT < Employé) No_ss = No_ss

52 © INT 52 Evry, mai 2000 Arbre algébrique (Requête 3)

53 © INT 53 Evry, mai 2000 Requête 4 Donner la liste des numéro de projets sur lesquels travaille "Karl", soit en tant que directeur soit en tant qu'exécutant Solution textuelle –EMP_KARL <- Prénom_emp="Karl" (Employé) –TRAVAILLEUR_KARL No_projet (EMP_KARL >< Travaille_sur) No_ss = No_ss –DEPT_DIRIGES_KARL No_dept (EMP_KARL >< Département) No_ss = No_dir –PROJ_DIR_KARL < Projets) No_dept = No_d –RESULTAT <- TRAVAILLEUR_KARL PROJ_DIR_KARL

54 © INT 54 Evry, mai 2000 Arbre algébrique (Requête 4)

55 © INT 55 Evry, mai 2000 Requête 5 Donner le nom des employés qui ne travaillent sur aucun projet Solution textuelle –TOUS_EMP <- No_ss (Employé) –EMP_SUR_PROJ <- No_ss (Travaille_sur) –EMP_SANS_PROJ <- TOUS_EMP - EMP_SUR_PROJ –RESULTAT < Employé) No_ss = No_ss

56 © INT 56 Evry, mai 2000 Arbre algébrique (Requête 5)

57 © INT 57 Evry, mai 2000 Requête 6 Donner le nom des directeurs qui travaillent au moins sur un projet Solution textuelle –DIREC <- No_dir (Département) –TRAV <- No_ss (Travaille_sur) –RESULTAT < Employé) No_ss = No_ss

58 © INT 58 Evry, mai 2000 Arbre algébrique (Requête 6)

59 © INT 59 Evry, mai 2000 Optimisation de requêtes On peut répondre de diverses façon à une même requête Optimiser = choisir la meilleure façon

60 © INT 60 Evry, mai 2000 Exemple: Requête 1

61 © INT 61 Evry, mai 2000 Facteurs déterminants Ordre d'exécution des opérations algébriques Algorithme implantant les opérations algébriques Placement des données sur le disque Taille des relations intermédiaires

62 © INT 62 Evry, mai 2000 Restructuration Règles –Exécuter les opérateurs unaires le plus tôt possible (restriction, projection) => diminution de la taille des relations –Exécuter les jointures le plus tard possible Propriétés –Associativité des jointures –Commutativité restriction / projection –Commutativité restriction / jointure –Commutativité projection / jointure


Télécharger ppt "© INT 1 Evry, 29-31 mai 2000 Programme Introduction aux BD et aux SGBD +Le modèle relationnel Le langage de requête SQL La conception dune BD relationnelle."

Présentations similaires


Annonces Google