CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES



Documents pareils
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

1 Introduction et installation

Information utiles. webpage : Google+ : digiusto/

Le langage SQL Rappels

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

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

Langage SQL : créer et interroger une base

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Les bases de données

Rappel sur les bases de données

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

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

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

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

Bases de données relationnelles

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

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

INTRODUCTION AU DATA MINING

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

1 Modélisation d une base de données pour une société de bourse

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

MODE OPERATOIRE OPENOFFICE BASE

Bases de données avancées Introduction

16H Cours / 18H TD / 20H TP

Dossier I Découverte de Base d Open Office

Systèmes de Gestion de Bases de Données

TP Bases de données réparties

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Objectifs du TP : Initiation à Access

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

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

Bases de données - Modèle relationnel

SQL Historique

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

Utilisation d Hyperplanning 2011

Bases de Données. Plan

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de données élémentaires Maude Manouvrier

Cours 4 : Agrégats et GROUP BY

Conception d une base de données

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Bases de données cours 1

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

Gestion des bases de données

Séance 1 Introduction aux bases de données

IFT3030 Base de données. Chapitre 1 Introduction

CREATION WEB DYNAMIQUE

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Création de Sous-Formulaires

Programmes des classes préparatoires aux Grandes Ecoles

BIRT (Business Intelligence and Reporting Tools)

A QUOI SERVENT LES BASES DE DONNÉES?

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

Gestion des données avec R

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

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

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

Vous venez d acquérir un fichier de données issues de la Base de données SIRENE. Comment utiliser votre fichier?

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

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

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

OpenOffice Base Gestionnaire de Base de Données

1. Base de données SQLite

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

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

AGROBASE : un système de gestion de données expérimentales

Les BASES de DONNEES dans WampServer

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

I4 : Bases de Données

Bases de Données Avancées

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

Vincent Augusto

Chap. 2: L approche base de données

Visual Paradigm Contraintes inter-associations

Bases de données Outils de gestion

Comment Créer une Base de Données Ab Initio

BTS/CGO P10 SYSTEME INFORMATION Année

Sommaire. 1 Introduction Présentation du logiciel de commerce électronique 23

Les bases de données Page 1 / 8

Durée : 4 heures Le sujet se présente sous la forme de deux dossiers indépendants

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Mercredi 15 Janvier 2014

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

Bases de données. PTSI Lycée Eiffel. 28 février 2014

Nom de l application

Le Langage SQL version Oracle

PHP 5. La base de données MySql. A. Belaïd 1

Création et Gestion des tables

PROJET 1 : BASE DE DONNÉES REPARTIES

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

Mise en oeuvre d'une base de données mono-utilisateur avec SQLite

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

Le langage SQL (première partie) c Olivier Caron

Importation des données dans Open Office Base

Mise en œuvre du PGI dans les enseignements tertiaires

Transcription:

CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES

CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES Objectifs de l enseignement prototyper et créer une base de données simple, à l aide d un outil interactif ; utiliser une application de création et de manipulation de données, offrant une interface graphique, notamment pour créer une base de données simple, ne comportant pas plus de trois tables ayant chacune un nombre limité de colonnes. Les principales capacités développées dans cette partie de la formation sont : utiliser une application offrant une interface graphique pour créer une base de données et l alimenter ; recourir aux concepts des bases de données relationnelles ; traduire les questions posées dans un langage de requête en respectant sa syntaxe ;

CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES

CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES

Une base de données mal conçue peut entraîner des erreurs ensuite lors de son utilisation. Redondance des données Incohérence en modification Anomalie d insertion Anomalie de suppression

C est pourquoi le problème de la conception de bases de données bien formées a été largement étudié et de nombreux travaux ont ainsi permis de mettre au point une théorie permettant de trouver des modèles abstraits fiables.

C est pourquoi le problème de la conception de bases de données bien formées a été largement étudié et de nombreux travaux ont ainsi permis de mettre au point une théorie permettant de trouver des modèles abstraits fiables. Un des modèles les plus utilisés est le modèle entités-associations, présenté par Chen en 1976 (The Entity Relationship Model - Toward A Unified View of Data ), permet une description naturelle du monde réel à partir des concepts d entité et d association. Il établit des méthodologies de conception, c est-à-dire des règles qui permettent en principe d obtenir un modèle correct de la réalité décrite.

C est pourquoi le problème de la conception de bases de données bien formées a été largement étudié et de nombreux travaux ont ainsi permis de mettre au point une théorie permettant de trouver des modèles abstraits fiables. Un des modèles les plus utilisés est le modèle entités-associations, présenté par Chen en 1976, permet une description naturelle du monde réel à partir des concepts d entité et d association. Il établit des méthodologies de conception, c est-à-dire des règles qui permettent en principe d obtenir un modèle correct de la réalité décrite. Il se traduit ensuite de manière naturelle dans le modèle relationnel des bases de données.

C est pourquoi le problème de la conception de bases de données bien formées a été largement étudié et de nombreux travaux ont ainsi permis de mettre au point une théorie permettant de trouver des modèles abstraits fiables. Un des modèles les plus utilisés est le modèle entités-associations, présenté par Chen en 1976, permet une description naturelle du monde réel à partir des concepts d entité et d association. Il établit des méthodologies de conception, c est-à-dire des règles qui permettent en principe d obtenir un modèle correct de la réalité décrite. Il se traduit ensuite de manière naturelle dans le modèle relationnel des bases de données. Il n est pas au programme de l IPT. Nous abordons donc la conception d une base sur un exemple, de manière expérimentale.

2) Exemple CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES 2) Exemple

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité.

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité. Travail demandé : faire la liste des attributs que devrait contenir une relation unique pour contenir toutes les données utiles.

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité. Travail demandé : faire la liste des attributs que devrait contenir une relation unique pour contenir toutes les données utiles. Réponse possible : il faut identifier chaque repas organisé (attribut date), les plats servis (attribut plat), les invités (attribut invité), les plats préférés de chaque invité (attribut pref).

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité. Travail demandé : faire la liste des attributs que devrait contenir une relation unique pour contenir toutes les données utiles. Travail demandé : combien d enregistrements faut-il créer si l on veut rajouter un convive qui a été oublié à un repas?

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité. Travail demandé : faire la liste des attributs que devrait contenir une relation unique pour contenir toutes les données utiles. Travail demandé : combien d enregistrements faut-il créer si l on veut rajouter un convive qui a été oublié à un repas? Réponse possible : autant que de plats préférés par cette personne. Le nombre d enregistrement à introduire est donc supérieur à 1 et dépend de la personne considérée.

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité. Travail demandé : faire la liste des attributs que devrait contenir une relation unique pour contenir toutes les données utiles. Travail demandé : combien d enregistrements faut-il créer si l on veut rajouter un convive qui a été oublié à un repas? Travail demandé : lister les informations redondantes de la table

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité. Travail demandé : faire la liste des attributs que devrait contenir une relation unique pour contenir toutes les données utiles. Travail demandé : combien d enregistrements faut-il créer si l on veut rajouter un convive qui a été oublié à un repas? Travail demandé : lister les informations redondantes de la table Réponse possible : invité plats préférés, plat servi invités

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité. Travail demandé : faire la liste des attributs que devrait contenir une relation unique pour contenir toutes les données utiles. Travail demandé : combien d enregistrements faut-il créer si l on veut rajouter un convive qui a été oublié à un repas? Travail demandé : lister les informations redondantes de la table Travail demandé : imaginer, sans détailler les attributs, trois relations permettant d éviter redondances. ces

2) Exemple Une personne, amateur(trice) de cuisine, écrit sur un carnet chaque repas qu elle organise, le menu et les invités. Elle veut utiliser son nouvel ordinateur pour remplacer son vieux carnet et compte tenu de la puissance de la machine, se propose de tenir compte des préférences de chaque invité. Travail demandé : faire la liste des attributs que devrait contenir une relation unique pour contenir toutes les données utiles. Travail demandé : combien d enregistrements faut-il créer si l on veut rajouter un convive qui a été oublié à un repas? Travail demandé : lister les informations redondantes de la table Travail demandé : imaginer, sans détailler les attributs, trois relations permettant d éviter redondances. ces Réponse possible : REPAS qui donne la liste des invités qui ont été reçus et à quelle date ; MENU donne le menu servi à chaque date ; PREFERENCE donne pour chaque personne ses plats préférés.

2) Exemple L amateur(trice) de cuisine crée donc une base de données composée de trois relations : REPAS(date, invité) ; MENU(date, plat) ; PREFERENCE(personne, plat). Travail demandé : Ces tables présentent-elles une clé primaire?

2) Exemple L amateur(trice) de cuisine crée donc une base de données composée de trois relations : REPAS(date, invité) ; MENU(date, plat) ; PREFERENCE(personne, plat). Travail demandé : Ces tables présentent-elles une clé primaire? Réponse possible : aucune ne présente de clé primaire. Dans REPAS, la même date correspond à plusieurs personnes, un invité peut être invité plusieurs fois. Dans MENUS, une date correspond à plusieurs plats, un même plat peut être servi à différents repas. Dans PREFERENCES, une personne peut préférer plusieurs plats, un même plat peut être préféré par plusieurs personnes.

2) Exemple CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES 2) Exemple

1) Interface graphique 2) Exemple CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES 2) Exemple 1) Interface graphique

1) Interface graphique 2) Exemple La plupart des SGDB communément utilisés (MySql, Oracle ) ont des interfaces graphiques intégrées permettant de les exploiter «facilement».

1) Interface graphique 2) Exemple La plupart des SGDB communément utilisés (MySql, Oracle ) ont des interfaces graphiques intégrées permettant de les exploiter «facilement». Elles présentent beaucoup d options et sont, de ce fait, assez lourdes à manipuler.

1) Interface graphique 2) Exemple La plupart des SGDB communément utilisés (MySql, Oracle ) ont des interfaces graphiques intégrées permettant de les exploiter «facilement». Elles présentent beaucoup d options et sont, de ce fait, assez lourdes à manipuler. Nous utiliserons par la suite l interface Sqliteman associée au SGDB Sqlite qui a l avantage d être réduite aux opérations essentielles. Elle est installé «en local» sur chaque machine. Ouvrons cette application et lisons son aide en ligne ou le kit de survie.

1) Interface graphique 2) Exemple 2) Manipulation CONCEPTION ÉLÉMENTAIRE DE BASES DE DONNÉES 2) Exemple 1) Interface graphique 2) Manipulation

1) Interface graphique 2) Exemple 2) Manipulation Travail demandé : créer dans votre répertoire personnel une base INVITATION contenant les trois tables REPAS(date: text (formatjj.mm.aa), invite: text), MENUS(date: text (formatjj.mm.aa), plat: text), PREFERENCES(personne: text, plat: text). Y inscrire quelques données.

Bases de données I- Présentation générale d une base III-Remplir une table Remarque : Le format le plus universel des fichiers contenant des données (sans aucun formatage ni décoration) correspond à l extension.csv (Comma Separated Values). C est un fichier de type text où chaque ligne (terminée par le caractère «\n») correspond à un enregistrement à l intérieur duquel les données sont conventionnellement séparées par un caractère unique (qui peut être, suivant les cas, une virgule, un point-virgule, une tabulation ) Ce type de fichier est généré et lu par tous les tableurs (Excel, OpenOfficeCalc, Regressi, ) et SGDB. Il peut facilement être exploité par un langage de programmation (Python, ). C est le format à utiliser pour conserver ou transmettre des données sans imposer le mode (ou le logiciel) de leur utilisation.

1) Interface graphique 2) Exemple 2) Manipulation Travail demandé : après avoir récupéré les fichiers repas.csv, menus.csv, et preferences.csv depuis le répertoire Mes documents/mes groupes/pcsi1/ipt/, importer les données qu ils contiennent dans les tables correspondantes de la base (le caractère de séparation utilisé est le pointvirgule). Répondre aux questions suivantes en utilisant l algèbre relationnelle (les réponses proposées contiennent aussi la traduction en SQL. On pourra les tester dans le logiciel pour se familiariser avec la syntaxe.)

1) Interface graphique 2) Exemple 2) Manipulation Q1 : Quels sont les invités du repas du 03.11.10?

1) Interface graphique 2) Exemple 2) Manipulation Q1 : Quels sont les invités du repas du 03.11.10? Réponse proposée : PROJECTION invite ( SELECTION date= "03.11.10" (REPAS)) en SQL : SELECT invite FROM REPAS WHERE date = "03.11.10"

1) Interface graphique 2) Exemple 2) Manipulation Q2 : Indiquer quelques enregistrements du produit cartésien entre REPAS et PREFERENCES.

1) Interface graphique 2) Exemple 2) Manipulation Q2 : Indiquer quelques enregistrements du produit cartésien entre REPAS et PREFERENCES. Réponse proposée : en SQL : SELECT R.*, P.* FROM REPAS R, PREFERENCES P

1) Interface graphique 2) Exemple 2) Manipulation Q3 : Quelles sont les personnes qui n'ont jamais été invités?

1) Interface graphique 2) Exemple 2) Manipulation Q3 : Quelles sont les personnes qui n'ont jamais été invités? Réponse proposée : PROJECTION personne (PREFERENCES) PROJECTION invite (REPAS) en SQL : SELECT personne FROM PREFERENCES EXCEPT SELECT invite FROM REPAS

1) Interface graphique 2) Exemple 2) Manipulation Q4 : Quels sont les invités qui sont venus à tous les repas?

1) Interface graphique 2) Exemple 2) Manipulation Q4 : Quels sont les invités qui sont venus à tous les repas? Réponse proposée : REPAS PROJECTION date (REPAS) en SQL : SELECT invite FROM REPAS GROUP BY invite HAVING count(*) = (SELECT count(distinct date) FROM REPAS)

1) Interface graphique 2) Exemple 2) Manipulation Q5 : Quels sont les plats qui ont été servis à Alice?

1) Interface graphique 2) Exemple 2) Manipulation Q5 : Quels sont les plats qui ont été servis à Alice? Réponse proposée : PROJECTION plat ( SELECTION invité=alice (REPAS) repas.date=menus.date MENUS) en SQL : SELECT distinct plat FROM REPAS AS R, MENUS AS M WHERE R.date = M.date AND invite ='Alice'

1) Interface graphique 2) Exemple 2) Manipulation Q5 : Quels sont les plats qui ont été servis à Alice? Réponse proposée : PROJECTION plat ( SELECTION invité=alice (REPAS) repas.date=menus.date MENUS) en SQL : SELECT distinct plat FROM REPAS AS R, MENUS AS M WHERE R.date = M.date AND invite ='Alice Après avoir essayé la requête SQL proposée, observer ce qui se passe : si l on enlève les deux mots AS ; si l on enlève l optiondistinct ; si l on remplacedistinct plat par*

1) Interface graphique 2) Exemple 2) Manipulation Q6 : Quels sont les invités qui lors d'un repas ont eu au moins un de leur plat préféré?

1) Interface graphique 2) Exemple 2) Manipulation Q6 : Quels sont les invités qui lors d'un repas ont eu au moins un de leur plat préféré? Réponse proposée : PREFERENCES1(personne1, plat1) <- PREFERENCES PREFERENCES est renommée pour pouvoir faire une jointure avec MENU (sinon un attribut est commun et la jointure sur deux attributs est alors impossible). PROJECTION invité ((MENU REPAS) (invité=personne1 ET plat=plat1) PREFERENCES1) en SQL : SELECT distinct invité FROM REPAS R, PREFERENCES P, MENU m WHERE R.invité=P.personne AND R.Date = M.date AND P.plat = M.plat

Bases de données