Bases de données. Skander Zannad et Judicaël Courant

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

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

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

La musique et le cinéma

Rappel sur les bases de données

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

Nom de l application

Méthode d analyse Merise

Conception, architecture et urbanisation des systèmes d information

Modélisation des données

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

DÉPLOIEMENT D UN ERP. Cours dispensé pour les L3 MSI Elaboré par : Mehdi M tir 2013/2014 Chapitre 3 : Modélisation des besoins

CONCEPTION ET IMPLANTATION DES SI PROJET : GESTION DU FOYER DE L ENIT

Modèle conceptuel : diagramme entité-association

Cours de bases de données. Philippe Rigaux

RECRUTEMENT EXTERNE SANS CONCOURS. Plombier Génie Climatique 2 ème Classe BAP G

Conception d une base de données

1.2 Genèse. 1.3 Version de Designer utilisée

Salle de technologie

Sous réserve des lois applicables, ce règlement régit tous les aspects du concours Tremplin, et lie tous les participants.

Réalisation d une première base de données (Tutoriel - version 4.2 ; 19 septembre 2014)

OMGL6 Dossier de Spécifications

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

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

Journée des administrateurs des laboratoires CNRS INSIS

Exo7. Probabilité conditionnelle. Exercices : Martine Quinio

Tickets 3:3. ChevauxPartants

Bases de données. Chapitre 1. Introduction

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

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

LES OUTILS DE GESTION DE PROJET

MERISE. Modélisation et Conception de Systèmes d Information

APIs de table pour SQL Server

HEAD Genève V Département Cinéma Cycle MA Guide l'étudiant Cycle master

M221 Planification de projet TP n 1 DUT QLIO Semestre 2

Comprendre Merise et la modélisation des données

Master professionnel Création, production, images

La méthode MERISE (Principes)

A. Définition et formalisme

MASTER II ECONOMIE ET GESTION Spécialité Management des Organisations de la Neteconomie

Évaluation et optimisation de requêtes

Modèle Entité/Association

Conception et constitution d une base de données de scans laser terrestres et de données forestières de validation.

Estimation des charges. «Le travail se dilate jusqu à remplir le temps disponible»

ous allez faire valoir vos droits à la retraite. Votre mutuelle vous accompagne dans cette étape de votre vie et vous dit tout ce qu il faut savoir.

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Gestion d'une billeterie défilé des talents

Manuel d'utilisation: Gestion commerciale - CRM

Photos et Droit à l image

orlanofanis.com/design/

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

PROJET DE PORTAIL INTRANET YNNA

Les formations. ENI Ecole Informatique

on à l i m a ge Famille, Centres de loisirs, Maisons de quartier...

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

Algorithmes de recommandation, Cours Master 2, février 2011

Cycle 2 : la Location Meublée

Avant-propos... Introduction... Première partie Comprendre : les concepts. Chapitre 1 La gestion des données de référence... 3

LES SYSTEMES DE GESTION DE BASES DE DONNEES

Accord entre la Confédération suisse et le Royaume de Belgique sur les relations cinématographiques

DÉCLARATION DE CRÉATION D UN GROUPEMENT

CHAPITRE 1. Introduction aux bases de données

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Le modäle conceptuel de donnåes (MCD)

LA FABRIQUE Lieu de formation, d échange et de création artistique. St Jean de Bournay (38) Formation

PARAMETRAGE DU STOCKAGE/DESTOCKAGE DES ARTICLES & MOUVEMENTS DE STOCKS

Rémi GILANTE Certifié d Informatique et Gestion. Jean-Claude NOUSSIGUE Agrégé d Économie et Gestion, option B

Introduction aux Bases de Données

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

Solution de gestion de newsletter 12all Version 1.0 p.montier

1 Recherche en table par balayage

Modélisation : Entité-Association Pattes de corbeau Relationnel. Plan BD4 : A.D., S.B Des systèmes d'information. Pourquoi?

Test Francophone de Langue Française (TFLF)

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

C est à vous qu il appartient de mettre en place des conditions optimales pour permettre la meilleure réalisation possible.

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

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

Retour d expériences avec UML

Vincent Augusto

Description: perruque cheveux mi-longs

MASTER PRO IMAGES & MULTIMEDIA : CREATION. CINEMA INTERACTIF

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

Gestion des bases de données (1 ère partie)

FICHE METIER. «Opérateur de prises de vue» Opérateur de prises de vue vidéo. Cadreur. Pointeur vidéo APPELLATION(S) DU METIER DEFINITION DU METIER

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

Compression Compression par dictionnaires

OFPPT ROYAUME DU MAROC RESUME THEORIQUE & GUIDE DE TRAVAUX PRATIQUES DÉPANNAGE DE CIRCUITS ÉLECTRONIQUES DE PUISSANCE MODULE N 15 SECTEUR :

Gestion des risques de fraude

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

«Regroupement de crédits : halte aux idées reçues» C O N F E R E N C E D E P R E S S E, 1 7 d é c e m b r e

La gestion du risque chez AXA

La base de données des applications thématiques faites avec des données IGCS. MILLET Florent, SCHNEBELEN Nathalie, SCHEURER Olivier

Catalogue des Ateliers Saison 2015/2016

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur

CESSION DE CREANCE 1. MONTAGE DU DOSSIER

D O S S I E R D E C A N D I D A T U R E

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Transcription:

Bases de données Skander Zannad et Judicaël Courant 2014-03-13 1 Motivations Gestion de gros volumes de données. Recherche sur ces données. 2 Exemple : IMDB 2.1 Qu est-ce? Base de données sur les films, les réalisateurs et les acteurs. Accessible en ligne (http://www.imbd.com/stats). 60 10 6 visiteurs par mois (http://fr.wikipedia.org/wiki/imdb). 2.2 Taille 2, 8 10 6 titres ; 5, 8 10 6 personnes (dont 1, 5 10 6 acteurs) ; (source : http://www.imdb.com/stats, 2014-03-19) NB : Au regard des standards actuels IMDB est une base de données de taille moyenne ; avec un nombre de consultations moyen. 3 Et si on faisait notre IMDB? (oui, c est un peu ambitieux, on va simplifier un peu) Premières questions : comment modéliser ce problème? comment représenter les données à stocker? //////////// comment////// faire////// une/////////// interface////// web//? 1

4 Modèle conceptuel des données 4.1 Généralités Besoin de modéliser le problème qu on aborde avant de programmer. Tâche très difficile. Point fondamental à retenir : nécessite une collaboration spécialistes du domaine/informaticiens 1 ; en cas d hésitation/d ambiguïté, les informaticiens doivent refuser de choisir. 4.2 Le modèle entité-association (Entity-Relationship model) Modèle Entité-association : façon de modéliser les données à traiter ; est un modèle conceptuel de données (MCD) ; conceptuel : par opposition à implantation (modèle physique, MPD). Appelé ainsi car il distingue : Les entités (objets d intérêt) ; Les associations (liens) entre ces entités. 4.3 Entités Ici : (i) Les films ; (ii) Les personnes (acteurs, réalisateurs, scénaristes, etc.). On pourrait rajouter : les entreprises (producteurs), les livres (dont sont tirés certains scénarios), les pays (où ont eu lieu le tournage, du producteur, où sont distribués les films), les langues (des films), les versions d un même film (langues, montages), etc. Données à garder sur les entités : Pour les films Titre, date de sortie ; Pour les personnes Nom, prénom, date de naissance. 4.4 Associations Ici : (i) «joue dans» (Clint Eastwood joue Blondin dans Le bon, la brute et le truand et Walt Kowalski dans Gran Torino) ; (ii) «a réalisé» (Clint Eastwood a réalisé Invictus et Gran Torino). 1. Et en général, besoin de collaborations entre informacitiens de spécialités différentes. 2

Informations à prendre en compte sur les relations : tout film a été réalisé par une personne ; tout film a été réalisé par au plus une personne (?) ; toute personne peut avoir réalisé 0, 1 ou plusieurs films ; toute personne peut avoir joué dans 0, 1 ou plusieurs films ; tout film a 0, 1 ou plusieurs acteurs. lorsqu une personne joue dans un film, il est intéressant de savoir quel est son rôle (elle peut alors jouer un ou plusieurs rôles). 4.5 Diagramme entité/association Utilisé pour représenter cette modélisation : 4.6 Cardinalités On porte sur le diagramme des indications pour préciser comment fonctionnent les relations. Considérons l ensemble R des (p, f) où : p est une personne f est un film p a réalisé f. (R : modélise mathématiquement l association «REALISE») Dans R : Un même film apparaît au moins une fois et au plus une fois (tout film a un unique réalisateur), d où le «1, 1» sur le trait reliant «REALISE» à «FILM» sur le diagramme. Une même personne peut apparaître 0, 1 ou plusieurs fois, d où le «0, N» sur le trait reliant «REALISE» à «PERSONNE». Même principe pour la relation «JOUE». 3

5 Modèle logique des données 5.1 Tables Comment représenter ces entités et associations? On passe par la notion de table. On peut représenter les entités par des tables. Par exemple, une table pour les personnes : Une pour les films : nom prénom date_naissance Kubrick Stanley 1928 Spielberg Steven 1946 Eastwood Clint 1930 Cumberbatch Benedict 1976 Freeman Martin 1971 Leone Sergio 1929 McGuigan Paul 1963 Sellers Peter 1925 titre Une pour les personnages : date Gran Torino 2008 The good, the Bad and the Ugly 1966 Study in Pink 2010 Schindler s List 1993 Dr Strangelove 1964 Invictus 2009 nom Une pour l association «JOUE» : Walt Kowalski Blondie Shelock Holmes Dr John Watson Dr Strangelove Group Capt. Lionel Mandrake President Merkin Muffley 4

nom prenom titre nom (de personnage) Eastwood Clint The good, the Bad and the Ugly Blondie Eastwood Clint Gran Torino Walt Kowalski Cumberbatch Benedict Study in Pink Sherlock Holmes Freeman Martin Study in Pink Dr John Watson Selers Peters Dr Strangelove Dr Strangelove Selers Peters Dr Strangelove Group Capt. Lionel Mandrake Selers Peters Dr Strangelove President Merkin Muffley Une pour l association «REALISE» : titre nom (réalisateur) prénom (réalisateur) Gran Torino Eastwood Clint The good, the Bad and the Ugly Leone Sergio Study in Pink McGuigan Paul Schindler s List Spielberg Steven Dr Strangelove Kubrick Stanley Invictus Eastwood Clint 5.2 Vers une implantation? On peut considérer ces tables comme des ensembles de n-uplets (n = 3 pour la table «PERSONNE», n = 2 pour «FILMS», n = 4 pour «JOUE», n = 3 pour «REALISE»). Ces ensembles de n-uplets peuvent être implantés en python par des listes de listes : FILMS = [ [ Gran Torino, 2008 ], [ The good..., 1966 ],... ]... Ce modèle à base de tables, appelé modèle logique des données est plus proche de l implantation que le modèle conceptuel. Il reste cependant à faire quelques choix avant de pouvoir vraiment passer à une implantation. 5.3 Une erreur de conception Dans la table «JOUE», on a décidé de ne mettre que le nom et le prénom de l acteur car on considère que cela suffit à représenter l acteur. C est en général une très très mauvaise idée : que se passe t-il si deux personnes ont le même nom et prénom? Solution classique (en gestion) : attribuer un numéro unique (de dossier, de personne,... ) 5

Ce qui donne les tables : id nom prénom date_naissance 1 Kubrick Stanley 1928 2 Spielberg Steven 1946 3 Eastwood Clint 1930 4 Cumberbatch Benedict 1976 5 Freeman Martin 1971 6 Leone Sergio 1929 7 McGuigan Paul 1963 8 Sellers Peter 1925 id titre date 1 Gran Torino 2008 2 The good, the Bad and the Ugly 1966 3 Study in Pink 2010 4 Schindler s List 1993 5 Dr Strangelove 1964 6 Invictus 2009 id nom L association «JOUE» devient alors : 1 Walt Kowalski 2 Blondie 3 Shelock Holmes 4 Dr John Watson 5 Dr Strangelove 6 Group Capt. Lionel Mandrake 7 President Merkin Muffley 6

idacteur idfilm idpersonnage 3 2 2 3 1 1 4 3 3 5 3 4 8 5 5 8 5 6 8 5 7 Et celle pour l association «REALISE» : idfilm 1 3 2 6 3 7 4 2 5 1 6 3 idrealisateur NB : tout film a un réalisateur, ce qui conduit à supprimer la table REALISE et à ajouter un champ réalisateur à la table films : id titre date idrealisateur 1 Gran Torino 2008 3 2 The good, the Bad and the Ugly 1966 6 3 Study in Pink 2010 7 4 Schindler s List 1993 2 5 Dr Strangelove 1964 1 6 Invictus 2009 3 6 Conclusion On a vu : Modèle conceptuel de données utilisation du modèle entité association ; Modèle logique de données utilisation de tables (modèle relationnel) ; Passage du MCD au MLD. Reste à voir comment on implante ce MLD. 7