>> Électroniques Technologie >  >> Maison intelligente >> Vie intelligente

Base de données relationnelle vs. Base de données hiérarchique

Les bases de données sont des programmes informatiques qui stockent des données ou des « enregistrements ». Plus important encore, ils décrivent également la relation entre ces données et d'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 de décrire leurs enregistrements 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 organisées hiérarchiquement sont souvent décrites comme n'ayant que des relations parent/enfant.

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 des parents réels 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. 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 plusieurs "tables", plutôt que de structures arborescentes, et chaque enregistrement d'une table a 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 plusieurs, ou aucun) des enregistrements uniques sur la table enfant - cette relation étant "est le parent de". C'est la possibilité de donner aux enregistrements de telles relations qui donne leur nom aux bases de données relationnelles.

Avantages des bases de données relationnelles

Les bases de données relationnelles évitent 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 un tableau "enfants participant au pique-nique de l'entreprise". En empêchant la duplication, les mêmes informations peuvent être utilisées 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 d'un certain âge ou tous les parents de trois enfants ou plus.

Utiliser des bases de données hiérarchiques

Il peut sembler que les bases de données relationnelles sont 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.


Vie intelligente