Académique Documents
Professionnel Documents
Culture Documents
SGBD : انًادج
SQL :انًٕضٕع
نغح االعرؼالياخ انثٌٍُٕحSQL(S :stricture L :language Q :query)
ًْٔ ػثاسج ػٍ يدًٕػح يٍ االعرؼالياخ انًطثقح يٍ اخم انثسث ػٍ يؼطٍاخ فً قٕاػذ انثٍاَاخ
نغح اعرغالل انثٍاَاخLMD(L: language M: manipulation D: données)
: انظٍغح انؼايح
Select attr1,attr2,,,attrn أعًاء انخظائض
From nom de table اعى قاػذج انثٍاَاخ
Where condition انششط
Nom Prénom
Bel hadi bachir
Fadli djamel
ghadbane doaa
Zaidi Kamel
Laoubi Adel
Kouidri Nourdine
Sadaoui doaa
Khebal Khemissi
Fadli Mohamed
Nekbil Kamel
يا ًْ أعًاء ٔ أنقاب خًٍغ انؼًال ؟-
Select nom ,prénom
From travailleur
1
laoubi_adel@yahoo.com 5 ًعهغهح دسٔط دنف
1980/07/10: أػط انقائًح االعًٍح نهؼًال انزٌٍ انًٕنٕدٌٍ قثم تؼذ ذاسٌخ
Select *
From travailleur
Where daten >10/07/1980
2
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
x
يالزظح :نقذ عثق ٔاٌ ششزد آنٍح إَشاء aliasفً module base de données
نركٍ aliasانرانٍح ٔ laoubi_adelانرً ذسٕي قاػذج انثٍاَاخ انغاتقح – )(travailleur
3
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
4
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
5
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
أػط انقائًح االعًٍح نهؼًال انزٌٍ انًٕنٕدٌٍ قثم تؼذ ذاسٌخ 1980/07/10:؟
6
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
يثال :أػظ انمائًح االعًٛح نهؼًال انز ٍٚعُٓى =ٔ 53أجشْى انماػذ٘ ٚفٕق 02222
* select
from travailleur
where age=35 and salaire >20000
أػط انقائًح االعًٍح نهؼًال انزكٕس انزٌٍ عُٓى = ٔ 35أخشْى انقاػذي اقم يٍ 23000
7
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
األيش ٌ BETWEENغًر نك ْزا األيش تانثسث ػٍ يدًٕػح يٍ انثٍاَاخ ٔفق زظش ششط انثسث تٍٍ قًٍرٍٍ
إنٍك يثال :
-1أػط قائًح انؼًال انزٌٍ عُٓى ٌرشأذ تٍٍ 30ٔ27عُح
-2أػط قائًح انؼايالخ انالئً أخشْى انقاػذي يسظٕس تٍٍ 195000 ٔ 175000
ٌؼًم ْزا األيش ػكظ ػًم األيش انغاتق زٍث ٌؼطٍك يدًٕػح قٍى خاسج يدال يؼٍٍ عُطثق ْزا االخٍش األيش NOT BETWEEN
ػهى انًغاءنرٍٍ انغاتقرٍٍ
8
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
9
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
األيش COUNT
نرسذٌذ ػذد انغدالخ انًٕخٕد ٔفق انششط انًطشٔذ
إنٍك انًثال انرانً
يا ْٕ ػذد انؼًال انزٌٍ عُٓى < 30عُح؟
انُرٍدح ذكٌٕ 6أي ػذد انؼًال انزٌٍ ْى اكثش يٍ عٍ 30عُح ْى عرح ػًال
انذانح MAXذغًر نك انذانح انغاتقح تإػطاء اكثش قًٍح فً قٕاػذ انثٍاَاخ ٔفق ششط يؼٍٍ
أيثهح:
-1يا ْٕ اكثش اخش قاػذي نهؼًال؟
-2يا ْٕ اكثش عٍ نهؼًال؟
10
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
انذانح MINذغًر نك انذانح انغاتقح تإػطاء اطغش قًٍح فً قٕاػذ انثٍاَاخ ٔفق ششط يؼٍٍ
أيثهح:
-1يا ْٕ اطغش اخش قاػذي نهؼًال؟
-2يا ْٕ اطغش عٍ نهؼًال؟
انذانح AVGذغًر نك ْزِ انذانح تإػطاء يرٕعط يؼذل قٍى -ذقٕو انذانح ترقشٌة انقًٍح إنى اقشب قًٍح طسٍسح نكٌٕ َٕع انًرغٍش age
يٍ َٕذ طسٍر integer
يثال :يا ْٕ يؼذل أػًاس انؼًال ؟
∑ age/nbr travailleur ذقٕو انذانح تانؼًهٍح انرانٍح
انذانح Ordre byتسمح لك الدالة السابقة بترتيب قيم جدول حسب حقل محدد
تصاعديا
ً يثال :نريد عرض قائمة العمال الذين سنيم أكبر من 03بحيث يظير ترتيب األسماء
11
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
واذا أردنا عرض قائمة العمال الذين سنيم أكبر من 03بحيث يظير ترتيب األسماء تنازليا ..نستعمل األمر desc
تصاعديا
ً نريد عرض قائمة العمال الذين سنيم أكبر من 03بحيث يظير ترتيب األسماء ثم األلقاب
12
laoubi_adel@yahoo.com 5 ًعهغهح دسٔط دنف
يمكن تصميم قواعد البيانات بممسات برمجية دينامكية وأكثر سيولة ومرونة من تصميميا باستعمال برنامج متخصص
: مفاىيم
تسمح لك ىا تو التعميمة بتحديد المفتاح األساسي لقاعدة البيانات فبعوض استعمال الرمز (*) لتعين فيرسة البيانات: Prymary key
نستعمل التعميمة السابقة لتحديد الحقول التي يمكن البحث بواسطتياmodule de base de donnée حسب الحقل المحدد في
: الصيغة العامة
CREATE TABLE "nom de table. extension " nom de champ1 paramètres , nom de champ2
paramètres… nom de champs paramètres
,primary key(noms des champs)
chauffeur (N- permis,nom,prénom,daten , adrss ,age ,type_p ,sex.) : سنحاول تصميم قاعدة البيانات التالية
, ,
( Num_permis CHAR(6) nom CHAR(15) prénom CHAR (20) daten DATE , , adress CHAR (40), age
, , ,
NUMERIC(10) sex CHAR (1) type_p CHAR (15) PRIMARY KEY (Num_permis))
13
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
إذا أردت تحديد مكان قاعدة البيانات السابقة ستجدىا في aliasتحت اسم travail
أو قم بتتبع صيغة البموغ التالية C:\Program Files\Fichiers communs\Borland Shared\Data:
مالحظة :الفيرس األب)… (C:/D:/E:/F:يختمؼ باختالؼ مكان تنصيب برنامج module de base de donnée :
في ىذه الحالة لقد قمنا بتصميم قاعدة البيانات chauffeurبواسطة استعمال أوامر SQLالمتاحة
حاول فتح قاعدة البيانات السابقة chauffeurوالحظ بنية حقوليا :
الحػػظ الشكل التالي :
14
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
مالحظات :سبق وان قمنا بإنشاء قاعدة البيانات chauffeur.dbبواسطة module base de donnéesوتم حفظيا في
الــ alias :التالية laoubi_adel :اآلن سنقوم بعممية الربط الفيزيائية لممركبات الخاصة بالبيانات
-1ربط المركبة table1بقاعدة البيانات الفيزيائية
آلية التنفيذ :
-1تحديد المركبة table1
-0تغيير الخاصية data base nameبــlaoubi_adel--alias :
-5تحديد اسم قاعدة البيانات بواسطة الخاصية table nameوذلك باختيار travailleur.db
-4تفعيل وفتح قاعدة البيانات بواسطة الخيار ; active :=true
Data dbgrid1
base
name Dbgrid2
16
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
مالحظات :البرنامج السابق ليس مكيف لمعمل مع قاعدة البيانات chauffeurفقط .يمكن تطوير البرنامج وذلك بإضافة
خيارات تحديد اسم قاعدة البيانات والــ alias :المتواجدة بيا ..
تعريؼ المركبة QuickRep1:تسمح لك ىذه المركبة بطباعة البيانات مع إضافة خيرات متعددة
يمكنك تحديد إيجاد المركبة السابقة في شريط المركبات Qreport
شرح بعض مركبات الشريط Qreport
التعيين المركبة
QuickRep1صفحة العمل والعرض والطباعة
Qlabelلتحديد العناوين والكتابة مثال رقم الياتف .االسم....
Qrdbtextلعرض قيم الحقول
QRSysData1لعرض أدوات النظام مثل الساعة التاريخ...رقم الصفحة ...
QRExpr1لعرض تعميق أو عبارة
17
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
3
4
18
laoubi_adel@yahoo.com 5 ًعهغهح دسٔط دنف
ٍ يَٙذ يٍ انًؼهٕياخ ساجغ انجضء انثاٚ نًضٙى َافزج صاسيح ٔرنك ػهٗ َحٕ انشكم انتانًٛء لى تتصٙأٔال ٔلثم كم ش
. إصذاس ْزا انكتاب
طثاػح
: ٙى صفحح انطثاػح ػهٗ انُحٕ انتانًٌٛ تصٜى عُحأل اًٛح انتصٛاو تؼًهٛتؼذ انم
Dérecteur Qrlabel4
19
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
……….انؼُٕاٌ……Adresse :
انًذٚش Dérecteur
يالحظاخ َ :الحظ إٌ ػذد انمٛى انًتغٛشج ف ٙكم حانح ْ 8: ٙلٛى ٔرنك ساجغ نؼذد انحمٕل انًشاد طثاػتٓا ٔف ٙحانتُا ْزِ
نذُٚا 8حمٕل ٔ انخاصح تماػذج انثٛاَاخ( )chauffeurحٛث اَّ التذ أٌ ٚكٌٕ ػذد انثٛاَاخ يشاد ػشضٓا يتٕافك يغ
ػذد انًشكثح Qrdbtextانًتخصصح ف ٙػشض ل ٙانتغجٛهٛح انحانٛح
20
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
نُفشض أٌ يكاٌ تٕاجذ انًشكثح QuickRep1:ف form1 ٙأ٘ أَُا عُغتؼًم َفظ انًشكثتdata source1ٔ table1 ٍٛ
ٔرنك يٍ اجم إحضاس انثٛاَاخ ٔػشضّ ػهٗ ٔسلح انطثاػح .
آنٛح انشتظ :
-1لى تتحذٚذ انًشكثح Qrdbtext1
-0لى تتغٛٛش يحتٕٖ انخاصٛح data setب انمًٛح table1
-5لى تتحذٚذ انحمم انًشاد ػشضّ يٍ خالل تحذٚذ لًٛتّ يٍ انخاصٛح data Field
يالحظح :اٌ ػًهٛح ستظ انحمٕل فٔ ٙسلح انطثاػح َْ ٙفغٓا تمشٚثا ػُذ ستظ انحمٕل يٍ اجم ػًهٛح ػشض انثٛاَاخ :
الحظ انشكم انتان: ٙ
لى تتكشٚش َفظ انؼًهٛح يغ تال ٙانًشكثاخ يغ يشاػاج ػُٕاٌ انحمم (تحذٚذ لًٛح انحمم حغة دالنح انؼشض)
21
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
1 0
1
اآلن لم يبق لنا إال تحديد مكان لورقة الطباعة وذلك بالقيام بعممية إخفائيا لكي ال تشوه ىيئة البرنامج أثناء التنفيذ
ثم تحرير األمر التالي :في الزر BOUTTONالذي يحمل الداللة )on click( imprimer
begin
;QuickRep1.preview
;end
22
laoubi_adel@yahoo.com 5 ًعهغهح دسٔط دنف
23
laoubi_adel@yahoo.com عهغهح دسٔط دنفً 5
الشكل النيائي لورقة الطباعة
27
ىناك عدة خيارات يمكن تطبيقيا عمى ورقة الطباعة كرسم الجداول واضافة دوال الحساب و الصور ....الخ
لكن نكتفي بيذا القدر .....
24