Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs externes
composées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t affecté(s)
obligatoirement d'une contrainte de null interdit (propriété "Null
du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe (la
clef primaire correspondante n'ayant aucune valeur nulle bien entendu!) .
Ceci étant possible par le choix des options de mise à jour en cascade et
l'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la clef
primaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas, Access
oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs externes
composées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t affecté(s)
obligatoirement d'une contrainte de null interdit (propriété "Null
du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe (la
clef primaire correspondante n'ayant aucune valeur nulle bien entendu!) .
Ceci étant possible par le choix des options de mise à jour en cascade et
l'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la clef
primaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas, Access
oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs externes
composées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t affecté(s)
obligatoirement d'une contrainte de null interdit (propriété "Null
du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe (la
clef primaire correspondante n'ayant aucune valeur nulle bien entendu!) .
Ceci étant possible par le choix des options de mise à jour en cascade et
l'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la clef
primaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas, Access
oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs externes
composées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t affecté(s)
obligatoirement d'une contrainte de null interdit (propriété "Null Interdit"
du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe (la
clef primaire correspondante n'ayant aucune valeur nulle bien entendu!) .
Ceci étant possible par le choix des options de mise à jour en cascade et à
l'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs sont
:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la clef
primaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas, Access
oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs externes
composées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t affecté(s)
obligatoirement d'une contrainte de null interdit (propriété "Null Interdit"
du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe (la
clef primaire correspondante n'ayant aucune valeur nulle bien entendu!) .
Ceci étant possible par le choix des options de mise à jour en cascade et à
l'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs sont
:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la clef
primaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas, Access
oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs externes
composées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t affecté(s)
obligatoirement d'une contrainte de null interdit (propriété "Null Interdit"
du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe (la
clef primaire correspondante n'ayant aucune valeur nulle bien entendu!) .
Ceci étant possible par le choix des options de mise à jour en cascade et à
l'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs sont
:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la clef
primaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas, Access
oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
Visiblement tu ne maitrise pas les problèmes de modélisation...
Contrairement à ce que tu affirme ce comportement est parfaitement
normal. Il dépend du modèle abstrait que tu as donné.
Si relation 0..n alors possibilité de NULL dans la clef étrangère.
Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
c'est à dire que chaque colonne comoposant la clef doit être créée avec
la contrainte NOT NULL.
Tes affirmations sur le concept des intégrités référentielles sont des
inepties lamentables.
Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
de ce que tu pense.
A lire pour ta culture :
http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
Commencent par apprendre ce qu'est un modèle conceptuel de données
(MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
qui est en faite viole des règles de conception !!!
A +
News Groups a écrit:
> Bonjour,
>
> Je constate que SQL Server permet comme Access de créer des clefs
> composées d'un (ou
> plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
> obligatoirement d'une contrainte de null interdit (propriété "Null
> du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
> table des valeurs nulles au niveau du champ composant la clef externe
> clef primaire correspondante n'ayant aucune valeur nulle bien entendu!)
> Ceci étant possible par le choix des options de mise à jour en cascade
> l'aide de déclencheurs ou procédures stockées.
>
> exemple de jeu d'enregistrements :
> - Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
> :
> NomDeVille
> -------------
> Paris
> Lyon
> Toulouse
>
> -Table [ADRESSE] comportant la clef externe Ville correspondant à la
> primaire Nom DeVille de la
> table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
> Nom Ville
> ------ ------
> Durand Paris
> Dupont Lyon
> John
> Smith Paris
>
> - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
>
> Ma question est donc : comment cela est il possible si ce n'est que SQL
> Server ne
> respecte pas totalement le concept d'intégrité référentielle, de clef
> primaire et externe ??...
>
> Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
> oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
>
> Si quelqu'un a les réponses, je serais curieux de savoir,
> Merci à tous.
>
>
>
>
>
>
>
>
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Visiblement tu ne maitrise pas les problèmes de modélisation...
Contrairement à ce que tu affirme ce comportement est parfaitement
normal. Il dépend du modèle abstrait que tu as donné.
Si relation 0..n alors possibilité de NULL dans la clef étrangère.
Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
c'est à dire que chaque colonne comoposant la clef doit être créée avec
la contrainte NOT NULL.
Tes affirmations sur le concept des intégrités référentielles sont des
inepties lamentables.
Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
de ce que tu pense.
A lire pour ta culture :
http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
Commencent par apprendre ce qu'est un modèle conceptuel de données
(MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
qui est en faite viole des règles de conception !!!
A +
News Groups a écrit:
> Bonjour,
>
> Je constate que SQL Server permet comme Access de créer des clefs
> composées d'un (ou
> plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
> obligatoirement d'une contrainte de null interdit (propriété "Null
> du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
> table des valeurs nulles au niveau du champ composant la clef externe
> clef primaire correspondante n'ayant aucune valeur nulle bien entendu!)
> Ceci étant possible par le choix des options de mise à jour en cascade
> l'aide de déclencheurs ou procédures stockées.
>
> exemple de jeu d'enregistrements :
> - Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
> :
> NomDeVille
> -------------
> Paris
> Lyon
> Toulouse
>
> -Table [ADRESSE] comportant la clef externe Ville correspondant à la
> primaire Nom DeVille de la
> table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
> Nom Ville
> ------ ------
> Durand Paris
> Dupont Lyon
> John
> Smith Paris
>
> - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
>
> Ma question est donc : comment cela est il possible si ce n'est que SQL
> Server ne
> respecte pas totalement le concept d'intégrité référentielle, de clef
> primaire et externe ??...
>
> Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
> oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
>
> Si quelqu'un a les réponses, je serais curieux de savoir,
> Merci à tous.
>
>
>
>
>
>
>
>
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
Visiblement tu ne maitrise pas les problèmes de modélisation...
Contrairement à ce que tu affirme ce comportement est parfaitement
normal. Il dépend du modèle abstrait que tu as donné.
Si relation 0..n alors possibilité de NULL dans la clef étrangère.
Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
c'est à dire que chaque colonne comoposant la clef doit être créée avec
la contrainte NOT NULL.
Tes affirmations sur le concept des intégrités référentielles sont des
inepties lamentables.
Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
de ce que tu pense.
A lire pour ta culture :
http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
Commencent par apprendre ce qu'est un modèle conceptuel de données
(MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
qui est en faite viole des règles de conception !!!
A +
News Groups a écrit:
> Bonjour,
>
> Je constate que SQL Server permet comme Access de créer des clefs
> composées d'un (ou
> plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
> obligatoirement d'une contrainte de null interdit (propriété "Null
> du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
> table des valeurs nulles au niveau du champ composant la clef externe
> clef primaire correspondante n'ayant aucune valeur nulle bien entendu!)
> Ceci étant possible par le choix des options de mise à jour en cascade
> l'aide de déclencheurs ou procédures stockées.
>
> exemple de jeu d'enregistrements :
> - Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
> :
> NomDeVille
> -------------
> Paris
> Lyon
> Toulouse
>
> -Table [ADRESSE] comportant la clef externe Ville correspondant à la
> primaire Nom DeVille de la
> table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
> Nom Ville
> ------ ------
> Durand Paris
> Dupont Lyon
> John
> Smith Paris
>
> - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
>
> Ma question est donc : comment cela est il possible si ce n'est que SQL
> Server ne
> respecte pas totalement le concept d'intégrité référentielle, de clef
> primaire et externe ??...
>
> Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
> oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
>
> Si quelqu'un a les réponses, je serais curieux de savoir,
> Merci à tous.
>
>
>
>
>
>
>
>
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas de
mal!..
Sans vouloir me défendre, je dirais que mon message permettait de prêcher
faux pour connaître le vrai : ta réponse à permis de mettre d'accord
l'ensemble des personnes qui ont pris part à la discussion sur le sujet et
qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis en
référence dans ton mail leur à été distribuées...).
Une nota plus générale tout de même sur le sens de la valeur nulle : elle
peut signifier qu'une valeur est à associer mais inconnu à l'instant t ou
bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce
n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu cette
distinction de sens ?
Merci pour tes réponses (un peu directes tout de même !...mais après tout
cela pousse à acheter ton livre.)
"Fred BROUARD" a écrit dans le message de
> Visiblement tu ne maitrise pas les problèmes de modélisation...
>
> Contrairement à ce que tu affirme ce comportement est parfaitement
> normal. Il dépend du modèle abstrait que tu as donné.
> Si relation 0..n alors possibilité de NULL dans la clef étrangère.
> Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
> c'est à dire que chaque colonne comoposant la clef doit être créée avec
> la contrainte NOT NULL.
>
> Tes affirmations sur le concept des intégrités référentielles sont des
> inepties lamentables.
>
> Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
> de ce que tu pense.
>
> A lire pour ta culture :
> http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
>
> Commencent par apprendre ce qu'est un modèle conceptuel de données
> (MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
> qui est en faite viole des règles de conception !!!
>
> A +
>
> News Groups a écrit:
> > Bonjour,
> >
> > Je constate que SQL Server permet comme Access de créer des clefs
externes
> > composées d'un (ou
> > plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
affecté(s)
> > obligatoirement d'une contrainte de null interdit (propriété "Null
Interdit"
> > du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans
> > table des valeurs nulles au niveau du champ composant la clef externe
(la
> > clef primaire correspondante n'ayant aucune valeur nulle bien
.
> > Ceci étant possible par le choix des options de mise à jour en cascade
et à
> > l'aide de déclencheurs ou procédures stockées.
> >
> > exemple de jeu d'enregistrements :
> > - Table [VILLE] comportant la clef primaire NomDeVille dont les
sont
> > :
> > NomDeVille
> > -------------
> > Paris
> > Lyon
> > Toulouse
> >
> > -Table [ADRESSE] comportant la clef externe Ville correspondant à la
clef
> > primaire Nom DeVille de la
> > table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
> > Nom Ville
> > ------ ------
> > Durand Paris
> > Dupont Lyon
> > John
> > Smith Paris
> >
> > - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
> >
> > Ma question est donc : comment cela est il possible si ce n'est que
> > Server ne
> > respecte pas totalement le concept d'intégrité référentielle, de clef
> > primaire et externe ??...
> >
> > Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
Access
> > oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
> >
> > Si quelqu'un a les réponses, je serais curieux de savoir,
> > Merci à tous.
> >
> >
> >
> >
> >
> >
> >
> >
>
> --
> Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ****************** mailto: ******************
>
Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas de
mal!..
Sans vouloir me défendre, je dirais que mon message permettait de prêcher
faux pour connaître le vrai : ta réponse à permis de mettre d'accord
l'ensemble des personnes qui ont pris part à la discussion sur le sujet et
qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis en
référence dans ton mail leur à été distribuées...).
Une nota plus générale tout de même sur le sens de la valeur nulle : elle
peut signifier qu'une valeur est à associer mais inconnu à l'instant t ou
bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce
n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu cette
distinction de sens ?
Merci pour tes réponses (un peu directes tout de même !...mais après tout
cela pousse à acheter ton livre.)
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
3F6777D0.6050008@club-internet.fr...
> Visiblement tu ne maitrise pas les problèmes de modélisation...
>
> Contrairement à ce que tu affirme ce comportement est parfaitement
> normal. Il dépend du modèle abstrait que tu as donné.
> Si relation 0..n alors possibilité de NULL dans la clef étrangère.
> Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
> c'est à dire que chaque colonne comoposant la clef doit être créée avec
> la contrainte NOT NULL.
>
> Tes affirmations sur le concept des intégrités référentielles sont des
> inepties lamentables.
>
> Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
> de ce que tu pense.
>
> A lire pour ta culture :
> http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
>
> Commencent par apprendre ce qu'est un modèle conceptuel de données
> (MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
> qui est en faite viole des règles de conception !!!
>
> A +
>
> News Groups a écrit:
> > Bonjour,
> >
> > Je constate que SQL Server permet comme Access de créer des clefs
externes
> > composées d'un (ou
> > plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
affecté(s)
> > obligatoirement d'une contrainte de null interdit (propriété "Null
Interdit"
> > du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans
> > table des valeurs nulles au niveau du champ composant la clef externe
(la
> > clef primaire correspondante n'ayant aucune valeur nulle bien
.
> > Ceci étant possible par le choix des options de mise à jour en cascade
et à
> > l'aide de déclencheurs ou procédures stockées.
> >
> > exemple de jeu d'enregistrements :
> > - Table [VILLE] comportant la clef primaire NomDeVille dont les
sont
> > :
> > NomDeVille
> > -------------
> > Paris
> > Lyon
> > Toulouse
> >
> > -Table [ADRESSE] comportant la clef externe Ville correspondant à la
clef
> > primaire Nom DeVille de la
> > table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
> > Nom Ville
> > ------ ------
> > Durand Paris
> > Dupont Lyon
> > John
> > Smith Paris
> >
> > - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
> >
> > Ma question est donc : comment cela est il possible si ce n'est que
> > Server ne
> > respecte pas totalement le concept d'intégrité référentielle, de clef
> > primaire et externe ??...
> >
> > Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
Access
> > oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
> >
> > Si quelqu'un a les réponses, je serais curieux de savoir,
> > Merci à tous.
> >
> >
> >
> >
> >
> >
> >
> >
>
> --
> Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ****************** mailto:brouardf@club-internet.fr ******************
>
Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas de
mal!..
Sans vouloir me défendre, je dirais que mon message permettait de prêcher
faux pour connaître le vrai : ta réponse à permis de mettre d'accord
l'ensemble des personnes qui ont pris part à la discussion sur le sujet et
qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis en
référence dans ton mail leur à été distribuées...).
Une nota plus générale tout de même sur le sens de la valeur nulle : elle
peut signifier qu'une valeur est à associer mais inconnu à l'instant t ou
bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce
n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu cette
distinction de sens ?
Merci pour tes réponses (un peu directes tout de même !...mais après tout
cela pousse à acheter ton livre.)
"Fred BROUARD" a écrit dans le message de
> Visiblement tu ne maitrise pas les problèmes de modélisation...
>
> Contrairement à ce que tu affirme ce comportement est parfaitement
> normal. Il dépend du modèle abstrait que tu as donné.
> Si relation 0..n alors possibilité de NULL dans la clef étrangère.
> Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
> c'est à dire que chaque colonne comoposant la clef doit être créée avec
> la contrainte NOT NULL.
>
> Tes affirmations sur le concept des intégrités référentielles sont des
> inepties lamentables.
>
> Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
> de ce que tu pense.
>
> A lire pour ta culture :
> http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
>
> Commencent par apprendre ce qu'est un modèle conceptuel de données
> (MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
> qui est en faite viole des règles de conception !!!
>
> A +
>
> News Groups a écrit:
> > Bonjour,
> >
> > Je constate que SQL Server permet comme Access de créer des clefs
externes
> > composées d'un (ou
> > plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
affecté(s)
> > obligatoirement d'une contrainte de null interdit (propriété "Null
Interdit"
> > du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans
> > table des valeurs nulles au niveau du champ composant la clef externe
(la
> > clef primaire correspondante n'ayant aucune valeur nulle bien
.
> > Ceci étant possible par le choix des options de mise à jour en cascade
et à
> > l'aide de déclencheurs ou procédures stockées.
> >
> > exemple de jeu d'enregistrements :
> > - Table [VILLE] comportant la clef primaire NomDeVille dont les
sont
> > :
> > NomDeVille
> > -------------
> > Paris
> > Lyon
> > Toulouse
> >
> > -Table [ADRESSE] comportant la clef externe Ville correspondant à la
clef
> > primaire Nom DeVille de la
> > table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
> > Nom Ville
> > ------ ------
> > Durand Paris
> > Dupont Lyon
> > John
> > Smith Paris
> >
> > - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
> >
> > Ma question est donc : comment cela est il possible si ce n'est que
> > Server ne
> > respecte pas totalement le concept d'intégrité référentielle, de clef
> > primaire et externe ??...
> >
> > Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
Access
> > oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
> >
> > Si quelqu'un a les réponses, je serais curieux de savoir,
> > Merci à tous.
> >
> >
> >
> >
> >
> >
> >
> >
>
> --
> Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> ****************** mailto: ******************
>
Pour moi, si il est NULL c'est que sa valeur est inconnue. Si c'est une
chaine vide, c'est qu'il n'a pas de second prénom.
NULL=valeur inconnue
Après un peu de mesure tout de même, il y a pas mal de cas dont sans doute
celui ci où il serait possible de faire l'impasse sur la valeur inconnue
interdisant NULL et en mettant une chaine vide par défaut pour le second
prénom (on suppose que si le second prénom n'est pas indiqué c'st qu'il
a pas)...
Patrice
--
"News Groups" a écrit dans le message de
news:3f681b54$0$20184$
> Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas
> mal!..
>
>
>
> Sans vouloir me défendre, je dirais que mon message permettait de
le
> faux pour connaître le vrai : ta réponse à permis de mettre d'accord
> l'ensemble des personnes qui ont pris part à la discussion sur le sujet
> qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis
> référence dans ton mail leur à été distribuées...).
>
> Une nota plus générale tout de même sur le sens de la valeur nulle :
> peut signifier qu'une valeur est à associer mais inconnu à l'instant t
> bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
> Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce
qu'il
> n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu
> distinction de sens ?
>
>
>
> Merci pour tes réponses (un peu directes tout de même !...mais après
> cela pousse à acheter ton livre.)
>
>
>
> "Fred BROUARD" a écrit dans le message de
news:
>
> > Visiblement tu ne maitrise pas les problèmes de modélisation...
> >
> > Contrairement à ce que tu affirme ce comportement est parfaitement
> > normal. Il dépend du modèle abstrait que tu as donné.
> > Si relation 0..n alors possibilité de NULL dans la clef étrangère.
> > Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
> > c'est à dire que chaque colonne comoposant la clef doit être créée
> > la contrainte NOT NULL.
> >
> > Tes affirmations sur le concept des intégrités référentielles sont des
> > inepties lamentables.
> >
> > Sache que SQL (la Norme, pas SQL Server en particulier) va bien au
> > de ce que tu pense.
> >
> > A lire pour ta culture :
> > http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
> >
> > Commencent par apprendre ce qu'est un modèle conceptuel de données
> > (MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
> > qui est en faite viole des règles de conception !!!
> >
> > A +
> >
> > News Groups a écrit:
> > > Bonjour,
> > >
> > > Je constate que SQL Server permet comme Access de créer des clefs
> externes
> > > composées d'un (ou
> > > plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
> affecté(s)
> > > obligatoirement d'une contrainte de null interdit (propriété "Null
> Interdit"
> > > du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir
la
> > > table des valeurs nulles au niveau du champ composant la clef
> (la
> > > clef primaire correspondante n'ayant aucune valeur nulle bien
entendu!)
> .
> > > Ceci étant possible par le choix des options de mise à jour en
> et à
> > > l'aide de déclencheurs ou procédures stockées.
> > >
> > > exemple de jeu d'enregistrements :
> > > - Table [VILLE] comportant la clef primaire NomDeVille dont les
valeurs
> sont
> > > :
> > > NomDeVille
> > > -------------
> > > Paris
> > > Lyon
> > > Toulouse
> > >
> > > -Table [ADRESSE] comportant la clef externe Ville correspondant à la
> clef
> > > primaire Nom DeVille de la
> > > table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE])
> > > Nom Ville
> > > ------ ------
> > > Durand Paris
> > > Dupont Lyon
> > > John
> > > Smith Paris
> > >
> > > - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
> > >
> > > Ma question est donc : comment cela est il possible si ce n'est que
SQL
> > > Server ne
> > > respecte pas totalement le concept d'intégrité référentielle, de
> > > primaire et externe ??...
> > >
> > > Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
> Access
> > > oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
> > >
> > > Si quelqu'un a les réponses, je serais curieux de savoir,
> > > Merci à tous.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> > --
> > Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> > Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> > Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> > ****************** mailto: ******************
> >
>
>
Pour moi, si il est NULL c'est que sa valeur est inconnue. Si c'est une
chaine vide, c'est qu'il n'a pas de second prénom.
NULL=valeur inconnue
Après un peu de mesure tout de même, il y a pas mal de cas dont sans doute
celui ci où il serait possible de faire l'impasse sur la valeur inconnue
interdisant NULL et en mettant une chaine vide par défaut pour le second
prénom (on suppose que si le second prénom n'est pas indiqué c'st qu'il
a pas)...
Patrice
--
"News Groups" <bjt_nwsgrp@yahoo.fr> a écrit dans le message de
news:3f681b54$0$20184$626a54ce@news.free.fr...
> Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas
> mal!..
>
>
>
> Sans vouloir me défendre, je dirais que mon message permettait de
le
> faux pour connaître le vrai : ta réponse à permis de mettre d'accord
> l'ensemble des personnes qui ont pris part à la discussion sur le sujet
> qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis
> référence dans ton mail leur à été distribuées...).
>
> Une nota plus générale tout de même sur le sens de la valeur nulle :
> peut signifier qu'une valeur est à associer mais inconnu à l'instant t
> bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
> Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce
qu'il
> n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu
> distinction de sens ?
>
>
>
> Merci pour tes réponses (un peu directes tout de même !...mais après
> cela pousse à acheter ton livre.)
>
>
>
> "Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de
news:
> 3F6777D0.6050008@club-internet.fr...
> > Visiblement tu ne maitrise pas les problèmes de modélisation...
> >
> > Contrairement à ce que tu affirme ce comportement est parfaitement
> > normal. Il dépend du modèle abstrait que tu as donné.
> > Si relation 0..n alors possibilité de NULL dans la clef étrangère.
> > Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
> > c'est à dire que chaque colonne comoposant la clef doit être créée
> > la contrainte NOT NULL.
> >
> > Tes affirmations sur le concept des intégrités référentielles sont des
> > inepties lamentables.
> >
> > Sache que SQL (la Norme, pas SQL Server en particulier) va bien au
> > de ce que tu pense.
> >
> > A lire pour ta culture :
> > http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
> >
> > Commencent par apprendre ce qu'est un modèle conceptuel de données
> > (MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
> > qui est en faite viole des règles de conception !!!
> >
> > A +
> >
> > News Groups a écrit:
> > > Bonjour,
> > >
> > > Je constate que SQL Server permet comme Access de créer des clefs
> externes
> > > composées d'un (ou
> > > plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
> affecté(s)
> > > obligatoirement d'une contrainte de null interdit (propriété "Null
> Interdit"
> > > du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir
la
> > > table des valeurs nulles au niveau du champ composant la clef
> (la
> > > clef primaire correspondante n'ayant aucune valeur nulle bien
entendu!)
> .
> > > Ceci étant possible par le choix des options de mise à jour en
> et à
> > > l'aide de déclencheurs ou procédures stockées.
> > >
> > > exemple de jeu d'enregistrements :
> > > - Table [VILLE] comportant la clef primaire NomDeVille dont les
valeurs
> sont
> > > :
> > > NomDeVille
> > > -------------
> > > Paris
> > > Lyon
> > > Toulouse
> > >
> > > -Table [ADRESSE] comportant la clef externe Ville correspondant à la
> clef
> > > primaire Nom DeVille de la
> > > table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE])
> > > Nom Ville
> > > ------ ------
> > > Durand Paris
> > > Dupont Lyon
> > > John
> > > Smith Paris
> > >
> > > - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
> > >
> > > Ma question est donc : comment cela est il possible si ce n'est que
SQL
> > > Server ne
> > > respecte pas totalement le concept d'intégrité référentielle, de
> > > primaire et externe ??...
> > >
> > > Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
> Access
> > > oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
> > >
> > > Si quelqu'un a les réponses, je serais curieux de savoir,
> > > Merci à tous.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> > --
> > Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> > Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> > Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> > ****************** mailto:brouardf@club-internet.fr ******************
> >
>
>
Pour moi, si il est NULL c'est que sa valeur est inconnue. Si c'est une
chaine vide, c'est qu'il n'a pas de second prénom.
NULL=valeur inconnue
Après un peu de mesure tout de même, il y a pas mal de cas dont sans doute
celui ci où il serait possible de faire l'impasse sur la valeur inconnue
interdisant NULL et en mettant une chaine vide par défaut pour le second
prénom (on suppose que si le second prénom n'est pas indiqué c'st qu'il
a pas)...
Patrice
--
"News Groups" a écrit dans le message de
news:3f681b54$0$20184$
> Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas
> mal!..
>
>
>
> Sans vouloir me défendre, je dirais que mon message permettait de
le
> faux pour connaître le vrai : ta réponse à permis de mettre d'accord
> l'ensemble des personnes qui ont pris part à la discussion sur le sujet
> qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis
> référence dans ton mail leur à été distribuées...).
>
> Une nota plus générale tout de même sur le sens de la valeur nulle :
> peut signifier qu'une valeur est à associer mais inconnu à l'instant t
> bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
> Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce
qu'il
> n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu
> distinction de sens ?
>
>
>
> Merci pour tes réponses (un peu directes tout de même !...mais après
> cela pousse à acheter ton livre.)
>
>
>
> "Fred BROUARD" a écrit dans le message de
news:
>
> > Visiblement tu ne maitrise pas les problèmes de modélisation...
> >
> > Contrairement à ce que tu affirme ce comportement est parfaitement
> > normal. Il dépend du modèle abstrait que tu as donné.
> > Si relation 0..n alors possibilité de NULL dans la clef étrangère.
> > Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
> > c'est à dire que chaque colonne comoposant la clef doit être créée
> > la contrainte NOT NULL.
> >
> > Tes affirmations sur le concept des intégrités référentielles sont des
> > inepties lamentables.
> >
> > Sache que SQL (la Norme, pas SQL Server en particulier) va bien au
> > de ce que tu pense.
> >
> > A lire pour ta culture :
> > http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
> >
> > Commencent par apprendre ce qu'est un modèle conceptuel de données
> > (MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
> > qui est en faite viole des règles de conception !!!
> >
> > A +
> >
> > News Groups a écrit:
> > > Bonjour,
> > >
> > > Je constate que SQL Server permet comme Access de créer des clefs
> externes
> > > composées d'un (ou
> > > plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
> affecté(s)
> > > obligatoirement d'une contrainte de null interdit (propriété "Null
> Interdit"
> > > du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir
la
> > > table des valeurs nulles au niveau du champ composant la clef
> (la
> > > clef primaire correspondante n'ayant aucune valeur nulle bien
entendu!)
> .
> > > Ceci étant possible par le choix des options de mise à jour en
> et à
> > > l'aide de déclencheurs ou procédures stockées.
> > >
> > > exemple de jeu d'enregistrements :
> > > - Table [VILLE] comportant la clef primaire NomDeVille dont les
valeurs
> sont
> > > :
> > > NomDeVille
> > > -------------
> > > Paris
> > > Lyon
> > > Toulouse
> > >
> > > -Table [ADRESSE] comportant la clef externe Ville correspondant à la
> clef
> > > primaire Nom DeVille de la
> > > table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE])
> > > Nom Ville
> > > ------ ------
> > > Durand Paris
> > > Dupont Lyon
> > > John
> > > Smith Paris
> > >
> > > - L'enregistrement n°3 a une valeur nulle pour le champ Ville !
> > >
> > > Ma question est donc : comment cela est il possible si ce n'est que
SQL
> > > Server ne
> > > respecte pas totalement le concept d'intégrité référentielle, de
> > > primaire et externe ??...
> > >
> > > Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
> Access
> > > oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
> > >
> > > Si quelqu'un a les réponses, je serais curieux de savoir,
> > > Merci à tous.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> >
> > --
> > Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
> > Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
> > Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
> > ****************** mailto: ******************
> >
>
>
Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas de
mal!..
Sans vouloir me défendre, je dirais que mon message permettait de prêcher le
faux pour connaître le vrai : ta réponse à permis de mettre d'accord
l'ensemble des personnes qui ont pris part à la discussion sur le sujet et
qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis en
référence dans ton mail leur à été distribuées...).
Une nota plus générale tout de même sur le sens de la valeur nulle : elle
peut signifier qu'une valeur est à associer mais inconnu à l'instant t ou
bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce qu'il
n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu cette
distinction de sens ?
Merci pour tes réponses (un peu directes tout de même !...mais après tout
cela pousse à acheter ton livre.)
"Fred BROUARD" a écrit dans le message de news:Visiblement tu ne maitrise pas les problèmes de modélisation...
Contrairement à ce que tu affirme ce comportement est parfaitement
normal. Il dépend du modèle abstrait que tu as donné.
Si relation 0..n alors possibilité de NULL dans la clef étrangère.
Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
c'est à dire que chaque colonne comoposant la clef doit être créée avec
la contrainte NOT NULL.
Tes affirmations sur le concept des intégrités référentielles sont des
inepties lamentables.
Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
de ce que tu pense.
A lire pour ta culture :
http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
Commencent par apprendre ce qu'est un modèle conceptuel de données
(MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
qui est en faite viole des règles de conception !!!
A +
News Groups a écrit:Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs
externescomposées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
affecté(s)obligatoirement d'une contrainte de null interdit (propriété "Null
Interdit"du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe
(laclef primaire correspondante n'ayant aucune valeur nulle bien entendu!)
.Ceci étant possible par le choix des options de mise à jour en cascade
et àl'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
sont:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la
clefprimaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
Accessoui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************
Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas de
mal!..
Sans vouloir me défendre, je dirais que mon message permettait de prêcher le
faux pour connaître le vrai : ta réponse à permis de mettre d'accord
l'ensemble des personnes qui ont pris part à la discussion sur le sujet et
qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis en
référence dans ton mail leur à été distribuées...).
Une nota plus générale tout de même sur le sens de la valeur nulle : elle
peut signifier qu'une valeur est à associer mais inconnu à l'instant t ou
bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce qu'il
n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu cette
distinction de sens ?
Merci pour tes réponses (un peu directes tout de même !...mais après tout
cela pousse à acheter ton livre.)
"Fred BROUARD" <brouardf@club-internet.fr> a écrit dans le message de news:
3F6777D0.6050008@club-internet.fr...
Visiblement tu ne maitrise pas les problèmes de modélisation...
Contrairement à ce que tu affirme ce comportement est parfaitement
normal. Il dépend du modèle abstrait que tu as donné.
Si relation 0..n alors possibilité de NULL dans la clef étrangère.
Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
c'est à dire que chaque colonne comoposant la clef doit être créée avec
la contrainte NOT NULL.
Tes affirmations sur le concept des intégrités référentielles sont des
inepties lamentables.
Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
de ce que tu pense.
A lire pour ta culture :
http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
Commencent par apprendre ce qu'est un modèle conceptuel de données
(MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
qui est en faite viole des règles de conception !!!
A +
News Groups a écrit:
Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs
externes
composées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
affecté(s)
obligatoirement d'une contrainte de null interdit (propriété "Null
Interdit"
du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe
(la
clef primaire correspondante n'ayant aucune valeur nulle bien entendu!)
.
Ceci étant possible par le choix des options de mise à jour en cascade
et à
l'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
sont
:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la
clef
primaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
Access
oui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto:brouardf@club-internet.fr ******************
Merci de ta réaction, un peut d'humilité de temps en temps ne fait pas de
mal!..
Sans vouloir me défendre, je dirais que mon message permettait de prêcher le
faux pour connaître le vrai : ta réponse à permis de mettre d'accord
l'ensemble des personnes qui ont pris part à la discussion sur le sujet et
qui ne concevais pas la relation 0 à n !! (une copie des pages Web mis en
référence dans ton mail leur à été distribuées...).
Une nota plus générale tout de même sur le sens de la valeur nulle : elle
peut signifier qu'une valeur est à associer mais inconnu à l'instant t ou
bien qu'il n'y a aucune valeur à indiquer, ex : une table composée de
Nom/Prenom/Second_Prenom, le champ Second_Prenom peut être null parce qu'il
n'est pas connu ou bien parce qu'il n'y en a pas. Comment traite tu cette
distinction de sens ?
Merci pour tes réponses (un peu directes tout de même !...mais après tout
cela pousse à acheter ton livre.)
"Fred BROUARD" a écrit dans le message de news:Visiblement tu ne maitrise pas les problèmes de modélisation...
Contrairement à ce que tu affirme ce comportement est parfaitement
normal. Il dépend du modèle abstrait que tu as donné.
Si relation 0..n alors possibilité de NULL dans la clef étrangère.
Si rlation 1..n alors imposssibilité de NULL dans la clef étrangères,
c'est à dire que chaque colonne comoposant la clef doit être créée avec
la contrainte NOT NULL.
Tes affirmations sur le concept des intégrités référentielles sont des
inepties lamentables.
Sache que SQL (la Norme, pas SQL Server en particulier) va bien au dela
de ce que tu pense.
A lire pour ta culture :
http://sqlpro.developpez.com/SQL_AZ_7b.html#SCHEMA73
Commencent par apprendre ce qu'est un modèle conceptuel de données
(MERISE ou UML) avant de commencer a affirmer que l'implémentation SQL
qui est en faite viole des règles de conception !!!
A +
News Groups a écrit:Bonjour,
Je constate que SQL Server permet comme Access de créer des clefs
externescomposées d'un (ou
plusieurs) champ(s) sans que celui-ci (ou ceux-ci) ne soi(en)t
affecté(s)obligatoirement d'une contrainte de null interdit (propriété "Null
Interdit"du champ positionnée à "Non"). Ce qui à pour conséquence d'avoir dans la
table des valeurs nulles au niveau du champ composant la clef externe
(laclef primaire correspondante n'ayant aucune valeur nulle bien entendu!)
.Ceci étant possible par le choix des options de mise à jour en cascade
et àl'aide de déclencheurs ou procédures stockées.
exemple de jeu d'enregistrements :
- Table [VILLE] comportant la clef primaire NomDeVille dont les valeurs
sont:
NomDeVille
-------------
Paris
Lyon
Toulouse
-Table [ADRESSE] comportant la clef externe Ville correspondant à la
clefprimaire Nom DeVille de la
table [VILLE] (relation 1 à plusieurs entre [VILLE] et [ADRESSE]) :
Nom Ville
------ ------
Durand Paris
Dupont Lyon
John
Smith Paris
- L'enregistrement n°3 a une valeur nulle pour le champ Ville !
Ma question est donc : comment cela est il possible si ce n'est que SQL
Server ne
respecte pas totalement le concept d'intégrité référentielle, de clef
primaire et externe ??...
Est ce le cas d'autre SGBDR : je sais que MySQL ne l'autorise pas,
Accessoui !, qu'en est -il pour Oracle ou autre SGBDR. ?!
Si quelqu'un a les réponses, je serais curieux de savoir,
Merci à tous.
--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************