• # Base relationnelle

    Posté par . En réponse au journal Témoignage d'expérience de nosql avec PHP et Mongodb. Évalué à 10.

    Derrière le SQL, il y a surtout des bases de données relationnelles qui apportent des fonctionnalités intéressantes pour la cohérence des données.

    Exemple : j'ai deux tables, une avec des voitures qui doivent forcément avoir un propriétaire et une avec des propriétaires. Si M Durand a la voiture n° YYY-666-UUU et que j'ai mis les bonnes contraintes, je ne peux pas supprimer M Durand tant qu'il y a une relation avec la voiture YYY-666-UUU dans la base. Dans le cas contraire, je me retrouverais avec une voiture sans propriétaire ce qui va à l'encontre de mon modèle de donnée.

    On peut faire les contrôles nécessaires au niveau de code de l'application mais la base de données apporte un modèle dont le rôle est justement d'assurer la cohérence. Sans cela, un jour tu finis pas avoir plein de voiture sans propriétaire.

    Quand on voit certaines applications qui se servent d'une base de données comme d'un fichier tableur avec des varchar(255) pour chaque champs, c'est sûr que SQL n'apporte pas grand chose mais il y a d'autres utilisations ;-). Les bases relationnelles et les base noSQL n'offrent pas les mêmes fonctionnalités et ne répondent pas aux mêmes besoins.