Précédent   Forum du club des développeurs et IT Pro > Général Développement > ALM > Modélisation > Schéma
Schéma Modélisation Relationnelle (Dépendances Fonctionnelles, Formes Normales, Entité-relation, MCD, MPD ...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/11/2012, 16h00   #21
timo.net
Invité de passage
 
Homme Otmane MHANNA
Développeur .NET
Inscription : octobre 2012
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Otmane MHANNA
Localisation : Maroc

Informations professionnelles :
Activité : Développeur .NET
Secteur : Services à domicile

Informations forums :
Inscription : octobre 2012
Messages : 21
Points : 1
Points : 1
Citation:
Bulltien de 6eme années lettre humaine
je faite la traduction dans l'image les autres sont les mamie change que nom matières et cooffition et filières et séries

ces bulletin sont que pour une seul filière et deux serires alors il reste deux pour filière et 4 pour serires des deux filière
Images attachées
Type de fichier : png Bulltien.png (291,5 Ko, 11 affichages)
Type de fichier : jpg Bulltien6.jpg (151,2 Ko, 9 affichages)
timo.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2012, 03h48   #22
fsmrel
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Homme François de Sainte Marie
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 3 620
Détails du profil
Informations personnelles :
Nom : Homme François de Sainte Marie
Localisation : Autre

Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 3 620
Points : 9 092
Points : 9 092
Bonsoir Otmane,


Reprenons votre MLD (je suppose que vous l’avez produit directement sans passer par l’étape MCD de PowerAMC) :




Toute table a nécessairement une clé primaire, INSCRIRE n'en a pas, on va donc l’ajouter.

D’après ce que j’ai compris, promotion est synonyme d’année scolaire, auquel cas l’élève Albert a pu être inscrit plus d’une fois, par exemple pour l’année scolaire 2011-2012 puis pour l’année scolaire 2012-2013.

La clé de la table est donc composée de la paire {EleveId, Annee}. Matricule est une propriété naturelle de l’entité-type ETUDIANT, on en fait donc une clé alternative à la disposition de l’utilisateur :





Par ailleurs, d’après le MCD, une inscription fait référence à une filière et une série, ce qui doit aussi être pris en compte dans la table INSCRIRE.

Dans un 1er temps, il faut définir la clé {SerieId, FiliereId} de la table FILIERE_SERIE :



Ensuite on accroche les wagons INSCRIRE et FILIERE_SERIE :




De la même façon, on accroche les wagons FILIERE_SERIE et MATIERE :





Il ne reste plus qu’à connecter les inscriptions avec les matières et les semestres à l’aide de NOTER :




Et voilà. On peut maintenant demander à PowerAMC de produire le script de création des tables SQL. Par exemple, pour SQL Server :

Code SQL :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
CREATE TABLE ETUDIANT (
   EleveId              INT                  NOT NULL,
   Matricule            VARCHAR(64)          NOT NULL,
   EleveNom             VARCHAR(64)          NOT NULL,
   CONSTRAINT ETUDIANT_PK PRIMARY KEY (EleveId),
   CONSTRAINT ETUDIANT_AK UNIQUE (Matricule)
) ;
 
CREATE TABLE FILIERE (
   FiliereId            INT                  NOT NULL,
   FiliereNom           VARCHAR(64)          NOT NULL,
   CONSTRAINT FILIERE_PK PRIMARY KEY (FiliereId)
) ;
 
CREATE TABLE MATIERE (
   MatiereId            INT                  NOT NULL,
   MatiereNom           VARCHAR(64)          NOT NULL,
   CONSTRAINT MATIERE_PK PRIMARY KEY (MatiereId)
) ;
 
CREATE TABLE PROMOTION (
   Annee                INT                  NOT NULL,
   CONSTRAINT PROMOTION_PK PRIMARY KEY (Annee)
) ;
 
CREATE TABLE SEMESTRE (
   SemestreNo           INT                  NOT NULL,
   CONSTRAINT SEMESTRE_PK PRIMARY KEY (SemestreNo),
   CONSTRAINT SEMESTRE_CHK CHECK (SemestreNo IN (1, 2) )
) ;
 
CREATE TABLE SERIE (
   SerieId              INT                  NOT NULL,
   SerieNom             VARCHAR(64)          NOT NULL,
   CONSTRAINT SERIE_PK PRIMARY KEY (SerieId)
) ;
 
CREATE TABLE FILIERE_SERIE (
   SerieId              INT                  NOT NULL,
   FiliereId            INT                  NOT NULL,
   CONSTRAINT FILIERE_SERIE_PK PRIMARY KEY (SerieId, FiliereId),
   CONSTRAINT FILIERE_SERIE_SERIE_FK FOREIGN KEY (SerieId)
      REFERENCES Serie (SerieId),
   CONSTRAINT FILIERE_SERIE_FILIERE_FK FOREIGN KEY (FiliereId)
      REFERENCES Filiere (FiliereId)
) ;
 
CREATE TABLE MATIERE_FILIERE_SERIE (
   SerieId              INT                  NOT NULL,
   FiliereId            INT                  NOT NULL,
   MatiereId            INT                  NOT NULL,
   Coefficient          INT                  NOT NULL,
   CONSTRAINT MATIERE_FILIERE_SERIE_PK PRIMARY KEY  (SerieId, FiliereId, MatiereId),
   CONSTRAINT MATIERE_FILIERE_SERIE_FILIERE_FK FOREIGN KEY (SerieId, FiliereId)
      REFERENCES Filiere_serie (SerieId, FiliereId),
   CONSTRAINT MATIERE_FILIERE_SERIE_MATIERE_FK FOREIGN KEY (MatiereId)
      REFERENCES Matiere (MatiereId)
) ;
 
CREATE TABLE INSCRIRE (
   EleveId              INT                  NOT NULL,
   Annee                INT                  NOT NULL,
   SerieId              INT                  NOT NULL,
   FiliereId            INT                  NOT NULL,
   CONSTRAINT INSCRIRE_PK PRIMARY KEY (EleveId, Annee),
   CONSTRAINT INSCRIRE_ETUDIANT_FK FOREIGN KEY (EleveId)
      REFERENCES Etudiant (EleveId),
   CONSTRAINT INSCRIRE_PROMOTION_FK FOREIGN KEY (Annee)
      REFERENCES Promotion (Annee),
   CONSTRAINT INSCRIRE_FILIERE_SERIE_FK FOREIGN KEY (SerieId, FiliereId)
      REFERENCES Filiere_serie (SerieId, FiliereId)
) ;
 
CREATE TABLE NOTER (
   EleveId              INT                  NOT NULL,
   Annee                INT                  NOT NULL,
   SemestreNo           INT                  NOT NULL,
   MatiereId            INT                  NOT NULL,
   Note                 INT                  NOT NULL,
   CONSTRAINT NOTER_PK PRIMARY KEY  (EleveId, Annee, SemestreNo, MatiereId),
   CONSTRAINT NOTER_SEMESTRE_FK FOREIGN KEY (SemestreNo)
      REFERENCES Semestre (SemestreNo),
   CONSTRAINT NOTER_INSCRIRE_FK FOREIGN KEY (EleveId, Annee)
      REFERENCES Inscrire (EleveId, Annee),
   CONSTRAINT NOTER_MATIERE_FK FOREIGN KEY (MatiereId)
      REFERENCES Matiere (MatiereId)
) ;

Un début de jeu d’essai :
Code SQL :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
INSERT INTO PROMOTION VALUES (2010) ;
INSERT INTO PROMOTION VALUES (2011) ;
INSERT INTO PROMOTION VALUES (2012) ;
 
INSERT INTO SEMESTRE VALUES (1) ;
INSERT INTO SEMESTRE VALUES (2) ;
 
INSERT INTO FILIERE (FiliereId, FiliereNom) VALUES (1, '5e') ;
INSERT INTO FILIERE (FiliereId, FiliereNom) VALUES (2, '6e') ;
INSERT INTO FILIERE (FiliereId, FiliereNom) VALUES (3, 'Bac') ;
 
INSERT INTO SERIE (SerieId, SerieNom) VALUES (1, 'LETTRES') ;
INSERT INTO SERIE (SerieId, SerieNom) VALUES (2, 'SCIENCES') ;
INSERT INTO SERIE (SerieId, SerieNom) VALUES (3, 'ARTS PLASTIQUES') ;
INSERT INTO SERIE (SerieId, SerieNom) VALUES (4, 'INFORMATIQUE') ;
 
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (1, 1) ;
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (1, 2) ;
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (2, 1) ;
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (2, 2) ;
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (2, 3) ;
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (3, 1) ;
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (3, 2) ;
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (3, 3) ;
INSERT INTO FILIERE_SERIE (FiliereId, SerieId) VALUES (3, 4) ;
 
SELECT FiliereNom AS Filière, SerieNom AS Série
FROM   FILIERE AS x JOIN FILIERE_SERIE AS y ON x.FiliereId = y.FiliereId
       JOIN SERIE AS z ON y.SerieId = z.SerieId 
ORDER BY FiliereNom, SerieNom ;
 
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (1, 'ARABE') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (2, 'FRANÇAIS') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (3, 'ANGLAIS') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (4, 'ESPAGNOL') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (5, 'CHIMIE') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (6, 'MATHS') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (7, 'PHYSIQUE') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (8, 'SCULPTURE') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (9, 'GRAVURE') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (10, 'PEINTURE') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (11, 'PROGRAMMATION') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (12, 'RESEAUX') ;
INSERT INTO MATIERE (MatiereId, MatiereNom) VALUES (13, 'BASES DE DONNÉES') ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (1, 1, 1, 5) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (1, 1, 2, 4) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (1, 1, 3, 4) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (1, 1, 4, 4) ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (1, 2, 5, 2) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (1, 2, 6, 5) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (1, 2, 7, 3) ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (2, 1, 1, 5) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (2, 1, 2, 4) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (2, 1, 3, 3) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (2, 1, 4, 3) ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (2, 2, 5, 2) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (2, 2, 6, 5) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (2, 2, 7, 3) ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (2, 3, 9, 2) ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 1, 1, 5) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 1, 2, 5) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 1, 3, 5) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 1, 4, 3) ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 2, 5, 3) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 2, 6, 4) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 2, 7, 3) ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 3, 8, 2) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 3, 9, 5) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 3, 10, 3) ;
 
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 4, 11, 2) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 4, 12, 4) ;
INSERT INTO MATIERE_FILIERE_SERIE (FiliereId, SerieId, MatiereId, Coefficient) VALUES (3, 4, 13, 5) ;
 
--
-- Liste des filières, séries, matières, coefficients
--
 
SELECT FiliereNom AS Filière, SerieNom AS Série, MatiereNom AS Matière, Coefficient
FROM   FILIERE AS x JOIN FILIERE_SERIE AS y ON x.FiliereId = y.FiliereId
           JOIN SERIE AS z ON y.SerieId = z.SerieId
           JOIN MATIERE_FILIERE_SERIE AS t ON y.FiliereId = t.FiliereId AND y.SerieId = t.SerieId 
           JOIN MATIERE AS u ON t.MatiereId = u.MatiereId
ORDER BY FiliereNom, SerieNom, MatiereNom ;
 
INSERT INTO ETUDIANT (EleveId, Matricule, EleveNom) VALUES (1, 123, 'Albert') ;
INSERT INTO ETUDIANT (EleveId, Matricule, EleveNom) VALUES (2, 451, 'Bernard') ;
INSERT INTO ETUDIANT (EleveId, Matricule, EleveNom) VALUES (3, 268, 'Carole') ;
INSERT INTO ETUDIANT (EleveId, Matricule, EleveNom) VALUES (4, 286, 'Denis') ;
INSERT INTO ETUDIANT (EleveId, Matricule, EleveNom) VALUES (5, 157, 'Eric') ;
 
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (1, 2011, 1, 2) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (1, 2012, 2, 2) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (2, 2011, 1, 2) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (2, 2012, 2, 2) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (3, 2011, 1, 2) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (3, 2012, 2, 2) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (4, 2011, 1, 1) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (4, 2012, 2, 1) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (5, 2011, 1, 1) ;
INSERT INTO INSCRIRE (EleveId, Annee, FiliereId, SerieId) VALUES (5, 2012, 2, 1) ;
 
--
-- Les inscriptions des élèves 
--
SELECT EleveNom AS 'Nom élève', Matricule, Annee AS Année, FiliereNom AS Filière, SerieNom AS Série
FROM   ETUDIANT AS x JOIN INSCRIRE AS y ON x.EleveId = y.EleveId
           JOIN FILIERE_SERIE AS z ON y.SerieId = z.SerieId AND y.FiliereId = z.FiliereId
           JOIN FILIERE AS t ON z.FiliereId = t.FiliereId
           JOIN SERIE AS u ON z.SerieId = u.SerieId
ORDER BY Annee, SerieNom, EleveNom, Matricule, FiliereNom ;
 
--
-- Notation des élèves
--
INSERT INTO NOTER (EleveId, Annee, SemestreNo, MatiereId, Note) VALUES (1, 2011, 1, 6, 15) ; 
INSERT INTO NOTER (EleveId, Annee, SemestreNo, MatiereId, Note) VALUES (1, 2011, 1, 5, 12) ; 
INSERT INTO NOTER (EleveId, Annee, SemestreNo, MatiereId, Note) VALUES (2, 2011, 1, 6, 17) ; 
INSERT INTO NOTER (EleveId, Annee, SemestreNo, MatiereId, Note) VALUES (2, 2011, 1, 5, 11) ; 
INSERT INTO NOTER (EleveId, Annee, SemestreNo, MatiereId, Note) VALUES (3, 2011, 1, 6, 15) ; 
INSERT INTO NOTER (EleveId, Annee, SemestreNo, MatiereId, Note) VALUES (3, 2011, 1, 5, 13) ; 
 
SELECT EleveNom AS 'Nom élève', Matricule, y.Annee AS Année, SemestreNo AS Semestre, MatiereNom AS Matière, Note
FROM   ETUDIANT AS x JOIN INSCRIRE AS y ON x.EleveId = y.EleveId
           JOIN NOTER AS z ON y.EleveId = z.EleveId AND y.Annee = z.Annee
           JOIN MATIERE AS t ON z.MatiereId = t.MatiereId
ORDER BY y.Annee, Semestre, EleveNom, Matricule, MatiereNom ;

Bon courage à vous.
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est actuellement connecté   Envoyer un message privé Réponse avec citation 20
Vieux 29/11/2012, 15h04   #23
timo.net
Invité de passage
 
Homme Otmane MHANNA
Développeur .NET
Inscription : octobre 2012
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Otmane MHANNA
Localisation : Maroc

Informations professionnelles :
Activité : Développeur .NET
Secteur : Services à domicile

Informations forums :
Inscription : octobre 2012
Messages : 21
Points : 1
Points : 1
c bon tout a faite bien merci becoup pour votre aideé
une qestion si je veux faire la numerotation pour chaque liste et numerotation pour l'eleves dans chaque liste exempe
liste 1
1- nom - prénom ...... ....
2 - nom - prénom .....
3
4
5
liste2
1- nom - prénom ...... ....
2 - nom - prénom .....
3
4
5
liste 3
1- nom - peronm ...... ....
2 - nom - perom .....
3...........................
4......................
5........
il faute po une table list pour avoire la numerotation dans le crystal report?
timo.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2012, 17h59   #24
fsmrel
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Homme François de Sainte Marie
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 3 620
Détails du profil
Informations personnelles :
Nom : Homme François de Sainte Marie
Localisation : Autre

Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 3 620
Points : 9 092
Points : 9 092
Bonsoir Otmane,


Je ne sais pas ce qu’est Crystal Report. Par ailleurs, avec cette histoire de listes, vous quittez le domaine de la modélisation des données des données pour celui de la programmation. Consultez le forum correspondant et posez-y vos questions.

Pour simplifier l’exposé du problème, présentez la vue suivante comme étant une table :
ELEVE_V1 (Année, Filière, Série, Numéro, NomElève, Matricule)
Où Numéro est le numéro affecté à un élève pour une année, une série et une filière données, par la fonction ROW_NUMBER().

Pour mémoire, pour créer la vue, vous pouvez coder :

Code SQL :
1
2
3
4
5
6
7
8
9
CREATE VIEW ELEVE_V1
AS 
SELECT ROW_NUMBER() OVER(PARTITION BY Annee, SerieNom, FiliereNom ORDER BY EleveNom ASC) AS Numéro
        , Annee AS Année, SerieNom AS Série, FiliereNom AS Filière
        , EleveNom AS NomElève, Matricule
FROM   ETUDIANT AS x JOIN INSCRIRE AS y ON x.EleveId = y.EleveId
           JOIN FILIERE_SERIE AS u ON y.SerieId = u.SerieId AND y.FiliereId = u.FiliereId 
           JOIN SERIE AS v ON u.SerieId = v.SerieId
           JOIN FILIERE AS w ON u.FiliereId = w.FiliereId ;

Où ROW_NUMBER() OVER(PARTITION BY Annee, SerieNom, FiliereNom ORDER BY EleveNom ASC) est donc la fonction qui permet de numéroter les élèves.

Bon courage.
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2012, 23h08   #25
timo.net
Invité de passage
 
Homme Otmane MHANNA
Développeur .NET
Inscription : octobre 2012
Messages : 21
Détails du profil
Informations personnelles :
Nom : Homme Otmane MHANNA
Localisation : Maroc

Informations professionnelles :
Activité : Développeur .NET
Secteur : Services à domicile

Informations forums :
Inscription : octobre 2012
Messages : 21
Points : 1
Points : 1
bonsoir fsmrel ;
je sais que c pas dans cette forum de mettre ça mais j'ai pas trouvé ou je peux la mettre
ci tu sais ca tu peux me aideé?
j'ai deux combobox_filiere la 1er contient Filiere avec cette requette dans load de page
Citation:
Private Sub Form_liste_etudaint_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim r = From i In dc.FILIERE _
Select i.FiliereNom
ComboBox1.DataSource = r.Distinct

end sub
je voudrais remplaire la 2eme combobox avec :
chaque filiere contient plusieur serires
voila le deuxsieme code je les mis dans selectindexchanger combobox_filiere
Citation:
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim r = From i In dc.FILIERE_SERIE _
Where i.FiliereId = CInt(ComboBox1.SelectedIndex) _
Select i.SERIE.SerieNom
ComboBox2.DataSource = r
End Sub


FILIERE_SERIRE TABLE CONTIENT 2 CLé PRIMERE DE CHAQUE TABLE FILIERE ET SERIRE
la resultat qui me affiché

Citation:
il me affiche pas les résultat coréspendre pour chaque filiere lors ce que je change la filiere il me affiche les seires de deuxième filiere le 1er ne affiche plus
timo.net est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2012, 04h11   #26
fsmrel
Expert Confirmé Sénior

 
Avatar de fsmrel
 
Homme François de Sainte Marie
Spécialiste en bases de données
Inscription : septembre 2006
Messages : 3 620
Détails du profil
Informations personnelles :
Nom : Homme François de Sainte Marie
Localisation : Autre

Informations professionnelles :
Activité : Spécialiste en bases de données
Secteur : Conseil

Informations forums :
Inscription : septembre 2006
Messages : 3 620
Points : 9 092
Points : 9 092
Bonsoir Otmane,


Le forum VB.NET pourrait être celui qui convient...

Bon courage.
__________________
_
Faites simple, mais pas plus simple ! (A. Einstein)
E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
=> La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

__________________

Bases de données relationnelles et normalisation : de la première à la sixième forme normale (Bonne lecture !)
fsmrel est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h15.


 
 
 
 
Partenaires

Hébergement Web