Bases de données et langage SQL



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

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

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

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

Bases de Données. Plan

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

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

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

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

Cours Bases de données

Information utiles. webpage : Google+ : digiusto/

Introduction aux Bases de Données Relationnelles Conclusion - 1

Introduction aux Bases de Données

IFT3030 Base de données. Chapitre 2 Architecture d une base de données

Modèle conceptuel : diagramme entité-association

INTRODUCTION AUX BASES de DONNEES

Rappel sur les bases de données

Bases de données relationnelles : Introduction

Chapitre 1 : Introduction aux bases de données

16H Cours / 18H TD / 20H TP

Dossier I Découverte de Base d Open Office

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

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

Les bases de données Page 1 / 8

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Bases de Données Avancées

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

1 Introduction et installation

A QUOI SERVENT LES BASES DE DONNÉES?

Bases de données cours 1

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

CESI Bases de données

Mercredi 15 Janvier 2014

Bases de données avancées Introduction

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

Bases de données élémentaires Maude Manouvrier

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

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

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

Structure fonctionnelle d un SGBD

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

Conception d une base de données

UML et les Bases de Données

Introduction aux Bases de Données

Introduction aux bases de données

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Merise. Introduction

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

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

Base de Données et Langage SQL

Bases de données relationnelles

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

CHAPITRE 1. Introduction aux bases de données

Armand PY-PATINEC 2010

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Système d information pour la gestion d un réseau d Université

Projet Business Object

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

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

Modélisation des données

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

PROJET DE PORTAIL INTRANET YNNA

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

Les bases de données

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

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

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 et leurs systèmes de Gestion

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

Le Langage SQL version Oracle

Modèle Entité/Association

Le langage SQL Rappels

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

Méthode d analyse Merise

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Cours de bases de données. Philippe Rigaux

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

PROJET 1 : BASE DE DONNÉES REPARTIES

Mejdi BLAGHGI & Anis ASSÈS

Bases de données relationnelles & SQL

GPC Computer Science

UE 8 Systèmes d information de gestion Le programme

Table des matières. Avant-propos

Chap. 2: L approche base de données

Du 10 Fév. au 14 Mars 2014

CONCEPTS ET MANIPULATIONS DE BASE

A QUOI SERVENT LES BASES DE DONNÉES?

Optimisations des SGBDR. Étude de cas : MySQL

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

Gestion des bases de données

et les Systèmes Multidimensionnels

Chapitre 07 Le modèle relationnel des données

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Enseignement secondaire technique. Technologies de l'information et de la communication

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Bases de données Outils de gestion

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

Transcription:

Bases de données et langage SQL Introduction, modèle entité / association Philippe.Dosch@loria.fr IUT SRC DE VERDUN 10/09/2003

Exemples introductifs Gestion de CD Artiste Album Les têtes raides Les oiseaux Jurassic 5 Quality control Jurassic 5 Power in number Afrika Bambaataa Time zone Mardi gras BB Alligatorsoup Mister Bungle California...... Bases de données et langage SQL p.1/47

Exemples introductifs Gestion de CD (suite) Comment stocker les données : énumération simple dans un fichier? dans plusieurs? autre solution? Comment éviter les erreurs de saisie multiple? les redondances? Comment implanter les traitements (ajout, modification, suppression, recherche, édition)? Et pour l ajout du genre musical? de l année de sortie? des titres des albums? Bases de données et langage SQL p.2/47

Exemples introductifs Gestion d une bibliothèque Données à gérer : les livres, les adhérents, les emprunts Mais aussi : les éditeurs, les différents exemplaires, les modes d emprunt, les cotisations, les livres en restauration... Et les traitements : gestion quotidienne, relance de livres non rendus, recherche des cotisations non payées... Bases de données et langage SQL p.3/47

Exemples introductifs Gestion d une compagnie aérienne Données à gérer : vols, destinations, pilotes, passagers, réservations, équipages, tarifs, classes, agences, etc. Contraintes : terminaux informatiques répartis géographiquement, beaucoup de données, beaucoup de traitements... Bases de données et langage SQL p.4/47

Motivation Domaine d application : stockage et manipulation de données Solution possible : utiliser des systèmes à gestion de fichiers Mais solution limitée : redondance de données, problèmes d accès concurrents, pas de contrôle des données, système bas-niveau... Solution : les bases de données! Bases de données et langage SQL p.5/47

Cadre d utilisation Gestion (salaires, stocks...) Transactionnel (comptes, centrales d achat...) Réservations (trains, avions...) Librairies électroniques (bibliothèques, journaux, Web...) Documentation technique (nomenclatures, plans, dessins...) Bureautique (formulaires, textes, images, sons...) Génie logiciel (programmes, manuels, tests...) Bases de données et langage SQL p.6/47

Plan du cours Voici les différents points qui seront étudiés lors de cette série de cours : Introduction aux SGBD Le modèle entité / association Le modèle relationnel L algèbre relationnelle Le langage SQL Bases de données et langage SQL p.7/47

Introduction aux bases de données Introduction aux bases de données p.8/47

Définitions Une base de données est un ensemble structuré de données, enregistrées sur un support informatique secondaire (i.e. persistent, type disque dur) Un Système de Gestion de Bases de Données (SGBD) est un logiciel qui permet à des utilisateurs de travailler sur des bases de données Introduction aux bases de données p.9/47

Définitions Un SGBD-R est un SGBD relationnel. Par rapport à un SGBD, les SGBD-R possèdent une certaine «intelligence» qui leur permet d exploiter les relations entre les différentes données. Ils sont ainsi capables : gérer les conflits d accès d assurer l intégrité des données d annuler des modifications de maintenir des index (pour l optimisation des accès) Introduction aux bases de données p.10/47

Définitions Notez bien : un SGBD-R ne devine rien, il ne fait qu exploiter les informations fournies par le développeur. Il est donc nécessaire de bien concevoir les base de données, en mettant en particulier en évidence les relations existant entre les différentes informations pour que celles-ci puissent être exploitées par la suite... Introduction aux bases de données p.11/47

Organisation d un SGBD On peut décomposer un SGBD en un système comportant trois niveaux différents : le niveau physique : noyau du SGBD, c est lui qui effectue toutes les opérations bas-niveau le niveau logique : couche dédiée à l interfaçage entre le SGBD et le développeur le niveau externe : surcouche du niveau logique, proposant des outils plus haut-niveau Introduction aux bases de données p.12/47

Organisation d un SGBD Niveau physique accès aux données, gestion sur mémoire secondaire (persistante) des données, des index partage de données et gestion de la concurrence d accès reprises sur pannes (fiabilité) distribution des données et interopérabilité Introduction aux bases de données p.13/47

Organisation d un SGBD Niveau logique définition des structures de données : Langage de Description de Données (LDD) consultation et mise à jour des données : Langages de requêtes (LR) et Langages de Manipulation de données (LMD) Niveau externe gestion des vues environnement et langage de programmation interfaces homme-machine outils d aide (conception, saisie, déboguage) Introduction aux bases de données p.14/47

Les fonctions d un SGBD Description : permet de décrire la structure logique et physique des données Utilisation : permet d interroger, créer, modifier, supprimer les données de ma base Intégrité : un SGBD assure la cohérence et l intégrité des données Confidentialité : vérification des utilisateurs et des opérations effectuées Introduction aux bases de données p.15/47

Les fonctions d un SGBD Concurrence d accès : gestion des accès simultanés de plusieurs utilisateurs aux mêmes données Sécurité de fonctionnement : récupération des données en cas d incidents système / machine Contrôle de la redondance : en dehors des aspects conceptuels, les SGBD offre des outils permettant de contrôler la redondance d informations, via les vues notamment Introduction aux bases de données p.16/47

Les modèles de données Les SGBD déchargent les développeurs de certains aspects de la gestion de données, il est cependant nécessaire de leur fournir une description rigoureuse de ces données. Pour cela, plusieurs phases sont nécessaires : modélisation conceptuelle : description du système d information modélisation logique : interfaçage avec le SGBD (tout en restant indépendant) modélisation physique : implantation Introduction aux bases de données p.17/47

Les modèles conceptuels Ce sont des modèles très abstraits, utilisés pour : l analyse du monde réel la conception du système d information la communication entre les différents utilisateurs du système Ils sont exprimés dans un formalisme indépendant de tout SGBD. Le modèle conceptuel que nous étudierons est le modèle «entité/association». Introduction aux bases de données p.18/47

Les modèles logiques On utilise généralement deux types de langages au niveau logique : un langage de définition de données (LDD) pour décrire les structures un langage de manipulation de données (LMD) pour appliquer des opérations aux données Introduction aux bases de données p.19/47

Les modèles logiques Ces langages restent abstraits : le LDD est indépendant de la représentation physique des données le LMD est indépendant de l implantation des opérations Le modèle logique que nous étudierons est le modèle «relationnel». Introduction aux bases de données p.20/47

Les modèles physiques Ils permettent de traduire la solution obtenue grâce aux modèles précédents d un point de vue technique. On obtient ainsi l expression définitive de la solution technique. Ces modèles dépendent du SGBD utilisé. Introduction aux bases de données p.21/47

Avantages pour les traitements Les modèles conceptuels et logiques présentent certains avantages : Simplicité d accès : les structures et les langages sont plus simples à utiliser, dénués de considérations physiques Indépendance physique : on peut modifier l implantation physique sans modifier les programmes d application Indépendance logique : on peut modifier les programmes d application sans modifier l implantation physique Introduction aux bases de données p.22/47

En bref... Les principaux avantages de l utilisation de SGBD sont : la gestion des gros volumes d information la persistance et fiabilité le partage des données (utilisateurs, programmes) une manipulation des données indépendante de la représentation physique Mais nécessitent pour cela une analyse préliminaire, basée sur plusieurs phases de modélisation Introduction aux bases de données p.23/47

Un modèle conceptuel : Le modèle entité/association (E/A) Un modèle conceptuel : le modèle entité/association (E/A) p.24/47

Introduction Le modèle E/A est un modèle conceptuel conçu dans les années 1970 Il se base sur la représentation de deux types d information, les entités et les associations, pour décrire conceptuellement des données Il utilise une représentation graphique Livre ISBN Titre Auteur Prix 1,1 1,n Fournit Editeur Num Nom Adresse Un modèle conceptuel : le modèle entité/association (E/A) p.25/47

Les entités / types entité Une entité est un objet concret ou abstrait de l univers réel, qui possède une existence intrinsèque (ex : le livre «Le dahlia noir») Un type entité est un ensemble d entités définies par un même ensemble de types d attributs (ex : le type entité «livre») les entités sont donc des occurrences des types entité les attributs (ex : titre, auteur) ont généralement des valeurs différentes pour deux entités données Un modèle conceptuel : le modèle entité/association (E/A) p.26/47

Les entités / types entité Un ou plusieurs attributs du type entité ont des valeurs discriminantes, uniques pour une entité donnée. On les appelle des clés ou encore des identifiants. Livre ISBN Titre Auteur Prix Nom du type entité Clé ou identifiant Autres attributs Un modèle conceptuel : le modèle entité/association (E/A) p.27/47

Les entités / types entité Un type entité est décrit par : son nom une description qui indique quels objets ou concepts du monde réel il décrit la liste des attributs qui le compose, en précisant le ou les attributs clés (en les soulignant) Une occurrence (une entité) d un type entité est décrite en donnant une et une seule valeur à un instant donné à chacun de ses attributs Un modèle conceptuel : le modèle entité/association (E/A) p.28/47

Les attributs d entités Les attributs d un type entité peuvent être : composés, c est-à-dire subdivisés en attributs simples (ex : une adresse composée d une rue, d un code postal, d une ville) calculés, c est-à-dire ayant une valeur calculée à partir d autres attributs (ex : un âge, calculé à partir d une date de naissance) Un modèle conceptuel : le modèle entité/association (E/A) p.29/47

Les attributs d entités Les attributs d un type entité sont décrits par : leur nom leur type (chaîne de caractères, entier, date...) Certains attributs peuvent prendre des valeurs particulières, de type énuméré (ex : bleu, rouge pour une couleur) Un modèle conceptuel : le modèle entité/association (E/A) p.30/47

Les attributs d entités Enfin, les attributs d entités peuvent : avoir une valeur nulle (représentée généralement par NULL), qui indique que la valeur n est pas connue appartenir à un domaine donné, qui correspond à l ensemble des valeurs que peuvent prendre ces attributs (ex : entier compris dans une fourchette de valeurs) Un modèle conceptuel : le modèle entité/association (E/A) p.31/47

Les associations / types association Un type association est un concept qui permet de décrire des liens sémantiques (des relations) entre des types entité Un type association peut être caractérisé par des attributs Une type association est spécifié de manière précise par des cardinalités, qui précisent le nombre de relations que deux types entité peuvent avoir Une association est une occurrence d un type association pour deux entités données Un modèle conceptuel : le modèle entité/association (E/A) p.32/47

Les associations / types association Exemple Cardinalités Livre ISBN Titre Auteur Prix 1,1 1,n Fournit Type association Types entités Editeur Num Nom Adresse Un modèle conceptuel : le modèle entité/association (E/A) p.33/47

Les associations / types association Un type association est décrit par : son nom une description qui indique la nature de l association entre les types entité sa collection, c est-à-dire la liste des types entité associés (reliés) la description de ses attributs éventuels les cardinalités associées à chaque type entité participant à l association Un modèle conceptuel : le modèle entité/association (E/A) p.34/47

Les cardinalités Association 1 1 Ex : les grossistes ne fournissent qu un seul produit et les produits ne sont fournis que par un seul grossiste Grossiste 1,1 1,1 Fournit Produit Dans une cardinalité (x, y), x représente la cardinalité minimum et y la cardinalité maximum Un modèle conceptuel : le modèle entité/association (E/A) p.35/47

Les cardinalités Association 1 n Ex : les grossistes fournissent plusieurs produits et chaque produit n est fourni que un seul grossiste Grossiste 1,n 1,1 Fournit Produit La cardinalité 1 n (un à plusieurs) peut aussi être une cardinalité 0 n (0 à plusieurs) Un modèle conceptuel : le modèle entité/association (E/A) p.36/47

Les cardinalités Association 0 n ou 1 n Ex : les clients peuvent commander plusieurs produits. Les produits sont commandés au maximum par un client et peuvent ne pas être commandés Client 1,n 0,1 Achète Produit Un modèle conceptuel : le modèle entité/association (E/A) p.37/47

Les cardinalités Association m n Ex : les grossistes fournissent plusieurs produits et les produits peuvent être fournis par plusieurs grossistes Grossiste 1,n 1,n Fournit Produit Un modèle conceptuel : le modèle entité/association (E/A) p.38/47

Attributs d association Dans une association de type m n, il est possible de caractériser la relation par des attributs Ex : un grossiste fournit une quantité donnée de produits à une date donnée Grossiste Fournit 1,n 1,n quantité date Produit Un modèle conceptuel : le modèle entité/association (E/A) p.39/47

Remarques sur les attributs Pour chaque attribut déterminé, bien se poser la question de savoir si cet attribut est relatif à une entité ou à une association, et à laquelle : le nom du produit dépend de quoi? du produit et rien que du produit la quantité commandée dépend de quoi? de la commande passée à une date donnée l adresse du fournisseur dépend de quoi? uniquement du fournisseur Un modèle conceptuel : le modèle entité/association (E/A) p.40/47

Quelques conseils Le modèle E/A doit incorporer tous les besoins de la future base de données Il est nécessaire de disposer de toutes les informations liées à l univers pour définir précisément le modèle E/A Tout type entité a au moins une clé et au moins un autre attribut que la clé Les attributs d un type (entité, association) doivent avoir un sens pour toutes les occurrence de ce type Un modèle conceptuel : le modèle entité/association (E/A) p.41/47

Quelques conseils Un type association relie deux ou plusieurs types entité Un type association peut relier un type entité à lui-même (association unaire) Ex : des binômes pour une entité «Etudiant» Le choix des identificateurs (types entité, types relation, attributs) est très important! Les cardinalités généralement recontrées sont du type 0 1, 0 n, m n mais elles peuvent également être du type 2 5 si cela se justifie! Un modèle conceptuel : le modèle entité/association (E/A) p.42/47

Un exemple complet Un modèle conceptuel : le modèle entité/association (E/A) p.43/47

Spécifications Des clients sont caractérisés par un numéro de client, leur nom, leur prénom, date de naissance, adresse Ils commandent des produits à une date donnée et dans une quantité donnée Les produits sont caractérisés un numéro de produit, leur désignation et leur prix unitaire Chaque produit est fourni par un grossiste unique Chaque grossiste peut fournir plusieurs produits Les grossistes sont caractérisés par un numéro de fournisseur et leur raison sociale Un modèle conceptuel : le modèle entité/association (E/A) p.44/47

Marche à suivre Elle est toujours la même (à faire dans l ordre) : 1. Recenser les attributs en présence 2. Identifier les types entité 3. Identifier les types association entre les types entité 4. Attribuer les attributs de chaque type entité et association 5. Évaluer les cardinalités des types association Un modèle conceptuel : le modèle entité/association (E/A) p.45/47

Une solution Client Produit NumCli Nom Prénom DateNaiss Adresse 1,n Commande Date Quantité 1,n NumProd Design Prix 1,1 Fournit Le schéma obtenu est appelé Modèle Conceptuel des Données (MCD) 1,n Grossiste NumGross RaisonSoc Un modèle conceptuel : le modèle entité/association (E/A) p.46/47

Références Jérôme Darmont, Bases de données, maîtrise de sciences économiques, université de Lyon 2 Pierre Laroche, Conception des bases de données, pôle lorrain de gestion, université de Nancy 2 Olivier Dahan, Normalisation des bases de données et SQL, I-Con, Paris M. Scholl et al., Bases de données relationnelles, Vertigo CNAM, Paris Un modèle conceptuel : le modèle entité/association (E/A) p.47/47