Conception d’une Base de Données Passage au Schéma Relationnel

Slides:



Advertisements
Présentations similaires
Bratec Martin ..
Advertisements

NOTIFICATION ÉLECTRONIQUE
Fragilité : une notion fragile ?
SEMINAIRE DU 10 AVRIL 2010 programmation du futur Hôtel de Ville
Phono-sémantique différentielle des monosyllabes italiens
MAGGIO 1967 BOLOGNA - CERVIA ANOMALIES DU SOMMEIL CHEZ L'HOMME
droit + pub = ? vincent gautrais professeur agrégé – avocat
Transcription de la présentation:

Conception d’une Base de Données Passage au Schéma Relationnel

Conception d’une BD : les niveaux conceptuel logique physique externe schéma conceptuel schéma logique Utilisateurs schéma physique R1 R2

Conception d’une BD : les étapes Modélisation (UML) Monde Extérieur Schéma Conceptuel : DC Règles de passage Produits (IdPro, désignation, poids) Fournir(IdPro, IdFour, PrixAchat) Fournisseurs(IdFour, RaisonSociale, adresse) Normalisation ? Schéma Logique ou Relationnel Mise en œuvre de la BD Schéma Physique

Schéma Logique : Schéma Relationnel Présentation Base théorique du langage SQL Modèle basé sur les valeurs Di = {valeurs atomiques} Attribut ai prenant sa valeur dans Di Relation R[a1,..., an] définie sur les domaines D1, ..., Dn R sous-ensemble du produit cartésien D1*D2*...*Dn ETUDIANT (INE, NOM,ADRESSE) INE = {100, 200, 300} NOM = {‘Sylvie’,’Patrick’} ADRESSE = {‘Toulouse’,’Montauban’}

Schéma relationnel Concepts et Terminologie Relation : nom de la structure tabulaire regroupant les informations de même nature Tuple ou N-Uplet : ligne d’une relation Attribut : nom du domaine Clé primaire : attribut(s) permettant d’identifier d’une manière unique une ligne Clé étrangère : attribut(s) permettant d’identifier d’une manière unique une ligne d’une autre relation (correspondant à une clé primaire) Clé candidate : attribut(s) pouvant se substituer à la clé primaire

Schéma relationnel Exemple SERVICE EMPLOYE IdSer NomSer NombreEmp IdEmp NomEmp IdSer IdEmp_Resp 10 Informatique 2 20 Achats 3 100 Michel 20 300 200 Sylvie 10 400 Bernard ------ Claude 500 Thomas Clés Primaires Clé Candidate Clés Étrangères

Schéma relationnel Quelques postulats Clé primaire Obligatoire pour toutes les relations Peut être composée de plusieurs attributs Ne peut pas avoir de valeur indéfinie (NULL) Clé étrangère Aucune ou plusieurs par relation  Contrainte d’Intégrité Référentielle Clé candidate Accès rapide dans le schéma physique

Passage du S. Conceptuel au S. Relationnel Les règles de passage Règle n°1 : Classes normales Chaque classe devient une relation L’identifiant de la classe devient la clé primaire de la relation Règle n°2 : Classes d’Associations 1-N (Mère-Fille) Cette classe disparaît La clé de la relation mère glisse dans la relation fille  Clé Étrangère Règle n°3 : Classes d’Associations N-M (et n-aires) Cette classe devient une relation La clé primaire est composée des clés associées (clé primaire composée) Règle n°4 : Classes d’Associations 1-1 Cas particulier : expliqué plus loin Règle n°5 : Généralisation et Spécialisation Expliqué plus loin

Association 1-N : Exemple Diplome Etudiant Inscrire IdDip NomDip RespDip IneEtudiant NomEtudiant AdrEtudiant 1 * DIPLÔME (IdDip, NomDip, RespDip) ETUDIANT (IneEtudiant, NomEtudiant, AdrEtudiant, IdDip#)

Association N-N sans attribut : Exemple Etudiant Stage Choisir IdStage ThémeStage Entreprise RespStage IneEtudiant NomEtudiant AdrEtudiant * 1..* ETUDIANT (IneEtudiant, NomEtudiant, AdrEtudiant) CHOISIR (IneEtudiant#, IdStage# ) STAGE (IdStage, Thèmestage, Entreprise, RespStage)

Clé primaire composée : postulats Autant de composants que de classes associées (N-aires) Composée entièrement de clés étrangères L’ordre des composants n’a pas d’importance (pour le schéma relationnel) ETUDIANT (IneEtudiant, NomEtudiant, AdrEtudiant) CHOISIR (IneEtudiant#, IdStage# ) STAGE (IdStage, Thèmestage, Entreprise, RespStage)

Association N-N avec attributs : Exemple Fournisseur Produit * 1..* IdProduit NomProduit QtéStock IdFour NomFour AdrFour Fournir Prix DélaiLiv QtéMin FOURNISSEUR(IdFour, NomFour, AdrFour) FOURNIR (IdFour #, IdProduit#, Prix, DélaiLiv, QtéMin ) PRODUIT (IdProduit, NomProduit, QtéStock)

Association de type N-aires : Exemple Fournisseur Produit IdFour NomFour AdrFour IdProduit NomProduit QtéStock Fournir Prix DélaiLiv QtéMin Conditionnement IdCond LibCond 1..* *

Association de type N-aires : Exemple FOURNISSEUR(IdFour, NomFour, AdrFour) PRODUIT (IdProduit, NomProduit, QtéStock) CONDITIONNEMENT (IdCond, LibCond) FOURNIR (IdFour #, IdProduit#, IdCond#, Prix, DélaiLiv, QtéMin )

Association 1-N réflexive : Exemple 0..1 Est responsable de Enseignant IdEns NomEns Fonction * A pour responsable  (nul autorisé) ENSEIGNANT (IdEns, NomEns, Fonction, IdEns_Resp#)

Association N-N réflexive : Exemple * Est composé de Produit Composer IdProduit LibProduit Prix Qté Entre dans la composition de * PRODUIT (IdProduit, LibProduit, Prix) COMPOSER (IdProduitComposé#, IdProduitComposant#, Qté)

Reprise de classe d’association : Exemple Joueur Tournoi IdLicence NomJoueur Classement IdTournoi NomTournoi Ville Date * * Recevoir Obtenir Amende Participer Prix * * * 0..1 IdAmende Montant Résultat IdPrix Montant

Reprise de classe d’association : Exemple (nul autorisé) JOUEUR (IdLicence, NomJoueur, Classement) TOURNOI (IdTournoi, NomTournoi, Ville, date) PARTICIPER (IdLicence#, IdTournoi#, Résultat, IdPrix#) PRIX (IdPrix, Montant) AMENDE (IdAmende, Montant) RECEVOIR (IdAmende#,(IdLicence,IdTournoi)#) 2 clés étrangères

Associations de type symétrique (1-1) Règle N°4 : 3 cas possibles IdC1 1 1 IdC2 UNIQUE C1 (IdC1, ……., IdC2#) C2 (IdC2, ………..) Valeurs nulles autorisées ou pas selon les valeurs minimums C1 (IdC1, …….) C2 (IdC2, ……….., IdC1#) Dans le cas d’une association optionnelle C1 (IdC1, …….) C2 (IdC2, ………..) Association (IdC1#, IdC2#)

Associations de type 1-1 : Exemple Etudiant Stage Effectuer IdStage ThémeStage Entreprise IneEtudiant NomEtudiant AdrEtudiant 0..1 0..1 ETUDIANT (IneEtudiant, NomEtudiant, AdrEtudiant) STAGE (IdStage, ThèmeStage, Entreprise) EFFECTUER (IdStage#, IdEtudiant#) UNIQUE

Généralisation et Spécialisation : Règle N°5 Chaque classe devient une relation Une ‘super classe’ peut contenir un attribut de spécialisation Chaque relation de l’ensemble possède la même clé primaire La vraie spécialisation avec l’héritage correspondant sera pris en charge avec les SGBD Objet-Relationnel

Généralisation et Spécialisation : Exemple Personnel IdPers Nom Indice Ingénieur Enseignant Chercheur Grade Fonction Domaine Section Titre HeuresCours Spécialité Laboratoire

Généralisation et Spécialisation : Exemple Attribut de Spécialisation PERSONNEL (IdPers, Nom, Indice, TypePers) INGENIEUR (IdPers, Grade, Fonction, Domaine) ENSEIGNANT (IdPers, Section, Titre, HeuresCours) CHERCHEUR (IdPers, Spécialité, laboratoire)