Les besoins Qu’est ce qu’un SGBD, une BD? Architecture d’un SGBD Cycle de vie d’une BD Plan du cours Concepts généraux (Chapitre 1) Bases de Données Relationnelles.

Slides:



Advertisements
Présentations similaires
BASES DE DONNÉES AVANCÉES
Advertisements

Introduction Pour concrétiser l’enseignement assisté par ordinateur
UML - Présentation.
Fonctionnalités des SGBD
TP 3-4 BD21.
Bases de données orientées-objets
Principes des Bases de Données Relationnelles
NFE 107 : Urbanisation et architecture des systèmes d'information
Système de gestion de bases de données. Modélisation des traitements
Pratique de 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.
Les contraintes d’integrité
Initiation au système d’information et aux bases de données
Développement d’applications web
Etude des Technologies du Web services
Contrôles d'accès aux données
Rappel sur les bases de données et le vocabulaire
Database B2 2 MIP Paris.
Initiation à la conception de systèmes d'information
Initiation aux bases de données et à la programmation événementielle
Introduction à la conception de Bases de Données Relationnelles
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Bases de données et SGBD relationnels
L’utilisation des bases de données
Modèle Logique de Données
Gestion des bases de données
Services fournis par le SI et technologies associées
SYSTEME DE GESTION DE BASES DE DONNEES
Dépendances entre les chapitres
Staf 2x Cours de bases de données
Les concepts et les méthodes des bases de données
Initiation aux bases de données et à la programmation événementielle
1. Représentation des informations
Introduction.
ANALYSE METHODE & OUTILS
Présentation Session RPSI
1 BDs Orientées Objets Witold LITWIN. 2 Pourquoi ? F Les BDs relationnelles ne sont pas adaptées aux applications CAD/CAM, cartes géo... F le problème.
Optimisation de requêtes
Initiation à la conception des systèmes d'informations
STRUCTURES DES DONNEES. L’ORGANISATION DES DONNEES. BASES DES DONNEES
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Système Gestion Bases Données
Les vues Une vue: c’est une relation virtuelle. Définie par:
Les besoins Qu’est ce qu’un SGBD, une BD? Architecture d’un SGBD Cycle de vie d’une BD Plan du cours Concepts généraux (Chapitre 1) Bases de Données Relationnelles.
Initiation aux SGBD Frédéric Gava (MCF)
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
Dr Mohamed Anis BACH TOBJI
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.
Les bases de données Séance 8 Jointures.
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES
Initiation aux bases de données et à la programmation événementielle
La conception détaillée. Objectifs Décrire la solution opérationnelle - étude détaillée des phases informatiques du MOT (écrans, états, algorithmes, …),
Présentation de la méthode Merise
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.
Cours 11 Entrepôts de données
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
1 CEC A.-CHAVANNE Sites Web et bases de données. 2 UNE BASE DE DONNÉES : POURQUOI ? Manipulation de grandes quantités d’information – représentation des.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
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é.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
Bases de données   J-L Hainaut I. Concepts des bases de données 1. Motivation et introduction 5. Les SGBD 2. Concepts des bases de données 3.
Transcription de la présentation:

Les besoins Qu’est ce qu’un SGBD, une BD? Architecture d’un SGBD Cycle de vie d’une BD Plan du cours Concepts généraux (Chapitre 1) Bases de Données Relationnelles

2/34 Exemples classiques d'applications BD Gestion des personnels, étudiants, cours, inscriptions,... de l’EPFL Système de réservation de places d'avion de Swissair Gestion des comptes clients de l’UBS Gestion des commandes à Amazon.com Gestion des jeux olympiques...

3/34 Exemple CFF (fictif) Billet = nom client numéro train date classe no wagon numéros place départ: - gare - heure gare d’arrivée Train = numéro train gare départ heure départ destination finale heure d’arrivée jours Gestion des réservations de billets de trains Arret = numéro train no arret gare heure départ heure d’arrivée

4/34 Besoins de description 1 - Décrire le données de l’application (trains, trajets et réservations) sans faire référence à une solution informatique particulière  modélisation conceptuelle 2 - Élaborer une description équivalente pour le stockage des données dans le SGBD choisi  modélisation logique  langage de description de données (LDD)

5/34 Besoins de manipulation 3a - Créer la base de données initiale avec les données représentant le réseau CFF  langage permettant l’insertion de données 3b - Créer au fur et à mesure les données sur les réservations. Modifier si besoin et éventuellement supprimer toute donnée déjà rentrée  langage de manipulation de données (LMD) (insertion, modification, suppression)

6/34 Besoins d’interrogation 4 - Répondre à toute demande d’information portant sur les données contenues dans la base. Par exemple: a) Durand Julien a-t-il une réservation pour aujourd’hui ?  Si oui, donner les informations connues sur cette réservation. b) Quels sont les horaires des trains de Lausanne à Montreux entre 9h et 10h le dimanche ? c) Donner les destinations au départ de Lausanne sans arrêts intermédiaires.  langage de requête (langage d’interrogation)

7/34 Besoins d’exactitude / cohérence 5 – Il faut pouvoir exprimer toutes les règles qui contraignent les valeurs pouvant être enregistrées de façon à éviter toute erreur qui peut être détectée. Par exemple:  Il ne faut jamais donner la même place dans le même train à 2 clients  Les arrêts d’un train sont numérotés de façon continue (il ne peut y avoir pour un train donné un arrêt no 3 s’il n'y a pas un arrêt no 2 et un arrêt no 1)  La date de réservation pour un train doit correspondre à un jour de circulation de ce train  Le numéro de train dans une réservation / arrêt doit correspondre à un train existant  L’heure de départ d’une gare doit être postérieure à l’heure d’arrivée dans cette gare  L’heure d’arrivée à un arrêt doit être postérieure à l’heure de départ de l’arrêt précédent langage d’expression de contraintes d’intégrité

8/34 Besoins de garanties 6 - Il ne faut pas que les informations (par exemple, les réservations) soient perdues à cause d’un disfonctionnement quelconque: erreur de programmation, panne système, panne de l’ordinateur, coupure de courant, …  garantie de fiabilité 7 - Il ne faut pas qu’une action faite pour un utilisateur (par exemple, l’enregistrement d’une réservation) soit perdue du fait d’une autre action faite simultanément pour un autre utilisateur (réservation de la même place).  garantie de contrôle de concurrence

9/34 Besoins de confidentialité 8 - Toute information doit pouvoir être protégée contre l’accès par des utilisateurs non autorisés - en lecture - en écriture Interdire par exemple aux clients de modifier les numéros des trains ou les horaires ou leur réservation.  garantie de confidentialité (privacy)

10/34 Besoin d’efficacité 9-10 Le temps de réponse du système doit être conforme aux besoins: en intéractif: pas plus de 3 secondes en programmation: assez rapide pour assumer la charge de travail attendue (nombre de transactions par jour)  mécanismes d’optimisation  éventuellement, répartition / duplication des données sur plusieurs sites

11/34 Moyens Base de données  ensemble cohérent, intégré, partagé de données structurées  défini pour les besoins d’une application Système de gestion de base de données  logiciel permettant de couvrir les besoins:  définir une représentation des informations apte à  stocker, interroger et manipuler (insérer, supprimer, mettre à jour) de  grandes quantités de données (plus que la mémoire vive)  dont il faut garantir la longevité et  l’accessibilité de manière concurrente (plusieurs utilisateurs simultanés)  et sûre.

12/34 Recapitulation What is a DB and a DBMS ? What is conceptual modelling ? What are data description, data manipulation and query languages ? What are consistency constraints ? Which execution guarantees are expected from a DBMS ? Which efficiency criteria exist for a DBMS ?

13/34 Architecture d’un SGBD BD SGBD Interface utilisateur Interface d’accès physique Stockage / accès aux données Optimisation des performances Analyse/vérification des requêtes Convivialité de l'interface Puissance des langages

14/34 Trois couches Niveau externe :  dialogue avec les utilisateurs  vues associées à chaque groupe d’utilisateurs Niveau interne :  stockage des données sur des supports physiques,  gestion des structures de mémorisation (fichiers) et d'accès (gestion des index, des clés,...) Niveau logique : contrôle global et structure globale des données StockageContrôleDialogue DBA Couche externe Couche logique Couche interne Utilisateurs BD Données

15/34 Pour chaque couche Modèle de données  ensemble des concepts qui permettent de décrire les données d'une base et les règles d'utilisation de ces concepts. Schémas d’une BD  Descriptions d’une base de données obtenues en employant un modèle de données.

16/34 Le niveau conceptuel Description des besoins => modèle conceptuel Support du dialogue concepteurs / utilisateurs Indépendant de la solution informatique Deux parties couvertes par le modèle:  statique (la structure des données)  dynamique (règles et opérations) Contraintes d'intégrité  inhérentes aux données ou traduisant les règles des applications e.g. "il ne doit pas y avoir plus de 20 % d'écart entre les salaires des employés d'un même service et d'une même catégorie"

17/34 Exemple Un institut de formation permanente Schéma conceptuel (SC) entité-association ÉtudiantEnseignant Cours Inscrit Enseigne notes nom, prénom, date de naissance, n°étudiant nom, prénom, statut, n°compte_bancaire nomC, cycle

18/34 Implantation Traduction du schéma conceptuel en un schéma logique dans les concepts du modèle utilisé par le SGBD choisi On appelle modèle logique le modèle sur lequel est construit un SGBD.  relationnel  objet... !!! Attention aux confusions de terminologie entre schéma logique et conceptuel

19/34 Exemple Un institut de formation permanente Schéma logique (SL) relationnel Étudiant : nom, prénom, date de naissance, n°étudiant Enseignant :nom, prénom, statut, n°compte_bancaire Cours :nomC, cycle, nom_enseignant Inscription :n°étudiant, nom_cours, note1, note2

20/34 Implantation des données Choix des structures de stockage des données par les administrateurs système Schéma interne : description des choix d’enregistrement des données dans les fichiers. Fait appel à un nouveau modèle, le modèle interne, où les concepts sont ceux de fichier, organisation de fichier, index, chemin d'accès, clé,...

21/34 Schéma interne: exemple Étudiant : fichier FEtud, contenu : nom, prénom, date de naissance, n°étudiant indexé sur n°étudiant, index secondaire sur nom+prénom Enseignant + Cours : fichier FEnsCours, contenu : nom, prénom, statut, n°compte_bancaire, liste(nomC, cycle) tel que nom_enseignant dans Cours = nom dans Enseignant indexé sur nom, deux index secondaires, l'un sur nomC, l'autre sur cycle Inscription : fichier FInscrits, contenu : n°étudiant, nom_cours, note1, note2 indexé sur n°étudiant, index secondaire sur nom_cours

22/34 Schémas externes (SE): utilisation Un schéma externe par groupe d’utilisateurs, définissant la vue de la base pour ces utilisateurs Avantages de cette approche :  simplicité  protection (confidentialité) Dans les SGBD actuels, le modèle de données employé pour décrire les schémas externes est le même que celui du schéma logique

23/34 Schémas externes: le professeur Schéma externe du professeur de base de données : Étudiant _BD : nom, prénom, note1, note2, note_finale  tel que Étudiant _BD résulte de la combinaison de Étudiant et Inscription du SL, tels qu'il existe une Inscription de cet étudiant pour le cours BD (n°étudiant dans Étudiant = n°étudiant dans Inscription et nom_cours dans Inscription = ‘BD’),  et tel que note_finale = (note1 + note2)/2

24/34 Schémas externes: le service personnel Schéma externe du service de gestion du personnel enseignant : Professeur :nom, prénom, n°compte_bancaire, nombre_de_cours, liste(nom_cours)  tel que Professeur résulte de la combinaison de Enseignant et Cours du SL, tels que liste(nom_cours) est la liste de nomC qui se trouvent dans Cours tel que nom_enseignant dans Cours = nom dans Enseignant, et  tel que nombre_de_cours = Cardinalité (liste(nom_cours))

25/34 StockageContrôleDialogue Couche externeCouche logiqueCouche interne SGBD Schéma logique (SL) Etudiant : nom,..., n°étudiant Enseignant:nom...,statut, n°cpte Cours:nomC, cycle, nom_ensgt Inscription:n°étud,cours,note1... Schéma interne (SI) Etudiant : fichier FEtud, contenu : nom... indexé sur n°étudiant... Inscription: fichier FInscrits, contenu : n°étud, nom... indexé sur n°étudiant… BD Schéma externe: prof BD Etudiant _BD : nom,... note1… tel que: note=(note1+note2)/2 Schéma externe: SGP Professeur : nom, prénom tel que Prof est combinaison de Enseignant et Cours du SL tel que... Résumé: 3 types de schémas La BD vue par les utilisateurs, globalement et par l’informaticien.

26/34 Principe de fonctionnement du SGBD : un exemple avec le “parcours” d’une requête Analyse syntaxique et sémantique d’une requête Traduction au niveau logique Contrôles de confidentialité, concurrence... Si la requête est acceptée, optimisation et découpage en sous-requêtes élémentaires transférées au niveau interne Au niveau interne, traduction des sous-requêtes en requêtes physiques correspondantes.

27/34 Cycle de vie d'une base de données 4 phases:  Conception de la base (-> SC)  Implantation des données (-> SL, SI, population)  Utilisation (interrogation, mises à jour) (-> SEs)  Maintenance (correction, évolution)

28/34 Recapitulation Which are the two main interfaces in a DBMS architecture ? Which are the three layers of a DBMS architecture ? What is the difference between a data model and a schema ? What is a static and dynamic data model ? What is a logical schema ? Which aspects are described by a physical schema ?

29/34 Recapitulation What is an external schema used for ? What are the main processing steps in answering a query ? What is the lifecycle of a DBMS ?

30/34 Description du cours: première partie Conception de la base de données  description des données : schéma conceptuel  formalisme conceptuel : modèle entité-association (EA) Implantation de la base de données  formalisme logique : le modèle relationnel  sa partie structurelle : les relations  son langage de définition de données (DDL)  SQL  ses règles de normalisation traduction / transformation EA -> relationnel

31/34 Description du cours: 2ème partie Utilisation  Le langages relationnels  l’algèbre relationnelle  les calculs relationnels  SQL  embedded SQL

32/34 Glossary French - English BD = DB SGBD = DBMS LDD =DDL LMD = DML Langage de requête = query language contrainte d’intégrité = consistency constraint Fiabilité = reliability Répartition = distribution

33/34 Glossary French - English Convivialité = user friendliness Couche = layer Vues = view Puissance des langages = expressiveness of languages Memoire vive = transient storage / main memory