Rappel sur les bases de données



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

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

Bases de données relationnelles

Information utiles. webpage : Google+ : digiusto/

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Modélisation des données

Modèle conceptuel : diagramme entité-association

Bases de Données. Plan

Bases de Données Avancées

Introduction aux Bases de Données

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

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

LE MODELE CONCEPTUEL DE DONNEES

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

Dossier I Découverte de Base d Open Office

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

Concevoir une base de données

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

Bases de données. Chapitre 1. Introduction

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

16H Cours / 18H TD / 20H TP

UML et les Bases de Données

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

Introduction aux Bases de Données

Bases de données élémentaires Maude Manouvrier

UML (Diagramme de classes) Unified Modeling Language

Les bases de données Page 1 / 8

Introduction aux bases de données

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

Vincent Augusto

Chapitre 1 : Introduction aux bases de données

Cours de bases de données. Philippe Rigaux

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

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

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

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

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

Bases de données relationnelles & SQL

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

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

A QUOI SERVENT LES BASES DE DONNÉES?

Méthode d analyse Merise

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

Bases de données avancées Introduction

OBJECTIFS ET ARCHITECTURE DES SGBD

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

Le langage SQL Rappels

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

1 Introduction et installation

I4 : Bases de Données

CESI Bases de données

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

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

Mercredi 15 Janvier 2014

UE 8 Systèmes d information de gestion Le programme

Le modèle de données

GUIDE PRATIQUE MODÈLE CONCEPTUEL DES DONNÉES MODÈLE LOGIQUE DES DONNÉES STANDARD MODÈLE LOGIQUE DES DONNÉES OPTIMISÉ

Bases de données - Modèle relationnel

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

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)

Base de Données et Langage SQL

Séance 1 Introduction aux bases de données

Cours Bases de données

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

Les bases de données

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

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

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

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)

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

CREATION WEB DYNAMIQUE

Application web de gestion de comptes en banques

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

Langage SQL : créer et interroger une base

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

Merise. Introduction

Générer du code à partir d une description de haut niveau

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

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

Conception, architecture et urbanisation des systèmes d information

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Chap. 2: L approche base de données

TP3 : Creation de tables 1 seance

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

BES WEBDEVELOPER ACTIVITÉ RÔLE

et les Systèmes Multidimensionnels

A. Définition et formalisme

Cours 1 : introduction

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

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

et les Systèmes Multidimensionnels

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Systèmes de Gestion de Bases de Données

Conception d une base de données

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Principes de la conception des bases de données

Modèle Entité/Association

Transcription:

Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant ainsi d être utilisées par un ou plusieurs programmes informatique. Les données doivent être consultables selon n importe quel critère (Par exemple, trouver les livres de sciences fiction écrit par des auteurs de moins de 25 ans entre 1925 et 1930). De plus la base de données doit permettre la mise à jour et la consultation des données par plusieurs utilisateurs. Pour cela, il ya les systèmes de gestion de bases de données. Un système de gestion de base de données (SGBD) est un ensemble de programmes permettant à plusieurs utilisateurs d accéder à une base de données en leur donnant l illusion qu ils sont les seuls à travailler sur ces données. Un SGBD doit permettre entre autres la recherche, la mise à jour, l insertion et la suppression de données. 1.2 Niveaux de données On peut distinguer trois niveaux à un SGBD : -Niveau physique (le système de gestion de fichier) qui correspond à l organisation et le stockage physique des données -Nive au conceptuel (SGBD interne) qui gère les données stockées dans les fichiers, les liens existants entre ces données. C est un niveau conceptuel qui permet de décrire les données, leurs propriétés et comment y accéder. -Niveau vue (SGBD externe) qui définit la mise en forme et la présentation des données aux programmes et aux utilisateurs ayant accès à la base de données. Cette décomposition en couche permet d avoir une indépendance entre les données et les traitements. 1.3 Propriétés De manière générale, le SGBD doit avoir les caractéristiques suivantes : -Indépendance phys ique : si la manière dont sont stockées les bases de données est modifiée (c est à dire le gestionnaire de fichiers) il n est pas nécessaire de modifier le niveau interne et externe. -Indépendance logi que : le SBBD interne peut être modifié sans remettre en cause le niveau physique. -Manipulabilité : des personnes ne connaissant pas la base de données et la manière dont elle est stockée en machine doivent pouvoir manipuler les données. - Rapidité des accès : le SGBD doit pouvoir répondre aux requêtes le plus rapidement possible.

-Limiter les redondances : le SGBD do it éviter aux maximum de stocker des informations redondantes afin d éviter des pertes en espace mémoire et aussi pour éviter des erreurs (comme par exemple la mise à jour d une données mais pas de ses copies éventuelles). -Vérification de l intégrité : les données doivent être cohérentes entre elles. Par exemple, si une donnée fait référence à une autre alors cette dernière doit être aussi présente dans la base de données. C est le cas pour la bibliothèque : un emprunt fait toujours référence à un livre et ce livre doit exister dans la base de données pour que celle-ci reste cohérente. -Partageabilité des données : le SGBD doit permettre l accès simultané aux données par plusieurs utilisateurs. -Sécurité des données : le SGBD doit présenter des mécanismes permettant de gérer les droits d accès aux données mais aussi d assurer un bon fonctionnement après une panne. Pour cela des mécanismes de sauvegardes doivent être mis en place. 1.4 Modèle de données Pour définir le niveau conceptuel et les vues du SGBD, nous avons besoin d un modèle de données qui va décrire de manière abstraite les données. Il existe différents modèles de SGBD. Cependant il est possible de distinguer deux types de modèles : les modè les conceptuels et les modèles logiques. Les modèles conceptuels permettent d analyser de manière graphique les besoins de l application. Les modèles logiques permettent eux de modéliser l application sous un langage facilement implémenta blé. Nous présentons dans les sections suivantes un modèle conceptuel : le schéma entité-association et le modè le logique relationnel où les do nnées sont enregistrées dans des tableaux à deux dimensions. 2) Schéma entité-association (appelé parfois entité-relation) 2.1 Définitions Entité : «objet» du monde réel que l on pe ut ide ntifier et qui possède un ensemble de propriétés valuées qui la décrivent. Par exemple : le cours de mathématiques de L3 est une entité décrit par les propriétés matière = mathématiques, niveau = L3 Classe d entités : c est un regroupement d entités de même nature. Elle est identifiée par un nom et par une liste de propriétés. Par exemple : le cours de mathématiques de L3 et le cours de physique de L1 sont deux entités appartenant à la classe d entités «cours» ayant pour propriétés «matière» et «niveau». Association : lien logique entre plusieurs entités. Elle peut avoir des propriétés valuées. Par exemple : le professeur Albert Dupont donne le cours de mathématique du jeudi après midi. L entité «professeur Albert Dupont» est donc associée à l entité «cours de mathématique du jeudi matin» Classe d associations : c est un lien entre deux ou plusieurs classes d entités. Elle est identifiée par nom (qui correspond souvent à un verbe) et possède une liste de propriétés. Par exemple : «donne» est une classe d associations qui va associer la classe d entités «professeur» et la classe d entités «cours»

Attribut : propriété d une association ou d une entité. Elle est caractérisée par un nom et un type élémentaire (varchar, int ). Par exemple : «matière» est l attribut de l entité «cours», elle a pour type un «varchar» Identificateur : un identificateur est un attribut ou un ensemble d attributs permettant de distinguer deux entités appartenant à la même classe d entités. Par exemple : «nom» et «prénom» sont les identificateurs de la classe d entités «professeur». De même on pourrait imaginer que cours a un numéro lui permettant de l identifier Par abus de langage, on appelle entité une classe d entités. De la même façon, on appelle association une classe d associations. 2.2 Représentation graphique Une classe d entités est représentée par un rectangle avec son nom à l intérieur. Une classe d associations est représentée par un los ange avec son nom à l intérieur et est relié par une arête à chaque classe d entités qu elle relie. Les attributs sont eux représentés par des cercles contenant leurs noms et sont reliés à la classe d entité ou la classe d association qu ils décrivent. Le ou les attributs identificateurs sont soulignés. nom prénom numéro matière niveau 2.3 Les cardinalités Les cardinalités d une classe d associations indiquent pour chaque entité le nombre de fois minimum et maximum où elle participe à l association. - La cardinalité minimum traduit donc le nombre de fois minimum où une entité participe à la classe d association. Sa valeur peut être de 0 ou 1. Par exemple : l entité «le professeur Albert Dupont» peut participer au minimum 1 fois à la classe d association «donne». - La cardinalité max imum traduit donc le nombre de fois maximum où une entité participe à la classe d association. Sa valeur peut être de 1 ou N.

Par exemple : l entité «le professeur Albert Dupont» peut participer au maximum N fois à la classe d association «donne», car ce professeur peut enseigner plusieurs cours. Le couple est représenté graphiquement sur l arête reliant la classe d entité à la classe d association par min : max 1 : N 1 : 1 nom prénom numéro matière niveau 3) Modèle relationnel 3.1 Définition Domaine : Ensemble de valeurs caractérisés par un nom. Il correspo nd a u type. Par exemple : l ensemble des entiers ou Produit cartésien : Le produit cartésien d un ensemble de domaines : est l ensemble des n-upp lets tel que. On le note Par exemple : Le produit cartésien de et de est Relation : Sous-ensemble du produit cartésien de plusieurs domaines. Une relation est toujours caractérisée par un nom. Par exemple, on peut définir avec les domaines et {Dupont, Durand, Dumas} la relation professeur = {(Albert, Dupont), (Paul, Dumas), (Paul, Durand)} Une relation peut être représentée sous forme tabulaire. On appelle alors attribut la colonne d une relation caractérisée par un nom. Par exemple, la relation professeur possède deux attributs : prénom et nom. Prénom Albe rt Paul Paul Nom Dupo nt Dumas Durand

Un schéma de relation est défini par le nom de la relation suivi de la liste des attributs et de la définition de leur domaine. Par exemple : professeur (prénom : {Pierre, Paul}, nom : {Dupont, Durand, Dumas}) Note : On peut omettre la définition des domaines si ceux-ci sont implicites (du fait du nom de l attribut) Un schéma de BD relationnelle est un ensemble de schémas de relation Une bas e de données relationnelle est composée d un ensemble de tables à deux dimensions. Chaque table correspond à une relation où les colonnes sont les attributs de la relation. Chaque ligne contient un n-upplet correspondant à un enregistrement de la table. Attention : Une relation est un ensemble par définition il ne peut donc y avoi r deux n-upplets (ou deux enregistrements) identiques. 3.2 Clé Surclé d une relation : ensemble d attributs dont la connaissance des valeurs permet d identifier un n-upplet unique de la relation considérée. Il peut exister plusieurs surclé. Une relation étant un ensemble : l ensemble des attributs de la relation forme toujours une surclé. Clé d une relation : est une surclé minimale. Par conséquent si on retire un attribut de la clé alors le reste des attributs ne forme plus une surclé. Lorsqu il existe plus ieurs clés, on en choisit une que l on nomme clé primaire, elle est représentée dans le schéma de relation en souligna nt le nom des attributs concernés par la clé. Contraintes référentielles : Une contrainte d intégrité référentielle définit qu un attribut (ou groupe d attributs) ne peut prendre comme valeur qu une valeur existant comme clé (primaire ou non) d une autre relation. En d autres termes, e lle interdit à un n-upplet de référencer un n-upplet inexistant. On appe lle ces attributs clé étrangère. Ils sont symboliséq par le signe #. 3.3 Passage d un schéma E-A à un schéma relationnel - Pour chaque classe d entité du schéma E-A créez une relation ayant le même nom et dont les attributs correspondent aux propriétés de la classe d entités. La clé de ce schéma est l identificateur de la classe d entité. Par exemple : Pour le schéma E-A ci-dessous, on peut créer deux relations : professeur(nom, prénom) et cours (matière, niveau,numéro) 1 : N 1 : 1

nom prénom numéro matière niveau -Pour chaque classe d associations dont au moins une classe d entité à une cardinalité 1-1, rajoutez dans le schéma de cette classe d entités la clé de l autre classe d entité. Par exemple, professeur(nom, prénom) et cours (matière, niveau, numéro, #nom, #prénom) où les attributs nom et prénom réfèrent au professeur qui donne le cours.nom et prénom doivent absolument référencer un professeur existant dans la base, ils formant une clé étrangère. -Pour les autres classes d associations, créez un schéma de relation ayant le même nom dont les attributs seront formés des propriétés de la classe d association et des identificateurs des classes d entités participant à la relation. La clé d une telle relation est constituée de tous les attributs correspondant aux identificateurs des classes d entités participant à la relation. Par exemple : si l on modifie le schéma en permettant qu un même cours soit assuré par plusieurs professeurs. Nous aurons le schéma relationnel suivant : -professeur (nom, prénom) -cours (matière, niveau, numéro) -donne( # nom, #prénom, #numéro) 1 : N 1 : N nom prénom numéro matière niveau 4)Quelques liens utiles http://www-inf.int-evry.fr/cours/bd/ http://laurent-audibert.developpez.com/-bd/ http://www-poleia.lip6.fr/%7egancarsk/polylicbd2003.pdf Il en existe plein d autres, il suffit de chercher.