Bases de Données. Historique des modèles de SGBD



Documents pareils
Systèmes d information et bases de données (niveau 1)

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Présentation du module Base de données spatio-temporelles

Les bases de données

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Information utiles. webpage : Google+ : digiusto/

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de Données. Plan

Bases de données avancées Introduction

Bases de Données Avancées

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Bases de données cours 1

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Introduction aux Bases de Données

A QUOI SERVENT LES BASES DE DONNÉES?

Dossier I Découverte de Base d Open Office

Introduction au Système de Gestion de Base de Données et aux Base de Données

Introduction aux Bases de Données Relationnelles Conclusion - 1

CESI Bases de données

Modélisation de bases de données : Le modèle relationnel

Bases de données relationnelles

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Rappel sur les bases de données

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Bases de Données relationnelles et leurs systèmes de Gestion

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

et les Systèmes Multidimensionnels

16H Cours / 18H TD / 20H TP

Chap. 2: L approche base de données

Bases de données Cours 1 : Généralités sur les bases de données

INTRODUCTION AUX BASES de DONNEES

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Chapitre 1 : Introduction aux bases de données

Introduction aux bases de données

Introduction aux Bases de Données

Chapitre 1 Généralités sur les bases de données

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

Structure fonctionnelle d un SGBD

Base de Données et Langage SQL

Le langage SQL Rappels

Cours Bases de données

Bases de données relationnelles : Introduction

Bases de données élémentaires Maude Manouvrier

Les bases de données Page 1 / 8

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

PROJET 1 : BASE DE DONNÉES REPARTIES

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

Langage SQL : créer et interroger une base

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

TP Bases de données réparties

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Business Intelligence avec Excel, Power BI et Office 365

Introduction aux SGBDR

Bases de données et sites WEB

CHAPITRE 1. Introduction aux bases de données

Bases de données - Modèle relationnel

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Entrepôts de données. NEGRE Elsa Université Paris-Dauphine

A QUOI SERVENT LES BASES DE DONNÉES?

CREATION WEB DYNAMIQUE

Introduction à la B.I. Avec SQL Server 2008

Bases de données. Chapitre 1. Introduction

INTRODUCTION : Données structurées et accès simplifié

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

INTRODUCTION AU DATA MINING

Conception d une base de données

Bases de Données Relationnelles. Le Modèle Relationnel

1 Introduction et installation

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique ( ) Version du 19 octobre 2009

Modélisation des données

Jean-Pierre CHEINEY Philippe PICOUET Jean-Marc SAGLIO

Java DataBaseConnectivity

OBJECTIFS ET ARCHITECTURE DES SGBD

Mémo d'utilisation de BD Dico1.6

COURS de BASES de DONNEES

Bases de données. Yamine AIT AMEUR. INPT-ENSEEIHT DIMA 2 Rue Charles Camichel Toulouse Cedex 7

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Compte Rendu d intégration d application

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

CHAPITRE 1 ARCHITECTURE

Projet Business Object

Méthode d analyse Merise

Du 10 Fév. au 14 Mars 2014

1 Modélisation d une base de données pour une société de bourse

Évaluation et optimisation de requêtes

Bases de données relationnelles & SQL

Java et les bases de données

I4 : Bases de Données

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Conception des bases de données : Modèle Entité-Association

Transcription:

Bases de Données Historique des modèles de SGBD

Historique Avant l avènement de l informatique : informations structurées sous formes de fiches, classées par ordre alphabétique, chronologique,, Ensuite : infos mémorisées sur supports magnétiques, ==> Organisation des infos : notion de fichiers (retrouver telle info, voir sa valeur, supprimer, mettre à jour, ).

Avant les années 60 : organisation en fichiers gérés par des SGF Années 60 : 1ère génération de SGBD : ==> modèle hiérarchique et modèle réseau 1970-1980 : 2ère génération : plus indépendant des supports : ==> modèle relationnel débuts des années 80 : 3ère génération : ==> modèle à objets, objet-relationnel,...

Fichiers et SGF Fichier : ensemble structuré d informations relatives à une entité (objet) donnée => supports : papier, disque, disquettes, CD, En informatique : support informatique (disque, CD, ) Exple : fichier EMPLOYES(nom, prenom, adr, categorie, num-ss,...) Réalisation de ce fichier : occurences, enregistrements, articles, : 'Dupont' 'jean' 'Paris' 'A' 1601167576769... 'Durand' 'Marc' 'Toulon' 'C' 1551267574556... Un fichier = ensemble d articles (enregistrements). Un article = ensemble de rubriques (attributs)

Organisation et accès aux fichiers : 1. Organisation séquentielle : Les articles sont triés par ordre crois. ou décr. du num. d accès. L accès se fait en séquentiel : ième article accédé après avoir parcouru les (i-1) articles précédents. => utilisé pour les infos auxquelles on n accède pas souvent. => le support peut être à accès direct (disque, ) ou séquentiel (bande, ) art1 art2 Adresse de début du fichier arti

2. Organisation à accès direct : Les articles ne sont pas nécessairement ordonnées. Utilisée pour les infos auxquelles on accède aléatoirement. L accès à un article se fait directement à partir de sa clé d identification (unique). Il y a toujours une relation entre la clé et l adresse physique(exple : clé = adresse ou clé = adresse + cste, ). ==> bien adapté aux systèmes transactionnels (interrogation, màj fréquentes de quelques articles). Supports : disques, CD-ROM, tout support permettant l accès direct. art1 art2 arti Accès direct

3. Fichiers organisés en séquentiel indexé : Compromis entre séquentiel et direct. Accès en 2 temps : - direct sur un élément d une table (l index) - cette élément est un pointeur sur une zone du fichier, qui est ensuite parcourue séquentiellement pour trouver l élément cherché i1 0 i2 18 Art1.1 01 2 3... Art2.1 Art2.2 18 19 20 21

Fichiers et SGF (suite) SGF = logiciel (ou ens. de log). Qui permet de gérer les fichiers application par application. Exmple : un syst. qui gère un fichier paie des employés ou des pièces de rechange, Inconvénients : Une application Un programme, Absence de conception globale => - non exhaustivité : risque d infos manquantes, - redondance : mêmes info dans plusieurs fichiers => perte de place, risque d incohérence de màj, - associations entre fichiers non exploitées ==> apparition du concept de base de données.

Base de données et SGBD Base de données = une ensemble structuré de données accessibles par l ordinateur pour satisfaire simultanément plusieurs utilisateurs SGBD = logiciel(s) qui permet d interagir avec une BD. Particularités de l organisation Bases de Données: coûts réduits de saisie, stockage et màj, partageabilité disponibilité, cohérence intégrité, confidentialité conception a priori

Objectifs assignés aux SGBD Principaux : l indépendance physique : une modification dans l organisation des données sur les supports physiques ne doit pas influer sur les programmes d applications l indépendance logique : une modification dans l organisation logique des données (ex. ajout d une rubrique à un fichier) ne doit pas influer sur les programmes d applications non concernés.

Objectifs assignés aux SGBD (suite) Disposer d'un langage de manipulation aisée des données : un non-informaticien doit manipuler facilement la base (interrogation et màj) Faciliter l'administration des BD : permettre d effectuer le suivi des structures, autoriser l évolution, contrôler le fonctionnement (tâche du DBA-DataBase Administrator)

Autres objectifs Efficacité d accès aux données : garantir un bon débit (trans. par seconde) et un bon temps de réponse (temps moyen de réponse des transactions) Contrôler la redondance des données : pas de màj multiples, pas ou peu de redondances (que les clés éventuelement) Permettre le partage des données entre plusieurs utilisateurs et applications en assurant la sécurité d accès en cas de conflit. Confidentialité/sécurité : données protégées contre les accès non autorisés et, en cas d incidents, restaurer un état cohérent de la base.

Niveaux de représentation d une BD (rapport de l ANSI/SPARC 75) Groupe d utilisateurs 1 Groupe d utilisateurs 2 Schéma externe 1 schéma externe n schéma externe 2 Schéma conceptuel modélisation Schéma physique Fichiers Groupe d utilisateurs n Supports physiques Monde réel

Dans la pratique, 4 niveaux : niveau externe (sous-schémas, vues) niveau conceptuel (en général, le modèle entité/association) niveau logique (modèle hiérarchique, réseau, relationnel, objet) niveau physique (fichiers, index, )

Dans le modèle relationnel, les sous-schémas sont appelés : VUES Dans la pratique : Monde réel Niveau conceptuel (ex. modèle E/A) vue-1 Niveau logique (ex. modèle relationnel) Niveau physique (fichiers, index, ) vue-2 vue-n

Modèles de SGBD 1ère génération : modèle hiérarchique, puis modèle réseau 2ème génération : modèle relationnel 3ème génération : modèle objet et objet-relationnel

Le modèle hiérarchique généralise les notions du langage COBOL liens étroits entre données et traitements visualisation des données sous forme arborescente (hiérarchie) => nœuds = les classes d objets, arcs = associations. Un seul nœud racine => liens 1 à plusieurs uniquement. Exemple : Enseignants/Matières Schéma conceptuel : Matière 1 n Enseignant Enseignant ou 1 n Matière 2 classes d entités avec leur description ENSEIGNANT {code-e, nom-e, prenom-e, categ-e, MATIERE { code-m, lib-m, coef-m, heures-m}} 17

E1 TALIN Michel Assistant M1 INFO 6 9 M2 GESTION 3 1 E2 Ans Jean C. Certifié M3 MATHS 6 13 E3 Decaux F. Agrégé M2 GESTION 3 5 M4 COMPTA 3 4 M5 MATHS FI 1 2 18

Commentaires Nombre d occurrences = nombre d'enregistrements (pour Enseignant) nombre d'enseignants dans la base) à chaque enseignant ==> une ou plusieurs matières (implantation du schéma 2 précédent) l accès aux données s effectue toujours à partir du supérieur hiérarchique (ici l enseignant) Pour accéder aux données des fichiers, on utilise des structures des langages de programmation. Mais, avant de programmer sur machine, on utilise d'abord une sorte de canevas, qu'on appelle algorithme qui permet d'avoir une idée de la manière d'accéder aux données. 19

L'algorithme utilise des structure telles que : SI condition-vraie ALORS action1-à-faire SINON action2-à-faire FINSI TANT QUE condition-vrai FAIRE des-actions FINTANTQUE TANT QUE NON-FIN-DE-FICHIER FAIRE des-actions FINTANTQUE etc... 20

Exemple de manipulation : Q1. Trouver les matières enseignées par l enseignant de code E3 Début lire (enseignant) Tantque (code-e <> «E3» et (non fin-de-fichier) Faire lire (enseignant) Fintantque Si code-e = «E3» Alors lire (matière) Tantque matière existe Faire écrire(lib-m), lire (matière) Fintantque Sinon écrire( «L'enseignant n existe pas») Finsi Fin 21

Q2. Trouver les noms des enseignants de la matière de code M1 Début Tantque (non fin-de-fichier) Faire lire (enseignant) Lire (matière) Tantque matière existe Faire Si code-m = «M1» Alors écrire(nom-e, prenom-e) trouve = vrai Exit fin, car enseignant trouvé Finsi lire (matière) Fintantque Fintantque Si (non trouve) alors afficher 'enseignant inexistant' finsi 22 Fin

Commentaires Pour avoir la liste de toutes les matières => analyser, pour chaque enseignant, les matières qu il enseigne contrainte hiérarchique très forte : nécessité de connaître les chemins d accès 23

CONTRAINTES DU MODELE HIERARCHIQUE On doit spécifier COMMENT accéder aux données Anomalies d ajout, suppression et mise à jour. Exemples : si ajout d une nouvelle matière => ajout d un enseignant (fictif!) si suppression d un enseignant d une matière (qu il est seul à enseigner) => les infos sur cette matière disparaissent si on veut modifier le coeff. d une matière ==> parcourir toute la base Le modèle hiérarchique ==> modélisation des liens (1:n ) uniquement (liens hiérarchiques. 24

Le modèle réseau Amélioration du modèle hiérarchique : représente les liens (n:m) exemple : un enseignant enseigne plusieurs matière et une matière est enseignée par plusieurs enseignants schéma conceptuel : Enseignant m n Matière 25

Si association du type (1:1) ou (1:n) Création d un lien (SET). Exemple : 1 enseignant enseigne 1 seule matière (1:1), ou 1 enseignant enseigne plusieurs matières (1:n). Si association (n:m), utilisation d un artifice : création d une nouvelle entité (RECORD). On construit alors 2 liens 1:n entre cette nouvelle entité et les entités de base. Exemple : Gestion des enseignants et matières : On a 2 entités de base (RECORD) : Enseignant et Matière. On crée un nouveau RECORD (que l on appellera E-M), qui permettra de réaliser la liaison entre Enseignant et Matière. 26

Enseignant (Record) Matière (Record) Enseignant-E/M Matière-E/M (Set ou Liaison) (Set ou Liaison) E/M (Record) Fig. Modèle réseau (Base de donnée scolarité) L association (n:m) est décrite à l aide de 2 liaisons (set) et est mise en œuvre avec des pointeurs 27

Commentaires sur le modèle réseau (cf. figure sur l implantation du modèle réseau -chaînages-) Le LMD d un SGBD réseau permet le parcours des liens qui lient les Records Les 2 interrogations précédentes (base de données scolarité) peuvent être réalisées indifféremment à partir de Enseignant ou de Matière 29

Les opérations classiques sont simplifiées par rapport au modèle hiérarchique. - adjonction : on peut ajouter une nouvelle matière sans obligatoirement lui affecter un enseignant - suppression : on peut supprimer un enseignant sans supprimer les matières qu il enseigne - modification : pas de problème particulier Inconvénients du modèle réseau parcourt des chaînages (chemins d accès) gestion complexe des pointeurs 30

Le modèle relationnel (Brève présentation) Conçu par E.F Codd (1970) Basé sur la théorie mathématique des relations Exemple précédent traité avec le modèle relationnel : 31

Relation Enseignant Code-e Nom-e Prenom-e categ E1 Tanin M. E2 Ans J.C. E3 Decaux F. E4 Carik J.M. E5 Bage R. Code-e Code-m Code-m Prof MCF agreg certif vacat M1 9 E1 M2 1 E2 M3 13 E2 M2 5 E2 M4 4 etc.. etc.... Lib-m M1 Info M2 gest M3 math M4 compta M5 mathfi Coef-m 6 3 6 3 1 Nb-heues E1 etc Relation Matiere Relation E-M 32

Commentaires La relation enseignant : possède un nom, possède 4 attributs (degré 4), a des tuples (des lignes de valeurs), possède une clé primaire num-e (dont les valeurs distinguent les tuples entre eux), il n y a pas 2 lignes identiques, il n y a pas 2 colonnes identiques, l ordre des colonnes (attributs) n est pas important, l ordre des lignes (tuples) n est pas important (sauf si triés). 33

Exemple de manipulation des ces relations (on utilise le langage SQL) => repose sur les opérations ensemblistes (produit cartésien, projection, ). Q1. Libellés des matières enseignées par l enseignant de code «E3» => 2 opérations ensemblistes a. dans E-M : tuples où code-e = «E3» ==> relation R1 b. jointure ou connexion entre R1 et matière sur un domaine (ici code-e) ==> on obtient le résultat 34

résultat R1 Code-e Code-m Code-e Code-m Lib-m E3 M2 E3 M2 Gest E3 M4 E3 M4 compta E3 M5 E3 M5 mathfi 35

Ou directement : SELECT lib-m from MATIERE, E-M WHERE MATIERE.code-m = E-M.code-m AND E-M.code-e = 'E3' ; => produit cartésien et sélection

Q2. Enseignants de la matière de code «M1» => 2 opérations ensemblistes a. dans E-M : tuples où code-m = «M1» ==> relation R1 b. jointure ou connexion entre R1 et enseignant sur un domaine (ici code-m) ==> on obtient le résultat : 37

R1 Code-e résultat Codem Code-e Code-m Nom-e Prenom-e E1 M1 E1 M1 Talin M. E4 M1 E4 M1 Carik J.M. E5 M1 E5 M1 Bage R. Quelques commentaires : - simples d utilisation : on ne connaît pas comment sont stockées les données sur les supports. - questions symétriques => réponses symétriques. - opérations basées sur l algèbre relationnelle 38

Ou directement : SELECT nom-e from ENSEIGNANT, E-M WHERE ENSEIGNANT.code-e = E-M.code-e AND E-M.code-m = 'M1' ; => produit cartésien et sélection à question symétrique => réponse (requête) symétrique

Autres modèles : SGBD Objets : manipulation d'objets multimédia + puissance des langages objet (encapsulation, héritage, ), MAIS n'est pa aisé à manipuler (et non standard) Objet-Relationnel : essaie de mixer les aantages du modèle relationnel (simplicité) et du modèle objet (manipulation d'objets complexes, héritage, encapsulation, ) MAIS : On perd les aspects théoriques du modèle relationnel (normalisation) Pas de standard CONCLUSION : le modèle relationnel continue à s'imposer. 40

Monde réel Cycle de vie d une base de données Concevoir ( modèle (E/A souvent) : concepteur (ou administrateur) Créer la structure (modèle logique ( relationnel) -> SGBD particulier : idem Implanter la base de données (LDD+insertions initiales) : administrateur Optimiser la base de données (index, tuning, ) : administrateur Manipuler (LMD: insérer, màj, supprimer) : utilisateur Maintenir (requêtes spécifiques) : administrateur