Les bases de données relationnelles et hiérarchiques sont deux des types de bases de données les plus courants.
Les bases de données sont des programmes informatiques qui stockent des données ou « enregistrements ». Plus important encore, ils décrivent également comment ces données sont liées aux autres données de la base de données. Il existe de nombreux types de bases de données, notamment hiérarchiques, réseau, relationnelles et orientées objet. Ils servent tous à des fins différentes et permettent à leurs dossiers d'être décrits de différentes manières.
Bases de données hiérarchiques
Les bases de données hiérarchiques font partie des types de bases de données les plus anciens et les plus simples. Ils organisent les données dans une structure « arborescente », qui est similaire aux dossiers et fichiers sur un ordinateur. Tout comme un fichier sur un ordinateur se trouve dans un dossier, chaque enregistrement de la base de données a un « parent ». Les données classées hiérarchiquement sont souvent décrites comme n'ayant que des relations parent/enfant.
Vidéo du jour
Problèmes avec les bases de données hiérarchiques
Bien que le modèle hiérarchique soit adapté aux structures simples, il est facile de voir comment des problèmes peuvent survenir, car chaque « enfant » ne peut avoir qu'un seul « parent ». Si la base de données contenait les noms de vrais parents et de leurs enfants au sein d'une entreprise, vous ne seriez pas en mesure de décrire le fait que les deux parents d'un même enfant travaillaient pour cette entreprise entreprise. Dans le langage des bases de données, il s'agirait d'une relation "plusieurs-à-un" (ou "plusieurs-à-plusieurs" s'il y a plus d'un enfant impliqué), et les bases de données hiérarchiques ne les décrivent pas bien.
Bases de données relationnelles
Les bases de données relationnelles n'ont aucun problème avec les relations plusieurs-à-un ou plusieurs-à-plusieurs. Leurs enregistrements sont construits sous forme de « tables » multiples plutôt que d'arborescences, et chaque enregistrement d'une table possède un identifiant unique. Une entreprise pourrait alors avoir une table avec les noms de tous les parents, une table avec les noms de tous les enfants, et chaque enregistrement de la table parent pourrait avoir une relation avec un (ou plus ou aucun) des enregistrements uniques sur la table enfant - cette relation étant "est le parent de". La capacité de donner aux enregistrements de telles relations est ce qui donne aux bases de données relationnelles leur Nom.
Avantages des bases de données relationnelles
Les bases de données relationnelles empêchent les erreurs en permettant à un enregistrement de s'appliquer à n'importe quel nombre d'autres tables. Un enregistrement enfant peut être utilisé dans une relation « est l'enfant de », et le même enregistrement peut être référencé dans une table des « enfants fréquentant le pique-nique de l'entreprise." En empêchant la duplication, la même information peut être utilisée de différentes manières, sans altérer accidentellement un enregistrement.
De plus, les bases de données relationnelles sont très utiles pour fournir d'autres types de données cachées dans les enregistrements, à l'aide de requêtes écrites en langage de requête structuré ou SQL. Cela vous permet d'explorer la base de données d'une manière qui n'est pas immédiatement apparente, comme trouver tous les enfants au-dessus d'un certain âge, ou tous les parents avec trois enfants ou plus.
Utilisation de bases de données hiérarchiques
Il peut sembler que les bases de données relationnelles soient supérieures aux bases hiérarchiques, et il est vrai qu'elles sont plus flexibles. Mais une telle flexibilité n'est pas toujours nécessaire pour chaque base de données. Les bibliothèques utilisent des bases de données hiérarchiques pour enregistrer leurs livres, car le système Dewey Decimal est de nature hiérarchique. Une liste de numéros de téléphone de contact pourrait parfaitement être servie par une base de données hiérarchique. Une base de données est un outil, et le bon outil pour le travail dépend du travail à accomplir.