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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ V FoxPro ] Les vues, dites moi si j'ai compris le principe.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ V FoxPro ] Les vues, dites moi si j'ai compris le principe.

n°696256
jeoff
Posté le 09-04-2004 à 09:42:29  profilanswer
 

Bon, j'ai un problème avec mes vues.
Prenons un exemple:
 
 
Légende :  
#clé_primaire
clé étrangère
 
table1: #idclient, nomclient, numdep
table2: #numdep,nomdep
 
Ma vue contient les champs de:  
table1.idclient,table1.nomclient,table2.nomdep
 
Le tout via une jointure qui est bien évidemment table1.numdep=table2.numdep  
 
Mon soucis, quand j'ajoute un enregistrement dans ma vue, est-ce que mes tables sont automatiquement mises à jour ou pas en principe?
 
Pour l'instant je me contente de bidouille qui me plaisent peu.
 
Si le département n'existe pas, je dois le rajouter dans table2 (ça c'est normal à mon gout :D).
Je dois insérer mon nouvel enregistrement dans table1 ET dans ma vue. La vue rajoute juste le champs numdep qui va bien dans table1 et qui correspond au nom associé.(ça c'est moins normal je trouve O_o)
 
N'hésitez pas à demandez des précisions, on me dit toujours que j'explique mal la première fois :whistle:
 
Merci :hello:


Message édité par jeoff le 09-04-2004 à 09:43:48
mood
Publicité
Posté le 09-04-2004 à 09:42:29  profilanswer
 

n°696692
Beegee
Posté le 09-04-2004 à 16:39:27  profilanswer
 

C'est quoi V FoxPro ?
 
en général les vues, ça sert qu'à lire des tables, non ?
donc si tu as des enregistrements à insérer tu les mets dans les tables, et la vue les verra :D

n°696811
Vinx
Posté le 09-04-2004 à 18:31:42  profilanswer
 

+1
 
Je connais pas VFoxPro. Avec Oracle, les vues sont en lecture seule.
 
Ajoute un département et un client dans chaque table. Ta vue sera automatiquement mise à jour ;)


Message édité par Vinx le 09-04-2004 à 18:33:51
n°698033
jeoff
Posté le 13-04-2004 à 10:11:00  profilanswer
 

Ok, ben ça as bien du mal alors sous foxpro.
Pour l'instant, je dois faire une écriture de mes tables + mise à jour de la vue à la main, c'est pas très "saint" comme méthode ... :whistle:.
 
Je vais me plonger là dedans.
 
Sinon, Visual FoxPro c'est un soft de dévellopement d'appli orienté base de donnée. Ca sert principalement à faire des interface client pour base de données. C'est plus chiant que EasyPHP/MySQL mais ça peut être plus ergonomique pour les utilisateurs de base m'as t'on dit (ou plutôt "vendu" :D).  
 
Comme c'est le soft pour mon stage, ben je fais avec ... :'(

n°762778
PatG
ANIMA SANA IN COMPUTERE SANO.
Posté le 14-06-2004 à 14:34:07  profilanswer
 

Ta vue est comme son non l'indique une vue de la table à laquelle elle est ratachée. Elle peut te présenter tout ou une partie des donée de la table, en fonction de la manière dont tu a paramètrer ta vue.
L'écriture dans ta table se fait directement via la vue serveur, quand tu ouvre ta table, en fait c'est la vue qui est ouverte. Donc si tu écrit dans ta vue, les données seront au final écrite dans ta table. Pour cela, il faut ouvrir une transaction (begin transaction), puis exécuter toutes les requêtes que tu a à faire sur cette table. A ce moment là, aucune données ne sont encore écrite dans la table, il faut utiliser la commande TABLEUPDATE pour que l'ensemble des requêtes sur cette table remonte au serveur, puis valider les requêtes (end transaction) ou les annuler (rollback)

n°766278
Arjuna
Aircraft Ident.: F-MBSD
Posté le 16-06-2004 à 17:52:45  profilanswer
 

Vinx a écrit :

+1
 
Je connais pas VFoxPro. Avec Oracle, les vues sont en lecture seule.
 
Ajoute un département et un client dans chaque table. Ta vue sera automatiquement mise à jour ;)


Faux. A partir de la 9i au moins, Oracle sait faire des vues qui permettent de faire des INSERT et des UPDATE ou DELETE.
 
Si les relations dans la base de données sont bien stipulées (pk et fk) avec la syntaxe dédiée et non des index, ca marche bien.
Ceci en réponse à Microsoft et SQL Server 2000 qui gère les vues update-able.
 
Ceci dit, même M$ qui est le précurseur de ce type de vues recommande formellement de ne pas utiliser cette fonctionnalité. En effet, tout champ inexistant dans la vue sera mis à sa valeur par defaut (ou null) et parfois ca peut être catastrophique (ou lever des erreurs, style si une valeur null tente de s'inserrer dans un index.

n°766286
Arjuna
Aircraft Ident.: F-MBSD
Posté le 16-06-2004 à 17:56:35  profilanswer
 

Sinon, je ne sais pas comment fonction Visual FoxPro, mais logiquement, une vue n'a pas besoin d'être mise à jour (à moins que VFP supporte les vues stockées, qui sont en réalité des tables temporaires mises à jour régulièrement, qui peuvent donc être désynchronisées), mais j'en doute grandement.
 
Il faut voir une vue comme une simple requête qui est stockée sur le serveur, et dont le plan d'éxécution est compilé (donc très rapide à l'éxécution). A chaque lecture dans la vue, la requête est effectivement éxécutée, et les tables utilisées par la vue lues.
 
Donc la moindre mise à jour dans les tables utilisées par la vue sont répercutées dans la vue dès que la transaction est terminée (et pour l'utilisateur qui effecture les mises à jour, immédiatement)


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

  [ V FoxPro ] Les vues, dites moi si j'ai compris le principe.

 

Sujets relatifs
[SQL][Compris]foreign keyfaire une suite aleatoire de 10 nombres compris entre 0 et 50 en .bat
[PHP/SQL] Principe du "qui est en ligne"[ CS & WallHack ] - C'est quoi le principe ??
[Access]Les vuesAgir sur une page depuis une pop up ? Principe de l'alerte MP sur HFR
Taille maxi des noms de vues (et tables ?) sous Oracle 9i (et < ?)Dites moi? C bien impossible de créer un prog qui allume un pc ...?
Ai-je bien compris le principe de la POO ? 
Plus de sujets relatifs à : [ V FoxPro ] Les vues, dites moi si j'ai compris le principe.


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