منتديات العمارية
لبسم الله
salaùm
اهلا وسهلا بك عزيزي الزائرفي منتدى العمارية هذه الرسالة تبين انك غير مسجل معنا الرجاء التسجيل للأستفادة منكم ..؟؟ وان كنت مسجل من قبل فالرجاء تسجيل الدخول
Basketball Basketball Basketball جزاك الله كل خير

مع التحية al@dfg وردة وردة وردة



انضم إلى المنتدى ، فالأمر سريع وسهل

منتديات العمارية
لبسم الله
salaùm
اهلا وسهلا بك عزيزي الزائرفي منتدى العمارية هذه الرسالة تبين انك غير مسجل معنا الرجاء التسجيل للأستفادة منكم ..؟؟ وان كنت مسجل من قبل فالرجاء تسجيل الدخول
Basketball Basketball Basketball جزاك الله كل خير

مع التحية al@dfg وردة وردة وردة


منتديات العمارية
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

اذهب الى الأسفل
avatar
souad hama
الجنس : انثى الجدي
عدد المساهمات : 36 نقاط التميز : 4887 تاريخ التسجيل : 14/02/2011 العمر : 34

un cour de base des donnes Empty un cour de base des donnes

الأربعاء 16 مارس - 17:31
Soit le schéma de base de donnée relationnel suivant :
AGENCE (Num_Agence, Nom, Ville, Actif)
CLIENT (Num_Client, Nom, Ville)
COMPTE (Num_Compte, Num_Agence, Num_Client, Solde)
EMPRUNT (Num_Emprunt, Num_Agence, Num_Client, Montant)
Ecrire les requêtes suivantes en SQL :
1. Liste des agences ayant des comptes-clients
select distinct Nom from AGENCE, COMPTE
where AGENCE.Num_Agence = COMPTE.Num_Agence
2. Clients ayant un compte à “La Rochelle”
select CLIENT.Nom from CLIENT, AGENCE, COMPTE
where AGENCE.Num_Agence = COMPTE.Num_Agence
and CLIENT.Num_Client = COMPTE.Num_Client
and AGENCE.Ville = “La Rochelle”
3. Clients ayant un compte ou un emprunt à “La Rochelle”
select CLIENT.Nom from CLIENT, AGENCE, COMPTE
where CLIENT.Num_Client = COMPTE.Num_Client
and AGENCE.Num_Agence = COMPTE.Num_Agence
and AGENCE.Ville = “La Rochelle”
union
select CLIENT.Nom from CLIENT, AGENCE, EMPRUNT
where CLIENT.Num_Client = EMPRUNT.Num_Client
and AGENCE.Num_Agence = EMPRUNT.Num_Agence
and AGENCE.Ville = “La Rochelle”
4. Clients ayant un compte et un emprunt à “La Rochelle”
select CLIENT.Nom from CLIENT, AGENCE, COMPTE
where CLIENT.Num_Client = COMPTE.Num_Client
and AGENCE.Num_Agence = COMPTE.Num_Agence
and AGENCE.Ville = “La Rochelle”
intersect
select CLIENT.Nom from CLIENT, AGENCE, EMPRUNT
where CLIENT.Num_Client = EMPRUNT.Num_Client
and AGENCE.Num_Agence = EMPRUNT.Num_Agence
and AGENCE.Ville = “La Rochelle”
5. Clients ayant un compte et pas d’emprunt à “La Rochelle”
select CLIENT.Nom from CLIENT, AGENCE, COMPTE
where CLIENT.Num_Client = COMPTE.Num_Client
and AGENCE.Num_Agence = COMPTE.Num_Agence
and AGENCE.Ville = “La Rochelle”
minus
select CLIENT.Nom from CLIENT, AGENCE, EMPRUNT
where CLIENT.Num_Client = EMPRUNT.Num_Client
and AGENCE.Num_Agence = EMPRUNT.Num_Agence
and AGENCE.Ville = “La Rochelle”
avatar
souad hama
الجنس : انثى الجدي
عدد المساهمات : 36 نقاط التميز : 4887 تاريخ التسجيل : 14/02/2011 العمر : 34

un cour de base des donnes Empty رد: un cour de base des donnes

الأربعاء 16 مارس - 17:32
Clients ayant un compte et nom de la ville où ils habitent
Première solution :
select Nom, Ville from CLIENT, COMPTE
where CLIENT.Num_Client = COMPTE. Num_Client
Deuxième solution :
select Nom, Ville from CLIENT
where Num_Client in (
select Num_Client from COMPTE)
7. Clients ayant un compte à “Paris-Etoile” et nom de la ville où ils habitent
Première solution :
select CLIENT.Nom, CLIENT.Ville from CLIENT, AGENCE, COMPTE
where CLIENT.Num_Client = COMPTE. Num_Client
and AGENCE.Num_Agence = COMPTE.Num_Agence
and AGENCE.Nom = “Paris-Etoile”
Deuxième solution :
select Nom, Ville from CLIENT
where Num_Client in (
select Num_Client from COMPTE where Num_Agence in (
select Num_Agence from AGENCE where Nom = “Paris-Etoile”))
8. Clients ayant un compte dans une agence où “Claude” a un compte
Première solution :
select Nom from CLIENT, COMPTE
where CLIENT.Num_Client = COMPTE.Num_Client and Num_Agence in (
select Num_Agence from CLIENT, COMPTE
where CLIENT.Num_Client = COMPTE.Num_Client and Nom = “Claude”)
Deuxième solution :
select Nom from CLIENT where Num_Client in (
select Num_Client from COMPTE where Num_Agence in (
select Num_Agence from CLIENT, COMPTE
where CLIENT.Num_Client = COMPTE.Num_Client and Nom = “Claude”))
9. Agences ayant un actif plus élevé que toute agence d'“Orsay”
select Nom from AGENCE where Actif > all (
select Actif from AGENCE where Ville = “Orsay”)
10. Clients ayant un compte dans chaque agence d'“Orsay”
11. Clients ayant un compte dans au-moins une agence d'“Orsay”
Première solution :
select Nom from CLIENT where Num_Client in (
select Num_Client from COMPTE where Num_Agence in (
select Num_Agence from AGENCE where Ville = “Orsay”))
Deuxième solution :
select CLIENT.Nom from CLIENT, COMPTE, AGENCE
where CLIENT.Num_Client = COMPTE.Num_Client
and COMPTE.Num_Agence = AGENCE.Num_Agence
and AGENCE.Ville = “Orsay”
12. Emprunteurs de l'agence “Paris-Rambuteau” classés par ordre alphabétique
select Nom from CLIENT where Num_Client in (
select Num_Client from EMPRUNT where Num_Agence in (
select Num_Agence from AGENCE where Nom = “Paris-Rambuteau”))
order by Nom
13. Solde moyen des comptes-clients de chaque agence
select Nom, avg(Solde) from AGENCE, COMPTE
where AGENCE.Num_Agence = COMPTE.Num_Agence
group by Nom
14. Solde moyen des comptes-clients des agences dont le solde moyen est > “10 000”
select Nom, avg(Solde) from AGENCE, COMPTE
where AGENCE.Num_Agence = COMPTE.Num_Agence
group by Nom
having avg(Solde) > 10000
15. Nombre de clients habitant “Paris”
select count(*) from CLIENT where Ville = “Paris”
16. Nombre de clients de l'agence “Paris-Bastille” n'ayant pas leur adresse dans la relation CLIENT
Première solution :
select count(*) from CLIENT where Ville = NULL and Num_Client in (
select Num_Client from COMPTE where Num_Agence in (
select Num_Agence from AGENCE where Nom = “Paris-Bastille”))
Deuxième solution :
select count(*) from CLIENT, COMPTE, AGENCE
where Ville = NULL
and CLIENT.Num_Client = COMPTE.Num_Client
and COMPTE.Num_Agence = AGENCE.Num_Agence
and AGENCE.Nom = “Paris-Bastille”
17. Insérer le n-uplet dans la relation CLIENT
insert into CLIENT values (130765, “Martin”, “Paris”)
18. Diminuer l'emprunt de tous les clients habitant “Marseille” de “5%”
update EMPRUNT set Montant = Montant * 0.95
where Num_Client in (
select Num_Client from CLIENT where Ville = “Marseille”)
19. Fermer les comptes de “Dupont”
Première solution :
delete from COMPTE where Num_Client in (
select Num_Client from CLIENT where Nom = “Dupont”)
Deuxième solution :
delete from COMPTE
where COMPTE.Num_Client = CLIENT.Num_Client
and CLIENT.Nom = “Dupont”)
20. Supprimer de la relation AGENCE toutes les agences sans client
delete from AGENCE
where Num_Client not in (
select Num_Client from COMPTE where COMPTE.Num_Agence = AGENCE.Num_Agence)
and Num_Client not in (
select Num_Client from EMPRUNT where EMPRUNT.Num_Agence = AGENCE.Num_Agence
Admin
Admin
المدير العام ومؤسس المنتدى
المدير العام ومؤسس المنتدى
الجنس : ذكر الحمل
عدد المساهمات : 6011 نقاط التميز : 24605 تاريخ التسجيل : 17/04/2009 العمر : 36 الموقع : العمارية المدية الجزائر
http://omaria.mountada.biz

un cour de base des donnes Empty رد: un cour de base des donnes

الأربعاء 16 مارس - 18:24
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة] في انتظار الجديد
الرجوع الى أعلى الصفحة
مواضيع مماثلة
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى