Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1507 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  intégrité référentielle (trigger) qui marche pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

intégrité référentielle (trigger) qui marche pas

n°883020
jokari34
Posté le 26-10-2004 à 13:37:09  profilanswer
 

JE travaille sous MySQL 3.23
 
voici ma requete
 
CREATE TABLE `stats` (
`ID_visite` INT( 4 ) NOT NULL AUTO_INCREMENT ,
`ref_page_visitee` INT( 4 ) NOT NULL ,
`nombre_visites` INT( 5 ) NOT NULL ,
`date_visite` DATETIME NOT NULL ,
`addr_ip_visiteur` VARCHAR( 15 ) NOT NULL ,
PRIMARY KEY ( `ID_visite` ),
FOREIGN KEY (  `ref_page_visitee`) references submenus(`ID_submenu`)
on delete cascade on update cascade
);
 
normalement si la clé primaire "ID_submenu" de la table "submenus" est modifiée, la clé etrangere "ref_page_visitee" de cette table "stats" est automatiquement mise a jour
 
et poyrtant j'ai fait le test et la clé etrangere de la table stats est pas mise a jour si je change la clé primaire de la table submenus
 
je vois pas pourquoi

mood
Publicité
Posté le 26-10-2004 à 13:37:09  profilanswer
 

n°883113
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-10-2004 à 15:09:22  profilanswer
 

Euh, t'es sûr que MySQL supporte les "on" "cascade" ?
 
A ma connaissance, les triggers ne sont pas supportés à ce jour, tout juste à peine sur les versions 4.x qui ne sont pas du tout en release encore... (à moins que ce soit la 5.x, je ne me souviens plus, Joce avait pondu tout un topic très intéressant à ce sujet il y a un an)

n°883137
jokari34
Posté le 26-10-2004 à 15:29:55  profilanswer
 

arff, c bien possible
dnc ca veut dire que si je veux des triggers pour garder une base de données avec des données cohérentes d'une clé a l'autre, il fauty que j'opte pour un SGBDR plus costaud comme SQL Server ou Oracle ?
 
Je cherche globalement a utiliser les triggers et à pouvoir faire des requetes SQl imbriquées
 
PostgreSQL peut il etre une solution pour mon probleme ? ou faut carrement que bosse sur MS-SQL ou Oracle ?

n°883175
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-10-2004 à 16:26:36  profilanswer
 

Pour ces "trigger" qui sont gérés directement par le système, je ne sais pas. Ca demande confirmation de la part d'une personne qui connait bien MySQL.
 
Sinon, ben t'as le choix entre une pre-version de MySQL 4.x ou PostgreSQL comme solutions gratuites si tu veux gérer de vrais triggers (à confirmer pour MySQL 4.x cependant) et des requêtres imbriquées.
 
MSSQL Server est aussi une très bonne alternative, mais le coût n'est pas le même (quoique MSDE qui est fourni gratuitement avec le Pack Office fourni une bonne alternative si tu as une faible charge et pas de besoins complexes (pas de DTS, etc.)
 
Après, si c'est un développement payé, il faut voir si la perte de temps à bosser avec un outil pourri justifie vraiment l'économie d'une licence MSSQL cependant ;)
 
PS: Normalement, PostgreSQL est un très bon produit. Par contre, il n'est pas réprendu du tout, donc soit il y a anguille sous roche, soit il y a une dimension "politico-stratégique" que je ne maîtrise pas.


Message édité par Arjuna le 26-10-2004 à 16:28:03
n°883257
jokari34
Posté le 26-10-2004 à 17:28:41  profilanswer
 

ben le probeme de fond pour le moment c'est que mon site est hebergé chez free. donc au niveau online, je resterai limité a ce que free et MySQL limitent.
 
par contre en local, ben c'est vrai que le choix est pas evident. en outre, je comte utiliser mon PC comme serveur histoire de plus etre limité a Free et faire ce que bon me semble.
Maid comme tu dis PostgreSQL est pas hyper repandu donc niveau doc ca va etre moyen.
Apres ya les solutions payantes, mais comme je suis a la recherche d'un taff ya peu de chances que j'investisse surtout que ya pas de projet a but lucratif derriere, donc rien pour amortir la licence. C'est sans compter sur le fait que c'est pas simple au depart d'administrer du Oracle ou Ms-SQL.
 
je crois que je vais opter pour PostGreQSL
 
Mais j'ai vu dans ma version de phpMyADmin, que la fonction relationelle de MySQL existe, donc qui dit relationnel devrait dire : mise a jour automatique des clés.
 
mystere...
au fait c quoi MSDE ? Micosoft Developer Data Engine ?

n°883263
Lam's
Profil: bas.
Posté le 26-10-2004 à 17:35:42  profilanswer
 

Juste par curiosité, tu peux nous montrer le DDL pour la table submenus ?

n°883267
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-10-2004 à 17:42:40  profilanswer
 

Alors :
 
MSDE Rev.A : http://www.microsoft.com/downloads [...] layLang=en
Gratuit. C'est un SQL Server 2000 "lite", c'est à dire sans outil d'admin avancé, et limité à 10 connections. Pour un site perso, cette limitation est largement suffisante, tu ne risque pas de l'atteindre (OLE DB réutilise la même connection pour faire passer les différents accès)
 
T'as aussi la Beta 2 de SQL Server 2005 Express, successeur de MSDE (gratuit aussi, même limitations, avec quelques bugs en plus certainement, mais aussi de belles fonctionnalités en plus normalement ;))
http://www.microsoft.com/downloads [...] layLang=en
 
SQL Server Web Data Administrator
http://www.microsoft.com/downloads [...] layLang=en
 
Tu connais PHPMyAdmin ? Ben là c'est pareil (certainement en mieu, on connait les outils microsoft pour leur ergonomie) pour SQL Server en version ASP (sur IIS)
 
Il ne te reste plus qu'à trouver un Windows 2003 Server Web Edition (dans les 700 € si mes souvenirs sont bons), ou prier pour que ça tourne sur un XP Home avec PWS installé ;)
 
Voilà :) On peut donc bosser avec des outils de pro sans avoir de gros moyens ;)
 
PS: SQL Server 2000, depuis le début j'en ai installé/administré une chiée, c'est vraiment pas plus compliqué qu'Access : tu installes, tu cliques, et ça marche :) Ensuite, ouais, si tu paufines ça devient plus chaud, mais pour un fonctionnement de base, aucun problème !

n°883268
Arjuna
Aircraft Ident.: F-MBSD
Posté le 26-10-2004 à 17:50:39  profilanswer
 

Au fait : MSDE = Microsoft SQL Server 2000 Desktop Engine


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  intégrité référentielle (trigger) qui marche pas

 

Sujets relatifs
un simple applet java qui ne marche pasMon makefile marche et ç'est étonnant !
Ca marche sur Firefox et pas sur IE !Croisement de Headers, comment ça marche? [Résolu]
Est ce normal que la fonction rmdir() ne marche pas chez free ?Java(script ?) d'une page qui ne marche pas sur l'ordi, OK sur le web
[Delphi] ShellExecute() qui marche pas.Programmation Palm / Ti-82 simple, comment ça marche ??
mon petit prog en PASCAL marche pas mais je vois pa l'erreur....HELP 
Plus de sujets relatifs à : intégrité référentielle (trigger) qui marche pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR