logo

Modèle relationnel dans le SGBD

E.F. Codd a proposé le modèle relationnel pour modéliser les données sous forme de relations ou de tableaux. Après avoir conçu le modèle conceptuel de la base de données à l'aide Diagramme ER , nous devons convertir le modèle conceptuel en un modèle relationnel qui peut être implémenté en utilisant n'importe quel SGBDR langage comme Oracle SQL, MySQL, etc. Nous verrons donc ce qu'est le modèle relationnel.

Le modèle relationnel utilise une collection de tableaux pour représenter à la fois les données et les relations entre ces données. Chaque table comporte plusieurs colonnes et chaque colonne a un nom unique. Les tableaux sont également appelés relations. Le modèle relationnel est un exemple de modèle basé sur les enregistrements. Les modèles basés sur les enregistrements sont ainsi nommés car la base de données est structurée en enregistrements au format fixe de plusieurs types. Chaque table contient des enregistrements d'un type particulier. Chaque type d'enregistrement définit un nombre fixe de champs ou d'attributs. Les colonnes du tableau correspondent aux attributs du type d'enregistrement. Le modèle de données relationnelles est le modèle de données le plus largement utilisé, et une grande majorité des systèmes de bases de données actuels sont basés sur le modèle relationnel.



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

Le modèle relationnel représente la manière dont les données sont stockées dans les bases de données relationnelles. Une base de données relationnelle se compose d'un ensemble de tables, chacune d'elles se voit attribuer un nom unique. Considérons une relation STUDENT avec les attributs ROLL_NO, NAME, ADDRESS, PHONE et AGE indiqués dans le tableau.

Tableau Étudiant

ROLL_NO NOM ADRESSE TÉLÉPHONE ÂGE
1 RAM DELHI 9455123451 18
2 RAMÈS GURGAON 9652431543 18
3 SUJIT ROHTAK 9156253131 vingt
4 SURESH DELHI 18



instance Java de

Terminologies importantes

  • Attribut: Les attributs sont les propriétés qui définissent une entité. par exemple.; ROLL_NO , NOM ADRESSE
  • Schéma de relation : Un schéma de relation définit la structure de la relation et représente le nom de la relation avec ses attributs. par exemple.; STUDENT (ROLL_NO, NAME, ADDRESS, PHONE et AGE) est le schéma de relation pour STUDENT. Si un schéma a plus d’une relation, il est appelé schéma relationnel.
  • Tuple : Chaque ligne de la relation est appelée tuple. La relation ci-dessus contient 4 tuples, dont l'un est représenté par :
1 RAM DELHI 9455123451 18
  • Instance de relation : L’ensemble des tuples d’une relation à un instant donné est appelé une instance de relation. Le tableau 1 montre l'instance de relation de STUDENT à un moment donné. Il peut changer à chaque fois qu'il y a une insertion, une suppression ou une mise à jour dans la base de données.
  • Degré: Le nombre d’attributs dans la relation est appelé degré de la relation. Le ÉTUDIANT La relation définie ci-dessus est de degré 5.
  • Cardinalité : Le nombre de tuples dans une relation est appelé cardinalité . Le ÉTUDIANT la relation définie ci-dessus a la cardinalité 4.
  • Colonne: La colonne représente l'ensemble des valeurs d'un attribut particulier. La colonne ROLL_NO est extrait de la relation ETUDIANT.
ROLL_NO

1

2

3



4

  • Valeurs NULL : La valeur qui n’est pas connue ou indisponible est appelée valeur NULL. Il est représenté par un espace vide. par exemple.; Le TÉLÉPHONE de l'ÉTUDIANT ayant ROLL_NO 4 est NULL.
  • Clé relationnelle : Ce sont essentiellement les clés qui sont utilisées pour identifier les lignes de manière unique ou qui aident également à identifier les tables. Il s’agit des types suivants.
    • Clé primaire
    • Clé du candidat
    • Super clé
    • Clé étrangère
    • Clé alternative
    • Clé composée

Contraintes dans le modèle relationnel

Lors de la conception du modèle relationnel, nous définissons certaines conditions qui doivent être remplies pour les données présentes dans la base de données, appelées contraintes. Ces contraintes sont vérifiées avant d'effectuer toute opération (insertion, suppression et mise à jour) dans la base de données. S'il y a une violation de l'une des contraintes, l'opération échouera.

Contraintes de domaine

Ce sont des contraintes au niveau des attributs. Un attribut ne peut prendre que des valeurs situées à l'intérieur de la plage de domaine. par exemple.; Si une contrainte AGE>0 est appliquée à la relation STUDENT, l'insertion d'une valeur négative de AGE entraînera un échec.

télécharger des vidéos YouTube sur VLC

Intégrité clé

Chaque relation dans la base de données doit avoir au moins un ensemble d'attributs qui définit un tuple de manière unique. Cet ensemble d'attributs est appelé clés. par exemple.; ROLL_NO dans STUDENT est la clé. Deux élèves ne peuvent pas avoir le même numéro de matricule. Une clé a donc deux propriétés :

  • Il doit être unique pour tous les tuples.
  • Il ne peut pas avoir de valeurs NULL.

Intégrité référentielle

Lorsqu'un attribut d'une relation ne peut prendre des valeurs que d'un autre attribut de la même relation ou de toute autre relation, on l'appelle intégrité référentielle . Supposons que nous ayons 2 relations

ajouter à un tableau en java

Tableau Étudiant

ROLL_NO NOM ADRESSE TÉLÉPHONE ÂGE BRANCH_CODE
1 RAM DELHI 9455123451 18 CS
2 RAMÈS GURGAON 9652431543 18 CS
3 SUJIT ROHTAK 9156253131 vingt CEE
4 SURESH DELHI 18 IL

Branche de tableau

BRANCH_CODE NOM DE LA FILIALE
CS L'INFORMATIQUE
IL INFORMATIQUE
CEE INGÉNIERIE ÉLECTRONIQUE ET DES COMMUNICATIONS
CV GÉNIE CIVIL

BRANCH_CODE de STUDENT ne peut prendre que les valeurs qui sont présentes dans BRANCH_CODE de BRANCH qui est appelée contrainte d'intégrité référentielle. La relation qui fait référence à une autre relation est appelée RELATION DE RÉFÉRENCE (ÉTUDIANT dans ce cas) et la relation à laquelle d'autres relations font référence est appelée RELATION DE RÉFÉRENCE (BRANCHE dans ce cas).

Anomalies dans le modèle relationnel

Un anomalie est une irrégularité ou quelque chose qui s'écarte de l'état attendu ou normal. Lors de la conception de bases de données, nous identifions trois types d’anomalies : Insertion, Mise à jour et Suppression.

Anomalie d'insertion dans la relation de référencement

Nous ne pouvons pas insérer de ligne dans REFERENCING RELATION si la valeur de l'attribut de référence n'est pas présente dans la valeur de l'attribut référencé. par exemple.; L'insertion d'un étudiant avec BRANCH_CODE 'ME' dans la relation STUDENT entraînera une erreur car 'ME' n'est pas présent dans BRANCH_CODE de BRANCH.

Anomalie de suppression/mise à jour dans la relation référencée :

Nous ne pouvons pas supprimer ou mettre à jour une ligne de REFERENCED RELATION si la valeur de REFERENCED ATTRIBUTE est utilisée dans la valeur de REFERENCED ATTRIBUTE. par exemple; si nous essayons de supprimer un tuple de BRANCH ayant BRANCH_CODE 'CS', cela entraînera une erreur car 'CS' est référencé par BRANCH_CODE de STUDENT, mais si nous essayons de supprimer la ligne de BRANCH avec BRANCH_CODE CV, elle sera supprimée car la valeur n'a pas été utilisée par la relation de référence. Il peut être géré par la méthode suivante :

Lors de la suppression de la cascade

Il supprimera les tuples de REFERENCING RELATION si la valeur utilisée par REFERENCING ATTRIBUTE est supprimée de REFERENCED RELATION. par exemple.; Car, si l'on supprime une ligne de BRANCH avec BRANCH_CODE 'CS', les lignes en relation STUDENT avec BRANCH_CODE CS (ROLL_NO 1 et 2 dans ce cas) seront supprimées.

Sur la cascade de mise à jour

Il mettra à jour l'ATTRIBUT DE RÉFÉRENCE dans RELATION DE RÉFÉRENCE si la valeur de l'attribut utilisée par ATTRIBUT DE RÉFÉRENCE est mise à jour dans RELATION DE RÉFÉRENCE. par exemple, si nous mettons à jour une ligne de BRANCH avec BRANCH_CODE 'CS' vers 'CSE', les lignes en relation STUDENT avec BRANCH_CODE CS (ROLL_NO 1 et 2 dans ce cas) seront mises à jour avec BRANCH_CODE 'CSE'.

vérification nulle en Java

Super clés

Tout ensemble d'attributs qui nous permet d'identifier des lignes uniques (tuples) dans une relation donnée est appelé super clés. Parmi ces super clés, nous pouvons toujours choisir un sous-ensemble approprié parmi celles-ci qui peut être utilisé comme clé primaire. Ces clés sont appelées clés candidates. S'il existe une combinaison de deux attributs ou plus qui sont utilisés comme clé primaire, nous l'appelons clé composite.

Règles Codd dans le modèle relationnel

Edgar F Codd a proposé le modèle de base de données relationnelle dans lequel il a énoncé des règles. Celles-ci sont désormais connues sous le nom de règles de Codd. Pour qu’une base de données soit parfaite, elle doit suivre les règles.

Pour en savoir plus, reportez-vous à Règles Codd dans le modèle relationnel .

Avantages du modèle relationnel

  • Modèle simple : Le modèle relationnel est simple et facile à utiliser par rapport à d’autres langages.
  • Flexible: Le modèle relationnel est plus flexible que tout autre modèle relationnel présent.
  • Sécurisé: Le modèle relationnel est plus sécurisé que tout autre modèle relationnel.
  • Précision des données: Les données sont plus précises dans le modèle de données relationnelles.
  • Intégrité des données: L'intégrité des données est maintenue dans le modèle relationnel.
  • Les opérations peuvent être appliquées facilement : Il est préférable d'effectuer des opérations dans le modèle relationnel.

Inconvénients du modèle relationnel

  • Le modèle de base de données relationnelle n'est pas très adapté aux grandes bases de données.
  • Parfois, il devient difficile de trouver la relation entre les tables.
  • En raison de la structure complexe, le temps de réponse aux requêtes est élevé.

Caractéristiques du modèle relationnel

  • Les données sont représentées dans des lignes et des colonnes appelées relations.
  • Les données sont stockées dans des tables ayant des relations entre elles appelées modèle relationnel.
  • Le modèle relationnel prend en charge les opérations telles que la définition des données, la manipulation des données et la gestion des transactions.
  • Chaque colonne a un nom distinct et représente des attributs.
  • Chaque ligne représente une seule entité.