Modèle conceptuel : Entité Association Modèle logique : Relationnel

Slides:



Advertisements
Présentations similaires
REFERENTIEL DE LA SERIE STG
Advertisements

Modèle Conceptuel des données
Modèle Logique ET PHYSIQUE des données
Material/Sources: Daniel Bardou, Julie Dugdale &
Material/Sources: Daniel Bardou, Julie Dugdale &
Un modèle conceptuel Le modèle Entité-Association Frédéric Gava (MCF)
Modèle Entités-Associations
Le modèle logique des données relationnel MLD
Le Modèle Relationnel (Chapitre 4)
Le Modèle Logique de Données
Formation au référentiel 1 STG (Sciences et technologie de la gestion)
La base de données : le modèle relationnel.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Système de gestion de bases de données. Modélisation des traitements
Bases de Données Plan du cours : Année : 2009/10 A - Généralités :
Initiation au système d’information et aux bases de données
Analyse et Conception des Systèmes d’Informations
Initiation au système d’information et aux bases de données
ETAPE03 « Produits et ingrédients…… » « Produits et ingrédients… » Rappel : Dans létape 2, nous avons vu une organisation plus complète des données relatives.
B.Shishedjiev - Modèle relationnel
Initiation à la conception de systèmes d'information
Initiation à la conception des systèmes d'informations
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Transformation du diagramme de classe en modèle relationnel
Chap 4 Les bases de données et le modèle relationnel
Initiation aux bases de données
Les fonctions de groupes Gestion des transactions
Les formes normales.
La structuration et la représentation informatique de l'information
Conception d’une Base de Données Passage au Schéma Relationnel
Le modèle relationnel.
Modèle Logique de Données
Cas pratique : Interim.
SYSTEMES D’INFORMATION
MODELE RELATIONNEL concept mathématique de relation
Staf 2x Cours de bases de données
Cours de Base de Données & Langage SQL
Normalisation. RELATION NORMALE Une relation est dite normale si aucun des domaines qui la composent n'est lui-même une relation. En d'autres termes,
Initiation aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Michel Tollenaere SQL et relationnel ENSGI Cours MSI 2A Relationnel et SQL version 1.4 du 25 septembre 2007 (ajout jointures) 1 Modèle relationnel Historique.
Chapitre 3 La normalisation du modèle relationnel
Plan UE Introduction aux Bases de Données
Bases de données.
DOSSIER G10 – La base de données Relationnelle
Bases de données : modèlisation et SGBD
Sélection de colonnes (la projection)
Cours n°1 Introduction, Conception
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
Systèmes de gestion de BD
Conception d’une Base de Données Le Diagramme de Classes UML
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
ANALYSE LE MCD 1ère approche
ANALYSE LE MCD 1ère approche
Séance /10/2004 SGBD - Approches & Principes.
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
Initiation aux bases de données et à la programmation événementielle
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
1 Initiation aux bases de données et à la programmation événementielle Cours N°8 : Gestion de la cohérence avec des zones de liste déroulantes. Souheib.
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Introduction Module 1.
Le modèle logique des données relationnel
Bases de données – Cours 2
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

Modèle conceptuel : Entité Association Modèle logique : Relationnel Modélisation des BD Modèle conceptuel : Entité Association Modèle logique : Relationnel Conversion Normalisation

Démarche de construction d’une BD relationnelle Interview Documents Modélisation Entité association Schéma logique en Entité-Association Transformation en relationnel Schéma conceptuel en relationnel Thomas Devogele ISI 204

Démarche Analyse du problème et modélisation conceptuelle de la BD représentation informationnelle de l’organisation étudiée à l ’aide de méthodes : AXIAL, OMT, MERISE UML (étudié en VA) ... 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é Thomas Devogele ISI 204

Modèle Conceptuel des Données Entité - Association

Modèle ER entité-relation ou entité-association Modèle Conceptuel des Données (MCD) description statique du système d’information visé à l’aide : D’entité : D’association : D’attributs: Pas de modélisation des traitements Langage Graphique Thomas Devogele ISI 204

Entité permet de modéliser un ensemble d'objets concrets ou abstraits de même nature. représentent des phénomènes du monde réel (élèves, écoles). l'entité élèves représente tous les élèves de notre système d'information. Représentation graphique (rectangle) élèves écoles Thomas Devogele ISI 204

Association ou relation représentent les liens entre deux ou plusieurs entités.. Généralement 2 : associations binaires Exemple a pour école Représentation graphique (rectangle arrondi, ellipse, hexagone) élèves écoles a pour école Thomas Devogele ISI 204

Attributs Décrit les entités et les associations Exemple L’entité élèves a pour attributs : nom, prénom, pays, … L’entité école a des attributs : adresse, ville, … l ’association « a pour école »  a des attributs : date d’embarquement, date de débarquement Représentation graphique Élèves nom prénom pays a pour école date embarquement date débarquement Écoles adresse ville Thomas Devogele ISI 204

Types des attributs Les attributs sont de types simples entier flottant chaîne de caractères date Thomas Devogele ISI 204

Clé un ou plusieurs attributs permettant d’identifier, de façon unique, chaque occurrence d’une entité exemple num élève pour Elèves chaque élève doit avoir un numéro unique Représentation graphique (attribut(s) souligné(s)) Élèves num élève nom prénom pays Écoles num école adresse ville a pour école date embarquement date débarquement Thomas Devogele ISI 204

Cardinalité Les entités participant aux associations ont des cardinalités minimales et maximales. cardinalité minimale : nombre minimum de fois qu’une occurrence d’une entité participe aux occurrences de l ’association (O, 1, ...) cardinalité maximale : nombre maximum de fois qu’une occurrence d ’une entité participe aux occurrences de l ’association (1, n, ...) Exemple Une école à un ou plusieurs élèves Un élève à une et une seule école Thomas Devogele ISI 204

Cardinalité Représentation graphique Le nombre de gauche indique la cardinalité minimale, le nombre de droite indique la cardinalité maximale. Élèves num élève nom prénom pays Écoles num école adresse ville a pour école date embarquement date débarquement 1,1 1,n Thomas Devogele ISI 204

Cardinalité : exemples l’association « a pour époux » BD pays monogame BD pays polygame (homme) BD de la mairie (service mariage) BD historique homme femme a pour époux 0,1 homme femme a pour époux 0,N 0,1 homme femme a pour époux 1,1 a pour époux date début date fin cause fin 0,N 0,N homme femme Thomas Devogele ISI 204

Associations spécifiques Associations réflexives Représentation graphique (ajout obligatoire de rôles) Associations n-aires Représentation graphique (exemple de d’association ternaire) 0,2 humain a pour enfants parents 0,N enfants 1,N 1,N professeur enseigne classe 1,N matière Thomas Devogele ISI 204

Exemple Thomas Devogele ISI 204

Le modèle Logique Le modèle Relationnel

Le modèle relationnel Inventé par CODD en 1970 (IBM) fondement mathématique Basé sur les relation n-aire. algèbre relationnel langage d’interrogation simple déclaratif SQL Organisation des données en Tables (relations): des lignes (enregistrements ou n-uplets) des colonnes (champs ou attributs) Thomas Devogele ISI 204

Le modèle relationnel (2) Une BD relationnels Composés de plusieurs tables Les associations sont matérialisées par les valeurs d’attributs, non par des références physiques (pointeurs) Les tables Sont une représentation naturelle Thomas Devogele ISI 204

Exemple de BD relationnelle Intuitivement, il est possible de passer d’une table à une autre Thomas Devogele ISI 204

Concepts fondamentaux (1) Relation (table relationnelle, table) : caractérisé par: un nom des champs (attributs) qui correspondent aux noms de chacun des domaines mis en jeu (les colonnes) des n-uplets (tuples, enregistrements) qui correspondent à une ligne de la relation. chaque attribut, a une unique valeurs Personne Nom Prénom TRICHET Francky GILBERT Jacques ANDRE Pascal Thomas Devogele ISI 204

Concepts fondamentaux (2) Exemple la relation Client Thomas Devogele ISI 204

Concepts fondamentaux (3) Valeurs scalaires Une valeur scalaire représente la plus petite unité sémantique de données. Atomiques Nom d ’une ville ‘St Denis’ possède une sémantique ‘S’, ‘t’, ‘ ’, ‘D’, ‘e’ , ‘n’, ‘i’, ‘s’ n ’en possèdent pas Thomas Devogele ISI 204

Concepts fondamentaux (4) Domaine Ensemble nommé de valeurs scalaires toutes du même type Groupe de valeurs d’où sont extraites les valeurs effectives Exemple D1={rouge,vert, NULL}, D2={3,2, NULL} jours = {lundi, mardi, mercredi, jeudi, vendredi, samedi, dimanche, NULL} couleurs = {rouge, vert, bleu, jaune, ... , pourpre, NULL} âges = [0, 125]  NULL salaires = R+  NULL Tous les domaines ont une valeur NULL qui représente soit Valeur inconnue Pas de valeur la valeur NULL est différente de la valeur zéro. Thomas Devogele ISI 204

Concepts fondamentaux (5) Produit Cartésien d’un ensemble de domaines D1, D2 ... Dn l’ensemble des n-uplets {<v1,v2,…,vn>} tels que vi Di D1 × D2 = {<rouge,3>,<rouge,2>,<vert,3>,<vert,2>, <rouge,NULL}, <vert, NULL>, <NULL,3>, <NULL,2>, <NULL,NULL> } Thomas Devogele ISI 204

Concepts fondamentaux (5) Relation Une relation R sur un ensemble de domaines D1, D2, …, Dn est constituée de deux parties L ’en-tête : ensemble fixé d ’attributs (<nom-attribut : nom-domaine>) {<A1 : D1>, <A2 : D2>, …, <An : Dn>} Chaque attribut Aj prend ses valeurs dans Dj et les noms des attributs sont distincts Thomas Devogele ISI 204

Concepts fondamentaux (6) Relation Le corps : ensemble de n-uplets (<nom-attribut : valeur-attribut>) {<A1 : vi1>, <A2 : vi2>, …, <An : vin>} pour le n-uplet i Tout couple attribut - valeur doit correspondre à un couple attribut - domaine de l’en-tête et toute valeur vij  Dj Le corps est un sous-ensemble du produit cartésien Le corps est un ensemble non ordonnée Chaque n-uplet est unique (Impossible d’avoir 2 n-uplets qui ont exactement les mêmes valeurs) Thomas Devogele ISI 204

Concepts fondamentaux (7) Attribut Colonne d’une relation caractérisée par un nom Pas d ’ordonnancement des attributs référence par nom Les valeurs des attributs sont homogènes :Elles appartiennent au même domaine atomiques : Une unique valeur pour chaque attribut de chaque n-uplet) NF PRODUIT NF NP QTE NP QTE F1 F2 P1 100 P2 350 P3 175 F1 P1 100 F1 P2 350 F2 P3 175 Thomas Devogele ISI 204

Concepts fondamentaux (8) Degré d’une relation nombre d’attributs Cardinalité d’une relation nombre de n-uplets Thomas Devogele ISI 204

Concepts fondamentaux (9) Exemple rouge, vert, gris, jaune bleu, blanc, noir Domaine Attribut Cardinalité 8 n-uplet Degré 5 Thomas Devogele ISI 204

Concepts fondamentaux (10) Deux facettes du concept de table relationnel Schéma d’une table (intention) Définition de son type (sa structure) Décrit par le nom de la table puis entre parenthèse les noms des attributs Ex. Client(n°Client, nom, prénom) Instance d’une table (extension) État de la table à un instant donné Ensemble de n lignes (enregistrements) Schéma d’une BD relationnel Ensemble de schémas des tables Thomas Devogele ISI 204

Exemple de BD relationnelle Le schéma : produits(pno,design,prix,poids,couleur) fournisseurs(fno,nom,adresse,ville) commandes(cno,fno,pno,qute) Thomas Devogele ISI 204

Les contraintes d’intégrité les clés primaires Les clés étrangères Contraintes et clés Les contraintes d’intégrité les clés primaires Les clés étrangères

Contraintes d’intégrité (1) A tout instant la base représente une partie du monde réel à travers une configuration particulière des valeurs des données Mais il faut restreindre l’ensemble des états possibles de la BD par exemple éviter les erreurs Certaines configurations des valeurs n’ont pas de sens exemple age d ’une personne = -35 Thomas Devogele ISI 204

Contraintes d’intégrité (2) Comment ? Lors de la programmation, vérifier les données entrées Exemple : la balance des paiements doit être équilibré Ajouter des contraintes : règles d’intégrité au niveau du SGBD pour obliger que la contrainte soit vraie. Thomas Devogele ISI 204

Contraintes d’intégrité (3) Exemple de contraintes d’intégrité Le numéro de produit (pno) doit être sous la forme de 3 chiffres La valeur de l’attribut couleur doit appartenir à l’ensemble {rouge, vert, gris, jaune, bleu, blanc, noir } La quantité commandé (qute) doit être positive La valeur de pno de la table commandes, doit être une valeur d’un pno de la table produits Thomas Devogele ISI 204

Intégrité et clés Propriétés d’intégrité générale Clé unique clés uniques clés candidates et clés primaires clés étrangères Clé unique Un ensemble de colonnes de la table est dite clé unique si deux lignes de la table ne peuvent pas avoir les mêmes valeurs. Identifie de manière unique une ligne de la table Une clé composée est un ensemble contenant plusieurs colonnes Thomas Devogele ISI 204

Clés candidates (1) Définition Remarque : une clé unique minimale est dite clé candidate Ensemble minimal d’attributs dont la connaissance des valeurs permet d’identifier un n-uplet unique de la relation considérée Chaque relation contient au moins une clé candidate Remarque : Une clé candidate ne peut pas avoir de valeur NULL Thomas Devogele ISI 204

Clés candidates (2) Clés candidates Propriétés Soit R et une relation et soit K un ensemble d’attributs (clé candidate) Unicité :  t1 et t2 R, K(t1) ≠ K(t2 ) Irréductibilité : il n ’existe pas d’ensemble L tel que L  K et L clé candidate Thomas Devogele ISI 204

Clés candidates (3) Clés candidates Utilité mécanisme d’adressage au niveau des n-uplets d’une table Exemples Professeur WHERE MAT = 34560, produit un seul n-uplet en résultat Professeur WHERE AN_ENT = 1994, va produire un nombre imprévisible de n-uplets en résultat Thomas Devogele ISI 204

Clés primaire (1) Définition Propriétés Parmi les clés candidates, il y en a une qui est choisie comme la clé primaire. La clé primaire est utilisée pour faire référence aux lignes d’une table. Propriétés Une clé choisie parmi l’ensemble des clés candidates Le choix est arbitraire Peux se faire selon des heuristiques Plus simple par exemple Les attributs formant la clé primaire d’une table relationnelle sont soulignés dans le schéma Thomas Devogele ISI 204

Clés primaire (2) Exemple ETUDIANT(matricule, nom, prénom, adresse, num-insee) Etudiant (Code_per, Nom, Prenom, Adresse, Date_nais, Lieu_nais, NASS) Quelles sont les clés candidates ? Quelle clé primaire choisir ? Clé primaire Clé candidate Thomas Devogele ISI 204

Clé étrangère (1) Définition Une clé étrangère est un ensemble d’une ou de plusieurs colonnes d’une table qui fait référence à une clé primaire d’une autre table.” Soir R2 une relation, un sous-ensemble d’attributs FK dans R2 est dit clé étrangère dans le cas où : il existe une relation R1 avec une clé candidate CK (R1 peut être R2) à tout instant, chaque valeur de FK dans R2 est identique à une valeur de CK dans R1 Thomas Devogele ISI 204

Clé étrangère (2) Propriétés Il n’est pas nécessaire d’avoir pour toute valeur de CK dans R1 une valeur identique de FK dans R2 Une clé étrangère est composée ou simple Chaque attribut d’une clé étrangère doit être défini sur le même domaine que son équivalent dans la clé candidate correspondante Une clé étrangère peut avoir pour valeur NULL Thomas Devogele ISI 204

Clé étrangère (3) Un attribut d’une clé étrangère peut faire partie d’une clé primaire de sa relation Employe (Mat, Nom, …) Projet (Num, Designation, …) Role (Mat, Num, role) Pour Role l’attribut Mat fait partie de la clé primaire et est une clé étrangère (vers Employe) Pour Role l’attribut Num fait partie de la clé primaire et est une clé étrangère (vers Projet) Thomas Devogele ISI 204

Clé étrangère (4) Diagramme référentiel Projet Employe Role Dept représentation graphique des références Employe Projet Role Dept Thomas Devogele ISI 204

Clé étrangère (5) Exemple Employe (mat, nom, adresse, dept, superieur) Projet (num, designation) Departement (dept, directeur, nom) Role (mat, num, role_emp) Remarques : directeur et superieur ont pour valeur des valeurs prisent par mat Le couple mat, num est la clé primaire de Role Mat est la clé primaire de la table Employe et est une clé étrangère de la table Role Thomas Devogele ISI 204

Clé étrangère (6) Intégrité référentielle La base de données ne doit pas contenir une valeurs de clé étrangère non « unifiable » C’est-à-dire : une clé étrangère non nulle doit faire référence à une valeur existante de la clé primaire correspondante Cette contrainte est dite référentielle Conséquence : Il faut créer et détruire les n-uplets dans un ordre particulier Thomas Devogele ISI 204

Exemple de BD relationnelle Le schéma : produits(pno,design,prix,poids,couleur) fournisseurs(fno,nom,adresse,ville) commandes(cno,fno,pno,qute) Question : peut on supprimer cno ? Thomas Devogele ISI 204

Conversion du modèle conceptuel en modèle logique ER  Relationnel

Conversion des entités chaque entité devient une table attributs  colonnes clé  clé primaire occurrences  n-uplets Exemple Élèves num élève nom prénom pays  eleves (numeleve, nom, prenom, pays) Thomas Devogele ISI 204

conversion des associations binaires (1) Association ...,1  ...,N exemple recopie de la clé de Écoles en tant que colonne de Élèves (clé étrangère) migration des attributs de l’association en tant que colonne de Élèves ecole(num_ecole, nom, adresse, ville) eleve( num_eleves, nom, prénom, pays,num_école, date_embarquement, date débarquement) Élèves num élève nom prénom pays Écoles num école adresse ville a pour école date embarquement date débarquement 1,1 1,n Thomas Devogele ISI 204

conversion des associations binaires (2) Association ...,N  ...,N création d’une nouvelle table avec comme colonnes, les clés de homme et de femme création de colonnes pour les attributs de l’association homme femme a pour époux date début date fin cause fin 0,N tables relationnelles correspondantes homme (numhomme…), femme (numfemme…), a_pour_epoux (numhomme, numfemme, date_debut, date_fin, cause_fin…), Clé de a_pour_epoux ??? Thomas Devogele ISI 204

conversion des associations binaires (3) Clés primaires de tables relationnelles représentant des associations Association ...,N  ...,N Remarques : Il faut une clé primaire unique Les attributs clés primaires des entités associées font partie de la clé Pas toujours suffisant Exemple Si impossible de se remarier avec son ancien conjoint a_pour_epoux (numhomme, numfemme, date_debut, date_fin, cause_fin…) Si possible de se remarier avec son ancien conjoint Thomas Devogele ISI 204

Exemple de conversion des associations binaires tables relationnelles correspondantes homme ( numhomme… numfemme), femme (numfemme…) ou homme ( numhomme…), femme (numfemme… numhomme) homme femme a pour époux 0,1 Thomas Devogele ISI 204

Exemple de conversion des associations binaires Produits pno design prix poids couleur Commandes cno Fournisseur fno nom adresse ville Concerne qute Est passé à 1,N 1,1 Les tables relationnelles correspondantes : Produits(pno,design,prix,poids,couleur) Fournisseurs(fno,nom,adresse,ville) Commandes(cno, qute fno,pno) Thomas Devogele ISI 204

conversion des associations binaires Fonction des cardinalités max min des entités E1 et E2 (0,1) et (0,1) recopie de la clé de E1 en tant que colonne de E2 (ou inverse) migration des attributs de l’association en tant que colonne de E2 (0,1) et (1,1) (ou inverse) recopie de la clé de E1 en tant que colonne de E2 (1,1) et (1,1) (-,N) et (-,1) (ou inverse) (-,N) et (-,N) création d’une table avec comme colonnes, les clés de E1et E2 création de colonnes pour les attributs de l’association Thomas Devogele ISI 204

conversion des associations N-aires (N >2) professeur enseigne classe 1,N matière création d’une nouvelle table avec comme colonnes, les clés Professeur (numprof…) Classe (numcla…) Matiere (nummat…) Enseigne (numprof,numcla, nummat) Thomas Devogele ISI 204

Conversion des associations réflexives 0,2 humain a pour enfants parents 0,N enfants Humain(num, nom, prénom) A_pour_enfants(num_parent,num_enfant) Thomas Devogele ISI 204

Conversion des associations réflexives 0,1 humain a pour père père 0,N enfants Humain(num, nom, prénom, num_père) Thomas Devogele ISI 204

Les principes de normalisation Les 3 formes normales et les Dépendances Fonctionnelles

La normalisation objectif de la normalisation 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 Repose sur l’analyse des dépendances entre attributs moyen : décomposer les relations sujettes à redondance conserver la possibilité de reconstituer les relations originelles en combinant les n-uplets des tables (jointure) Thomas Devogele ISI 204

La normalisation : exemple Une entreprise de vente de bateaux qui souhaite constituer un système d ’information relatif à leur activité Achats(IdClient, NomClient, PrénomClient, AdresseClient, ImmatriculationBateau, ModèleBateau, LongueurBateau, DateAchat, MontantAchat) Problèmes potentiels redondance de données : une personne qui achète plusieurs bateaux incohérence suite à une Mise à jour : 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 bateau lorsqu’un client vend son bateau, il est supprimé du système d’information Thomas Devogele ISI 204

Comment normaliser ? Décomposition des relations jusqu’à ce que toutes respectent les 3 Formes Normales suivantes : Première Forme Normale 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 Thomas Devogele ISI 204

Dépendance Fonctionnelle Définition Deux groupes d’attributs X et Y de la relation R sont en Dépendance Fonctionnelle si dans R, chaque valeur de X détermine une et une seule valeur de Y si je connais la valeur de X alors je connais la valeur de Y une DF est une assertion sur toutes les extensions possibles d’une relation et pas uniquement sur ses n-uplets actuels Exemple : ensemble de DF pour une table Thomas Devogele ISI 204

Seconde Forme Normale Condition Exemple Première Forme Normale 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. Exemple pretK7 (numcli, numk7,nomcli,adrcli,titrek7,dateprêt) DF numcli  nomcli, adrcli numk7  titrek7 numcli, numk7 dateprêt pretK7 n ’est pas en 2 FN car nomcli dépend uniquement de numcli et pas de numcli et de numk7 … décomposition à l’aide des DF client (numcli, nomcli,adrcli) K7 (numk7,titrek7) prêt (numcli, numk7,dateprêt) Thomas Devogele ISI 204

Troisième Forme Normale Condition Seconde Forme Normale (2FN) Aucun de ses attributs non-clés dépend d’un autre attribut non-clé ; il n ’existe pas de DF entre 2 attributs non-clés Exemple ville(num_ville, nom_ville, num_dept, nom_dept) DF num_ville  nom_ville, num_dept, nom_dept num_dept  nom_dept ville n’est pas en 3 FN car nom_dept dépend de num_dept décomposition à l’aide des DF ville(num_ville, nom_ville, num_dept) dept(num_dept, nom_dept) Thomas Devogele ISI 204