III. Modèle relationnel

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

Les bases de données

Bases de données. Chapitre 1. Introduction

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

16H Cours / 18H TD / 20H TP

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

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

Rappel sur les bases de données

Bases de données relationnelles & SQL

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

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

Le langage SQL Rappels

Introduction aux bases de données. Généralités sur les bases de données. Fonctions d'un SGBD. Définitions. Indépendance par rapport aux traitements

Bases de données avancées Introduction

Introduction aux Bases de Données

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

Information utiles. webpage : Google+ : digiusto/

Bases de Données. Plan

Bases de données cours 1

1 Introduction et installation

I4 : Bases de Données

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

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

Dossier I Découverte de Base d Open Office

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

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

UML et les Bases de Données

Bases de données relationnelles

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

PROJET 1 : BASE DE DONNÉES REPARTIES

Chapitre 5. Calculs financiers. 5.1 Introduction - notations

COMPTE RENDU Conseil Municipal Du 11 Octobre 2010 à 18 heures

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Master Exploration Informatique des données DataWareHouse

COURS de BASES de DONNEES

A QUOI SERVENT LES BASES DE DONNÉES?

Modèle Entité/Association

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

Bases de données réparties: Fragmentation et allocation

1ère partie Nadine Cullot. Bases de données déductives. Bases de données déductives Introduction et Motivation

Conception d une base de données

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

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

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

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

Cours de bases de données. Philippe Rigaux

INTRODUCTION AUX BASES de DONNEES

Génération de code à partir d une spécification B : Application aux bases de données

Bases de données relationnelles : Introduction

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

Listes de fournitures du secondaire pour la rentrée

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

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

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

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

Bases de données - Modèle relationnel

Merise. Introduction

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

A QUOI SERVENT LES BASES DE DONNÉES?

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

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

L ÉNERGIE C EST QUOI?

Le Langage SQL version Oracle

CESI Bases de données

Chapitre 11 Bases de données

OUTILS EN INFORMATIQUE

PARAMETRAGE DU STOCKAGE/DESTOCKAGE DES ARTICLES & MOUVEMENTS DE STOCKS

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Application web de gestion de comptes en banques

Rencontre des savoirs. L énergie électrique est-elle bien adaptée à une mobilité durable?

Base de Données et Langage SQL

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

SIGIPES OUTIL INFORMATIQUE D ACCOMPAGNEMENT DE LA REFORME DE DECONCENTRATION DE LA GESTION DU PERSONNEL ET DE LA SOLDE

Bases de données élémentaires Maude Manouvrier

Concours d entrée en Economie, printemps Test des connaissances en Technique Quantitative de Gestion

Bases de Données Avancées

Module BDR Master d Informatique (SAR)

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

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

DECOUVERTE DU LOGICIEL CIEL GESTION COMMERCIALE

Master I Génie Logiciel

Intégrité des données

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Argumentaires Contre

Langage SQL : créer et interroger une base

LORS DE L UTILISATION DE LA CHAUSSEE POUR DES MANIFESTATIONS PROVISOIRES À L INTERIEUR DES LOCALITES

CHAPITRE 1. Introduction aux bases de données

Préavis municipal N 12 /2010 relatif au renouvellement des serveurs informatiques de l administration communale

Indicateurs des marchés de gros de l électricité Mars 2011

Comprendre les bases de données

Systèmes de Gestion de Bases de Données

INTEGRITE ET BD ACTIVES

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

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)

Java DataBaseConnectivity

Épreuve collaborative

Gestion de données réparties. Cours 1

INFORMATIQUE. WinBIZ & Excel. pour la gestion financière d entreprise. Votre partenaire formation continue

Transcription:

III. Modèle relationnel Modèle de niveau logique très simple défini par Ted Codd en 1970 ; prix Turing en 1986. Développée par IBM lab. Aujourd hui utilisé par beaucoup de SGBD commerciaux (Oracle, Informix, BD2, Ingres, Access...) Un seul type de structure pour représenter les données : la relation (table) Exemple : A B C R = a1 b1 c1 a2 b2 c2 a3 b3 c3 a4 b4 c4 - Chaque ligne de la table (tuple) représente une association - Les noms des colonnes sont les attributs 1

Exemple : Livraisons de combustibles Clients Nom Adresse Solde Dupond 5, rue des Acacias 10.540 Durand 32 av. du Bois 0 Lebon 8 rue du Moulin 4.369 Martin 16 rue de la Station 19.853 Commandes N Nom Nom_F Combustible Quant 1 Dupond Tout-Brûle bois 8,50 2 Dupond Tout-Brûle mazout 7,95 3 Martin Robin & Fils bois 4290 4 Lebon Robin & Fils bois 4160 5 Martin Tout-Brûle charbon 6,50 Produits Nom_F Adresse_F Combustible Prix Petrol & Co. 331 Parc industriel mazout 8,50 Tout-Brûle 927 bv de l Auto mazout 7,95 Robin & Fils 18 av. du Buisson bois 4290 Tout-Brûle 927 bv de l Auto bois 4160 Tout-Brûle 927 bv de l Auto charbon 6,50 2

Schéma conceptuel Prix Combustible 0:n Client Commande 0:n Fournisseur Nom Adresse Solde N Quantité Nom_F Adresse_F Schéma relationnel Client (Nom, Adresse, Solde) Commande (N, Nom, Nom_F, Combustible, Quantité) Fournisseur (Nom_F, Adresse_F, Combustible, Prix) Relation entre ensembles de valeurs simples plutôt qu entre ensembles d entités 3

Définition du modèle relationnel On considère un certain nombre identificateurs que l on appelle attributs - Schéma d une relation : ensemble d attributs Exemple : {A1, A2}, {A2, A3}, {A1, A2, A3} - A chaque attribut, on associe un domaine : l ensemble des valeurs possibles Notation : Dom(A) est le domaine de A En général, les attributs ne peuvent prendre que des valeurs atomiques (1ère forme normale pour le modèle relationnel) - Le domaine d un schéma d une relation R est le produit cartésien des domaines de ses attributs 4

- Pour un schéma d une relation R(A1,...An) donnée, un tuple ou n- uplet est un élément de Dom(A1)x...x Dom(An) - Pour un schéma de relation R, une relation est un ensemble fini de tuples - Un schéma de base de données est un ensemble fini de schémas de relations - Une base de données est un ensemble fini de relations 5

Clés Pour un schéma d une relation, - une clé est un ensemble d attributs qui identifie de manière unique un tuple de la relation - une clé minimale est une clé qui, privée de n importe quel attribut, n est plus une clé Attention! Suivant les auteurs: - clé / clé minimale - superclé / clé 6

Du modèle entité-association au modèle relationnel Comment convertir un schéma relationnel en un modèle relationnel? Un type d entité E (non faible) est représenté par une relation T dont les attributs simples sont les attributs du type d entité E. Clé de T = identifiant de E Exemple Client Client (Nom, Adresse, Solde) Nom Adresse Solde Attributs composites : remplacer par leurs composants Attributs multivalués : à éviter! 7

Un type d entité faible E est représenté par une relation T dont les attributs sont - les attributs du type d entité E - les attributs identifiant E Clé de T = identifiant de E Exemple Origine Destination Départ 0:n est un départ de Vol Date Nb_Passagers Numéro HDépart HArrivée Vol (Numéro, Origine, Destination, HDépart, HArrivée) Départ (Date, Numéro, Nb_Passagers) 8

Un type de relation R est représenté par une relation T dont les attributs sont - les attributs du type de relation R - les attributs identifiant les entités en relation Clé de T : en général pas de clé évidente, s il faut on rajoute arbitrairement une clé Exemple Origine Destination Client 1:n Commande 0:n Départ 0:n est un départ de Vol Nom Adresse Date Nb_Passagers Numéro HDépart HArrivée Commande (Nom, Date, Numéro) 9

Attribut multivalué A d un type d entité E est traduit en une relation T dont les attributs sont - les attributs de l identifiant de E - les attributs de A Exemple A=résultat E=Etudiant Etudiant 0:n Résultats Note Cours Numéro Nom Adresse Etudiant (Numéro, Nom, Adresse) Résultat (Numéro, Cours, Note) Relation obtient entre étudiant et entité Résultat(note,cours) En fait, éviter les attributs multiples! C est mieux, 1ère forme normale. 10

Spécialisation / généralisation E ISA E1 E2 E3 Solution 1 (défaut: les attributs de Ei hérités de E sont obtenus pas jointure) Le type d entité E est représenté par une relation T dont les attributs sont les attributs de E Clé de T = identifiant de E Le type d entité Ei est représenté par une relation Ti dont les attributs sont les attributs de Ei et les attributs identifiant de E Clé de Ti = identifiant de E 11

Spécialisation / généralisation E ISA E1 E2 E3 Solution 2 (défaut: on autorise beaucoup de NULL, donc on peut difficilement exprimer les contraintes d intégrité) Une seule table pour tout le monde avec tous les attributs, (valeur indéfinie lorsque l attribut n est pas appropriés). Les types d entités E, E1, E2, E3... sont représentés par une seule relation T dont les attributs sont les attributs de E, ceux de E1, ceux de E2, ceux de E3... Clé de T = identifiant de E 12

Spécialisation / généralisation E ISA E1 E2 E3 Solution 3 (défauts: la spécialisation disparaît, ou redondance) Une table par entité avec exactement ses attributs. Les types d entités E, E1, E2, E3... sont représentés par autant de relations T, T1, T2, T3 dont les attributs sont respectivement les attributs de E, de E1 et E, de E2 et E de E3 et E Clé de T = identifiant de E Clé de Ti = identifiant de E ou autre identifiant spécifique à E Une relation peut identifier un objet de Ei et un de E, si on souhaite répéter les objets d un Ei dans E. 13

Exemple Numéro Nom Adresse Employé ISA Secrétaire Technicien Professeur Vitesse de frappe Grade Discipline Solution 1 Employé (Numéro, Nom, Adresse) Secrétaire (Numéro, Vitesse de frappe) Technicien (Numéro, Grade) Professeur (Numéro, Discipline) 14

Exemple Numéro Nom Adresse Employé ISA Secrétaire Technicien Professeur Vitesse de frappe Grade Discipline Solution 2 Employé (Numéro, Nom, Adresse, Vitesse de frappe, Grade, Discipline) 15

Exemple Numéro Nom Adresse Employé ISA Secrétaire Technicien Professeur Vitesse de frappe Grade Discipline Solution 3 Employé (Numéro, Nom, Adresse) Secrétaire (Numéro, Nom, Adresse,Vitesse de frappe) Technicien (Numéro, Nom, Adresse,Grade) Professeur (Numéro, Nom, Adresse, Discipline) 16

Description d un schéma relationnel Pour chaque relation - le nom de la relation - la définition - les attributs et domaines des dits attributs - l attribut clé (ou les attributs clés) - les attributs externes (attributs définis dans une autre relation) - les contraintes d intégrité de la relation + les contraintes d intégrité portant sur plusieurs relations 17