Base de données relationnelles Walter RUDAMETKIN



Documents pareils
Bases de Données. Plan

Rappel sur les bases de données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Modèle conceptuel : diagramme entité-association

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

Bases de données avancées Introduction

Introduction aux Bases de Données

1 Introduction et installation

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

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

Information utiles. webpage : Google+ : digiusto/

I4 : Bases de Données

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

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

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

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

16H Cours / 18H TD / 20H TP

Bases de données. Chapitre 1. Introduction

Le langage SQL Rappels

Bases de données relationnelles

ETL Extract - Transform - Load

Les bases de données

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

Bases de données - Modèle relationnel

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

Chapitre 07 Le modèle relationnel des données

UML et les Bases de Données

Base de Données et Langage SQL

Bases de données élémentaires Maude Manouvrier

Dossier I Découverte de Base d Open Office

Bases de Données Avancées

Systèmes de Gestion de Bases de Données

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Le Langage SQL version Oracle

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

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

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

Bases de données cours 1

MEGA Database Builder. Guide d utilisation

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

Bases de données relationnelles & SQL

Introduction aux bases de données

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

LE MODELE CONCEPTUEL DE DONNEES

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

Introduction aux Bases de Données

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Nom de l application

CREATION WEB DYNAMIQUE

EN UNE PAGE PLAN STRATÉGIQUE

AIDE FINANCIÈRE POUR ATHLÈTES FINANCIAL ASSISTANCE FOR ATHLETES

Project 1 Experimenting with Simple Network Management Tools. ping, traceout, and Wireshark (formerly Ethereal)

AVIS DE COURSE. Nom de la compétition : CHALLENGE FINN OUEST TOUR 3 Dates complètes : 14, 15 et 16 mai 2015 Lieu : Saint Pierre Quiberon

affichage en français Nom de l'employeur *: Lions Village of Greater Edmonton Society

Langage SQL : créer et interroger une base

Stakeholder Feedback Form January 2013 Recirculation

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

Ecole Polytechnique de Louvain INGI Fichiers et bases de données

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

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

UNIVERSITY OF MALTA FACULTY OF ARTS. French as Main Area in an ordinary Bachelor s Degree

OpenPaaS Le réseau social d'entreprise

INTRODUCTION AUX BASES de DONNEES

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

APPENDIX 2. Provisions to be included in the contract between the Provider and the. Holder

OpenOffice Base Gestionnaire de Base de Données

LOI SUR LA RECONNAISSANCE DE L'ADOPTION SELON LES COUTUMES AUTOCHTONES ABORIGINAL CUSTOM ADOPTION RECOGNITION ACT

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

FOURTH SESSION : "MRP & CRP"

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

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

WEB page builder and server for SCADA applications usable from a WEB navigator

Township of Russell: Recreation Master Plan Canton de Russell: Plan directeur de loisirs

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

Instructions Mozilla Thunderbird Page 1

Cours Bases de données

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

Application Form/ Formulaire de demande

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Contents Windows

PARIS ROISSY CHARLES DE GAULLE

Compte-rendu de projet de Système de gestion de base de données

Le bridge c'est quoi? Laval Du Breuil École de bridge Picatou, Québec

Voici les textes des fichiers associés au bulletin CA. Notez que vous retrouverez dans ces textes les nouvelles de toutes les régions.

Chapitre 1 : Introduction aux bases de données

calls.paris-neuroscience.fr Tutoriel pour Candidatures en ligne *** Online Applications Tutorial

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

Importation des données dans Open Office Base

Deadline(s): Assignment: in week 8 of block C Exam: in week 7 (oral exam) and in the exam week (written exam) of block D

Les bases de données Page 1 / 8

AGRÉGATION «ÉCONOMIE ET GESTION»

Systèmes de Gestion de Bases de Données

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

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

Transcription:

Base de données relationnelles Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr

Le modèle relationnel Un schéma conceptuel est très pratique pour la phase d'analyse et conception Mais un schéma conceptuel présente des limites pour une implémentation ou pour effectuer des requêtes. Codd (1970) a inventé le modèle relationnel basé sur des concepts simples : Facilement implémentable sur un ordinateur Facilité pour poser des requêtes passage simple : schéma conceptuel schéma relationnel 2

Le modèle relationnel Le modèle relationnel : ensemble de concepts pour décrire le contenu structuré d'une base de données relationnelles sous forme tabulaire. L'algèbre relationnelle : ensemble des opérateurs de manipulation des tables qui sont les fondements des langages d'interrogation / manipulation relationnels La théorie relationnelle = modèle + algèbre Bibliographie : A relationnal model of data for large shared databases. Comm ACM, 1970 Further normalization on the database relational model in database systems. Prentice Hall, 1972 3

La notion de Relation Une relation = une table à 2 dimensions Une colonne = un attribut En-tête du tableau = description de la relation ou schéma de la relation Une ligne = un tuple ou un n-uplet Ensemble des lignes = contenu de la relation 4

Exemple : la relation Fournisseur Numéro Fournisseur Nom Fournisseur Ville Paris 1435 Helfer 678 1234 Giard Nantes Rolland Marseille 5

Exemple : la relation Fournisseur Un attribut Numéro Fournisseur Nom Fournisseur Ville Paris 1435 Helfer 678 1234 Giard Nantes Rolland Marseille Schéma données Un tuple 6

La notion de Domaine Définition 1 : Domaine = Ensemble de valeurs caractérisé par un nom (i.e., le type) Exemples : Entiers, réels, date, marque voiture, couleur Marque Voiture : {Renault, Peugeot, Citroen} Couleur : { blanche, grise} Définition 2 : Produit cartésien d'un ensemble de domaines D1,D2, Dn noté D1 x D2 x Dn = ensemble des éléments (v1, v2, vn) avec vi Di, i [1, n] 7

Exemple de produit cartésien Jeux de cartes Valeurs : 2, 3, 4, 5, 6, 7, 8, 9, 10, Valet, Dame, Roi Enseignes : pique, cœur, carreau et trèfle. 8

Exemple de produit cartésien 9

La notion de Relation Définition 3 : Soient D1, D2,..., Dn une liste de domaines, une relation est un sous-ensemble du produit cartésien D1 x D2 x... x Dn. Une relation est caractérisée par un nom On parle également de table pour une relation Il n'y a pas deux lignes (tuples) égales (théorie des ensembles) 10

La notion d'attribut Définition 4 : Attribut = Colonne d'une relation caractérisée par un nom Un attribut est unique par relation mais plusieurs attributs peuvent avoir le même domaine. Significatif pour comprendre le sens des valeurs d'une colonne. Le nom de la table et le nom des attributs permettent de comprendre quels sont les faits du monde réel représentés par la table. L'ordre des attributs n'a pas d'importance (il est donc important de nommer les colonnes). 11

La notion de schéma Définition 5 : schéma = nom de la relation suivi de la liste des attributs qui la composent et éventuellement de la définition de leurs domaines. R(A1 : D1,..., An : Dn) où R est le nom de la relation, Ai les attributs et Di les domaines associés. Exemple : EMPLOYE (NoEmpl : Entiers, Nom : Caractères, Année : Entiers, Nodept : Entiers) Remarque : Les domaines peuvent être omis EMPLOYE (NoEmpl, Nom, Année, Nodept) 12

La notion de clé La clé d'une relation est un ensemble minimal d'attributs dont chaque valeur détermine un tuple unique de la relation. il ne doit pas exister plusieurs lignes d'une relation avec la même valeur de clé. Exemple : EMPLOYE (Nom, Prénom, Adresse, Ville) Durand Alain 3 rue Rose Paris Noël Anne 19 rue Haute Paris Remy André 46 rue Vilaine Nantes Durand Etienne 10 rue Limite Nice Problème: Deux employés existent sous le même nom! la clé 'nom' de la relation 'employé' ne permet pas d'identifier un client de manière unique. 13

La notion de clé Solution : gérer un numéro d'employé ce qui permettra une identification totale d'un employé EMPLOYE (NoEmpl, Nom, Prénom, Adresse, Ville) 101 Durand Alain 3 rue Rose Paris 102 Noël Anne 19 rue Haute Paris 120 Remy André 46 rue Vilaine Nantes 131 Durand Etienne 10 rue Limite Nice Chaque valeur de 'noempl' n'est associée qu'à un seul employé. 14

Déterminer les clés des relations Client (numcli, nom, prenom, adresse) Livre (numlivre, titre, auteur, nbexmpl) Emprunt (numcli, numlivre, date, retard) Peut-on identifier un emprunt avec le couple (numcli, numlivre)?² 15

Déterminer les clés des relations Client (numcli, nom, prenom, adresse) Livre (numlivre, titre, auteur, nbexmpl) Emprunt (numcli, numlivre, date, retard) Peut-on identifier un emprunt avec le couple (numcli, numlivre)? Non, si un client a la possibilité d'emprunter deux fois le même livre. 16

Déterminer les clés des relations Solutions Utiliser en plus la date Clé d'emprunt: (numcli, numlivre, date) On suppose que la date ne suffit pas Possibilité d'emprunter deux fois le même livre le même jour Identifiant (numemprunt) Emprunt (numemprunt, numcli, numlivre, date, retard) 17

Déterminer une seule clef pour une relation Si plusieurs clefs candidates possibles: Etudiant (n ss, nom, prenom, adresse, n filiere, n inscription) Deux clefs possibles N inscription: numero de carte d'etudiant N ss: numéro de sécurité sociale Choisir une des clés comme clé primaire (ou clé principale) Les autres clés sont alors des clés secondaires Etudiant (n ss, nom, prenom, adresse, n filiere, n inscription) Clé secondaire 18

Rôle des clés Liens entre les relations Client (numcli, nom, prenom, adresse) Emprunt (numemprunt, numcli, numlivre, date, retard) Livre (numlivre, titre, auteur, nbexmpl) 19

Rôle des clés 101 Durand Alain 3 rue Rose Paris 102 Noël Anne 19 rue Haute Paris 120 Remy André 46 rue Vilaine Nantes 131 Durand Etienne 10 rue Limite Nice Liens entre les tableaux de valeurs 54 120 12 30/11/2014 N 51 102 12 18/04/2013 N 52 101 12 12/10/2012 N 53 101 20 26/04/2014 0 20 Le prince de Sang mélé JK Rowling 10 30 Can you keep a secret? Sophie Kinsella 4 12 Websphere V3.5 Handbook Websphere Consulting Team 1 20

Contrainte référentielle Définition 6 : Une référence (ou clé étrangère) est un attribut (ou un groupe d'attributs) dont les valeurs sont incluses dans l'ensemble des valeurs prises par la clé d'une autre relation. Exemple: Numcli dans Client est appelé clé primaire Numcli dans Emprunt est appelé clé étrangère Toute valeur de l'attribut Numcli dans la relation Emprunt doit se trouver dans la relation Client 21

Contrainte référentielle Définition 6 : Une référence (ou clé étrangère) est un attribut (ou un groupe d'attributs) dont les valeurs sont incluses dans l'ensemble des valeurs prises par la clé d'une autre relation. Exemple: Numcli dans Client est appelé clé primaire Numcli dans Emprunt est appelé clé étrangère Toute valeur de l'attribut Numcli dans la relation Emprunt doit se trouver dans la relation Client 22

Contrainte structurelle La valeur nulle (NULL) est une valeur conventionnellement introduite dans une relation pour représenter une information inconnue ou inapplicable. Exemple: Employé (NoEmpl, Nom, NomMarital, Année, Adresse, Téléphone, Nodept) Téléphone non connu / (10, Durand, Faure, 1980, Paris, NULL, 75) Nom marital pour un homme / (23, Fergio, NULL, 1987, Marseille, 0234565412, 13) Contrainte de relation : Toute relation doit posséder au moins une clé non nulle Schéma d'une base de données : schéma des relations et contraintes d'intégrité structurelles 23

Passage du schéma conceptuel au schéma relationnel Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr

Introduction Modèle conceptuel : repose sur deux concepts : les classes et les associations très descriptif, bon support de communication. Toutefois, les SGBD usuels sont relationnels Passage du modèle conceptuel vers le relationnel règles de conversion des entités en relations 3FN, règles de conversion des associations... selon leurs types

Traduction des Classes Cas courant Toute classe devient une relation 3FN dont la clé est l'identifiant de la classe. A cléa {clé} Att1 Att2 Att3 A (CléA, Att1, Att2, Att3) 26

Traduction des associations / Cardinalités 1,* - 1 A cléa{cle} Att1 Att2 Att3 B 1 c 1..* cléb{cle} Att6 Att7 Att4 Att5 A (CléA, Att1, Att2, Att3) B (CléB, Att6, Att7, Att4, Att5, CléA#) 27

Traduction des associations / Cardinalités 1,1-0,1 A cléa{cle} Att1 Att2 Att3 B 1 c 0..1 cléb{cle} Att6 Att7 Att4 Att5 A (CléA, Att1, Att2, Att3) B (CléB, Att6, Att7, Att4, Att5, CléA#) 28

Traduction des associations / Cardinalités maximales égales à * (1,* ou 0,*) A cléa{cle} Att1 Att2 Att3 B * c * cléb{cle} Att6 Att7 Att4 Att5 A (CléA, Att1, Att2, Att3) B (CléB, Att6, Att7) C (CléA#, CléB#, Att4, Att5) 29

Traduction des associations / Association ternaire dont les cardinalités sont de type * D * A A (CléA, Att1, Att2, Att3) B (CléB, Att6, Att7) D (CléD, Att8, Att9) cléa{cle} * Att1 Att2 Att3 C (CléA#, CléB#, CléD#, Att4, Att5) cléd{cle} Att8 Att9 B c cléb{cle} * Att6 Att7 Att4 Att5 SAUF SI une partie de la clé détermine une autre partie de la clé Si CléA, CléB -> CléD alors C (CléA, CléB, CléD, Att4, Att5) Si CléA, CléD -> CléB alors C (CléA, CléD, CléB, Att4, Att5) Si CléD, CléB -> CléA alors C (CléD, CléB, CléA, Att4, Att5) 30

Traduction des Entités faibles A cléa{cle} Att1 Att2 Att3 B c 1..* cléb{cle} Att6 Att7 A (CléA, Att1, Att2, Att3) B (CléA#, CléB, Att6, Att7) 31

Traduction des associations réflexives A cléa{cle} Att1 Att2 Att3 * * b Att4 Att5 Att6 A (CléA, Att1, Att2, Att3) B (CléA#, CléA2#, Att4, Att5, Att6) 32

Exercices Convertissez le schéma conceptuel en schéma relationnel. Créez le schéma conceptuel d'abord si nécessaire.

35

A calendar program that allows users to browse each other's calendars and to book common appointments shall be developed. The program has a database which keeps track of the users and their calendars. You use the calendar to store data concerning appointments. An appointment starts and ends at a given time on a given day and is described by a text. You may specify that you wish to be reminded of an appointment. Reminders are of different kinds: a signal in the computer's loudspeaker, a pop-up window with the description of the meeting, or an e-mail containing the description. You may, for each reminder, specify how long before the appointment that you wish to be reminded. Develop a UML model of the database.