La cardinalité d’une jointure entre deux tableaux est la relation numérique entre les lignes d’un tableau et les lignes de l’autre. Les cardinalités courantes incluent un-à-un, un-à-plusieurs et plusieurs-à-plusieurs.
Par exemple, considérez une base de données de dossiers médicaux électroniques. Une telle base de données pourrait contenir des tables comme les suivantes :
- Une table
doctor
avec des informations sur les médecins. - Une table
patient
pour les sujets médicaux en cours de traitement. - Une table
encounter
avec une entrée pour chaque visite à l’hôpital.
Des relations naturelles existent entre ces entités, comme une rencontre impliquant de nombreux médecins. Il existe une relation many-to-many entre les enregistrements dans doctor
et les enregistrements dans patient
car les médecins ont de nombreux patients et les patients peuvent voir de nombreux médecins. Il existe une relation un-à-plusieurs entre les enregistrements dans patient
et les enregistrements dans encounter
parce que les patients peuvent avoir de nombreuses rencontres et que chaque rencontre n’implique qu’un seul patient.
Une relation “un-à-un” est surtout utilisée pour diviser une table en deux afin de fournir des informations de manière concise et de les rendre plus compréhensibles. Dans l’exemple de l’hôpital, une telle relation pourrait être utilisée pour séparer les informations professionnelles uniques des médecins des détails administratifs.
Dans la modélisation des données, les collections d’éléments de données sont regroupées en “tables de données” qui contiennent des groupes de noms de champs de données appelés “attributs de base de données”. Les tables sont reliées par des “champs clés”. Une “clé primaire” affecte un champ à sa “table d’ordre spécial”. Par exemple, le champ “Nom de famille du médecin” peut être attribué comme clé primaire de la table “Médecin”, toutes les personnes ayant le même nom de famille étant classées par ordre alphabétique en fonction des trois premières lettres de leur prénom. Une table peut également avoir une clé étrangère qui indique que ce champ est lié à la clé primaire d’une autre table.
Un modèle de données complexe peut impliquer des centaines de tables liées. L’informaticien Edgar F. Codd a créé une méthode systématique pour décomposer et organiser les bases de données relationnelles. Les étapes de Codd pour organiser les tables de base de données et leurs clés sont appelées normalisation de base de données, ce qui permet d’éviter certaines erreurs cachées de conception de base de données (anomalies de suppression ou anomalies de mise à jour). Dans la vie réelle, le processus de normalisation de la base de données finit par briser les tables en un plus grand nombre de tables plus petites.
Dans le monde réel, la modélisation des données est critique car, à mesure que les données deviennent volumineuses, les tables liées par des clés doivent être utilisées pour accélérer la récupération programmée des données. Si un modèle de données est mal conçu, même un système d’applications informatiques ne comportant qu’un million d’enregistrements donnera aux utilisateurs finaux des délais de réponse inacceptables. Pour cette raison, la modélisation des données est une clé de voûte des compétences nécessaires à un développeur de logiciels moderne.