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

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 TECFA Dess STAF Miriano Romualdi.

Présentations similaires


Présentation au sujet: "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 TECFA Dess STAF Miriano Romualdi."— Transcription de la présentation:

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 TECFA Dess STAF Miriano Romualdi

2 Programme: 09:00 – 10:00 Introduction sur système de gestion de BD 10:00 – 10: 15 Organisation Ex: 1 et explications 10:15 – 10: 40 Pause 10:40 – 11:15 Ex: 1 11:15 – 12:00 Discussion 12: 00 – 12:15 Introduction après-midi 12: 15 – 12:30 Feed-back cours Dorel/Stephane Midi 14:00 – 14:50 Les classes SQL/Mysql 14:50 – 15: 30 Ex: 2 15:30 – 16:00 Discussion 16: 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 dune entreprise de transport public –Lentreprise « GPT » qui s occupe des transports publics de la ville dEvèneg, désire se doter dun 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 lentreprise?

6 Pourquoi des Bases de données (BD)? Besoins : –stocker de gros volumes dinformations –partager des informations par une communauté de personnes –gérer laccè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 –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 Les données structurées : Description ou schéma de la BD –Chauffeur Mot –Ligne Mot –Véhicule Mot Structuration des données Boubou2 A Lulu Boubou4 2 ChauffeurLigneVéhicule

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

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 Systèmes de Gestion de Bases de Données Programme Terminal BD PC SGBD

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

15 Interrogation dune 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 linté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 dinté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 quaux personnes autorisées –Définition de droits daccès = définir quelles informations doivent être protégées de quelles personnes –exemple : les usagers nont pas à connaître les horaires des chauffeurs.

18 Concurrence daccè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 dincident 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 dune BD Schéma externe Schéma conceptuel Schéma interne Niveau externeNiveau conceptuel Niveau interne Schéma externe Domaine dapplication Modélisation BD ANSI-SPARC

22 Modèle de données Définition : ensemble de concepts et des notations pour décrire une vision dun domaine dapplication 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 Exemple : –Chauffeur (C), Véhicule (V), Permis (P) Modèle hiérarchique Modèle Réseau C V P Modèles hiérarchique et réseau C VP

25 Modèle relationnel Relation = représentation dune 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 CHAUFFEUR NoChauffeur Nom Prénom Adresse ChangerAdresse AjouterHeures Modèle objet

27 De nombreux concepts : classe, opération, association, héritage, agrégation… concepts principaux : –classe = ensemble dobjets ayant la même structure de données et le même comportement –association = liens entre les objets des classes –Opération/méthode = sapplique aux objets dune 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 Introduction et Définitions INFORMATION Ecriture des résultats danalyse, Architecture informationnelle INFORMATIQUE Architecture informatique du SI Savoir ce quil faut réaliser DOMAINE

30 Introduction et Définitions Ensemble élément E {e 1, e 2, e 3 … e n } Lignes {1,2,3,4,5,6,7,8,… A,B,C,D,E,F…}

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

32 Propriétés dune classe Les objets dune 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 quils prennent pour les attributs. –des états que des méthodes ou des traitements font prendre aux objets.

33 Domaine : type Booléens Entiers Flottants Chaine de caractères Date 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 Conceptuel

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

35 Classe - Attribut - Domaine CL (A1,A2,A3…) Un objet o de CL prend une ou plusieurs valeurs du domaine de lattribut 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 dattributs 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 dattributs (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 nest 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 dune 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 dune 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 dune 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 dune 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 dobjet (oid) –Rép. conceptuelle : un ensemble dattributs 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 nexiste 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 dune 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 nexiste aucun sous-ensemble de K vérifiant la propriété précédente. Remarque : un simple identifiant ne permet pas didentifier tous les objets de la classe, à cause des valeurs obcures. Il nest obligé dêtre permanent. VEHICULE (NoChâssis / NoVéhicule / NoMoteur // Catégorie, Marque, DateCirculation)

44 Représentation

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

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

47 Représentation VEHICULE (NoChâssis / NoVéhicule / NoMoteur // Catégorie, Marque, DateCirculation) NoChâssis / NoVéhicule / NoMoteur // Catégorie, Marque, DateCirculation Véhicule NoChâssis / NoVéhicule / NoMoteur // 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 laccès aux données par leur nom.

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

51 Prise en compte informatique

52 Stockage des objets Patitionnement Mécanisme de clés (identifiant) et dindex Choix dune clé primaire

53 Stockage des objets Stockage vertical colonnes : attributs lignes : objets AFF-CHAUFFEUR (NoAVS, Date, StatutChauffeur, NoSérie) Trouver tous les objets qui sont « de réserve » pour StatutChauffeur avec leur NoAVS? 1 objet = 4 mots; 1 page= 1000 mots; objets; 1 page = 250 objets En séquentiel : 40 pages dE/S Stockage horizontal lignes : attributs colonnes : objets correspondance entre oid et no de colonne Trouver tous les objets qui sont « de réserve » pour StatutChauffeur avec NoAVS? NoAVS et StatutChauffeur : 1mot 1 page = 1000 valeurs 10 pages pour Statut-Chauffeur 10 pages pour NoAVS 20 pages dE/S

54 Décomposition CHAUFFEUR (NoAVS//Nom, Prénom, Adresse, DateNaissance, Sexe, TotalH) Un objet de Chauffeur : 100 mots Une page = 1000 mots => 1 E/S : 10 objets CHAUFFEUR-ADM (NoAVS//Nom, Prénom, Adresse, DateNaissance, Sexe) CHAUFFEUR-TRV (NoAVS // TotalH) E/S plus efficaces pour les traitements ne concernant que les heures de travail dun chauffeur Un objet de Chauffeur-Trv: 2 mots Une page = 1000 mots => 1 E/S : 500 objets

55 Mécanisme de clés et dindex Clé primaire : –recherche avec oid : correspondance entre une clé primaire et un oid, puis entre un oid et un lieu physique –recherche sans oid : correspondance entre une clé primaire et un lieu physique par le mécanisme de hash code ou des arbres balancés… –rajout dun objet : sassurer quil nexiste aucun autre objet de même clé. Clé ou index : –Tables spéciales contenant pour chaque valeur dindex la possibilité de retrouver tous les objets concernés (1 seul objet si lindex est clé).

56 Opérations et langage

57 Langage de spécification Langage dinterrogation Langage de manipulation Confidentialité Evolution

58 Langage de spécification Classe CHAUFFEUR (Nom, Prénom, NoAVS, Adresse, DateNaissance, Sexe, TotalHeures) Prédicat Pour chaque chauffeur, identifié soit par son numéro AVS soit par son nom et prénom, on conserve son adresse, sa date de naissance ainsi que son sexe. L'entreprise GPT désire également conserver le nombre total d'heures de conduite de chaque chauffeur.

59 Règle dintégrité statique mono-classe

60 Règle dintégrité statique monoclasse Une règle dintégrité se définit à laide dun prédicat. Si la ri est monoclasse, elle ne concerne quune classe et son prédicat a comme variables les attributs de la classe. Une ri est statique si elle ne concerne pas la transformation dobjets, mais seulement les objets eux-mêmes.

61 Règle dintégrité statique monoclasse LIGNE (CodeLigne, Catégorie, TypeLigne, ArrêtDépart, ArrêtArrivée) Pour toute lgn de LIGNE si lgn[TypeLigne] = « circulaire » alors lgn[ArrêtDépart] = lgn[ArrêtArrivée] sinon lgn[ArrêtDépart] lgn[ArrêtArrivée] finsi

62 DECALAGES ENTRE LE MONDE VIVANT ET LE MONDE ARTIFICIEL

63 Décalages Pour prendre en compte les objets des classes En prise directe - en dérivation En temps réel - en différé Définitif - Modifiable Présent - Historique Propriétés Contrôle Intégrité Confidentialité Atteignabilité, accès Composition- décomposition

64 Décalages entre le monde vivant et le monde artificiel Nature du lien entre mondes vivant et artificiel concrétiser : rendre concret ce qui était abstrait. concret : qui exprime quelque chose de réel sans que l'on en isole une notion de qualité, de relation; qui désigne ou qualifie un être réel (sujet); qui peut être perçu par les sens ou imaginé.(Petit Robert). modélisation : représentation non ambigüe et fidèle des composants d'un phénomène naturel, nécessaires à la compréhension de la partie étudiée du phénomène. modèle : ensemble de concepts mathématiques qui permet de recueillir une modèlisation de n'importe quel phénomène d'une même classe. En fait création dun système, support des activités –Non seulement analyser,observer, mais créer, concevoir, puis contrôler

65 Décalages entre le monde vivant et le monde artificiel Question ou Action Question ou Action informatique Réponse informatique Réponse Monde vivant Monde artificiel

66 Décalages entre le monde vivant et le monde artificiel Question ou Action Question ou Action informatique Réponse informatique Réponse Monde vivant Monde artificiel Effort de traduction Effort dinterprétation

67 Décalages entre le monde vivant et le monde artificiel Question ou Action Question ou Action informatique Réponse informatique Réponse Monde vivant Monde artificiel ISOMORPHISME ?

68 Modélisation-Spécification- Implémentation-Exploitation- Evolution

69 INFORMATION Ecriture des résultats danalyse, Architecture informationnelle INFORMATIQUE Architecture informatique du SI Savoir ce quil faut réaliser DOMAINE modélisationspécification

70 Modélisation-Spécification-Conceptualisation- Implémentation-Exploitation-Evolution INFORMATION Ecriture des résultats danalyse, Architecture informationnelle INFORMATIQUE Architecture informatique du SI Savoir ce quil faut réaliser DOMAINE modélisationspécification analyse implémentation exploitation évolution conceptualisation déploiement

71 Modélisation-Spécification-Conceptualisation- Implémentation-Exploitation-Evolution Avec le point de vue linéaire... évolution analysemodélisation conceptualisation spécification implémentation déploiement exploitation évolution

72 De la relativité des étapes : ex la redondance –Dans le cadre de lanalyse et de la modélisation : utile pour recouper les résultats, faciliter la prise dinformations danalyse ou impossible à éviter car seule la consolidation de résultats va permettre de la dégager : ex de classes avec plusieurs identifiants. –Dans le cadre du niveau conceptuel léliminer et ne la réintroduire quà cause de valeurs obscures –Dans le cadre de la spécification : Ne lintroduire que pour faciliter des accès –Dans le cadre de limplémentation : Ne pas en introduire de supplémentaire

73 Ex de la redondance Analyse, modélisation AFF-CHAUFFEUR(NoAVS, TotalHeures, Catégorie*, Date, StatutChauffeur, NoSérie, (CodeLigne//Catégorie)*) La personne responsable de laffectation dun chauffeur à une série veut sassurer que le chauffeur a bien le bon permis pour conduire les véhicules de la ligne. Modèle conceptuel AFF-CHAUFFEUR (NoAVS, Date // StatutChauffeur, NoSérie) PERMIS (NOAVS, Catégorie//DatePermis) CHAUFFEUR (NoAVS // TotalHeures...) TRANCHE-SERIE (NoSérie, CodeLigne // …) LIGNE (CodeLigne // Catégorie…) Modèle de spécification avec redondance TRANCHE-SERIE (NoSérie, CodeLigne // Catégorie...)


Télécharger ppt "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 TECFA Dess STAF Miriano Romualdi."

Présentations similaires


Annonces Google