Modèle de données relationnel dans un SGBD : Concepts & Exemple

⚡ Résumé intelligent

Le modèle relationnel représente une base de données comme un ensemble de relations, chaque relation étant une table de lignes et de colonnes. Il définit les concepts fondamentaux, les contraintes d'intégrité et les opérations de mise à jour qui garantissent la cohérence des données relationnelles et facilitent leur interrogation.

  • 🇧🇷 Idée de base : Les données sont stockées sous forme de relations, et chaque ligne est un tuple décrivant une entité ou une relation du monde réel.
  • 🏷️ Mots clés: L'attribut, le tuple, le degré, la cardinalité, le domaine et la clé de relation décrivent ensemble la structure d'une table.
  • 🛡️ Trois contraintes : Les contraintes de domaine, de clé et d'intégrité référentielle garantissent la validité de chaque relation.
  • (I.e. Tables de liens clés : Une clé primaire identifie de manière unique une ligne, et une clé étrangère fait référence à une clé d'une autre relation.
  • (I.e. Quatre Operation : Les opérations d'insertion, de mise à jour, de suppression et de sélection agissent sur les relations sans enfreindre les contraintes définies.
  • Règles de conception : Une seule valeur par cellule, des noms de colonnes uniques, aucune ligne en double et des valeurs issues d'un seul domaine.
  • 📈 Pourquoi il gagne : Simplicité, indépendance structurelle, langage de requête de haut niveau et indépendance des données.

Modèle de données relationnelles dans le SGBD

Qu'est-ce que le modèle relationnel ?

Modèle relationnel (RM) représente la base de données comme un ensemble de relations. Une relation n'est rien d'autre qu'une table de valeurs. Chaque ligne du tableau représente une collection de valeurs de données associées. Ces lignes du tableau désignent une entité ou une relation réelle.

Le nom de la table et les noms des colonnes permettent d'interpréter la signification des valeurs de chaque ligne. Les données sont représentées sous forme de relations. Dans le modèle relationnel, les données sont stockées dans des tables. Toutefois, leur stockage physique est indépendant de leur organisation logique.

Ce modèle a été proposé par EF Codd en 1970 et reste la base de presque toutes les bases de données courantes utilisées aujourd'hui. Voici quelques systèmes de gestion de bases de données relationnelles populaires :

  • DB2 et serveur dynamique Informix – IBM
  • Oracle et RDB – Oracle
  • SQL Server et accès – Microsoft

Modèle relationnel Concepts dans le SGBD

  1. Attribut: Chaque colonne d'un tableau. Les attributs sont les propriétés qui définissent une relation, par exemple, numéro_d'inscription_étudiant, NOM, etc.
  2. Les tables: Dans le modèle relationnel, les relations sont enregistrées sous forme de tables. Elles sont stockées avec leurs entités. Une table possède deux propriétés : les lignes et les colonnes. Les lignes représentent les enregistrements et les colonnes représentent les attributs.
  3. Tuple : Il s'agit simplement d'une seule ligne d'un tableau, contenant un seul enregistrement.
  4. Schéma de relation : Un schéma de relation représente le nom de la relation avec ses attributs.
  5. Degré: Le nombre total d'attributs dans la relation est appelé le degré de la relation.
  6. Cardinalité: Le nombre total de lignes présentes dans le tableau.
  7. Colonne: La colonne représente l'ensemble des valeurs d'un attribut spécifique.
  8. Instance de relation : Une instance de relation est un ensemble fini de tuples dans le système SGBDR. Les instances de relation ne contiennent jamais de tuples dupliqués.
  9. Clé de relation : Chaque ligne possède un, deux ou plusieurs attributs, appelés clé de relation.
  10. Domaine d'attribut : Chaque attribut possède une valeur et une portée prédéfinies, appelées domaine d'attribut.

Concepts du modèle relationnel illustrés sur un tableau

Une fois le vocabulaire établi, la prochaine étape consiste à maintenir…ping Les données de ces relations sont valides, ce qui est le rôle des contraintes d'intégrité.

Relationnel Integrity contraintes

Les contraintes d'intégrité relationnelle dans un SGBD désignent les conditions qui doivent être réunies pour qu'une relation soit valide. Ces contraintes relationnelles découlent des règles du micro-monde que représente la base de données.

Il existe de nombreux types de contraintes d'intégrité. Les contraintes sur les systèmes de gestion de bases de données relationnelles sont généralement divisées en trois grandes catégories :

  1. Contraintes de domaine
  2. Contraintes clés
  3. Référentiel Integrity contraintes

Contraintes de domaine

Les contraintes de domaine peuvent être violées si la valeur d'un attribut n'apparaît pas dans le domaine correspondant, ou si elle n'est pas du type de données approprié.

Les contraintes de domaine imposent que, dans chaque tuple, la valeur de chaque attribut soit atomique et provienne du domaine approprié. Les domaines sont définis par des types de données, parmi lesquels figurent des types standards tels que les entiers, les nombres réels, les caractères, les booléens et les chaînes de longueur variable.

Exemple :

CREATE DOMAIN CustomerName
CHECK (value NOT NULL)

L'exemple présenté illustre la création d'une contrainte de domaine telle que CustomerName ne soit pas NULL.

Contraintes clés

Un attribut qui peut identifier de manière unique un tuple dans une relation est appelé la clé de la table. La valeur de l'attribut des différents tuples de la relation doit être unique.

Exemple :

Dans le tableau donné, CustomerID est un attribut clé de la table Customer. Il est fort probable qu'il n'y ait qu'une seule clé par client ; CustomerID = 1 correspond uniquement au CustomerName.GoogleUne description complète des différents types clés est présentée dans le guide. Clés SGBD.

N ° de client Nom du client Statut
1 Google Active
2 Amazon Active
3 Apple Inactif

Référentiel Integrity contraintes

Les contraintes d'intégrité référentielle dans les SGBD reposent sur le concept de clés étrangères. Une clé étrangère est un attribut important d'une relation auquel il est nécessaire de faire référence dans d'autres relations. Une contrainte d'intégrité référentielle survient lorsqu'une relation fait référence à un attribut clé d'une autre relation ou de la même relation. Cet élément clé doit exister dans la table référencée.

Exemple :

Intégrité référentielle entre le client et Billrelations

Dans l'exemple ci-dessus, nous avons deux relations : Client et BillING.

Le tuple pour CustomerID = 1 est référencé deux fois dans la relation Billing. Nous connaissons donc CustomerName «Google« a un montant facturé de 300 $. »

Operations dans le modèle relationnel

Quatre opérations de mise à jour de base sont effectuées sur le modèle de base de données relationnelle : insertion, mise à jour, suppression et sélection.

  • La fonction Insertion permet d'insérer des données dans la relation.
  • Supprimer est utilisé pour supprimer des tuples de la table.
  • Modifier vous permet de modifier les valeurs de certains attributs dans les tuples existants.
  • Select vous permet de choisir une plage spécifique de données.

Lorsqu'une de ces opérations est appliquée, les contraintes d'intégrité spécifiées dans le schéma de la base de données relationnelle ne doivent jamais être violées.

insérer Operaproduction

L'opération d'insertion fournit les valeurs des attributs d'un nouveau tuple qui doit être inséré dans une relation.

Opération d'insertion ajoutant un nouveau tuple à une relation

Mises à jour Operaproduction

Vous pouvez constater dans le tableau des relations ci-dessous que le nom du client « Apple » est passé de l'état Inactif à l'état Actif.

Opération de mise à jour modifiant une valeur d'état dans un tuple

Supprimer Operaproduction

Pour spécifier la suppression, une condition sur les attributs de la relation sélectionne le tuple à supprimer.

Opération de suppression d'un tuple d'une relation

Dans l'exemple ci-dessus, le nom du client « Apple » est supprimé du tableau.

L'opération de suppression pourrait enfreindre l'intégrité référentielle si le tuple supprimé est référencé par des clés étrangères provenant d'autres tuples du même ensemble. base de données.

Sélectionner Operaproduction

Sélectionnez l'opération en choisissant un tuple spécifique

Dans l'exemple ci-dessus, CustomerName «Amazon" est sélectionné.

Modèle relationnel vs modèles hiérarchiques et en réseau

Le modèle relationnel a remplacé deux approches antérieures, et ce contraste explique sa prédominance. Le tableau ci-dessous les compare.

Aspect Modèle relationnel Modèle hiérarchique Modèle de réseau
Structure Tableaux (relations) Arbre, parent à enfant Graphique, plusieurs à plusieurs
Accès aux données Déclaratif, par valeur Navigation par chemin Navigation par pointeur
Relations Clés étrangères Liens parent-enfant Ensembles et pointeurs
Langage de requête SQL Code de procédure Code de procédure
Souplesse Haute Low Moyenne

Parce que le modèle relationnel traite les données par valeur plutôt que par navigation dans des liens physiques, un langage de haut niveau comme SQL peut formuler une requête sans savoir comment les données sont stockées.

Meilleures pratiques pour la création d'un modèle relationnel

  • Les données doivent être représentées sous forme d'un ensemble de relations.
  • Chaque relation doit être clairement représentée dans le tableau.
  • Les lignes doivent contenir des données sur les instances d'une entité.
  • Les colonnes doivent contenir des données sur les attributs de l'entité.
  • Les cellules du tableau doivent contenir une seule valeur.
  • Chaque colonne doit avoir un nom unique.
  • Deux rangées ne peuvent être identiques.
  • Les valeurs d'un attribut doivent provenir du même domaine.

Avantages du modèle de base de données relationnelle

  • Simplicité: Un modèle de données relationnel dans un SGBD est plus simple que les modèles hiérarchiques et réseau.
  • Indépendance structurelle : La base de données relationnelle ne s'intéresse qu'aux données et non à la structure, ce qui peut améliorer les performances du modèle.
  • Facile à utiliser: Le modèle relationnel est facile à utiliser, car les tableaux composés de lignes et de colonnes sont naturels et simples à comprendre.
  • Fonctionnalité de requête : Cela permet à un langage de requête de haut niveau comme SQL d'éviter une navigation complexe dans les bases de données.
  • Indépendance des données: La structure d'une base de données relationnelle peut être modifiée sans avoir à modifier aucune application.
  • Scalable: En ce qui concerne le nombre d'enregistrements ou de lignes et le nombre de champs, une base de données peut être agrandie pour améliorer son utilisation.

Inconvénients du modèle relationnel

  • Peu de bases de données relationnelles imposent des limites à la longueur des champs, qui ne peuvent être dépassées.
  • Les bases de données relationnelles peuvent parfois devenir complexes à mesure que la quantité de données augmente et que les relations entre les éléments de données se complexifient.
  • Les systèmes de bases de données relationnelles complexes peuvent conduire à des bases de données isolées où les informations ne peuvent pas être partagées d'un système à l'autre.

FAQ

Le degré correspond au nombre d'attributs, ou de colonnes, d'une relation. La cardinalité correspond au nombre de tuples, ou de lignes. Le degré décrit la largeur du tableau et la cardinalité sa hauteur.

Une relation est un ensemble mathématique, et un ensemble ne contient aucun élément en double. La clé primaire garantit cette propriété, de sorte que chaque tuple est identifié de manière unique et qu'aucune ligne n'est identique à une autre.

Les modèles d'IA sont souvent entraînés sur des caractéristiques extraites de tables relationnelles via des jointures et des agrégations SQL. L'IA peut également traduire une question en langage courant en SQL, permettant ainsi aux utilisateurs non techniques d'interroger directement les relations.

Oui. À partir d'exemples de données ou d'exigences, l'IA peut suggérer des tables, des clés primaires et étrangères, ainsi qu'une forme normale. Le résultat doit néanmoins être vérifié, car la normalisation dépend de règles métier que l'IA ne connaît pas forcément.

En pratique, ces termes sont utilisés indifféremment. Formellement, une relation est un ensemble de tuples sans ordre ni doublons, tandis qu'une table en est la représentation physique, pouvant afficher les lignes dans un ordre prédéfini.

Résumez cet article avec :