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

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Définitions Analyse documentaire
Chap. 4 Recherche en Table
BASES DE DONNÉES AVANCÉES
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Entre construction théorique et mise en œuvre opérationnelle
Vocabulaire pour la passage du modèle conceptuel des données au modèle relationnel des données. MCDMRD EntitéTable PropriétésChamps, attribut IdentifiantClé
Le Modèle Logique de Données
Vue d'ensemble Implémentation de la sécurité IPSec
La politique de Sécurité
TP 3-4 BD21.
Gestion de la persistance des objets
INTRODUCTION.
Système de gestion de bases de données. Modélisation des traitements
Introduction à la POO: Les classes vs les objets
Initiation au système d’information et aux bases de données
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Initiation au système d’information et aux bases de données
Développement d’applications web
Structures de données linéaires
Contrôles d'accès aux données
Rappel sur les bases de données et le vocabulaire
Principes de la technologie orientée objets
Analyse et Conception orientée objet
Initiation à la conception de systèmes d'information
Initiation aux bases de données et à la programmation événementielle
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
Bases de données lexicales
Vers la conception objet
L’utilisation des bases de données
Gestion des bases de données
SYSTEMES D’INFORMATION
MODELE RELATIONNEL concept mathématique de relation
SYSTEME DE GESTION DE BASES DE DONNEES
Les fichiers indexés (Les B-arbres)
Staf 2x Cours de bases de données
Cours de Base de Données & Langage SQL
Les concepts et les méthodes des bases de données
Normalisation. RELATION NORMALE Une relation est dite normale si aucun des domaines qui la composent n'est lui-même une relation. En d'autres termes,
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
1. Représentation des informations
Introduction.
INTRODUCTION.
Supports de formation au SQ Unifié
STRUCTURES DES DONNEES. L’ORGANISATION DES DONNEES. BASES DES DONNEES
2 Processus de conception de BD
Cours n°1 Introduction, Conception
SYSTEMES d’INFORMATION séance 1 : Introduction et définitions
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Initiation aux SGBD Frédéric Gava (MCF)
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Introduction à la Programmation Orientée Objet
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Chapitre 8 Protection du trafic réseau à l'aide de la sécurité IPSec et de certificats Module S43.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Introduction aux Systèmes de Gestion de Bases de données
Transcription de la présentation:

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  

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  

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

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….

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?

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

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.

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.

Les données Exemple : Les données : 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}

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 Lulu 2 86

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

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

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

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

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

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.

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.

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

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

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

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

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 ...

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

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 C V P

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» …}

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

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.

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 ...

Introduction et Définitions 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 Lignes Ensemble E {1,2,3,4,5,6,7,8,… A,B,C,D,E,F…} {e1, e2, e3… en} élément

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

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.

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

Domaine(s) : opérations 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> ...

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.

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)*)

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.

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

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)

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.

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.

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)

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)

Représentation

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

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

Représentation Véhicule Véhicule 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

Forme normale

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.

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).

Prise en compte informatique

Prise en compte informatique Stockage des objets Patitionnement Mécanisme de clés (identifiant) et d’index Choix d’une clé primaire

Stockage des objets Stockage vertical Stockage horizontal 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; 10’000 objets; 1 page = 250 objets En séquentiel : 40 pages d’E/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 d’E/S

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 mots Une page = 1000 mots => 1 E/S : 500 objets

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é).

Opérations et langage

Opérations et langage Langage de spécification Langage d’interrogation Langage de manipulation Confidentialité Evolution

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.

Règle d’intégrité statique mono-classe

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.

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

DECALAGES ENTRE LE MONDE VIVANT ET LE MONDE ARTIFICIEL

Décalages Pour prendre en compte les objets des classes Propriétés 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

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 d’un système, support des activités Non seulement analyser,observer, mais créer, concevoir, puis contrôler

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

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

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

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

Modélisation-Spécification-Implémentation-Exploitation-Evolution INFORMATION Ecriture des résultats d’analyse, Architecture informationnelle INFORMATIQUE Architecture informatique du SI Savoir ce qu’il faut réaliser DOMAINE modélisation spécification

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

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

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

Ex de la redondance Analyse, modélisation AFF-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 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...)