1.91k likes | 2.62k Views
Les Bases de données relationnelles. de la théorie à la pratique. Mohammed BENJELLOUN Service d’Informatique Faculté Polytechnique de Mons Mohammed . Benjelloun @fpms.ac.be 2006-2007. Objectifs .
E N D
Les Bases de données relationnelles de la théorie à la pratique Mohammed BENJELLOUN Service d’Informatique Faculté Polytechnique de Mons Mohammed.Benjelloun@fpms.ac.be 2006-2007
Objectifs - Comprendre les concepts et techniques sur lesquels reposent les fonctions principales d'un système de gestion de bases de données.- Pouvoir représenter dans une base de données le contenu d'information d'un domaine d'application. - Pouvoir utiliser ces fonctions pour mettre en oeuvre une application simple reposant sur une base de données (Analyse, conception, structuration des données, mise en oeuvre d’une base de donnée relationnelles avec intéraction... ). Contenu • L'approche base de données • Conception d'une base de données • Bases de données relationnelles • Pratique d'un SGBD
Etapes et Démarche de modélisation 1. Analyse de la situation existante et des besoins 2. Création d'une série de modèles qui permettent de représenter tous les aspects importants 3. A partir des modèles, implémentation d'une base de données
Un modèle de base de données est un ensemble d’éléments qui décrit les données et permet d’exprimer les propriétés et les liens entre ces données. Le modèle est souvent représenté de manière graphique. Il se compose d’une description des données et de leurs relations ainsi que d’un ensemble de contraintes concernant la valeur que peuvent prendre les données ou concernant les liens qui les relient. Un schéma de base de données est une description de la structure des données à gérer via l’utilisation d’un langage déterminé.
Définitions Information :Une information est un élément qui permet de compléter notre connaissance sur un objet, un événement, une personne ... . Exemple: Le nom d'une personne est une information concernant cette personne. Système d'information :Un système d'information est constitué par l'ensemble desinformations relatives à un domaine bien défini. Exemple: Librairie : stock, commandes, ventes … Un S. I. existe indépendamment des techniques informatiques. Il contient les données et les traitements nécessaires pour assimiler et stocker les informations entrantes et produire les informations sortantes.
Définitions Base de données : Une base de données (BD) est unensemble bien structuré de donnéesrelatives à un sujet global. Ces données peuvent être de nature et d'origine différentes. Les donnéessont desfaits, connuset qui ont unsenspour l’utilisateur. Ces données doivent avoir unerelation entre elles. “collection de données enregistrées ensemble, sans redondance pénible ou inutile, pour servir plusieurs applications, on y enregistre les données de façon à ce qu’elles soient indépendantes des programmes qui les utilisent, on utilise une approche commune et contrôlée pour ajouter, modifier, retrouver des données”. James Martin Collection de données persistantes utilisées par des systèmes d’application de certaines entreprises …
Définitions Une base de données correctement construite permet de partager les données entre plusieurs utilisateurs, de restreindre l’accès ou la modification des données, d’assurer l’intégrité des données et d’équilibrer les conflits des besoins tout en réduisant les redondances et en évitant les incohérences Exemples:FPMs ⇨ BD ⇨ sur tous les étudiants. Une banque ⇨ BD ⇨ sur tous les clients. Une société d'assurances ⇨ BD ⇨ contrats d'assurances et sinistres.
Qu'attendre Pourqoui ---- une base de données ? Lorsqu’on a besoin d’organiser les données en un ensemble structuré et : • Contrôle centralisé des données • Redondance réduite • Incohérence évitée • Données partagées • Normes imposées • Restrictions de sécurité possibles • Intégrité assurée (36/15/2005 est impensable) • Conflits des besoins équilibrés • Et stocker, consulter, modifier des informations
SGBD Système de gestion de bases de données : Un système de gestion de bases de données (SGBD) est unprogrammequi permet lareprésentation informatique des données,qui nous permet decréer, demodifieret d'exploiterdes bases de données. Ce système constitue donc notre interface pour accéder aux données. SGBD BD • logiciel gérant une BD. Il permet à un utilisateur de communiquer (requêtes) avec une base de données pour : - décrire et organiser les données sur les mémoires, • - rechercher, sélectionner et modifier les données.
Qu'attendre Pourqoui ---- un SGBD? Un SGBD assure - la description des données, - leur recherche et mise à jour, - la sûreté : vérifier les droits d’accès des utilisateurs ; limiter les accès non autorisés ; crypter les informations sensibles - la sécurité : sauvegarde et restauration des données ; limiter les erreurs de saisie, de manipulation - l’intégrité : définir des règles qui maintiennent l’intégrité de la base de données (contraintes d’intégrité) - la concurrence d’accès : détecter et traiter les cas où il y a conflit d’accès entre plusieurs utilisateurs et les traiter correctement. SGBD
SGBD +ieurs MODELES de BASES de DONNEES •a)le modèle hiérarchique: les données sont classées hiérarchiquement, selon une arborescence descendante. Ce modèle utilise des pointeurs entre les différents enregistrements. Le plus ancien, peu souple. •b)le modèle réseau: Comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements. Moyennement souple, complexe pour le développement, performance moyenne. •c)le modèle relationnel (SGBDR, Système de gestion de bases de données relationnelles): les données sont enregistrées dans des tables. La manipulation de ces données se fait selon la théorie mathématique des relations , théorie ensembliste. (du mathématicien CODD). Fort souple, aisé à développer. •d)le modèle objet (SGBDO, Système de gestion de bases de données objet): les données sont stockées sous forme de classes. fort souple, aisé à développer •b) •a) •d) •c)
Les caractéristiques L'architecture à trois niveaux définie par le standard ANSI/SPARC permet d'avoir une indépendance entre les données et les traitements. D'une manière générale un SGBD doit avoir les caractéristiques suivantes: SGBD • • Indépendance physique: Le niveau physique peut être modifié indépendamment du niveau conceptuel. Cela signifie que tous les aspects matériels de la base de données n'apparaissent pas pour l'utilisateur, il s'agit simplement d'une structure transparente de représentation des informations • • Manipulabilité: des personnes ne connaissant pas la base de données doivent être capables de décrire leur requêtes sans faire référence à des éléments techniques de la base de données • • Rapidité des accès: le système doit pouvoir fournir les réponses aux requêtes le plus rapidement possible, cela implique des algorithmes de recherche rapides • • Administration centralisée: le SGBD doit permettre à l'administrateur de pouvoir manipuler les données, insérer des éléments, vérifier son intègrité de façon centralisée • • Limitation de la redondance: le SGBD doit pouvoir éviter dans la mesure du possible des informations redondantes, afin d'éviter d'une part un gaspillage d'espace mémoire mais aussi des erreurs • • Vérification de l'intégrité: les données doivent être cohérentes entre elles, de plus lorsque des éléments font références à d'autres, ces derniers doivent être présents • • Partageabilité des données: le SGBD doit permettre l'accès simultané à la base de 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 selon les utilisateurs
Modèle relationnel • Les concepts mis en oeuvre dans le modèle relationnel sont fondés sur une théorie mathématique directement issue de l'algèbre relationnelle, de la théorie des ensembles et de la logique formelle. • Cette technologie a vu le jour dans les années 70 avec les travaux de Codd • • * Objets simples : table, ligne, colonne • * Basé sur des objets mathématiques bien connus : • - Relation, n-tuple, ensemble, etc. • * Opérations d'interrogation • - Sélection, projection, jointure • Actuellement le modèle le plus répandu (de loin) • 1980 : Les systèmes de gestion de bases de données relationnels apparaissent sur le marché. • 1990 : Les systèmes de gestion de bases de données relationnels dominent le marché.
Manipulations relationnelles, en général exprimées en SQL, transforment des tables en une table Algèbre Relationnelle Les objectifs du modèle relationnel : · proposer des schémas de données faciles à utiliser, · fournir une approche méthodologique dans la construction des schémas. · améliorer l'indépendance logique et physique, · mettre à la disposition des utilisateurs des langages de haut niveau pouvant éventuellement être utilisés par des non informaticiens, · optimiser les accès à la base de données, · améliorer l'intégrité et la confidentialité, Les données sont perçues par l’utilisateur comme des tables • JOIN: relie 2 tables grâce aux valeurs communes de 2 colonnes communes
Opérations relationnelles • Sélection : • Projection • Restriction • Jointure • Division • Agrégation • Opération suppl. • Mise à jour • Création d ’une vue
Liste non exhaustive de SGBD relationnels : • Adabas de Software AG • Access de Microsoft • DB2 : IBM • Informix : Unix • Ingres : Vax, IBM, Sun, HP, Dos • MS-sql • MySQL (logiciel libre) • Oracle : Oracle (multi plateforme) • Progress : Unix, Dos, VMS, OS/2 • PostgreSQL (logiciel libre) • SqlServer de Microsoft • Sybase de Sybase
ES ES ES CS IS • Mise en oeuvre d’un SGBD • On distingue trois niveaux d’appréhension définis par la norme ANSI/SPARC (architecture de référence d'un SGBD). A chaque niveau correspond un schéma de représentation : • le niveau interne avec le schéma physique • Description du stockage des données au niveau des unités de stockage • le niveau conceptuel avec le schéma conceptuel • Description de la structure des données de la base, description de leurs propriétés (relations qui existent entre elles), sans soucis d'implémentation physique ni de la façon de s'en servir. • le niveau externe avec les vues (comment l’utilisateur voit les données) • Description pour chaque utilisateur de sa perception des données.
ESs : Schémas Externes CS : Schéma Conceptuel IS : Schéma Interne ES ES ES • L'administrateur aura pour rôle : • la conception du modèle à partir du monde réel à représenter, • le réglage du schéma physique pour certaines optimisations de performances, • le maintien de la base de données physique, • la description des schémas externes à l'usage des utilisateurs finaux. CS IS
ES ES ES CS IS Schémas Externes (ESs) • Définit une vue de la BD • Vues SQL, Vbasic, orientés Web notamment (HTML, XML…) … • Une BD est en général munie de plusieurs différentes ESs • Mais tous ont le CS comme racine commune
Comment transformer les objets? Comment ils seront stockés? Comment y accèdes? Schéma Interne (IS) CS Schéma Conceptuel • Merise • Merise est une des méthodes de conception et de développement de projets informatiques. Cette méthode date de 1978-1979, et fait suite à une consultation nationale lancée en 1977 par le ministère de l’Industrie français dans le but de choisir des sociétés de conseil en informatique dont la mission était de définir une méthode de conception de systèmes d’information. • Une des techniques permettant de concevoir une base de données relationnelle est basée sur cette méthode. En effet, une des caractéristiques principales de la méthode Merise est la séparation des données et des traitements du futur système d’information.
Objets relationnels: domaines et relations Terme relationnel formelEquivalent informel • relation relation perçue entre entités (!!table) • n-uplet ligne ou enregistrement • cardinalité nombre de lignes • attribut colonne ou champ • degré nombre de colonnes • clé primaire identificateur unique • clé étrangère référence = attribut principal ailleurs • domaine Ensemble de valeurs légales (ensemble des valeurs d’un attribut)
Les composants d'une base de données relationnelle Quatre types d'objets. Tables, Requêtes, Formulaires, Rapports. 1. Les Tables Une table est une collection de données relatives à un domaine bien défini. Table : Employés_Disney Enregistrement, N_Uplet Valeurs de l’attribut Un champ de données (Attribut)
Formuler la requête Analyser et Exécuter la requête Résultat de la requête Clé primaire Pour identifier de manière unique chaque enregistrement de la table. La clé primaire, constituée d'un ou de plusieurs champs, nous permet d'identifier de manière unique chaque enregistrement d'une table. Pour définir des liens entre plusieurs tables la clé primaire est indispensable. 2. Les requêtes (angl. Queries) Les requêtes≡ "questions" qu'on pose au SGBD. Le résultat est toujours un sous-ensemble d'une ou de plusieurs tables. Il existe 4 types de requêtes: 1. Requêtes de sélection. Select 2. Requêtes d'insertion. Insert 3. Requêtes de modification. Update 4. Requêtes de suppression. Delete Pour chaque requête nous retrouvons le cycle suivant:
3. Les formulaires (angl. Forms) Les formulaires pour ajouter, modifier ou supprimer des données dans les tables. Les formulaires offrent certains avantages:facilité d'utilisation, sécurité des donnée 4.Les rapports (angl. Reports) Pas de dialogue interactif avec l'utilisateur. Un rapport se base généralement sur une ou plusieurs tables ou le résultat d'une requête.
Niveaux d’abstraction • Cahier des charges en accord avec le client (activité et besoins) • créer une représentation virtuelle de la réalité. • produire quatre modèles de données relatifs à quatre niveaux d’abstraction. • Le niveau conceptuelidentifie et décrit formellement l’ensemble des informations du domaine géré par le futur système d’information. Ce niveau amène donc le concepteur à construire une représentation formelle de la signification des données. • Le niveau organisationnelexprime la répartition organisationnelle des données informatisées, la sécurité des données par rapport aux acteurs des unités organisationnelles et précise quelles sont, parmi les données définies au niveau conceptuel, celles qui seront prises en compte par le futur système informatisé. On ne développera pas cet aspect vu qu’il dépend fortement de l’environnement d’intégration du système d’information. • Le niveau logiquefournit une description des données prenant en compte les moyens informatiques de mémorisation et l’implémentation du système par un SGBD. C’est également ici que l’on retrouvera l’algèbre relationnelle. • Le niveau physiqueexprime les choix techniques et décrit les données de la base de données dans la syntaxe du système de gestion adopté.
Cycle d'abstraction de conception des S.I. La conception du système d'information se fait par étapes, afin d'aboutir à un système d'information fonctionnel reflétant une réalité physique. Il s'agit donc de valider une à une chacune des étapes en prenant en compte les résultats de la phase précédente. D'autre part, les données étant séparées des traitements, il faut vérifier la concordance entre données et traitement afin de vérifier que toutes les données nécessaires aux traitements sont présentes et qu'il n'y a pas de données superflues. Cette succession d'étapes est appelée cycle d'abstraction pour la conception des systèmes d'information:
Réel Perçu Analyse MCD Schéma Conceptuel MLD Schéma Logique MPD Donc la démarche classique d'un projet en BD comprend les étapes suivantes: 1. Analyse de la situation existante et des besoins 2. Création d'une série de modèles qui permettent de représenter tous les aspects importants 3. A partir des modèles, implémentation d'une base de données Méthodologie pour traduire un système d'information naturel en une base de données Univers de l’application Niveaux d’abstractions Elaboration du Modèle E-R Niveau Conceptuel Passage au Modèle Relationnel Niveau Logique Implémentation Sur SGBD-R Niveau Physique
Elaboration du Modèle E-R Niveau Conceptuel Passage au Modèle Relationnel Niveau Logique Implémentation Sur SGBD-R Niveau Physique Application? Choix de l’application / groupe Rapport Univers de l’application Def. Dom. C.Chg Schéma Conceptuel Schéma Logique Schéma Physique Implémentation Sur SGBD-R
1er rapport : mars 2006 Cahier de charges. 2ème rapport : ….. Cahier de charges et MCD. 3ème rapport : ….. Rapport final Votre rapport doit respecter scrupuleusement la table des matières suivante : 1. Cahier de charges de l’application 2. MCD 3. MLD 4. MPD (qlq tables et relations) 5. Implémentation 6. Conclusion 7. Explications du fonctionnement de votre base de données Utilisez : Formulaires, index, requêtes, rapport. Pouvoir faire : Trier, exécuter des requêtes en SQL, utiliser des macros en SQL. Genre de documents à éditer : Liste alphabétique des clients,( étudiants, … ) par ville (secteur …) .. Liste par chiffre d’affaire des clients (moyenne pour les étudiants) … Lors de la conclusion : Les besoins futurs ! N’oubliez pas de joindre une disquette ou un CD de votre base de données. Indiquez aussi les noms des étudiants qui composent le groupe sur le support informatique et le rapport. Quelles seront les évolutions possibles de votre base de données ?
Analyse Elaboration du Modèle E-R Niveau Conceptuel Schéma Conceptuel 1. Le niveau conceptuel, se base directement sur l'analyse, c’est une représentation du monde réel par un seul modèle. Ildécrit, de façon formelle, l'ensemble des données du système d'information, sans tenir compte de l'implémentation informatique de ces données. Ce niveau représente donc la signification des données, se traduit par un formalisme que nous appelons: Modèle conceptuel des données MCD Permet de définir les informations pertinentes pour l’application et d’envisager leur structure. Doit refléter le plus fidèlement possible la réalité à modéliser dans la BD, à tout niveau : données, relation, contraintes de cohérence de données, ..
La construction du schéma conceptuel comporte normalement les étapes suivantes : • Définir les objectifs • Analyser la réalité • Tracer le schéma conceptuel Pour la construction du modèle conceptuel, beaucoup de méthodes ont été mises en place mais aucune ne donne réellement satisfaction. On peut cependant les répartir en deux catégories : modélisation directe : Elle consiste à identifier, à partir d’une description exprimée en langage naturel, les entités et les associations en appliquant les règles suivantes : les noms deviennent des entités les verbes deviennent des associations La partie analytique consiste essentiellement à transformer des phrases décrivant certains aspects de la réalité en entités, relations et cardinalités.
modélisation par analyse des dép. fonctlles Identifier toutes les propriétés du S.I. à analyser. Cette étape aboutit au dictionnaire des données épuré qui devra comporter ni synonyme, ni donnée calculée ... Il semble que la bonne approche de construction d’un modèle conceptuel des données soit un compromis entre la méthode directe, qui laisse une large part à l’intuition et la méthode basée sur l’étude des dépendances fonctionnelles. Quelle que soit la technique utilisée, le modèle doit être vérifié, normalisé et enrichi de concepts étendus pour représenter le plus fidèlement possible l’application.
Implémentation Sur SGBD-R Schéma Physique Niveau Physique Passage au Modèle Relationnel Niveau Logique Schéma Logique 2. Le niveau logique se base sur le modèle conceptuel des données. Ce niveau introduit la notion des tables logiques, et constitue donc le premier pas vers les tables des SGBD. Ce niveau est représenté par le: Modèle logique des données : MLD 3. Le niveau physique, qui se base sur le modèle logique des données, contient finalement toutes les définitions et détails relatifs à l'utilisation d'un SGBD spécifique (p.ex. Access, dBASE, Oracle, Caché ...). A partir de ce niveau, on peut directement créer la base de données. Ce niveau est représenté par le: Modèle physique des données : MPD
CLIENT Commande Numéro Nom … Numéro Date Quantité Le schéma conceptuel Un des modèles possibles pour le schéma conceptuel est le modèle “entité-association”. Proposé par Peter Chen en 1976, il est notamment utilisé dans la méthodologie Merise. Traduire l’analyse du système réel établie préalablement en entité, en relations, en propriétés et en cardinalités. Une entité permet de modéliser un ensemble d’objets de même nature. 1,N 1,1 Passer Les relations sont des liens sémantiques qui peuvent exister entre plusieurs entités. Les “cardinalités” représentent le nombre possible d’interactions entre les entités et les “attributs” .
PRODUIT COMMANDE No Prod Désignation Prix Unitaire No Cde Date Cde Le Modèle Conceptuel des Données (MCD) Analyse ⇨ (MCD) : "Schéma Entité-Relation"ou"Schéma Entité-Association". Relation ou Association ENTITE Nom d’entité Nom de la Relation CONCERNER Quantité Cdée Propriété de la Relation Propriété d’entité
PRODUIT No Prod Désignation Prix Unitaire ENTITE Dans l'exemple, l'entité Produit∑ produits S.I.. et l'entité Commande ∑ commandes S.I. NOM Identifiant Attributs L'identifiant est une propriété (une ou plusieurs) particulière d'un objet telle qu'il n'existe pas deux occurrences de cet objet pour lesquelles cette propriété pourrait prendre une même valeur. Un identifiant est une colonne dont les valeurs permettent de repérer une seule ligne Le choix d'un identifiant correcte est très important pour la modélisation: Choix ?
Choix ? • Comme choix pour l'identifiant d'une entité nous distinguons généralement 3 possibilités: • Une propriété naturelle • Exemple:Le nom d'un pays pour une entité Pays • 2. Une propriété artificiellequi est inventée par le créateur du MCD • Exemple:Le numéro d'un client pour une entité Client, Produit, Commande, … • 3. Une propriété composéed'autres propriétés naturelles • Exemple:Le nom et la localité pour une entité Entreprise Le modèle conceptuel des données propose de souligner les identifiants
Attributs • caractéristiques des entités • obligatoires ou facultatives • avec un domaine (type) de valeurs Personnes CLIENT VEHICULE No Nom Adresse No_Matric. Marque Modèle Année Cylindrée ID_Personne Nom Prénom Sexe Email Adresse • Qu'est ce qu'un bon schéma Entité-Relation (« formes normales ») ? • ni perte d'information ni redondance • contraintes (d’intégrité) entre les valeurs des attributs • le but: indépendance / applications (vues particulières)
CLIENT VEHICULE CONTRAT APPARTIENT No Nom Adresse SIGNE No Marque Modèle Année Cylindrée No Type Date Obtenir Personnes Diplômes ID_Personne Nom Prénom Sexe Adresse Téléphone Email Code_diplôme Titre_diplôme Abréviation Associations ou Relations Année_d_obtention
La notion de relation Une relation décrit un lien entre deux ou plusieurs entités. Chaque relation possède un nom, qui est généralement constitué par un verbe à l'infinitif. Chaque relation a implicitement un identifiant, qui est composé par les identifiants des entités auxquelles elle est liée. Passer LAC RIVIERE Déverser CLIENT Commande Numéro Nom Prénom Adresse Code_postal Localité Numéro Date Quantité Décharge EMPLOYE CONJOINT N° Matricule MCD Relation binaire Relation ternaire Relation réflexive (relation récursive)
CLIENT Commande Numéro Nom Prénom Adresse Code_postal Localité Numéro Date Quantité Cardinalité Les cardinalités précisent la participation de l'entité concernée à la relation. cardinalité minimalecardinalité maximale 1,N 1,1 Passer Entrel'entité CLIENTet larelation Passer, nous avons les cardinalités suivantes: *Cardinalité minimale =1,ce qui veut dire que chaque client passe au moins une commande. *Cardinalité maximale=N,ce qui veut dire que chaque client peut passer plusieurs (N) commandes. Entrel'entité Commandeet larelation Passer, nous retrouvons les cardinalités suivantes: *Cardinalité minimale = 1, donc chaque commande est passée par au moins un client. * Cardinalité maximale =1, chaque commande est passée au maximum par un seul client.
Utiliser 0,N 1,N Entre l'entité Employé et la relation Utiliser, nous avons: · Cardinalité minimale = 0 Certains employés n'utilisent pas d'ordinateur · Cardinalité maximale = N Employé Ordinateur PRODUIT COMMANDE No Prod Désignation Prix Unitaire No Cde Date Cde Numéro Nom Prénom Adresse Code_postal Service Numéro_PC Type Configuration Une occurrence de commande est concernée au moins 1 fois. Une occurrence de commande peut être concernée plusieurs (N) fois. Une occurrence de produit peut ne pas être concernée (0). Une occurrence de produit peut être concernée plusieurs (N) fois. Entre l'entité Ordinateur et la relation Utiliser, nous avons: · Cardinalité minimale = 1 · Cardinalité maximale =N Autres exemples 1,N 0,N CONCERNER Quantité Cdée
1,1 : Un COUREUR Provient au min d’1 PAYS et au max d’1 PAYS. Un COUREUR Provient d’un et d’un seul PAYS. un plusieurs plusieurs 0,n : Un PAYS est représenté au min par 0 COUREUR et au max n. Un PAYS est représenté par aucun ou plusieurs COUREURS. plusieurs
CONFIGURATIONS POSSIBLES : 0,1 Une occurrence participe au moins 0 fois et au plus 1 fois à l’association 1,1 Une occurrence participe exactement 1 fois à l’association 0,N Une occurrence peut ne pas participer ou participer plusieurs fois 1,N Une occurrence participe au moins 1 fois, voire plusieurs Le fait d'indiquer pour cardinalité minimale'1'implique unecontrainte forte: elle signifie qu'une entité ne peut existerindépendamment d'une autre. De tellesentitéssont dites''faibles'' . ! Insistons sur le point suivant :les cardinalités n'expriment pas une vérité absolue, mais des choix de conception. Ils ne peuvent être déclarés valides que relativement à un besoin. Plus ce besoin sera exprimé précisément, et plus il sera possible d'apprécier la qualité du modèle.
Notation E-A Notation E-A Explication Explication Relation ensembliste Relation ensembliste 0,N <-> 0,1 UNE occurrence de A peut avoir 0,1,N vis-à-vis. UNE occurrence de B est limitée à 0 ou 1 homologue TOUTE occurrence de A a un homologue UNIQUE parmi les occurrences de B et réciproquement ???? TOUTE occurrence de A a AU MOINS un homologue parmi les occurrences de B et réciproquement TOUTE occurrence de A a AU MOINS un homologue. Mais UNE occurrence de B peut ne pas en avoir, en avoir 1 ou plusieurs. 1,1 <-> 1,1 1,N <-> 0,N 1,N <-> 1,N Les cardinalités, du point de vue de l'association, dans une interprétation ensembliste RELATIONS OBLIGATOIRES RELATIONS Optionnelles
0-N 0-N 1-1 1-1 1-N 0-N Exercice 0: Cardinalités? CLIENT APPARTIENT No Nom Adresse SIGNE CONTRAT No Type Date VEHICULE No Marque Modèle Année Cylindrée ACCIDENT CONCERNE No Date (Montant)
Passer Passer 0,N 1,N 1,1 1,1 CLIENT CLIENT Commande Commande Un client passe au moins une commande et au maximum plusieurs (N) commandes. Cette modélisation ne tient pas compte des clients qui ne passent aucune commande. Un client est uniquement considéré comme tel s'il passe au moins une commande Numéro Nom Prénom Adresse Code_postal Localité Numéro Nom Prénom Adresse Code_postal Localité Numéro Date Quantité Numéro Date Quantité Un client peut passer aucune commande et au maximum plusieurs (N) commandes. Cette modélisation tient compte des clients qui ne passent aucune commande. Exercice 1:Laquelle des deux modélisations est correcte ? Une commande est toujours passée par au moins un client. Une commande est également passée au maximum par un client. Une commande est donc toujours passée par un et un seul client.
CLIENT Carte_Membre Numéro Nom Prénom Adresse Code_postal Localité No_Carte Type_Abonnement Date_création Exemple Disposer 0,N 1,1 On dit que CLIENT est l'entité indépendante par rapport à l'association Disposer, tandis que Carte_Membre est l'entité dépendante. Une occurrence d'un client peut très bien exister sans carte de membre, mais une carte de membre ne peut pas exister sans client. ! La cardinalité minimale indique donc quelle entité est indépendante(0) et quelle entité est dépendante(1). On dit qu'une entité est indépendante par rapport à une relation lorsque sa cardinalité minimale vaut 0. Une relation ne peut pas être liée uniquement à des entités dépendantes qui ont une cardinalité maximale de 1. !
CLIENT Carte_Membre Numéro Nom Prénom Adresse Code_postal Localité No_Carte Type_Abonnement Date_création La modélisation suivante par exemple n'est pas correcte !!! Disposer 1,1 1,1 ! Dans ce cas, il faut réunir les propriétés des deux entités dans une seule.