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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Access] Créer une relation 1-1 sur le modèle relationnel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Access] Créer une relation 1-1 sur le modèle relationnel

n°339242
albator7k
200% cnam
Posté le 20-03-2003 à 23:02:55  profilanswer
 

Je veux créer un modèle relationnel sous Access en ayant les 1-1 de chaque côté au lieu du 1 - infini j'ai tout essayé j'y arrive po :(
pourquoi  1 -1 par ce que ma relation entre 2 tables est de type 1 vers 1  dans les 2 sens


---------------
L'expérience est une lanterne que l'on a accrochée dans le dos et qui n'éclaire que le chemin parcouru [:albator7k]
mood
Publicité
Posté le 20-03-2003 à 23:02:55  profilanswer
 

n°339243
chrono
Ne m'appelez plus Dieu...
Posté le 20-03-2003 à 23:04:52  profilanswer
 

ca implique donc que tu peux n'utiliser qu'une seule table au lieu de deux..?? :heink:  :??:  non?


Message édité par chrono le 20-03-2003 à 23:11:15
n°339244
albator7k
200% cnam
Posté le 20-03-2003 à 23:10:41  profilanswer
 

Chrono a écrit :

et ben c pas bien  :heink:  


merci mais ça fais pas avancer le schmilblik
 des relations des 1 à 1 ça existe notament quandles entités sont disociables, on mélange pas les torchons et les serviettes.


---------------
L'expérience est une lanterne que l'on a accrochée dans le dos et qui n'éclaire que le chemin parcouru [:albator7k]
n°339247
chrono
Ne m'appelez plus Dieu...
Posté le 20-03-2003 à 23:17:45  profilanswer
 

Je viens de voir ca sur Access, C vrai que C con pour toi..
 
Mais il est tout pas bien ce logiciel de toute façon...
En tout cas désolé mais je peux pas t'aider.

n°339504
albator7k
200% cnam
Posté le 21-03-2003 à 11:11:12  profilanswer
 

Chrono a écrit :

Je viens de voir ca sur Access, C vrai que C con pour toi..
 
Mais il est tout pas bien ce logiciel de toute façon...
En tout cas désolé mais je peux pas t'aider.


donc c'est pas possible avec access, je voulais en être sûr.
Je sais c'est nul access mais chui obligé de l'utilisé :/


---------------
L'expérience est une lanterne que l'on a accrochée dans le dos et qui n'éclaire que le chemin parcouru [:albator7k]
n°339578
vttman2
Je suis Open ...
Posté le 21-03-2003 à 13:04:05  profilanswer
 

Pouquoi t'arrives pas à créer une  
relation 1-1 sous access
 
create table temp (x numeric);
CREATE UNIQUE  INDEX pk
    ON temp (x);
 
create table temp1 (x numeric);
CREATE UNIQUE  INDEX pk
    ON temp1 (x);
 
Voici 2 tables qui peuvent être liées par le
champ x et qui sont en 1-1, non ?
 
Et juste une reflexion : Access c pas
un logiciel de Merde, mais c pas
aussi un SGBD professionnel ...  :sleep:  
 
 
 

n°339660
albator7k
200% cnam
Posté le 21-03-2003 à 14:52:09  profilanswer
 

vttman2 a écrit :

Pouquoi t'arrives pas à créer une  
relation 1-1 sous access
 
create table temp (x numeric);
CREATE UNIQUE  INDEX pk
    ON temp (x);
 
create table temp1 (x numeric);
CREATE UNIQUE  INDEX pk
    ON temp1 (x);
 
Voici 2 tables qui peuvent être liées par le
champ x et qui sont en 1-1, non ?
 
Et juste une reflexion : Access c pas
un logiciel de Merde, mais c pas
aussi un SGBD professionnel ...  :sleep:  
 
 
 
 


je crée mes tables en mode création sans passer par des requêtes. Ensuite avec le jeu des clés je crée mes relations


---------------
L'expérience est une lanterne que l'on a accrochée dans le dos et qui n'éclaire que le chemin parcouru [:albator7k]
n°339672
vttman2
Je suis Open ...
Posté le 21-03-2003 à 15:15:23  profilanswer
 

ok mod création!
et donc si tu as une clé primaire sur x dans
table temp et une clé primaire  sur x dans table temp1
t'as bien une relation 1-1 entre les 2 tables, non ?
 
Ou ya un truc que j'ai pas pigé dans ce que tu veux  :??:  

n°339690
MagicBuzz
Posté le 21-03-2003 à 15:44:15  profilanswer
 

vttman2 a écrit :

ok mod création!
et donc si tu as une clé primaire sur x dans
table temp et une clé primaire  sur x dans table temp1
t'as bien une relation 1-1 entre les 2 tables, non ?
 
Ou ya un truc que j'ai pas pigé dans ce que tu veux  :??:  
 


il parle de RELATION, pas de clé :sarcastic:
 
Sinon, c'est simple, une relation 1-1 n'existe pas sur un SGBD, la seule qui soit modelable, c'est 0-1.
 
En effet, sinon, cela veut dire...
 
Mettons la table T1 avec la clé C1
La table T2 avec la clé C2 = C1
 
Donc, C2 est une clé étrangère qui pointe sur C1
 
Seulement, là c'est une relation 0-1
 
Si tu veux faire une relation 1-1, il faudrait en sorte que la clé C1 soit aussi une clé étrangère pointant sur la clé C2.
 
Seulement :
-> Déjà, ça fait un pointeur récusrif qui ne s'arrête jamais, donc tu ne pourras pas le faire
-> Si tu arrives à le faire, alors tu ne peux plus ajouter ni supprimer de ligne, puisque tu ne peux pas traîter deux lignes à la fois.
 
Une solution :
-> Créer 1 seule table, et dessus, faire deux vues correspondant à T1 et T2.
 
C'est le seul moyen de faire ça avec une relation 1-1 "proprement".
 
Sinon tu fait une relation 0-1, c'est très bien, les véritables relations 1-1 sont on ne peut plus rare.
Tu peux nous dire dans quel cas tu as ça ?


Message édité par MagicBuzz le 21-03-2003 à 15:44:32
n°339723
vttman2
Je suis Open ...
Posté le 21-03-2003 à 16:19:36  profilanswer
 

MagicBuzz a écrit :


il parle de RELATION, pas de clé :sarcastic:
 
Sinon, c'est simple, une relation 1-1 n'existe pas sur un SGBD, la seule qui soit modelable, c'est 0-1.
 
En effet, sinon, cela veut dire...
 
Mettons la table T1 avec la clé C1
La table T2 avec la clé C2 = C1
 
Donc, C2 est une clé étrangère qui pointe sur C1
 
Seulement, là c'est une relation 0-1
 
Si tu veux faire une relation 1-1, il faudrait en sorte que la clé C1 soit aussi une clé étrangère pointant sur la clé C2.
 
Seulement :
-> Déjà, ça fait un pointeur récusrif qui ne s'arrête jamais, donc tu ne pourras pas le faire
-> Si tu arrives à le faire, alors tu ne peux plus ajouter ni supprimer de ligne, puisque tu ne peux pas traîter deux lignes à la fois.
 
Une solution :
-> Créer 1 seule table, et dessus, faire deux vues correspondant à T1 et T2.
 
C'est le seul moyen de faire ça avec une relation 1-1 "proprement".
 
Sinon tu fait une relation 0-1, c'est très bien, les véritables relations 1-1 sont on ne peut plus rare.
Tu peux nous dire dans quel cas tu as ça ?


 
 
OK, OK MagicBuzz j'étais partie en Live ... :pt1cable:  
Ya des jours comme ça !!! sinon ça me parait pas
con ce que tu racontes  :jap:

mood
Publicité
Posté le 21-03-2003 à 16:19:36  profilanswer
 

n°339728
MagicBuzz
Posté le 21-03-2003 à 16:23:02  profilanswer
 

J'espère bien, me suis pas tapé 19 à mon projet d'analyse pour rien :D

n°339900
albator7k
200% cnam
Posté le 21-03-2003 à 18:57:21  profilanswer
 

MagicBuzz a écrit :


il parle de RELATION, pas de clé :sarcastic:
 
Sinon, c'est simple, une relation 1-1 n'existe pas sur un SGBD, la seule qui soit modelable, c'est 0-1.
 
En effet, sinon, cela veut dire...
 
Mettons la table T1 avec la clé C1
La table T2 avec la clé C2 = C1
 
Donc, C2 est une clé étrangère qui pointe sur C1
 
Seulement, là c'est une relation 0-1
 
Si tu veux faire une relation 1-1, il faudrait en sorte que la clé C1 soit aussi une clé étrangère pointant sur la clé C2.
 
Seulement :
-> Déjà, ça fait un pointeur récusrif qui ne s'arrête jamais, donc tu ne pourras pas le faire
-> Si tu arrives à le faire, alors tu ne peux plus ajouter ni supprimer de ligne, puisque tu ne peux pas traîter deux lignes à la fois.
 
Une solution :
-> Créer 1 seule table, et dessus, faire deux vues correspondant à T1 et T2.
 
C'est le seul moyen de faire ça avec une relation 1-1 "proprement".
 
Sinon tu fait une relation 0-1, c'est très bien, les véritables relations 1-1 sont on ne peut plus rare.
Tu peux nous dire dans quel cas tu as ça ?


ok tu me rassures c'est pas possible.
chaque site dispose d'un serveur unique j'ai une relation de 1 à 1 entre les 2 entités site et serveur
dans site j'ai toute les infos pour localiser ce site code, nom, adresse,.... et dans serveur toutes les infos code, nom, processeur, RAM,...
je peux pas faire une table unique en mélengeant serveur et site ce sont bien 2 entités parfaitement dissosciables.
T'en penses quoi :??:


---------------
L'expérience est une lanterne que l'on a accrochée dans le dos et qui n'éclaire que le chemin parcouru [:albator7k]
n°340413
albator7k
200% cnam
Posté le 22-03-2003 à 15:16:24  profilanswer
 

up


---------------
L'expérience est une lanterne que l'on a accrochée dans le dos et qui n'éclaire que le chemin parcouru [:albator7k]
n°341208
MagicBuzz
Posté le 24-03-2003 à 11:45:37  profilanswer
 

A priori, dans la réalité, c'est une relation n-n, il faut donc non seulement deux tables distinctes, mais en plus une table de relation.
 
En effet, un site peut héberger plusieurs sites (et ça va très vite, souvent les clients font un site, puis un sous-site qu'ils veulent greffer au site principal.
 
Ensuite, pour les très gros sites, on a souvent des cluters de serveurs, ou du load-balcing, et surtout des architectures 3/3 (serveur de BDD, serveur du site, serveur SLL par exemple)
 
Donc à 1 serveur peut, dans l'absolu, correspondre n sites, et à 1 site peut correspondre, toujours dans l'absolu, n serveurs.
 
Donc les tables sont :
 
SITE
----
SITE_ID
...
 
 
SERVER
------
SERVER_NUMSERIE
...
 
HEBERGEMENT
-----------
SITE_ID
SERVER_NUMSERIE
 
 
C'est ça le modèle qu'il faut utiliser, sinon tu risque d'avoir d'énormes soucis dans un future proche.

n°343334
albator7k
200% cnam
Posté le 26-03-2003 à 01:01:29  profilanswer
 

MagicBuzz a écrit :

A priori, dans la réalité, c'est une relation n-n, il faut donc non seulement deux tables distinctes, mais en plus une table de relation.
 
En effet, un site peut héberger plusieurs sites (et ça va très vite, souvent les clients font un site, puis un sous-site qu'ils veulent greffer au site principal.
 
Ensuite, pour les très gros sites, on a souvent des cluters de serveurs, ou du load-balcing, et surtout des architectures 3/3 (serveur de BDD, serveur du site, serveur SLL par exemple)
 
Donc à 1 serveur peut, dans l'absolu, correspondre n sites, et à 1 site peut correspondre, toujours dans l'absolu, n serveurs.
 
Donc les tables sont :
 
SITE
----
SITE_ID
...
 
 
SERVER
------
SERVER_NUMSERIE
...
 
HEBERGEMENT
-----------
SITE_ID
SERVER_NUMSERIE
 
 
C'est ça le modèle qu'il faut utiliser, sinon tu risque d'avoir d'énormes soucis dans un future proche.


je me suis posé la question mais bon le cahier des charges est comme ça :/ je sais c'est une aberration mais c'est pa smoi qui l'ai fixé :/
merci pour les  explications :jap:


---------------
L'expérience est une lanterne que l'on a accrochée dans le dos et qui n'éclaire que le chemin parcouru [:albator7k]

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

  [Access] Créer une relation 1-1 sur le modèle relationnel

 

Sujets relatifs
comment créer un numéro automatique avec easyPHP 1.6 ? :/[Script DOS] aider moi pour creer ce script svp :)
[Access] Une grosse question car je suis perdu...Créer un fichier Jpeg a partir d'objet "Image" ou "Graphics"
[ACCESS] données d'un état visible avec conditions ?VBA/Access transferer les champs d' 1 enreg. sur une autre table ?
Access et les champs calculés[Access] Faire une jointure à distance?
HELP ! Pb connection ADO et Access XP :((( [URGENT]besoin d'aide pour ACCESS
Plus de sujets relatifs à : [Access] Créer une relation 1-1 sur le modèle relationnel


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