1 / 73

Introduction aux Systèmes de Gestion de Bases de données

Introduction aux Systèmes de Gestion de Bases de données. U N I V E R S I T E D E G E N E V E TECFA Dess STAF Miriano Romualdi.

dulcea
Download Presentation

Introduction aux Systèmes de Gestion de Bases de données

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction aux Systèmes de Gestion de Bases de données U N I V E R S I T E D E G E N E V E TECFA Dess STAF Miriano Romualdi

  2. Programme:09:00 – 10:00 Introduction sur système de gestion de BD10:00 – 10: 15 Organisation Ex: 1 et explications10:15 – 10: 40 Pause10:40 – 11:15 Ex: 111:15 – 12:00 Discussion12: 00 – 12:15 Introduction après-midi12: 15 – 12:30 Feed-back cours Dorel/StephaneMidi14:00 – 14:50 Les classes SQL/Mysql14:50 – 15: 30 Ex: 215:30 – 16:00 Discussion16: 00 – 16:15 Ex: home

  3. PLAN • Base de données (BD) • introduction • définition • les données et leur structuration • Systèmes de gestion de base de données (SGBD) • Modèles de données

  4. Introduction • Exemple : gestion d’une entreprise de transport public • L’entreprise « GPT » qui s ’occupe des transports publics de la ville d’Evèneg, désire se doter d’un système informatique pour la gestion de son réseau. Celui-ci comprend des lignes, des véhicules ainsi que des chauffeurs. • Le chauffeur « Boubou » est en congé le lundi 30 octobre. Le 31 octobre, il assure la ligne 2 avec le véhicule 56….

  5. Introduction • Questions : • Un véhicule doit-il toujours assurer la même ligne? • Qui a assuré la ligne C le 3 octobre entre 16h et 18h? • Comment enregistrer et utiliser les informations concernant l’entreprise?

  6. Pourquoi des Bases de données (BD)? • Besoins : • stocker de gros volumes d’informations • partager des informations par une communauté de personnes • gérer l’accès à ces informations • gérer des informations cohérentes et non-redondantes

  7. Notion de Base de Données • Une BD doit traduire la connaissance : • de faits élémentaires : • Le chauffeur « Boubou » est affecté à la ligne 2 le 24 juin 1991. • de propriétés : • un chauffeur a un seul permis de conduire, mais est compétent pour plusieurs types de véhicule. • d’événements : • le véhicule 124 est supprimé de la circulation.

  8. Définition • Définition (Adiba, Delobel 1982): • ensemble structuré de données enregistrées sur des supports informatiques pour satisfaire simultanément plusieurs utilisateurs de façon sélective et en temps opportun.

  9. Les données • Exemple : • le chauffeur Boubou assure la ligne 2 avec le véhicule 56. le chauffeur Boubou assure la ligne A avec le véhicule 4. le chauffeur Lulu assure la ligne 2 avec le véhicule 86. • Les données : • Chauffeur = {Boubou, Lulu} Véhicule = {25,4,56,86} Ligne = {A,2}

  10. Structuration des données • Les données structurées : • Description ou schéma de la BD • Chauffeur Mot • Ligne Mot • Véhicule Mot Chauffeur Ligne Véhicule Boubou 2 56 Boubou A 4 2 86 Lulu

  11. Les données • Une donnée prend un lieu et y reste. • Une donnée ne peut être atteinte qu’au travers de son nom, autant par les développeurs que par les utilisateurs. NOM VALEUR LIEU

  12. PLAN • Base de données (BD) • Systèmes de gestion de base de données (SGBD) • principe • fonctionnalités • Modèles de données

  13. Programme PC Terminal SGBD BD Systèmes de Gestion de Bases de Données

  14. Fonctionnalités d’un SGBD • description et utilisation des informations (définition, interrogation, mise-à-jour) • gestion et contrôle d’intégrité • mise en œuvre de la confidentialité • gestion des accès concurrents • assurance d’une certaine sécurité de fonctionnement

  15. Interrogation d’une BD • Interroger les données de la BD • programmer la recherche • langage plus ou moins complexe • interrogation visuelle, tactile, vocale .. • Exploiter les liens entre données • Dériver de nouvelles informations

  16. Gestion de l’intégrité • Les modifications de la base (insertion, suppression, modification) doivent respecter les coutumes du monde réel. • structuration de la BD • définition de règles d’intégrité RI = propriété devant toujours être vérifiée par les données exemple : un chauffeur ne doit pas conduire plus de 40h par semaine.

  17. Gestion de la confidentialité • BD partagée par plusieurs utilisateurs • ne rendre accessibles certaines données qu’aux personnes autorisées • Définition de droits d’accès = définir quelles informations doivent être protégées de quelles personnes • exemple : les usagers n’ont pas à connaître les horaires des chauffeurs.

  18. Concurrence d’accès • Accès simultané aux données par plusieurs utilisateurs • détecter les éventuels conflits • les traiter exemple : vouloir affecter des chauffeurs à plusieurs lignes simultanément • traiter les demandes séquentiellement

  19. Sécurité de fonctionnement • Assurer le redémarrage du système en cas d’incident logiciel ou matériel • remettre la BD dans un état satisfaisant

  20. PLAN • Base de données (BD) • Systèmes de gestion de bases de données (SGBD) • Modèles de données • définitions • historique

  21. Description d’une BD Domaine d’application  Schéma externe  Modélisation Schéma interne Schéma conceptuel Schéma externe  Schéma externe BD  Niveau externe Niveau conceptuel Niveau interne ANSI-SPARC

  22. Modèle de données • Définition : ensemble de concepts et des notations pour décrire une vision d’un domaine d’application • Très nombreux modèles : • modèles conceptuels : • Entité-Association, relationnel, Merise, objet, UML, Z ... • modèles « systèmes » (offerts par les SGBD) : • hiérarchique, relationnel, objet ...

  23. Historique • 1960 : les modèles hiérarchiques • 1970 : les modèles réseaux • 1980 : les modèles relationnelles • 1990 : les modèles objets 

  24. C V P Modèles hiérarchique et réseau • Exemple : • Chauffeur (C), Véhicule (V), Permis (P) • Modèle hiérarchique • Modèle Réseau C V P

  25. Modèle relationnel • Relation = représentation d’une association particulière entre certains constituants • exemple : Chauffeur(NoCh//Nom,Prénom,Adresse,…) {le chauffeur ayant pour numéro NoCh, pour nom «Nom», pour prénom «Prénom» et pour adresse «Adresse» …}

  26. Modèle objet CHAUFFEUR NoChauffeur Nom Prénom Adresse ChangerAdresse AjouterHeures

  27. Modèle objet • De nombreux concepts : classe, opération, association, héritage, agrégation… • concepts principaux : • classe = ensemble d’objets ayant la même structure de données et le même comportement • association = liens entre les objets des classes • Opération/méthode = s’applique aux objets d’une classe.

  28. Modèle de données • Concepts généraux : • des entités/classes appelées aussi relations : • des chauffeurs, des véhicules, des lignes • des relations/associations entre des entités/classes • un chauffeur assure une ligne, conduit un véhicule ...

  29. INFORMATION Ecriture des résultats d’analyse, Architecture informationnelle INFORMATIQUE Architecture informatique du SI Savoir ce qu’il faut réaliser DOMAINE Introduction et Définitions

  30. Introduction et Définitions Lignes E Ensemble {1,2,3,4,5,6,7,8,… A,B,C,D,E,F…} {e1, e2, e3… en} élément

  31. Introduction et DéfinitionsModèles Conceptuel ou Information Entité-association Relationnel Objet Informatique Relationnel Objet

  32. Propriétés d’une classe Les objets d’une classe partagent en commun un schéma informationnel comprenant: • des attributs associés à des domaines de valeurs • pour lesquels les objets vont prendre une ou plusieurs valeurs de leur domaine. • des méthodes • qui, appliquées aux objets de la classe, transforment les valeurs qu’ils prennent pour les attributs. • des états • que des méthodes ou des traitements font prendre aux objets.

  33. Domaine : type Conceptuel Texte Mot Ordonné (Unité)- Numérique (Unité)- Booléen Mot Booléens Mots Date Durée Durée-seconde Durée-mn (/s) Durée-h (/mn/s) Durée-m(/h/mn/s) Informatique Booléens Entiers Flottants Chaine de caractères Date

  34. Domaine Texte : aucune Mot : = ≠ Ordonné : = ≠ >≥ ≤ < Numérique : = ≠ > ≥ ≤ < + - Booléen : et ou non Booléens : et ou non Date : = ≠ pré post Durée : = ≠ > ≥ ≤ < + - Domaines <date>-<date> => <durée> <date>+<date> => ¿ <date>±<durée> => <date> <poids> est-un <numérique> <monnaie> est-un <numérique> <poids>*<monnaie> => <monnaie> ... Domaine(s) : opérations

  35. Classe - Attribut - Domaine • CL (A1,A2,A3…) • Un objet o de CL prend une ou plusieurs valeurs du domaine de l’attribut A1 : o[A1] Î dom(A1). • VEHICULE (NoVéhicule, Catégorie, Marque, NoChâssis, NoMoteur, DateCirculation) • Dom(Catégorie) = {tramway, bus, trolleybus} "vehÎ Véhicule veh[Catégorie] = tramway ½bus½trolleybus • Attribut monovalué : un objet prend au plus une valeur pour lui. • Attribut multivalué : un objet peut prendre plusieurs valeurs pour lui.

  36. Attribut multivalué, groupe d’attributs • Attribut multivalué (modèle objet) VEHICULE (NoVéhicule, Catégorie, Marque, NoChâssis, NoMoteur, DateCirculation*) • Un objet de Véhicule peut alors prendre plusieurs valeurs pour DateCirculation • Groupe d’attributs (modèle objet) VEHICULE (NoVéhicule, Catégorie, Marque, NoChâssis, (NoMoteur, DateCirculation)*)

  37. Attribut : valeurs obscures • Pour chaque attribut A de CL, il faut indiquer si un objet de CL peut prendre une valeur obscure pour A. • Valeur obscure : valeur inconnue, valeur impossible… • Une valeur qui n’est pas obcure est claire. • VEHICULE (NoVéhicule-, Catégorie, Marque, NoChâssis, NoMoteur, DateCirculation-) • Les attributs NoVéhicule et DateCirculation admettent des valeurs obscures.

  38. Attribut permanent • Un attribut A d’une classe est permanent, si la valeur claire prise pour A par tout objet de la classe ne peut être modifiée. • VEHICULE (NoVéhicule-=, Catégorie=, Marque=, NoChâssis=, NoMoteur, DateCirculation-) • Un objet de Véhicule conserve les valeurs prises pour NoVéhicule, Catégorie, Marque et NoChassis, alors que son NoMoteur, sa DateCirculation peuvent être modifiés

  39. Méthode • Méthode d’une classe CL : une action qui concerne un objet de cette classe. • VEHICULE (NoVéhicule-=, Catégorie=, Marque=, NoChâssis=, NoMoteur, DateCirculation-) • méthode créer (véhicule : Véhicule) • méthode activer (véhicule : Véhicule) • méthode supprimer (véhicule : Véhicule) • méthode désactiver (véhicule : Véhicule) • méthode contrôler (véhicule : Véhicule) • méthode réparer (véhicule : Véhicule)

  40. Etat • Etat : attribut mis-à-jour seulement par des transactions (ou traitements) • Un état donne une trace du travail d’une méthode sur un objet VEHICULE (NoVéhicule-=, Catégorie=, Marque=, NoChâssis=, NoMoteur, DateCirculation-) Si DateCirculation est un état contrôlé par activer et désactiver : - activer (véhicule) fait passer sa datecirculation d’une valeur obscure à une valeur claire, la date du jour. - désactiver (véhicule) la fait passer de claire à obscure. Alors DateCirculation est un attribut-état de la classe VEHICULE.

  41. Identifiant / Clé • Comment retrouver un objet parmi tous les objets de sa classe? • Rép. technologique: en lui donnant un identificateur d’objet (oid) • Rép. conceptuelle : un ensemble d’attributs K de CL forme un identifiant (clé) obligatoire de CL si • Tous les attributs de K sont monovalués, sans valeur obscure, permanents; • Deux objets o et o’ de CL ne peuvent prendre les mêmes valeurs pour K : o[K] ≠ o’[K] • K est minimal : il n’existe aucun sous-ensemble de K vérifiant la propriété précédente.

  42. Identifiants primaires • Au niveau conceptuel, il peut exister plusieurs identifiants primaires. • Au niveau technologique, il y en a un qui est privilégié. VEHICULE (NoChâssis / NoVéhicule // Catégorie, Marque, NoMoteur, DateCirculation)

  43. Identifiant/Clé • K est un identifiant d’une classe CL si • Tous les attributs de K sont monovalués; • Deux objets o et o’ de CL ne peuvent prendre les mêmes valeurs pour K : o[K] ≠ o’[K] • K est minimal : il n’existe aucun sous-ensemble de K vérifiant la propriété précédente. • Remarque : un simple identifiant ne permet pas d’identifier tous les objets de la classe, à cause des valeurs obcures. Il n’est obligé d’être permanent. VEHICULE (NoChâssis / NoVéhicule / NoMoteur // Catégorie, Marque, DateCirculation)

  44. Représentation

  45. VEHICULE NoVéhicule Catégorie Marque NoChassis NoMoteur DateCirculation ReprésentationEntité-Relation ENTITE Identifiant Attribut1 Attribut2 ...

  46. VEHICULE NoVéhicule Catégorie Marque NoChassis NoMoteur DateCirculation[1..n] Créer() Activer() Supprimer() Desactiver() Controler() Réparer() ReprésentationObjet CLASSE Attribut1[valuation] Attribut2 … Methode1(signature) Methode2() ...

  47. Représentation VEHICULE (NoChâssis / NoVéhicule / NoMoteur // Catégorie, Marque, DateCirculation) Véhicule NoChâssis / NoVéhicule / NoMoteur // Véhicule NoChâssis / NoVéhicule / NoMoteur // Catégorie, Marque, DateCirculation Véhicule

  48. Forme normale

  49. Forme normale de classe • Une classe est en forme normale si tous ses attributs sont monovalués. Ses objets prennent une seule valeur par attribut (modèle relationnel). • Objectif éviter les tableaux permettre l’accès aux données par leur nom.

  50. Forme non normale de classe • Une classe n’est pas en forme normale si elle admet un (ou plusieurs) attribut (ou groupe d’attributs) multivalué (modèle objet). • ClPers(OidPerson, Adresse*, Salaire*)) attributs multivalués avec deux situations : - aucune différence entre les adresses d’une même personne: ok. - comment trouver le salaire du mois de février d’une personne? Il faut toujours pouvoir atteindre une information par son nom, sans avoir besoin de connaître son mode d’implémentation (indépendance donnée-stockage).

More Related