Observation de la réalité, Collecte d informations Réflexion et modélisation Définitions des tables d une BD relationnelle Obtenir une représentation



Documents pareils
Bases de données relationnelles

Rappel sur les bases de données

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

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

Bases de Données. Plan

Modèle conceptuel : diagramme entité-association

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Modélisation des données

Information utiles. webpage : Google+ : digiusto/

COURS de BASES de DONNEES

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

Bases de Données Avancées

II. Modèle conceptuel le modèle entité-association

Base de Données et Langage SQL

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

UML et les Bases de Données

Chap. 3: Le modèle de données entité-association (E.A.)

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Bases de données. Chapitre 1. Introduction

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

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

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Concevoir un modèle de données Gestion des clients et des visites

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

OBJECTIFS ET ARCHITECTURE DES SGBD

16H Cours / 18H TD / 20H TP

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

Modèle Entité/Association

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

Créer le schéma relationnel d une base de données ACCESS

Dossier I Découverte de Base d Open Office

Introduction aux Bases de Données

UML (Diagramme de classes) Unified Modeling Language

I4 : Bases de Données

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

1 Introduction et installation

LE MODELE CONCEPTUEL DE DONNEES

et les Systèmes Multidimensionnels

Chapitre 1 : Introduction aux bases de données

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

TD n 10 : Ma première Base de Données

CHAPITRE 1. Introduction aux bases de données

Méthode d analyse Merise

A. Définition et formalisme

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Le langage SQL Rappels

UML. Diagrammes de classes (suite) Delphine Longuet.

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

Les bases de données

Diagramme de classes

Bases de données - Modèle relationnel

Introduction aux bases de données: application en biologie

Conception d une base de données

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

Bases de données élémentaires Maude Manouvrier

Le modèle de données

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

Entrepôt de données 1. Introduction

IFT2255 : Génie logiciel

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

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

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

INTEGRITE ET BD ACTIVES

Vincent Augusto

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Bases de données relationnelles & SQL

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

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

Les bases de données Page 1 / 8

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

Introduction aux Systèmes de Gestion de Bases de Données Relationnelles. Olivier Losson

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

TP1 : Initiation à Java et Eclipse

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

LE LANGAGE SQL2 1. INTRODUCTION

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

Cours SGBD 1. Concepts et langages des Bases de Données Relationnelles

TP 8: LES OPERATEURS ENSEMBLISTES

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

Comprendre Merise et la modélisation des données

GUIDE PRATIQUE MODÈLE CONCEPTUEL DES DONNÉES MODÈLE LOGIQUE DES DONNÉES STANDARD MODÈLE LOGIQUE DES DONNÉES OPTIMISÉ

Cours d'informatique

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

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

Merise. Introduction

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

RÈGLES DE TRANSFORMATION DU MCD AU MLD (MRD)

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

Le niveau conceptuel : la modélisation des bases de données

Introduction aux Bases de Données

MEGA Database Builder. Guide d utilisation

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Premiers Pas en Programmation Objet : les Classes et les Objets

Le Langage SQL version Oracle

L'interrogation de bases de données comme application des classes d'objets. Béatrice Bouchou, Julien Lerat, Denis Maurel

Transcription:

Bases de données Modèle relationnel

BD relationnelle Observation de la réalité, Collecte d informations Réflexion et modélisation Définitions des tables d une BD relationnelle Obtenir une représentation correcte de la réalité Pouvoir faire évoluer facilement la représentation

BD relationnelle Une seule table?? Exemple : bibliothèque Bibli(Titre, Auteur, Nom, Prénom,Adresse) Problèmes : Un livre peut avoir plusieurs auteurs Duplication des données Emprunter plusieurs livres Comment conserver un client qui rend son dernier livre Sémantique des données très mal représentée

BD relationnelle Observation et collecte d informations Analyse et modélisation des données en suivant une méthode «concrète, simple, non-ambiguë» Génération des tables (relations) de la BdD relationnelle à partir du schéma entités-associations, par une démarche systématique et simple Obtention d un schéma relationnel

Modèle E/A Entités : «objets concrets ou abstraits» provenant de l observation du monde réel. Possède un nom : personne, livre, commande, enseignement, Occurrence : instanciation d une entité Attribut : propriété d une entité (nom, couleur, marque,...), il possède un domaine de valeurs. Clé/Identifiant : ensemble minimum d attributs dont les valeurs identifient de façon unique chaque occurrence de l entité.

Modèle E/A CLIENT entité Nom : String Prénom : String Adresse : String NumClient : int DateNaissance : Date CLIENT clé Occurence Nom : «Dupont» Prénom : «Jean» Adresse : «5 rue..» NumClient : 14566 DateNaissance : 14-01- 1979

Modèle E/A Association : relation entre plusieurs entités. 1, 2, ou plus de 2 entités concernées, 2 ou plus de 2 occurrences concernées. Possède un nom : «emprunte», «conduit», Peut posséder des attributs. Exemple

Modèle E/A Personne Nom : String Prénom : String Adresse : String NumSS : int DateNaissance : Date Est dirigée par L association d une entité vers elle-même doit porter sur des occurrences différentes.

Modèle E/A Cardinalité d une association : «min.. max» «Compte le nombre de fois (min et max) où une occurrence de l entité peut se retrouver engagée dans l association» Cardinalité minimum : 0 : peut ne pas être engagée 1 : doit être engagée au moins une fois Cardinalité maximum : I : ne peut pas être engagée plus d une fois n : peut être engagée plus d une fois

Exemple Emprunteur Nom: String Prénom : String Adresse : String 0..n Emprunte Date Emprunt : Date 0..1 Livre TITRE : String ISBN : int 1..n 3 entités reliées par 2 associations Est décrit par 1..n Auteur Nom : String Prénom :String

Exemple Voiture Type : String Marque : String NV: int Couleur : String 1..n 1..1 Est conduit Appartient Date_achat : Date 0..n 0..n Personne Nom : String Prénom : String Adresse : String NumSS : int DateNaissance : Date 2 entités reliées par 2 associations différentes

Exemple Accident Type : String Description : String Numéro: int 1..1 Bing Un accident s est produit avec «telle» voiture conduite par «telle voiture» Voiture Type : String Marque : String NV: int Couleur : String 1..n 1..1 0..n Est conduit Appartient Date_achat : Date 0..n 0..n Personne Nom : String Prénom : String Adresse : String NumSS : int DateNaissance : Date

Introduction au MR Introduit par E.F. Codd (IBM) Modèle ensembliste simple, supportant des ensembles d enregistrements au niveau de description et manipulation Base de nombreux systèmes Objectifs Un haut degré d indépendance des programmes d applications et des activités interactives à la représentation interne des données Base solide pour traiter la cohérence et la redondance Développement de langages de manipulation de données Modèle extensible pour modéliser et manipuler simplement des données tabulaires Standard pour la description et la manipulation des BD

Introduction au modèle relationnel Le modèle relationnel de données connaît un grand succès pour les raisons suivantes : représentation simple des données à l'aide du concept unique de relation, existence d'une démarche rigoureuse (normalisation) permettant la construction du schéma base de SGBD relationnels et de langages d'interrogation renommés.

Concepts de base Attribut Attribut : Un attribut est un identificateur (un nom) décrivant une information stockée dans une base. Par exemple, le numérodesécuritésociale et le nom d'une personne sont des attributs.

Concepts de base Domaine Ensemble de valeurs caractérisé par un nom Le domaine d'un attribut est l'ensemble, fini ou infini, de ses valeurs possibles. Par exemple, l'attribut numérodesécuritésociale a pour domaine l'ensemble des combinaisons de quinze chiffres et nom a pour domaine l'ensemble des combinaisons de lettres (une combinaison comme cette dernière est généralement appelée chaîne de caractères ou, plus simplement, chaîne). Autres exemples : un ensemble d'entier, un ensemble de chaînes de caractères, {rouge, vert, bleu}

Concepts de base Relation relation est un sous-ensemble du produit cartésien d une liste de domaines caractérisé par un nom VINS CRU MILL REGION COULEUR CHENAS 1983 BEAUJOLAIS ROUGE TOKAY 1980 ALSACE BLANC TAVEL 1986 RHONE ROSE CHABLIS 1986 BOURGOGNE BLANC ST-EMILION 1987 BORDELAIS ROUGE Le degré d une relation est son nombre d attributs Une relation est représentée sous la forme d'un tableau à deux dimensions dans lequel les n attributs figurent les titres des n colonnes.

Concepts de base Tuple Les lignes d une relation correspondent à des n- uplets de valeurs Ligne d une relation correspondant à un enregistrement Une ligne CRUS REGION PRIX est appelée tuple Sancerre Loire 45 Chablis Volnay Bourgog ne 42 38

Concepts de base Schéma de relation Nom de la relation suivi de la liste des attributs et de la définition de leurs domaines. Noté sous la forme : R (A1 : D1, A2 : D2 Ai : Di,.An : Dn) R : le nom de la relation Ai : les attributs Di : les domaines associés Le SCHEMA D'UNE BASE DE DONNEES est l'ensemble des schémas des relations de la base et les contraintes associées Une relation est appelée TABLE dans les SGBD

Concepts de base Extension/Intentions Le schéma d une relation représente son intention, les propriétés (au moins certaines) communes et invariantes de tuples qu elle va contenir au cours du temps. Une table représente une extension d une relation, une vue des tuples qu elle contient à un instant donné Extension : Instance Intension est le résultat de la description des données et l extension fait suite à des manipulations et représente un état de base.

Les règles d intégrité structurelle Assertions qui doivent être vérifiées par les données contenues dans la base Règles qui sont inhérentes au modèle de données Règles de comportement MR impose une règle minimale qui est l unicité des clés Trois types de règles d intégrité : Les contraintes de référence Les contraintes d entité Les contraintes de domaine

Unicité de clé Une relation est un ensemble de tuples Un ensemble n ayant pas d élément en double Afin d identifier les tuples d une relation sans donner toutes les valeurs et d assurer l unicité des tuples, la notion de clé est utilisée. Clé : Ensemble minimal d attributs dont la connaissance des valeurs permet d identifier un tuple unique de la relation considérée. Toute relation possède au moins une clé S il existe plusieurs clés, on choisit en général une arbitrairement qui est appelée clé primaire La détermination d une clé pour une relation nécessite une réflexion sur la sémantique de la relation.

Contraintes de références Modèle relationnel est utilisé pour représenter des entités du monde réel qui sont des objets ayant une existence propre et des associations entre ces objets Une entité -> tuple Une entité est identifié par la valeur de sa clé Une association est modélisé par une relation comportant les clés des entités spécifiques et les caractéristiques propres à l association Ex : BUVEURS, VINS, ABUS Le maintient des liens obligatoires a justifié l introduction de la notion de contrainte référentielle

Contraintes de références Contrainte d intégrité portant sur une relation R1, consistant à imposer que la valeur d un groupe d attributs apparaisse comme valeur de clé dans une autre relation R2. Une association ne peut exister que si les entités participant à l association existent La représentation de contraintes de référence peut s effectuer par la définition de clés étrangères Une clé étrangère est un groupe d attributs qui doit apparaître comme une clé dans une autre relation Contraintes référentielles définissent des liens obligatoires entre relations Contraintes très fortes qui conditionnent le succès des opérations de mises à jour.

Valeurs Nulles et clés Valeur conventionnelle introduite dans une relation pour représenter une information inconnue ou inapplicable. Contrainte d entité : contrainte d intégrité imposant que toute relation possède une clé primaire et que tout attribut participant à une clé primaire soit non nul.

Contraintes de domaines Une relation est construite à partir d un ensemble de domaines, souvent limités à {entier, chaîne..} Contrainte d intégrité imposant qu une colonne d une relation doit comporter des valeurs vérifiant une assertions logique.

Passage de E/A au modèle relationnel

Passage Modèle E/A au Modèle relationnel Règle 1 Chaque type d entité donne naissance à une relation du même nom. Chaque propriété du type d entité devient un attribut de la relation. L identifiant du type d entité devient la clé de la relation.

Passage Modèle E/A au Modèle relationnel Règle 2 Si un type d association n a aucune patte de cardinalité maximale égale à 1, alors : ce type d association devient une relation chaque propriété du type d association devient un attribut de la relation l identifiant du type d association devient la clé de la relation.

Passage Modèle E/A au Modèle relationnel Règle 3 Un type-association dont au moins une patte a une cardinalité maximale à 1 ne devient pas une relation. Il faut alors considérer un des deux types-entités (forcément un dont la patte vers le type-association a une cardinalité maximale valant 1) et la relation correspondant à ce type-entité se voit simplement ajouter comme attribut l'identifiant de l'autre typeentité.

Passage Modèle E/A au Modèle relationnel Type d association achète Le modèle relationnel sera : CLIENT(num_client, nom_client, adresse) FOURNISSEUR(num_fournisseur, nom_fournisseur, adresse) auquel s ajoute la relation issue du type d association achète : ACHAT(num_client, num_fournisseur).

Passage Modèle E/A au Modèle relationnel Type d association propriétaire Le modèle relationnel sera : PERSONNE(identifiant_personne, ) APPARTEMENT(identifiant_appartement, ) auquel s ajoute la relation, issue du type d association propriétaire : PROPRIETAIRE(identifiant_personne, identifiant_appartement).

Passage Modèle E/A au Modèle relationnel Type d association commande Le type d association Passée par n est donc pas transformé en relation : on ajoute un attribut dans la source (donc dans le type d entité Commande). L attribut ajouté est la clé du type d entité but de la DF, donc l attribut num_client, clé de Client.

Passage Modèle E/A au Modèle relationnel Le modèle relationnel sera donc : COMMANDE(num_commande, date, num_client*) CLIENT(num_client, nom, adresse) ARTICLE(num_article, designation, prix) auquel s ajoute la relation issue de Concerne que l on appellera DETAIL_COMMANDE : DETAIL_COMMANDE(num_commande, num_article, quantité).

Passage Modèle E/A au Modèle relationnel Type d association enseignement Le type d association Enseignant est une DF. Il n est pas transformé en relation, mais on ajoute dans la relation source de la DF (c està-dire dans UV) l attribut clé (code_professeur) du type d entité but (Professeur).

Passage Modèle E/A au Modèle relationnel Le modèle relationnel sera donc : ELEVE(code_eleve, nom, prenom) UV(code_UV, nom, annee, code_professeur*) PROFESSEUR(code_professeur, nom, prenom) auquel s ajoute la relation issue de A suivi que l on appellera NOTE : NOTE(code_eleve, code_uv, note).

Schéma E/A de la bibliothèque universitaire LIVRE N_LIVRE TITRE LANGUE 1,N 1,N 1,1 EXISTE EXEMPLAIRE N_EXEMPLAIRE DATE_ACHAT 0,1 ECRIT EMPRUNTE 1,N 0,N AUTEUR N_AUTEUR ETUDIANT N_ETUDIANT NOM PRENOM NATIONALITE NOM_ETUDIANT PRENOM ADRESSE

Arités LIVRE N_LIVRE TITRE LANGUE 1,N 1,1 EXISTE EXEMPLAIRE N_EXEMPLAIRE DATE_ACHAT 0,1 Un livre existe en 1 ou n exemplaire Un exemplaire l est de 1 seul est unique livre Un exemplaire est emprunté par au maximum 1 étudiant. Il peut ne pas être emprunté. Un étudiant emprunte autant de livre qu il le désire. EMPRUNTE 0,N ETUDIANT N_ETUDIANT NOM_ETUDIANT PRENOM ADRESSE

Passage au Modèle Relationnel LIVRE N_LIVRE LIVRE(N_LIVRE, TITRE, LANGUE) TITRE LANGUE 1,N AUTEUR(N_AUTEUR, NOM_AUT, PRENOM_AUT, NATIONALITE) ECRIT ECRIT(N_AUTEUR, N_LIVRE) 1,N AUTEUR N_AUTEUR L identifiant devient une clé. NOM PRENOM NATIONALITE

Clés étrangères LIVRE N_LIVRE TITRE LANGUE 1,N 1,1 EXISTE EXEMPLAIRE N_EXEMPLAIRE DATE_ACHAT LIVRE(N_LIVRE, TITRE, LANGUE) EXEMPLAIRE(N_EXEMPLAIRE, DATE_ACHAT) EXISTE(N_LIVRE, N_EXEMPLAIRE) LIVRE(N_LIVRE, TITRE, LANGUE) EXEMPLAIRE(N_EXEMPLAIRE, DATE_ACHAT, N_LIVRE)

Passage au Modèle Relationnel LIVRE N_LIVRE TITRE LANGUE 1,N 1,1 EXISTE EXEMPLAIRE N_EXEMPLAIRE DATE_ACHAT 0,1 LIVRE(N_LIVRE, TITRE, LANGUE) EXEMPLAIRE(N_EXEMPLAIRE, DATE_ACHAT, N_ETUDIANT, N_LIVRE) ETUDIANT(N_ETUDIANT, NOM_ETU, PRENOM_ETU, ADRESSE) EMPRUNTE 0,N ETUDIANT N_ETUDIANT NOM_ETUDIANT PRENOM ADRESSE

Démarche de conception Identifier les entités les plus naturelles (sujets, compléments) Identifier les associations entre ces entités ( verbes n exprimant pas de dépendances fonctionnelles). Identifier les attributs et les identifiant de ces entités et de ces association. Exprimer les cardinalités et les rôles (distinguer le singulier du pluriel). Enumérer des CI (Contraintes d Intégrité).