introduction aux systèmes de gestion de bases de données
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/1.jpg)
Introduction aux Systèmes de Gestion de Bases de données
U U N I V E R S I T E D E G E N E VN I V E R S I T E D E G E N E V E E TECFATECFA
Dess STAF Miriano Romualdi
![Page 2: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/2.jpg)
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/Stephane
Midi
14:00 – 14:50 Les classes SQL/Mysql14:50 – 15: 30 Ex: 215:30 – 16:00 Discussion16: 00 – 16:15 Ex: home
![Page 3: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/3.jpg)
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
![Page 4: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/4.jpg)
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….
![Page 5: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/5.jpg)
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?
![Page 6: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/6.jpg)
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
![Page 7: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/7.jpg)
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.
![Page 8: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/8.jpg)
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.
![Page 9: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/9.jpg)
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}
![Page 10: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/10.jpg)
• Les données structurées :
• Description ou schéma de la BD– Chauffeur Mot– Ligne Mot– Véhicule Mot
Structuration des données
Boubou 2
A
56
86LuluBoubou 4
2
Chauffeur Ligne Véhicule
![Page 11: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/11.jpg)
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
LIEU VALEUR
![Page 12: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/12.jpg)
PLAN
• Base de données (BD)
• Systèmes de gestion de base de données (SGBD)– principe– fonctionnalités
• Modèles de données
![Page 13: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/13.jpg)
Systèmes de Gestion de Bases de Données
Programme Terminal
BD
PC
SGBD
![Page 14: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/14.jpg)
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
![Page 15: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/15.jpg)
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
![Page 16: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/16.jpg)
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éesexemple : un chauffeur ne doit pas conduire plus de 40h par semaine.
![Page 17: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/17.jpg)
Gestion de la confidentialité
• BD partagée par plusieurs utilisateursne 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.
![Page 18: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/18.jpg)
Concurrence d’accès
• Accès simultané aux données par plusieurs utilisateurs
– détecter les éventuels conflits– les traiterexemple : vouloir affecter des chauffeurs à plusieurs lignes simultanément
traiter les demandes séquentiellement
![Page 19: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/19.jpg)
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
![Page 20: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/20.jpg)
PLAN
• Base de données (BD)
• Systèmes de gestion de bases de données (SGBD)
• Modèles de données– définitions– historique
![Page 21: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/21.jpg)
Description d’une BD
Schéma externe
Schéma conceptuel Schéma interne
Niveau externe Niveau conceptuel Niveau interne
Schéma externe
Schéma externe
Domained’application
Modélisation
BD
ANSI-SPARC
![Page 22: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/22.jpg)
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 ...
![Page 23: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/23.jpg)
Historique
• 1960 : les modèles hiérarchiques • 1970 : les modèles réseaux• 1980 : les modèles relationnelles• 1990 : les modèles objets
![Page 24: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/24.jpg)
• 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
V P
![Page 25: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/25.jpg)
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» …}
![Page 26: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/26.jpg)
CHAUFFEURNoChauffeurNomPrénomAdresseChangerAdresseAjouterHeures
Modèle objet
![Page 27: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/27.jpg)
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.
![Page 28: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/28.jpg)
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 ...
![Page 29: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/29.jpg)
Introduction et Définitions
INFORMATIONEcriture des résultats d’analyse,Architecture informationnelle
INFORMATIQUEArchitecture informatique du SI
Savoir ce qu’il faut réaliser
DOMAINE
![Page 30: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/30.jpg)
Introduction et Définitions
Ensemble
élément
E
{e1, e2, e3… en}
Lignes
{1,2,3,4,5,6,7,8,…A,B,C,D,E,F…}
![Page 31: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/31.jpg)
Introduction et DéfinitionsModèles
Entité-associationRelationnelObjet
RelationnelObjet
Informatique
Conceptuel ouInformation
![Page 32: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/32.jpg)
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.
![Page 33: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/33.jpg)
Domaine : type
BooléensEntiersFlottantsChaine de caractèresDate
TexteMotOrdonné (Unité)-
Numérique (Unité)-
Booléen MotBooléens MotsDateDurée
Durée-secondeDurée-mn (/s)Durée-h (/mn/s)Durée-m(/h/mn/s)
Informatique
Conceptuel
![Page 34: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/34.jpg)
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• <date>-<date> => <durée>• <date>+<date> => ¿• <date>±<durée> => <date>• <poids> est-un <numérique>• <monnaie> est-un <numérique>• <poids>*<monnaie> =>
<monnaie>• ...
![Page 35: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/35.jpg)
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.
![Page 36: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/36.jpg)
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)*)
![Page 37: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/37.jpg)
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.
![Page 38: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/38.jpg)
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
![Page 39: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/39.jpg)
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)
![Page 40: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/40.jpg)
Etat
• Etat : attribut mis-à-jour seulement par des transactions (ou traitements)
• Un état donne une trace du travail d’une méthode sur un objetVEHICULE (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.
![Page 41: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/41.jpg)
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.
![Page 42: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/42.jpg)
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)
![Page 43: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/43.jpg)
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)
![Page 44: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/44.jpg)
Représentation
![Page 45: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/45.jpg)
ReprésentationEntité-Relation
ENTITE
IdentifiantAttribut1Attribut2...
VEHICULENoVéhiculeCatégorieMarqueNoChassisNoMoteurDateCirculation
![Page 46: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/46.jpg)
ReprésentationObjet
CLASSEAttribut1[valuation]Attribut2…Methode1(signature)Methode2()...
VEHICULENoVéhiculeCatégorieMarqueNoChassisNoMoteurDateCirculation[1..n]Créer()Activer()Supprimer()Desactiver()Controler()Réparer()
![Page 47: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/47.jpg)
Représentation
VEHICULE (NoChâssis / NoVéhicule / NoMoteur // Catégorie, Marque, DateCirculation)
NoChâssis / NoVéhicule / NoMoteur // Catégorie, Marque, DateCirculation
VéhiculeNoChâssis / NoVéhicule / NoMoteur //
Véhicule
Véhicule
![Page 48: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/48.jpg)
Forme normale
![Page 49: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/49.jpg)
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.
![Page 50: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/50.jpg)
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).
![Page 51: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/51.jpg)
Prise en compte informatique
![Page 52: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/52.jpg)
Prise en compte informatique
• Stockage des objets• Patitionnement• Mécanisme de clés (identifiant) et
d’index• Choix d’une clé primaire
![Page 53: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/53.jpg)
Stockage des objets
Stockage verticalcolonnes : attributs
lignes : objetsAFF-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;
10’000 objets; 1 page = 250 objetsEn séquentiel : 40 pages d’E/S
Stockage horizontallignes : attributscolonnes : objets
correspondance entre oid et no de colonne
Trouver tous les objets qui sont « de réserve » pour StatutChauffeur avec NoAVS?
NoAVS et StatutChauffeur : 1mot1 page = 1000 valeurs10 pages pour Statut-Chauffeur10 pages pour NoAVS20 pages d’E/S
![Page 54: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/54.jpg)
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 d’un chauffeur
Un objet de Chauffeur-Trv: 2 motsUne page = 1000 mots
=> 1 E/S : 500 objets
![Page 55: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/55.jpg)
Mécanisme de clés et d’index
• 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 d’un objet : s’assurer qu’il n’existe aucun autre objet de même clé.
• Clé ou index :– Tables spéciales contenant pour chaque valeur d’index la
possibilité de retrouver tous les objets concernés (1 seul objet si l’index est clé).
![Page 56: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/56.jpg)
Opérations et langage
![Page 57: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/57.jpg)
Opérations et langage
• Langage de spécification• Langage d’interrogation• Langage de manipulation• Confidentialité• Evolution
![Page 58: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/58.jpg)
Langage de spécification
• ClasseCHAUFFEUR (Nom, Prénom, NoAVS, Adresse,
DateNaissance, Sexe, TotalHeures)• PrédicatPour 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.
![Page 59: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/59.jpg)
Règle d’intégrité statique mono-classe
![Page 60: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/60.jpg)
Règle d’intégrité statique monoclasse
• Une règle d’intégrité se définit à l’aide d’un prédicat. Si la ri est monoclasse, elle ne concerne qu’une classe et son prédicat a comme variables les attributs de la classe.
• Une ri est statique si elle ne concerne pas la transformation d’objets, mais seulement les objets eux-mêmes.
![Page 61: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/61.jpg)
Règle d’inté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
![Page 62: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/62.jpg)
DECALAGES ENTRE LE MONDE VIVANT ET LE MONDE ARTIFICIEL
![Page 63: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/63.jpg)
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ésContrôle
IntégritéConfidentialité
Atteignabilité, accès Composition-
décomposition
![Page 64: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/64.jpg)
Décalages entre le monde vivant et le monde artificiel
• Nature du lien entre mondes vivant et artificielconcré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 d’un système, support des activités– Non seulement analyser,observer, mais créer, concevoir, puis
contrôler
![Page 65: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/65.jpg)
Décalages entre le monde vivant et le monde artificiel
Question ou
Action
Question ou Action
informatique
Réponse informatiqueRéponse
Monde vivant Monde artificiel
![Page 66: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/66.jpg)
Décalages entre le monde vivant et le monde artificiel
Question
ou Action
Question ou Action
informatique
Réponse informatiqueRéponse
Monde vivant Monde artificiel
Effort de traduction
Effort d’interprétation
![Page 67: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/67.jpg)
Décalages entre le monde vivant et le monde artificiel
Question
ou Action
Question ou Action
informatique
Réponse informatiqueRéponse
Monde vivant Monde artificiel
ISOMORPHISME ?
![Page 68: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/68.jpg)
Modélisation-Spécification-Implémentation-Exploitation-
Evolution
![Page 69: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/69.jpg)
Modélisation-Spécification-Implémentation-Exploitation-
Evolution
INFORMATIONEcriture des résultats
d’analyse,Architecture informationnelle
INFORMATIQUEArchitecture informatique du SI
Savoir ce qu’il faut réaliser
DOMAINE
modélisation spécification
![Page 70: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/70.jpg)
Modélisation-Spécification-Conceptualisation-Implémentation-Exploitation-Evolution
INFORMATIONEcriture des résultats
d’analyse,Architecture informationnelle
INFORMATIQUEArchitecture informatique du SI
Savoir ce qu’il faut réaliser
DOMAINE
modélisation spécification
analyse implémentation
exploitation
évolution
conceptualisation
déploiement
![Page 71: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/71.jpg)
Modélisation-Spécification-Conceptualisation-Implémentation-Exploitation-Evolution
Avec le point de vue linéaire...
évolutionanalyse modélisation
conceptualisation
spécification
implémentation
déploiement
exploitation
évolution
![Page 72: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/72.jpg)
De la relativité des étapes : ex la redondance
– Dans le cadre de l’analyse et de la modélisation :• utile pour recouper les résultats, faciliter la prise d’informations
d’analyse• 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 l’introduire que pour faciliter des accès
– Dans le cadre de l’implémentation :• Ne pas en introduire de supplémentaire
![Page 73: Introduction aux Systèmes de Gestion de Bases de données](https://reader035.vdocuments.net/reader035/viewer/2022062410/56816345550346895dd3d44c/html5/thumbnails/73.jpg)
Ex de la redondance
• Analyse, modélisationAFF-CHAUFFEUR(NoAVS,
TotalHeures, Catégorie*, Date, StatutChauffeur, NoSérie, (CodeLigne//Catégorie)*)
La personne responsable de l’affectation d’un chauffeur à une série veut s’assurer que le chauffeur a bien le bon permis pour conduire les véhicules de la ligne.
• Modèle conceptuelAFF-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
redondanceTRANCHE-SERIE (NoSérie, CodeLigne //
Catégorie...)