Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Relations entre tables

3 réponses
Avatar
Patrick
Bonjour,

J'ai 2 tables qui contiennent des définitions de rapports (table 1 contient
des rapports normaux, table 2 des rapports consolidés).
J'ai une 3e table qui contient des commentaires sur les rapports normaux ou
consolidés, comme cela tous les commentaires sont dans une seule table (j'ai
fait comme cela car il y a très peu de rapports qui ont des commentaires,
peut-être 1%, ce qui permet un gain de place). Ces colonnes sont le type du
rapport, le nom du rapport et le commentaire.

Si un nom de rapport normal ou consolidé est modifié, le nom est modifié
dans la table où est enregistré le rapport (table 1 ou table 2), j'aimerais
aussi que son nom soit modifié automatiquement dans la table des
commentaires. Est-ce que c'est possible de faire cela sans avoir à le coder
dans l'application qui utilise la base de données ?

Merci.

--
Patrick

3 réponses

Avatar
Philippe Bouchardy
Bonjour Patrick,

Pourquoi ne pas utilser des triggers sur le ON UPDATE des tables Rapport1 et
Rapport2 de manière a mettre à jour votre table Rapport3 ?

Cordialement,

Philippe



"Patrick" wrote in message
news:
Bonjour,

J'ai 2 tables qui contiennent des définitions de rapports (table 1
contient
des rapports normaux, table 2 des rapports consolidés).
J'ai une 3e table qui contient des commentaires sur les rapports normaux
ou
consolidés, comme cela tous les commentaires sont dans une seule table
(j'ai
fait comme cela car il y a très peu de rapports qui ont des commentaires,
peut-être 1%, ce qui permet un gain de place). Ces colonnes sont le type
du
rapport, le nom du rapport et le commentaire.

Si un nom de rapport normal ou consolidé est modifié, le nom est modifié
dans la table où est enregistré le rapport (table 1 ou table 2),
j'aimerais
aussi que son nom soit modifié automatiquement dans la table des
commentaires. Est-ce que c'est possible de faire cela sans avoir à le
coder
dans l'application qui utilise la base de données ?

Merci.

--
Patrick


Avatar
Fred BROUARD
bonjour,

Patrick a écrit :
Bonjour,

J'ai 2 tables qui contiennent des définitions de rapports (table 1 contient
des rapports normaux, table 2 des rapports consolidés).
J'ai une 3e table qui contient des commentaires sur les rapports normaux ou
consolidés, comme cela tous les commentaires sont dans une seule table (j'ai
fait comme cela car il y a très peu de rapports qui ont des commentaires,
peut-être 1%, ce qui permet un gain de place). Ces colonnes sont le type du
rapport, le nom du rapport et le commentaire.

Si un nom de rapport normal ou consolidé est modifié, le nom est modifié
dans la table où est enregistré le rapport (table 1 ou table 2), j'aimerais
aussi que son nom soit modifié automatiquement dans la table des
commentaires. Est-ce que c'est possible de faire cela sans avoir à le coder
dans l'application qui utilise la base de données ?




A partir du moment ou vous avez fait sale, n'espérez pas faire propre.

En ne respectant pas le modèle relationnel vous vous obligez à des
contorsions couteuses à tout niveau : code à écrire et maintenir,
faibles performances. En effet seul le trigger peut être utilisé dans ce
cas.

Or un trigger est très couteux car il se produit dans la transaction et
après insertion...

Il aurait donc mieux valu deux tables et des contraintes d'IR !

je ne voit d'ailleurs pas en quoi le fait de mettre tout dans la même
table permet un gain de place !

A +


Merci.





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
*********************** http://www.sqlspot.com *************************
Avatar
helios services
Fred BROUARD a écrit :
bonjour,

Patrick a écrit :
Bonjour,

J'ai 2 tables qui contiennent des définitions de rapports (table 1
contient des rapports normaux, table 2 des rapports consolidés).
J'ai une 3e table qui contient des commentaires sur les rapports
normaux ou consolidés, comme cela tous les commentaires sont dans une
seule table (j'ai fait comme cela car il y a très peu de rapports qui
ont des commentaires, peut-être 1%, ce qui permet un gain de place).
Ces colonnes sont le type du rapport, le nom du rapport et le
commentaire.

Si un nom de rapport normal ou consolidé est modifié, le nom est
modifié dans la table où est enregistré le rapport (table 1 ou table
2), j'aimerais aussi que son nom soit modifié automatiquement dans la
table des commentaires. Est-ce que c'est possible de faire cela sans
avoir à le coder dans l'application qui utilise la base de données ?




A partir du moment ou vous avez fait sale, n'espérez pas faire propre.

En ne respectant pas le modèle relationnel vous vous obligez à des
contorsions couteuses à tout niveau : code à écrire et maintenir,
faibles performances. En effet seul le trigger peut être utilisé dans ce
cas.

Or un trigger est très couteux car il se produit dans la transaction et
après insertion...

Il aurait donc mieux valu deux tables et des contraintes d'IR !

je ne voit d'ailleurs pas en quoi le fait de mettre tout dans la même
table permet un gain de place !

A +


Merci.







mais peut on faire confiance à quelqu'un qui prétends coder plus de
65536 valeurs sur 2 octets ?

http://groups.google.com/group/fr.comp.applications.sgbd/msg/621527f995585842?dmode=source





et donc les écrits ont été bannis de wikipedia

--
Dr Thierry HOLZ
HELIOS SERVICES
180 rue de la croix du chene
60250 HEILLES
www.openqm.com02.net
www.pick.com02.net