|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Sylvain BENOITIngénieur R&D Inscription : décembre 2009 Messages : 83 ![]() |
Bonjour,
J'ai jamais vraiment utilisé de SGBD et je compte pas devenir spécialiste. Mais j'ai un petit truc à faire et une BDD me semble adaptée. Bref j'ai "choisi" SQLite parce qu’il à l'air simple et que j'ai trouvé un super tuto (court, et efficace http://www.dreamincode.net/forums/to...ite-with-c%23/) pour interfacer une BDD SQLite en C#. J'ai installé ce qui me semble nécessaire dont un GUI (SQLite Administrator). Avec ce GUI j'ai créé une base et 3 tables. J'ai saisi 2 ou 3 lignes dans chaque tables pour manipuler. Maintenant j'aimerai créer des liens (qu'un champs de la table 2 vienne piocher dans la table 1). Et la je suis sec !!! Avant d’écrire ici j'ai regardé dans les tutos du site mais j'ai pas trouvé, auriez-vous un bon tuto ou la solution à mon problème ? Un grand merci par avance |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Alain CaumesChef de projet MOA Inscription : juillet 2011 Messages : 49 ![]() |
Bonjour,
Je suppose que ce que tu cherches à faire se trouve là http://sqlpro.developpez.com/cours/sqlaz/jointures/ mais quelques remarques de vocabulaire : On parle plutôt de colonnes dans une base relationnelle Une colonne ne va pas piocher elle peut référencer une autre table de la base sur une de ses colonnes. Cordialement |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Sylvain BENOITIngénieur R&D Inscription : décembre 2009 Messages : 83 ![]() |
Bonjour,
Merci pour le lien. J'ai lu quelques docs sur les jointures suite à ta réponse. Mais j'ai toujours une question. OK avec SELECT ... JOIN ...... WHERE .... je vais établir un lien. Mais dans ma compréhension ce lien n'existe qu'au moment ou j’exécute la requête. Si j'ai bien compris ce lien est une opération du frontend (appli C# dans mon cas) et non une propriété intrinsèque de la base (.s3db de SQLite dans mon cas). Donc si 2 frontends sont développés et partagent les mêmes tables il se peut qu'une application établisse explicitement le lien et l'autre non. Pourrais-tu me le confirmer si j'ai bien compris ? Merci. |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Alain CaumesChef de projet MOA Inscription : juillet 2011 Messages : 49 ![]() |
Bonjour,
Oui, bien sûr, c'est l'application qui doit savoir si elle veut récupérer le code (pas de jointure) ou un attribut quelconque lié à la clé (jointure) Exemple pour récupérer le nom d'un pays, je fais une jointure sur une table des pays qui contiendra le code, le nom, la monnaie ...) Bien entendu, le code pays sera le lien entre les deux tables. Par contre, si tu veux garantir que dans ta première table, le code pays existe à coup sûr dans la table des pays, alors tu dois mettre en œuvre les triggers. http://www.sqlite.org/lang_createtrigger.html Cordialement |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Sylvain BENOITIngénieur R&D Inscription : décembre 2009 Messages : 83 ![]() |
Merci,
J'ai juste survolé ton lien mais ça me plait bien ce trigger. Dans une autre doc j'ai entendu parler de "procedure stockée" c'est la meme chose ? Je vais me pencher plus serieusement sur les triggers. Cordialement |
|
|
00
|
|
|
#6 | |
|
Membre chevronné
![]() Inscription : janvier 2009 Messages : 397 ![]() |
Bonjour,
Citation:
Pour les procédures stockées, tu oublies car Sqlite ne sait pas les utiliser. Cette possibilité n'est pas implanté. Les triggers sont des requêtes spécifiques qui interviennent avant ou après une opération INSERT, UPDATE et DELETE. Ne pas oublier la documentation Sqlite. A+ |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com