Les bases de données relationnelles

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Définitions Analyse documentaire
Le modèle de communication
Informatique appliquée à la gestion Bases de données www. labri
1 Bases de donn é es relationnelles. 2 Introduction au mod è le relationnel les donn é es sont repr é sent é es par des tables, sans pr é juger de la.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Entre construction théorique et mise en œuvre opérationnelle
Le modèle logique des données relationnel MLD
Le modèle de communication
Le Modèle Logique de Données
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
Module II21 Analyse et Conception des Systèmes d ’Information - Bases de données : Y.Sadi (6 séances) Système d’exploitation Unix: O. Forestier (6 séances)
Programme Introduction aux BD et aux SGBD Le modèle relationnel
INTRODUCTION.
Bases de Données Plan du cours : Année : 2009/10 A - Généralités :
Initiation au système d’information et aux bases de données
Initiation au système d’information et aux bases de données
Rappel sur les bases de données et le vocabulaire
Initiation à la conception de systèmes d'information
L ’approche par processus
Modélisation E/R des Données
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
Conception des données
La structuration et la représentation informatique de l'information
Modèle Logique de Données
Cas pratique : Interim.
SYSTEMES D’INFORMATION
MODELE RELATIONNEL concept mathématique de relation
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
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
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Base de Données.
Le système informatique et le système d’information
Bases de données : modèlisation et SGBD
Sélection de colonnes (la projection)
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 .
Modélisation des documents: DTD et Schéma
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Système Gestion Bases Données
Initiation aux SGBD Frédéric Gava (MCF)
Introduction avec Access Quinio Nanterre 2008
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.
ANALYSE LE MCD 1ère approche
Nouvelles Technologies Internet & Mobile
Introduction à la Programmation Orientée Objet
ANALYSE LE MCD 1ère approche
Séance /10/2004 SGBD - Approches & Principes.
La Modélisation : représenter la réalité dans un système informatisé
INTRODUCTION AUX BASES DE DONNEES
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
Initiation aux bases de données et à la programmation événementielle
Introduction Module 1.
Le modèle logique des données relationnel
Analyse, élaboration et exploitation d’une Base de Données
Bases de données – Cours 2
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.
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 2 Méthodologies d’analyse.
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é.
Cours Initiation aux Bases De Données
Transcription de la présentation:

Les bases de données relationnelles Valérie Bellynck Maître de conférences en Informatique INPG-EFPG mailto:Valerie.Bellynck@efpg.inpg.fr

Plan Les différents types de SGBD Les méthodes de conception et les modèles de données Les modèles entités-associations : MCD Passage automatique du MCD au MLD

Différents types de bases de données… Les bases hiérarchiques schéma de la base -> arborescent technique -> bases navigationnelles (gestion de pointeurs entre les enregistrements). Les bases réseaux : + rapides, années 70 technique -> bases navigationnelles schéma de la base -> graphe (arbres, treillis, … ). Les bases relationnelles : + utilisées schéma de la base -> relations entre tables technique -> algèbre relationnelle + langage déclaratif (SQL)

... (suite) différents types de bases de données Les bases déductives. schéma de la base -> tables et prédicats technique -> calcul des prédicats et logique du premier ordre + langage d’interrogation Les bases objets. schéma de la base -> instances de classes hiérarchisées, champ = objet technique -> méthodes d’interrogation et d’affectation = partie des objects, la notion d’héritage permet de factoriser la connaissance

Répartition des types de SGBD

Exemples de SGBD

Méthodes de conception Evolution de l’approche : passage d’une approche analytique à une approche systémique -> primauté de la conception sur l’analyse Principe fondamental : Tout modèle systémique s’organise par la mise en correspondance entre un système opérant et un système de décision par l’intermédiaire d’un système d’information (Jean-Louis Lemoigne, La théorie du système général, PUF 1977) Outil : -> séparation des données et des traitements -> utilisation de modèles pour représenter les systèmes

Les modèles de données Objectif pour le concepteur : définir une présentation des données à partager entre les développeurs et les utilisateurs et leur organisation finale pour l’administrateur La conception d’une base de données s’appuie sur l’utilisation de méthodes d’analyse (AXIAL, OMT, merise…) pour la définition concertée de modèles des données. Une méthode est caractérisée par l’utilisation d’un langage de modélisation (essentiellement graphique) et d’un processus (façon d’envisager la marche à suivre lors de la conception)

Les modèles de données Le modèle Ansi/Sparc

Le modèle Ansi/Sparc Le niveau conceptuel Le niveau interne Il correspond à ce que l’on retrouve dans la méthode Merise avec les modèles de données MCD (modèle conceptuel de données) et MLD (modèle logique de données). Le niveau interne Il correspond à la structure de stockage des données : types de fichiers utilisés, caractéristiques des enregistrements (longueur, composants), chemin d’accès aux données (type d’index, chaînages, etc.). Le niveau externe Il est caractérisé par l’ensemble des vues externes qu’ont les groupes d’utilisateurs.

Les modèles MCD, MLD Modèle conceptuel des données modèle abstrait pour transcrire une description textuelle (en langage naturel) de l’organisation du système à modéliser (c-à-d des relations entre des ensembles de données) Modèle logique des données modèle utilisé pour la mise en œuvre informatique Le modèle conceptuel de données (MCD) est là pour faire le passage du réel perçu au modèle interne, et atteindre une base de données contenant des informations relatives à l'activité de l'organisation. Le modèle conceptuel de traitement (MCT) permet de mettre en évidence les liens sémantiques entre les traitements, il s'agit de dégager les actions qui mènent l'entreprise, indépendamment de leur organisation. Le modèle logique de données (MLD) est là pour qu'on puisse définir une organisation logique des traitements à partir du MCD validé Le modèle organisationnel de traitement (MOT) intègre dans la description des traitements la notion du temps, ressource, lieu, responsabilités et la nature de traitement (manuels ou automatiques)

Modèle entité-association : comment s’y prendre ? (-> afficher l’exemple de description textuelle - quelques diapos plus loin…) Modéliser des concepts définir des entités avec les concepts en jeu dans le système Trouver les attributs un attribut est une propriété d'une entité, une qualité de cet objet. Trouver les associations une association est la possibilité de relier plusieurs entités Déterminer les cardinalités des associations une cardinalité est le nombre de fois maximal et minimal qu’une entité peut être associé à d’autres dans une association

comment s’y prendre ? (1) Modéliser des concepts un concept est un élément fondamental du système à modéliser. Pour les représenter, on utilise des entités, schématisées par des boites : dans l’ancien monde, des boites/tiroirs collectaient des fiches support toutes identiques pour chaque boite

comment s’y prendre ? (2) Trouver les attributs un attribut est une propriété d'un concept, une qualité de cet objet. Ainsi, une chaîne de caractère ou une valeur numérique sont généralement des attributs. De même, toute propriété qui ne peut accomplir aucune action est probablement un attribut

comment s’y prendre ? (3) Trouver les associations Une association est une relation entre plusieurs entités. Par exemple, dans notre application du service de la bibliothèque, prenons les deux concepts ci contre. Ces concepts sont associés, car dans le système chaque livre est associé à un - ou plusieurs - auteurs. On peut mettre un nom sur les associations

comment s’y prendre ? (4) Trouver les cardinalités la cardinalité d’une association est le nombre d'instances permises pour chaque concept, c-à-d le nombre de fois minimal et maximal que chacun des concepts peut/doit être en relation avec un exemple de l’autre concept. Dans l'exemple, un livre est écrit par un ou plusieurs auteurs. En lisant l'association, on obtient une phrase complète qui fait sens.

Exemple : description textuelle d’un système d’information d’une petite société de services Cette société réalise des projets commandés pas des clients. Les projets sont composés de plusieurs tâches qui seront réalisées pas les salariés de l’entreprise. Chaque tâche a un coût qui lui est propre. Plusieurs salariés peuvent participer à une même tâche et, bien sûr, une tâche est en général réalisée par plusieurs salariés. En général, les salariés sont affectés à une tâche pour une durée déterminée par une date de début et de fin. On considère qu’un salarié ne peut participer qu’une seule fois à une tâche donnée. Pour effectuer ce travail, il utilise différents matériels référencés par l’entreprise. Un matériel peut être composé de plusieurs autres matériels de l’entreprise. Un projet est toujours coordonné par un chef de projet, salarié de l’entreprise. Un chef de projet encadre donc d’autres salariés. Le personnel est obligatoirement rattaché à une seule des divisions de l’entreprise mais peut, en revanche, être regroupé dans différentes équipes de l’entreprise.

Exemple : chercher l’erreur Il n’y en a pas…

TP-complet : But Réaliser une base de donnée complète combinant des difficultés caractéristiques rencontrables facilement dans la réalité Réaliser une BD liée à la formation, avec les « vraies » données, dans laquelle les enseignants puissent entre les notes les étudiants puissent consulter leur notes et imprimer leurs bulletins de notes et moyennes

TP-complet : description texutelle … le faire…

TP-complet : MCD Prof nom prénom adel n° prof 1,2 Etudiant nom prénom adel cursus profil n° Etu Prof nom prénom adel n° prof organisme de form. 1,n 0,n pourcentage note Cours n° cours sigle intitulé nb heures 0,n 0,1 0,1 1,n 1,n 0,n 0,2 1,1 0,3 0,n Stage -Projet d’entreprise sujet n° st 1,1 Projet turoré -transversal sujet responsable n° pt 1,1 0,n 0,n 1,1 Industrie id Ent. nom domaine type

TP-complet : exemple d’occurence 1,2 Etudiant nom prénom adel cursus profil n° Etu Prof nom prénom adel n° prof organisme de form. Bellynck Valérie bellynck@ef.. 33 7 , 11 1,n 0,n pourcentage note Cours n° cours sigle intitulé nb heures 0,n 0,1 0,1 1,n 1,n 0,n 0,2 1,1 0,3 0,n Stage -Projet d’entreprise sujet n° st 1,1 Projet turoré -transversal sujet responsable n° pt 1,1 0,n 0,n 1,1 Industrie id Ent. nom domaine type 7 EFPG->Pagora imprimerie formation

TP-complet : migration de clé étrangère 1,2 Etudiant nom prénom adel cursus profil n° Etu Prof nom prénom adel n° prof organisme de form. Bellynck Valérie bellynck@ef.. 33 7 1,n 0,n pourcentage note Cours n° cours sigle intitulé nb heures n°prof pourcentage 18 M1B2 b. don 15h 33 12% 0,n 0,1 1,n 0,1 1,n 0,n 0,2 1,1 0,3 Stage -Projet d’entreprise sujet n° st 1,1 Projet turoré -transversal sujet responsable n° pt 1,1 0,n 0,n 0,n Industrie id Ent. nom domaine type 1,1

TP-complet : table de correspondance 1,2 Etudiant nom prénom adel cursus profil n° Etu Prof nom prénom adel n° prof organisme de form. 1,n note 0,n 0,n pourcentage Cours n° cours sigle intitulé nb heures n°prof pourcentage Note n°Etu n° cours note 0,1 1,n 0,1 1,n 0,n 0,2 1,1 0,3 Stage -Projet d’entreprise sujet n° st 1,1 Projet turoré -transversal sujet responsable n° pt 1,1 0,n 0,n 0,n Industrie id Ind. nom domaine type 1,1

Introduction au « relationnel » Voir un système d’information comme un ensemble de données à organiser => Système d’information

Cadre mathématique : théorie des ensembles et algèbre relationnelle tout type de données est représentable dans un ensemble de tables et de relations Les systèmes de gestion de bases de données relationnelles organisent les données en tables (à la manière d’un tableur). Il est simple, facile à comprendre et fidèle à un cadre mathématique (l’algèbre relationnelle). Le concept mathématique sous-jacent est celui de relation de la théorie des ensembles, qui se définit comme un sous-ensembles du produit cartésien de plusieurs domaines

Produit cartésien et sous-ensemble Sous-ensemble du produit cartésien D1 D2 D1 x D2 A B C … Z 1 2 3 … 10 A B C … Z 1 2 3 … 10 volume maximal = 26*10 = 260 volume maximal = seuls les couples concernés

Domaines et tables relationnelles Table relationnelle Sous-ensemble de D1 x D2 Prof Nom Prénom Bellynck Bozzi Deriz Rousset Marhous Valérie Alain Eliane Mazen Lionel Bellynck Bozzi Deriz Rousset Marhous Valérie Alain Eliane Mazen Lionel D1 = Prof.Nom D2 = Prof.Prénom

Définitions Un domaine est un ensemble fini ou infini de valeurs possibles : le domaine des entiers, le domaine des couleurs du drapeau français {bleu, blanc, rouge }, etc… Le produit cartésien est une opération définie sur un ensemble de domaines D1, D2, …Dn que l’on écrit D1x D2 x … x Dn est un ensemble de n-uplets (ou tuples) < V1, V2, …Vn > tel queVi  Di.. Une table relationnelle est un sous-ensemble du produit cartésien d’une liste de domaines. Elle est généralement caractérisée par un nom permettant de l’identifier clairement. Afin de rendre l’ordre des colonnes sans importance tout en permettant plusieurs colonnes de même domaine, on associe un nom à chaque colonne. Les différentes colonnes d’une table constituent ce que l’on appelle les attributs de la table relationnelle

Transformation du MCD en MLD (1) Traitement des entités chaque entité devient une table ; chaque propriété d’une entité devient une colonne de cette table ; l’identifiant d’une entité devient la clé primaire de la table correspondante (création d’un index).

Transformation du MCD en MLD (2-a) Traitement des associations Une association (0,n)–(0,1) (lien hiérarchique) provoque la migration d’une clé étrangère (l’identifiant côté (0,n)) vers la table de l’entité côté (0,1). Si des propriétés étaient sur l’association, elles migreraient côté (0,1).

Transformation du MCD en MLD (2-a) Traitement des associations Une association (0,n)–(0,1) (lien hiérarchique) devient :

Transformation du MCD en MLD (2-b) Traitement des associations Une association (0,n)–(0,n) (lien maillé) donne naissance à une nouvelle table. Les identifiants des entités auxquelles l’association est reliée migrent dans cette table. La clé primaire de cette nouvelle table est constituée de la réunion de ces identifiants (clé double). Si des propriétés étaient portées par l’association, elles migreraient dans la nouvelle table aussi côté (0,1) ;

Transformation du MCD en MLD (2-b) Traitement des associations Une association (0,n)–(0,n) (lien maillé) devient :

Transformation du MCD en MLD (2-c) Traitement des associations Les associations n-aires sont gérées, comme précédemment, avec la naissance d’une nouvelle table.

Relations Après les tables, le deuxième concept utilisé dans les bases de données relationnelles est la relation. Il existe trois types de relations : (1-n), (n-m), et (1,1). On parle de relation « un à plusieurs » notée (1-n) lorsqu’un enregistrement d’une table A peut-être en relation avec plusieurs enregistrements d’une table B et qu’un enregistrement de la table B ne peut pas être en relation avec plusieurs enregistrements de la table A. On parle de relation « plusieurs à plusieurs » notée (n-m) lorsqu’un enregistrement d’une table A peut être en relation avec plusieurs enregistrements d’une table B et qu’un enregistrement de la table B peut-être en relation avec plusieurs enregistrements de la table A. L’exemple typique d’une relation un-à-plusieurs est celui de la filiation.