Introduction aux Bases de Données

Documents pareils
Bases de Données. Plan

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

Rappel sur les bases de données

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

1 Introduction et installation

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

Modélisation des données

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

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Les bases de données

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

Introduction aux Bases de Données

16H Cours / 18H TD / 20H TP

A. Définition et formalisme

Base de Données et Langage SQL

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

Bases de données relationnelles

Introduction aux Bases de Données

Méthode d analyse Merise

Bases de données. Chapitre 1. Introduction

Le langage SQL Rappels

Information utiles. webpage : Google+ : digiusto/

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

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

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

Bases de Données Avancées

Bases de données élémentaires Maude Manouvrier

UML et les Bases de Données

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

Bases de données - Modèle relationnel

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

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

Comprendre Merise et la modélisation des données

Dossier I Découverte de Base d Open Office

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

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

Modèle conceptuel : diagramme entité-association

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

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

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

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

Conception d une base de données

CESI Bases de données

Bases de données avancées Introduction

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

Les bases de données Page 1 / 8

I4 : Bases de Données

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

Vincent Augusto

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

Langage SQL : créer et interroger une base

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

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

CHAPITRE 1. Introduction aux bases de données

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

COURS de BASES 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

Merise. Introduction

Le Langage SQL version Oracle

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

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

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

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

Mercredi 15 Janvier 2014

Bases de données relationnelles & SQL

Cours de bases de données. Philippe Rigaux

UML (Paquetage) Unified Modeling Language

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

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

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)

Bases de données cours 1

Bases de données relationnelles : Introduction

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

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

et les Systèmes Multidimensionnels

LE MODELE CONCEPTUEL DE DONNEES

Bases de données Outils de gestion

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

Les Différents types de Requêtes dans Access

Chap. 2: L approche base de données

Gestion des bases de données

Tickets 3:3. ChevauxPartants

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

La méthode MERISE (Principes)

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

Année Universitaire 2009/2010 Session 2 de Printemps

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

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

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

MEGA Database Builder. Guide d utilisation

Bases de données réparties: Fragmentation et allocation

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

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Gestion des bases de données (2 e partie)

INTRODUCTION AUX BASES de DONNEES

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

Chapitre 1 : Introduction aux bases de données

OBJECTIFS ET ARCHITECTURE DES SGBD

Introduction aux Bases de Données Relationnelles Conclusion - 1

Transcription:

Maîtrise LEA Année 2002/2003 TRICHET Francky / ANDRE Pascal francky.trichet@humana.univ-nantes.fr pascal.andre@humana.univ-nantes.fr

Plan Présentation générale Le modèle relationnel et son algèbre Les principes de normalisation

1. Présentation Générale Définition : Une Base de Données (BD) est un ensemble de données mémorisées sur des supports accessibles par un ordinateur pour satisfaire simultanément plusieurs utilisateurs de façon sélective et en un temps très court. Outil d exploitation d une BD : SGBD (Système de Gestion de Base de Données) gérer l insertion, la modification et la recherche efficace de données dans une grande masse d informations gérer l interface entre les utilisateurs et le support sur lequel est stockée la BD (chacun doit avoir l illusion qu il est le seul à exploiter la BD)

Les 3 couches d un SGBD Un SGBD est composé de 3 couches : Système de gestion de fichiers : gestion du stockage physique de l information (couche dépendante du matériel) SGBD interne : gestion logique des données (assemblage, placement, liens et accès) SGBD externe : gestion de l interface avec l utilisateur et le concepteur (langage de requêtes, outils de présentation)

Les points clés d une BD Indépendance physique : un SGBD permet de manipuler des données sans se soucier de la façon dont sont stockées physiquement ces données Indépendance logique : un SGBD permet de présenter sous différentes vues les mêmes données (groupes de travail hétérogènes) Manipulation par des non-informaticiens : un SGBD permet de décrire ce que l on souhaite sans décrire comment l obtenir (recherche déclarative)

Les points clés d une BD Efficacité des accès aux données : un SGDB repose sur des algorithmes (transparents pour l utilisateur) performants qui optimisent l accès aux données Centralisation des informations : un SGDB permet de centraliser les informations relatives à un domaine, ce qui : garantie la non-redondance minimise la perte de place facilite les mises à jour des données

Les points clés d une BD Cohérence des données : un SGBD permet de la vérification de contraintes d intégrité un salaire doit être compris entre 4000 et 10 000 000 F l emprunteur d un livre doit être un abonné de la bibliothèque Partageabilité des données : un SGBD permet à plusieurs personnes d accéder simultanément aux données tout en offrant l illusion d être seul exploitant Sécurité des données : un SGBD permet de gérer différents niveaux d accessibilité aux données en fonction de profils d utilisateurs

Les 4 types de BD BD Hiérarchiques : les plus anciennes fondées sur une modélisation arborescente des données BD Relationnelles : organisation des données sous forme de table et exploitation à l aide d un langage déclaratif Exemples de SGBD Relationnels : Oracle, MySQL, 4D, Access, etc. BD Déductives : organisation des données sous forme de table et exploitation à l aide d un langage logique BD Objets : organisation des données sous forme d instances de classes hiérarchisées (qui possèdent leur propres méthodes d exploitation) Exemple de SGBD Objets : O2

Démarche de conception d une BD Analyse du problème et modélisation de la BD représentation informationnelle de l organisation étudiée phase supportée par des méthodes d analyse : AXIAL, OMT ou MERISE (la plus connue qui sépare les données des traitements) Implantation logique de la BD transformation du modèle conceptuel des données en objets propres au type de SGBD utilisé Implantation physique de la BD : phase totalement prise en charge par le SGBD adopté

Modélisation des données en Merise (1) MCD : Modèle Conceptuel des Données description statique du système d information visé à l aide d entités, d associations et de propriétés Entité : un objet matériel ou immatériel ayant une existence propre et conforme aux choix de gestion du système étudié : personne, voiture, client Association : un lien entre des entités (binaire, ternaire, n- aire) Propriété : une donnée élémentaire et indécomposable du système d information : couleur d une voiture, âge d une personne MCT : Modèle Conceptuel des Traitements (Hors Propos)

Modélisation des données en Merise (2) Représentation Graphique Nom de l Entité Propriété 1 Cardinalités (Mini,Maxi) Nom de l Association Propriété Cardinalités (Mini,Maxi) Nom de l Entité Propriété 1 Propriété n Propriété n Personne Numéro INSEE Nom Prénom Type d entité Type d association Type de valeur 1,1 Travailler 1,n Service Nom

Association unaire Exemple (1) Produit No_pro Nom_pro Libellé_pro composant 0,n nomenclature qté 0,n composé

Exemple (2) Association binaire Etudiant no_e nom_e prénom_e 1,1 adresse date_ad 0,n Adresse no_rue nom_rue code_postal ville

Association ternaire Exemple (3) Etudiant no_e nom_e prénom_e 1,n adresse 0,n Adresse no_rue nom_rue code_postal ville 0,n Date jour mois an

Association quaternaire Exemple (4) Professeur nom fonction grade 0,n 1,n Classe no_classe nb_élèves niveau cours heure 0,n Salle no_salle nom_salle capacité_salle 0,n Date jour mois an

Modélisation des données en Merise (3) L identifiant d une entité : il est constitué d une ou plusieurs propriétés de l entité telles qu à chaque valeur de l identifiant corresponde une et une seule occurrence de l entité (numéro d INSEE d une personne) L identifiant d une association est l union des identifiants des entités qui participent à l association

Modélisation des données en Merise (4) Les contraintes restreignent l espace des solutions Appartenance à un type Format et valeurs Cardinalités Contraintes d intégrité fonctionnelles Autres

Modélisation des données en Merise (4a) Les cardinalités définissent des contraintes d intégrités sur l association borne minimale : nombre minimum de fois qu une occurrence d une entité participe aux occurrences de l association (O, 1, n) borne maximale : nombre maximum de fois qu une occurrence d une entité participe aux occurrences de l association (1, n)

Modélisation des données en Merise (4b) Cardinalités Etudiant no_e nom_e prénom_e 1,1 adresse date_ad 0,n Adresse no_rue nom_rue code_postal ville

Modélisation des données en Merise (4c) Contrainte d intégrité fonctionnelle RG : à une date donnée, un étudiant habite à une seule adresse CIF Etudiant no_e nom_e prénom_e 1,n habite 0,n Adresse no_rue nom_rue code_postal ville 0,n Date jour mois an

Modélisation des données en Merise (4d) Contraintes sur Aspects statiques Type Simple Ensembliste Exemple salaire > SMIG Σ salaires < nb Aspects dynamiques Simple Ensembliste nouv_sal > ancien_sal Σ (NS) > Σ (AS) * coef

Modélisation des données en Merise (6)

Modéliser le réel perçu SI = SCD + CI + règles Démarche en 4 tâches Exercice Décrire un SI exposé démarche

Enoncé Le CROUS gère des logements pour les étudiants. Deux types de logements sont gérés par des services différents : les logements en cité universitaire et les logements en ville. Nous nous intéressons ici au second. Le service des logements en ville dispose de renseignements concernant des propriétaires de villas,appartements, garages,... nom, prénom et adresse des propriétaires ; nature et adresse du bien possédé par un propriétaire. a) Modéliser cette réalité à l'aide d'un modèle E-A-P ;

Enoncé b) Nous voulons maintenant pouvoir représenter le fait qu'un propriétaire peut vouloir louer ses biens. Nous ne souhaitons toutefois pas d'auto-location (de location dans lesquelles propriétaire et locataire sont une seule et même personne). La location se fait à partir d'une date donnée, pour une période donnée et moyennant un loyer mensuel précis. Modéliser cette réalité à l'aide d'un modèle E-A-P ; c) Le CROUS envisage de percevoir sur les loyers un pourcentage, variable selon la nature du bien. Cela pourrait servir à alimenter un fond social d'aide aux étudiants en difficulté. Modifier le modèle précédent pour permettre la mémorisation de ce pourcentage.

Plan Présentation générale Le modèle relationnel et son algèbre Les principes de normalisation

Le modèle relationnel (1) Organisation des données en Table : des lignes (enregistrements ou n-uplets) des colonnes (champs ou attributs) Concepts fondamentaux : Domaine : ensemble de valeurs distinctes que peut prendre une donnée élémentaire (D1={rouge,vert}, D2={3,2}) Produit Cartésien d un ensemble de domaine D1, D2, Dn est l ensemble des n-uplets {<v1,v2,vn>} tels que vi Di D1 * D2 = {<rouge,3>,<rouge,2>,<vert,3>,<vert,2>}

Le modèle relationnel (2) Concepts fondamentaux : Relation (table relationnelle, table) : sous-ensemble du produit cartésien d une liste de domaines ; elle caractérisée par: un nom des champs (attributs) qui correspondent aux noms de chacun des domaines mis en jeu (les colonnes) des n-uplets (tuples) qui correspondent aux différentes combinaisons valides du produit cartésien (les lignes) Personne Nom TRICHET GILBERT ANDRE Prénom Francky Jacques Pascal

Le modèle relationnel (3) Concepts fondamentaux : Clé d une relation : un ou plusieurs attributs permettant d identifier, de façon unique, chaque n-uplets de la relation Remarque : il peut éventuellement exister plusieurs clés pour une même relation ; dans ce cas, il faut (1) identifier les clés candidates puis (2) choisir une clé primaire parmi les clés candidates Exemple : ETUDIANT(matricule, nom, prénom, adresse, num-insee) Clé primaire Clé candidate

Le modèle relationnel (4) Concepts fondamentaux : Schéma d une relation : ensemble des attributs (colonne) de la relation (table) Schéma d une BD : union des schémas des différentes relations Remarque : une relation peut être définie en intension (uniquement pour les BD déductives) : on identifie une formule qui va permettre d identifier automatiquement les n-uplets {(x,y,z) (N,Z,Q) tels que x+y>z} en extension : on spécifie un à un tous les n-uplets de la relation

Le modèle relationnel (5) Exemple de BD relationnelle et son schéma : produits(pno,design,prix,poids,couleur) fournisseurs(fno,nom,adresse,ville) commandes(cno,fno,pno,qute)

Du MCD Merise aux tables relationnelles (1) Traitement des Entités chaque entité devient une table chaque propriété d une entité devient une colonne l identifiant de l entité devient la clé primaire Traitement des Associations Cas 1 : association avec au moins une cardinalité maximale à 1 création de 2 tables (une par entité) avec migration de la clé primaire de l entité de cardinalité (-,n) dans la table de l entité de cardinalité (-,1) si il existe des propriétés dans l association, elles migrent comme précédemment

Du MCD Merise aux tables relationnelles (2) Exemple de cas 1 Schéma Entités/Associations Tables relationnelles correspondantes

Du MCD Merise aux tables relationnelles (3) Traitement des Associations Cas 2 : association avec les deux cardinalités maximales à n création de 3 tables (une par entité + une pour l association) avec migration des clés primaires des 2 entités dans la table de l association si il existe des propriétés dans l association, elles migrent dans la table de l association

Du MCD Merise aux tables relationnelles (4) Exemple de cas 2 Schéma Entités/Associations Tables relationnelles correspondantes

Du MCD Merise aux tables relationnelles (5) Application sur l exemple Produits-Fournisseurs-Commandes Tables relationnelles + intégrité référentielle Produits(pno,design,prix,poids,couleur) Commandes(fno,pno,qute) Fournisseurs(fno,nom,adresse,ville)

L algèbre relationnelle (1) L algèbre relationnelle a été introduite par Codd en 1970 dans le but de décrire des traitements à appliquer sur les différentes relations d une BD relationnelle repose sur deux types d opérations les opérations ensembliste (union, différence, intersection, produit cartésien) les opérations relationnelles (projection, sélection, jointure)

L algèbre relationnelle (2) Les opérations ensemblistes L union de deux relations R et S de même schéma est une relation T de même schéma contenant l ensemble des tuples appartenant à R et/ou à S La différence de deux relations R et S de même schéma (dans l ordre R-S) est une relation T de même schéma contenant les tuples appartenant à R et n appartenant pas à S

L algèbre relationnelle (3) Les opérations ensemblistes L intersectionde deux relations R et S de même schéma est une relation T de même schéma contenant les tuples appartenant à la fois à R et à S Le produit cartésien de deux relations R et S de schéma quelconque est une relation T ayant pour attributs la concaténation des attibuts de R et de S et dont les tuples sont constitués de toutes les concaténations d un tuple de R à un tuple de S

L algèbre relationnelle (4) Les opérations relationnelles La projection d une relation de schéma (A1,A2,,An) sur les attributs Ai1,Ai2, Aip (avec ij<>ik et p>n) est une relation R de schéma (Ai1,Ai2,,Aip) dont les tuples sont obtenus par élimination des attributs de R n appartenant pas à R et par suppression des doublons La sélection de la relation R par une qualification Q est une relation R de même schéma dont les tuples sont ceux de R satisfaisant Q ; Q pouvant être exprimée à l aide de constantes, d opérateurs arithmétiques (>, <, etc.) ou logiques (et, ou, non)

L algèbre relationnelle (5) Les opérations relationnelles La jointure de deux relations R et S selon une qualification Q est l ensemble des tuples du produit cartésien R*S satisfaisant la qualification Q ; Q pouvant être exprimée à l aide de constantes, d opérateurs arithmétiques (>, <, etc.) ou logiques (et, ou, non)

L algèbre relationnelle (6) Les opérations relationnelles L équi-jointure est une jointure avec pour qualification l égalité entre deux colonnes La jointure naturelle est une équi-jointure de R et S sur tous les attributs de même nom suivie de la projection qui permet de conserver un seul de ces attributs égaux de même nom

L algèbre relationnelle (7) Autre opérateur (de calcul) Compte est une opération qui permet de dénombrer les lignes d une relation qui ont une même valeur d attributs en commun. La relation résultante ne contient que les attributs de regroupement Xi choisis avec leur nombre d occurrences.

L algèbre relationnelle (8) Exemples d expressions de l algèbre relationnelle Produits(pno,design,prix,poids,couleur) Fournisseurs(fno,nom,adresse,ville) Commandes(fno,pno,qute) Quels sont les numéros de fournisseurs des différents Dupont projfno(selectnom= Dupont (Fournisseurs)) Quels sont les numéros de fournisseurs qui ont moins de trois commandes projfno(selectcompte<3(comptefno(commandes)))

Plan Présentation générale Le modèle relationnel et son algèbre Les principes de normalisation

La normalisation L objectif de la normalisation est de définir un schéma de relations permettant d éviter : la redondance de données les incohérences lors des mises à jour les anomalies lors d insertion et/ou suppression La normalisation repose sur l analyse des dépendances entre attributs moyen : décomposer les relations sujettes à redondance tout en conservant la possibilité de reconstituer les relations originelles par application de l opération de jointure

La normalisation (2) Une entreprise de vente de bateaux qui souhaite constituer un système d information relatif à son activité Achats(IdClient, NomClient, PrénomClient, AdresseClient, ImmatriculationBateau, ModèleBateau, LongueurBateau, DateAchat, MontantAchat) Problèmes potentiels Exemple redondance de données : une personne qui achète plusieurs bateau incohérence suite à une MAJ : une personne qui change d adresse anomalies lors d insertion/suppression : un client potentiel ne peut être enregistré dans la BD s il n a pas encore acheté de bateaux ; lorsqu un client vend son bateau, il est supprimé du système d information

La normalisation (3) Comment normaliser? Décomposition des relations jusqu à ce que toutes respectent les 3 Formes Normales suivantes Une relation est dite en Première Forme Normale si tous ses attributs sont atomiques ; aucun des attributs ne doit être une relation entre «sous-attributs» (pas de colonnes dans une colonne)

La normalisation (4) Une relation est dite en Seconde Forme Normale lorsqu elle est en Première Forme Normale et tous les attributs n appartenant pas à la clé sont en dépendance fonctionnelle élémentaire avec la clé dès qu un attribut non-clé dépend d une partie de la clé, la relation n est pas en 2FN. Deux groupes d attributs X et Y de la relation R sont en Dépendance Fonctionnelle (on dit aussi X détermine Y) si dans R, chaque valeur de X détermine une et une seule valeur de Y une DF est une assertion sur toutes les extensions possibles d une relation et pas uniquement sur ses tuples actuels

La normalisation (5) Exemple d application de la 2FN

La normalisation (6) Une relation est dite en Troisième Forme Normale lorsqu elle est en Seconde Forme Normale et qu aucun de ses attributs non-clés dépend d un autre attribut non-clé ; il n existe pas de Dépendance Fonctionnelle entre 2 attributs non-clés

Plan Présentation générale Le modèle relationnel et son algèbre Les principes de normalisation Manipulation d un SGBD relationnel : Microsoft ACCESS 97 Documentation en ligne : http://www.er.uqam.ca/merlin/xw999998/access.htm

Les contraintes d intégrité (1) Contraintes de clé un SGBD gère et vérifie la définition de clé primaire pour chaque relation Contraintes de types de données à chaque attribut peut être associé des contraintes de types (entier, date, etc.) et de domaine (intervalle [1..100], date postérieure au 01/01/95, etc.)

Les contraintes d intégrité (2)

Les contraintes d intégrité (3) Contraintes d intégrité référentielle (CIR) Gestion de données référencées dans plusieurs tables : une CIR peut s appliquer dès qu une clé primaire d une table R est utilisée comme référence dans une autre table T

Les contraintes d intégrité (4) Les CIR permettent au SGBD de vérifier automatiquement la cohérence de la BD par rapport : Anomalie de suppression lorsqu on supprime un client (Table Client), il faut supprimer toutes ses commandes (Table Commande) Anomalie de modification lorsqu on modifie le code d un produit (Table Produit), il faut répercuter ces modifications dans les commandes (Table Commande) Anomalie d ajout lorsqu on ajoute une commande, il faut s assurer que le code client et le code produit existent