تمارين الاستعلام مع لغة SQL مع الحل


التمرين 1:

خذ بعين الاعتبار النموذج العلائقي التالي المتعلق بقاعدة بيانات عن التمثيلات الموسيقية

REPRESENTATION (n°représentation, titre_représentation, lieu)
MUSICIEN (nom, n°représentation*)
PROGRAMMER (date, n°représentation*, tarif)

 

ملاحظة: يتم وضع خط تحت المفاتيح الأساسية ويتم تمييز المفاتيح الخارجية بعلامة *

 

الأسئلة:

1 - أدرج عناوين العروض.

 

2 - إدراج عناوين العروض المسرحية في دار أوبرا Bastille.

 

3 - أذكر أسماء الموسيقيين وعناوين العروض التي يشاركون فيها.

 

4- إعطاء قائمة بعناوين العروض والأماكن والأسعار ليوم 14/09/1996.

 

التمرين 2:

لنفترض النموذج العلائقي التالي المتعلق بالإدارة المبسطة لمراحل سباق فرنسا للدراجات 97، حيث أن إحدى مراحل من نوع "تجربة الوقت الفردي" تجري في Saint-Etienne

EQUIPE(CodeEquipe, NomEquipe, DirecteurSportif) 
COUREUR(NuméroCoureur, NomCoureur, CodeEquipe*, CodePays*) 
PAYS(CodePays, NomPays) 
TYPE_ETAPE(CodeType, LibelléType) 
ETAPE(NuméroEtape, DateEtape, VilleDép, VilleArr, NbKm, CodeType*) 
PARTICIPER(NuméroCoureur*, NuméroEtape*, TempsRéalisé) 
ATTRIBUER_BONIFICATION(NuméroEtape*, km, Rang, NbSecondes, NuméroCoureur*)

ملاحظة: يتم وضع خط تحت المفاتيح الأساسية ويتم تمييز المفاتيح الخارجية بعلامة *

 

الأسئلة:

1 - ما هو تكوين فريق Festina (عدد واسم وبلد العدائين)؟

 

2 - ما هو إجمالي عدد كيلومترات سباق فرنسا للدراجات 97؟

 

3 - ما هو عدد الكيلومترات لمراحل  "Haute Montagne"؟

 

4 - ما هي أسماء المتسابقين الذين لم يحصلوا على مكافآت؟

 

5- ما هي أسماء العدائين الذين شاركوا في جميع المراحل؟

 

6 - ما هو التصنيف العام للراكبين (nom, code équipe, code pays et temps des coureurs)في نهاية المراحل الثلاث عشرة الأولى ، مع العلم أن تم دمج المكافآت في الأوقات التي تحققت في كل مرحلة؟

 

7 - ما هو تصنيف الفريق في نهاية المراحل الـ13 الأولى (nom et temps des équipes)؟

 ***************************************************************************************

تصحيح التمرين رقم 1

 

1 - أدرج عناوين العروض.

SELECT titre_représentation FROM REPRESENTATION ; 

2 - إدراج عناوين العروض المسرحية في دار أوبرا Bastille.

SELECT titre_représentation FROM REPRESENTATION 
WHERE lieu="Opéra Bastille" ; 

3 - أذكر أسماء الموسيقيين وعناوين العروض التي يشاركون فيها.

SELECT nom, titre_représentation 
FROM MUSICIEN, REPRESENTATION 
WHERE MUSICIEN.n°représentation = REPRESENTATION.n°représentation ; 

4- إعطاء قائمة بعناوين العروض والأماكن والأسعار ليوم 14/09/1996.

SELECT titre_représentation, lieu, tarif 
FROM REPRESENTATION, PROGRAMMER 
WHERE PROGRAMMER.n°représentation = 
REPRESENTATION.n°représentation 
AND date='14/06/96' ; 

 

تصحيح التمرين رقم 2

 

1 - ما هو تكوين فريق Festina (عدد واسم وبلد العدائين)؟

SELECT NuméroCoureur, NomCoureur, NomPays 
FROM EQUIPE A, COUREUR B, PAYS C 
WHERE A.CodeEquipe=B.CodeEquipe And B.CodePays=C.CodePays 
And NomEquipe="FESTINA" ; 

2 - ما هو إجمالي عدد كيلومترات سباق فرنسا للدراجات 97؟

SELECT SUM(Nbkm) FROM ETAPE ;

3 - ما هو عدد الكيلومترات لمراحل  "Haute Montagne"؟

SELECT SUM(Nbkm) FROM ETAPE A, TYPE_ETAPE B 
WHERE A.CodeType=B.CodeType And LibelléType="HAUTE MONTAGNE" ;  

4 - ما هي أسماء المتسابقين الذين لم يحصلوا على مكافآت؟

SELECT NomCoureur FROM COUREUR 
WHERE NuméroCoureur NOT IN (SELECT NuméroCoureur FROM 
ATTRIBUER_BONIFICATION) ;  

5- ما هي أسماء العدائين الذين شاركوا في جميع المراحل؟

SELECT NomCoureur FROM PARTICIPER A, COUREUR B 
WHERE A.NuméroCoureur=B.NuméroCoureur 
GROUP BY NuméroCoureur, NomCoureur 
HAVING COUNT(*)=(SELECT COUNT(*) FROM ETAPE) ; 

6 - ما هو التصنيف العام للراكبين (nom, code équipe, code pays et temps des coureurs)في نهاية المراحل الثلاث عشرة الأولى ، مع العلم أن تم دمج المكافآت في الأوقات التي تحققت في كل مرحلة؟

SELECT NomCoureur, CodeEquipe, CodePays, SUM(TempsRéalisé) AS Total 
FROM PARTICIPER A, COUREUR B 
WHERE A.NuméroCoureur=B.NuméroCoureur and NuméroEtape<=13 
GROUP BY A.NuméroCoureur, NomCoureur, CodeEquipe, CodePays 
ORDER BY Total; 

7 - ما هو تصنيف الفريق في نهاية المراحل الـ13 الأولى (nom et temps des équipes)؟

SELECT NomEquipe, SUM(TempsRéalisé) AS Total 
FROM PARTICIPER A, COUREUR B, EQUIPE C 
WHERE A.NuméroCoureur=B.NuméroCoureur And 
B.CodeEquipe=C.CodeEquipe 
And NuméroEtape<=13 
GROUP BY B.CodeEquipe, NomEquipe 
ORDER BY Total;


Commentaires

Posts les plus consultés de ce blog

Langage SQL : Gestion Bibliothèque (Jointures)

تمرن على إنشاء استعلامات SQL