Cours PHP introduction aux bases de données, tutoriel & guide de travaux pratiques en pdf.
Imaginons maintenant que j’interroge à nouveau ma base de données.
Quel est le numéro de téléphone de Jeremy ?
>> réponse : 06-85-98-78-12 ou bien 06-48-74-26-01
Nous remarquons tout de suite qu’un problème majeur arrive : c’est à dire que Jeremy possède deux numéros de téléphone alors qu’il ne devrait (en théorie) n’en posséder qu’un seul.
Pour remédier a ce problème, il faudrait, par exemple modifier tous les premiers tuples et ainsi mettre à jour le numéro de téléphone de Jeremy.
Dans notre cas, cette solution n’est pas vraiment gênante, en revanche, lorsque la table comporte quelques centaines voir milliers de tuples, c’est déjà beaucoup plus gênant.
En fait, ce problème survient généralement à cause d’une mauvaise conception de la base de données.
En effet, au lieu de créer une seule table contenant toutes les informations, nous aurions du créer deux tables :
– une contenant la liste des CD (Auteur et Titre)
– une contenant les informations des propriétaires des CD (Propriétaire et N. de tel)
Ensuite, il nous resterait a faire un lien entre les tables, nous permettant de savoir qui possède tel ou tel CD.
Mettons cette solution en pratique. On a alors notre table contenant la liste des propriétaires qui aura les attributs suivants :
– numéro du propriétaire
– nom du propriétaire
– numéro de téléphone du propriétaire
Et la table contenant la liste de CD, aura les attributs suivants :
– numéro du propriétaire du CD
– Auteur du CD
– Titre du CD
(Et c’est grâce au numéro du propriétaire que l’on fera la liaison entre les deux tables, l’opération se nommant une jointure)
……
Introduction aux bases de données (24,0 KO) (Cours PDF)