relational databases

162
واسطة ب اركة ش م: InternetMaster Nov 4 2003, 10:45 PM ا،،، ب ح ر م ن م ر ه ظ ي ل، و ب ق ن م ة ع ب م س م ا ل ث ي ح ء ي ش ل ا0 ض ع بً را0 خ ا ب م ع ق و م ل ا ا0 هذ ل م0 ض0 ي> ا ن م م يA ن0 ن ذو ا بE ن ع ق و م ل ا ا0 دهار هذ0 ر> ا رة ت0 ف ذت ق0 ق ذ ق يA ن0 ن ا اركات ش م ل ا0 ض ع ب ل ي ت راء ق!! ً لا ل0 خY اك0 ب ه ن ا ح لذي0 ض ي> ع ا ق و م ل وار ا0 ر لة ب س ا0 ض ع ب ي عل ة اب خ> لا ل ي تولا حا م ام و ي ا عة0 ض بo ن ي م ما0 ض0 ي> اs عذ ب ات0 اي بo لب واعذ ا ق ل ة ي س ’ سالا م ا ي ه ا0 ق م ل ا ي0 ف. ث ي ح و ات0 اي بo لب واعذ ا ق ل ة ي م عل ل س ا سلا رح ا ش ع ق و م ل ا ا0 هذ ي0 ف وة0 خلا ا0 ض ع ب ي0 من ب طل ذ ق0 ق ة ي عل و ي حن ا0 ل هذ م ع ل ا ت ق و لذي ن ا15 ع ق و م ل وار ا0 ر ذي ي ا نE ي ب ع0 ض ا ن ا هذي ج شا’ خاول0 ق ان0 ض م ر ن م ر ’ كت ا رة ت0 خ ة يo ن و س0 من و20 ي للا’ و ا ة الذرخ ي ات0 اي بo لب واعذ ا ق ة ي ن0 ر خ ي عل0 ر ك ر ش . و ة ج م ر لت ا ي0 فما عا. ة الذروس0 هذ ي0 ف اء ما خ ب م0 ر لت ي ن ا ا0 ب ع ب ا ب سب ن م م ث0 غ ر ح ا ي ح ص ور ظ0 ب م ن م ور ملا ا ق س¤ ن¤ ب ي حن و ات0 اي بo لب واعذ ا ق ل جة ي ح ض ل م ا ي ه ا0 ق م ل ي ا ل> لة ا ال ة ي ب ش م ب ا0 ب ع م ل ض ي ي حن عة رب س ل ا. ام لا’ ي ة ا0 هذ ي0 ف ي ل ة صادف وات ع و د ه عة0 واض ت م ل ا روخات س ل ة ا0 هذ ن م ذو ب0 ف بس ي ن م م ة ي طل ا ل ما ك ة¤ ي ق و اعة0 ص> ي ا عل اريA ذ ب غ> ل ا ب ف ب ن ن ة ا0 ي م ل م ا0 ذ ق0 ق بس ي م ل ن م م ، ا اركة ب م ل ا. ل ك و تA ن ة ي عل ذا و ب0 ن لة م ال س> ا ب0 ق. ،،، ي ت ا ب ح ت1

Upload: mtm-900

Post on 11-Jun-2015

454 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Relational Databases

بواسطة InternetMaster Nov 4 2003, 10:45 PM: مشاركة

مرحبا،،،

من به أسمع لم حيث الشيء بعض � متأخرا الموقع لهذا إنضم ممن أنني يبدوهذا إزدهار فترة فقدت قد أنني المشاركات لبعض قراءتي من ويظهر قبل،

!!الموقع

الموقع زوار أسئلة بعض على لإلجابة ومحاوالتي أيام ببضعة إنضمامي بعدالبيانات لقواعد األساسية المفاهيم في � خلًال هناك أن لدي .إتضح

العلمية األسس شرح الموقع هذا في األخوة بعض مني طلب فقد وعليهحتى هذا لعمل وقتا لدي أن وحيث البيانات فسأحاول 15لقواعد رمضان

من أكثر خبرة ومنسوبيه الموقع زوار أيدي بين أضع أن في 20جهدي عامااألولى. بالدرجة البيانات قواعد جزئية على وسركز .البرمجة

جاء بما يلتزم أن سيتابعنا ممن أرغب صحيح منظور من األمور تتسق وحتىالمفاهيم إلى الله بمشيئة معنا يصل حتى السريعة الدروس هذه في

البيانات لقواعد .الصحيحة

صادقة دعوات هو المتواضعة الشروحات هذه من يستفيدو ممن أطلبه ما كلإعتذاري يتقبل أن منه فآمل يستفد لم من أم المباركة، األيام هذه في لي

وقته إضاعة .على

نتوكل وعليه نبدا الله .فبإسم

تحياتي،،،

مرحبا،،،

هذه وضعت أنني إلى يتنبه أن الوريقات هذه يقرأ ممن آمل البداية فيقسم في فالشرح Access الدروس وعليه القسم، هذا في الزوار عدد لكثرة

عند فقط، واحد نوع عن وليس األولى بالدرجة البيانات قواعد عن يتحدث هنامنتهى في التالية البرامج تصبح البيانات لقواعد الصحيحة لألسس تعلمك

والبساطة .السهولة

AccessFoxProClipperDBase

Microsoft SQLOracle

Sybase

قواعد أدوات تستخدم مختلفة لشركات برامج عن عبارة سبق ما كلمصطلح يوجد للتوضيح عن " سيارة "البيانات، يكون السيارة عن التحدث فعند

من معين صنف عن الحديث يكون وال وصيانتها وصناعتها عملها كيفية

1

Page 2: Relational Databases

.السيارات

الجميع تساعد التي البيانات قواعد عن هو هنا وضعه سيتم ما كل أخرى مرةوالخطأ والمحاولة والتقليد التطبيق وليس الفهم .على

األقسام في األخوة عليها يدل أن الدروس هذه يقرأ من فبإمكان وعليهإل كيو أس وميكروسوف بيز وساي أوراكل مثل .األخرى

تحياتي،،،

مرحبا،،،

والمحافل المؤتمرات بعض في المحاضرات تقديم في سابقة خبرة من ... التالية طلباتي من القارىء عزيزي تفاجأ قد التدريبية والدورات :الرسمية

التالي إتباع فعليك البيانات قواعد إحتراف أردت :إذا

اآللي الحاسب !!أغلقالرصاص أقًالم من ومجموعة وبراية بسلك كبير ودفتر مساحة على احصل

حاسبة !!وآلهالرحيم الرحمن الله بإسم وإبدأ الفاتحة .إقرأ

شيئا تفهم فلن بالتطبيق وتقوم األكسس تفتح أن نفسك راودتك !!إذاشيئا تفهم فلن بكيف؟ يبدأ سؤال أي تسأل أن نفسك راودتك !!إذا

لماذا؟ واآلخر كيف األول سؤالين هناك التعلم نظرية في

وكذا كذا ثم وكذا كذا إعمل جدا سهلة مقلدا !! كيف؟ إال منك يصنع ال !!هذامن السلسة هذه في سنفعله ما وهذا وهدوءا، وعمقا فكرا تتطلب لماذا؟

لماذا؟ مفهوم إيصال محاولة هو الشروحات،

هي وما اإلستعًالم لماذا الطريقة؟ بهذه لماذا الجدول؟ هذا ننشأ لماذاوهكذا أهميته؟

ذاك عن عوضا الجدول هذا نصع لماذا بل جدول ننشأ كيف !!!ليس

الدروس هذه في شيء، ال إل، كيو إس ال آكسس ال حاسب، ال أخرى،، مرةاو األكسس بعمل سيقوم من انت أي األكسس، أنت او SQL ستكون

.أوراكل

برنامج أي بعمل يقوم أن وعقلك تفكيرك من أجعل ان الله بتوفيق نجحت إذاكيف على اإلجابة منك مطلوب هو ما كل سيكون بعدها البيانات لقواعد

منهى في العملية وتصبح أوراكل في أعمله كيف أو األكسس في هذا أعمللماذا؟ والسًالسة، والسهولة البساطة

البيانات لقواعد العلمية األسس كافة لديك سيكون عندها .ألنه

تحياتي،،،

2

Page 3: Relational Databases

مرحبا،،،

البيانات من !!! قواعد لنا معنى ال مجموعة هي والبيانات البيانات، كلمة الحظ ... كلمة مثل شىء أي البيانات والكلمات "رقم" خسارة "كلمة" ربح "األرقام

...وهكذا" 2000

شىء، أي تعني ال أنها بيانات كلمة من خاصية أول هذه شيئا تعني ال البياناتإطًالقا منها يستفاد ال !!والبيانات

الكثرة تعني دائما البيانات أن حيث الحجم، هي بيانات لكلمة الثانية الخاصيةالعدد حيث من !!والضخامة

ومتشعبة وكثيرة ضخمة أنها حيث سىء موقع في بيانات كلمة يضع وهذالها معنى ال الوقت نفس .وفي

البيانات، قواعد في يتم ما وهذا أسس، على الشىء تنظيم تعني قاعدة كلمة ... لماذ؟ تحليلها ثم ومن تنظيمها هو

... إلى البيانات لتحويل هي اإلجابة البيانات؟ وتنظيم بتحليل نقوم لماذا !!!معلومات

مممممم

غاية --- في أساسية قاعدة معلومات إلى تتحول البيانات معالجة خًالل من . لماذ البيديهي السؤال معلومات إلى البيانات تحويل هو إذا الهدف األهمية،

العملية؟ بهذه نقوم

معلومات؟ إلى البيانات نحول لماذاأساسيين :لسببين

القرارات: إتخاذ هو .األولالتخطيط: الثاني

. قيمة ال كبيانات السعودية العربية المملكة سكان تعداد تشمل بيانات قاعدةمثًال التالي لدينا يصبح معلومات إلى وتحويلها البيانات معالجة عند ولكن :لها،

سنين العشرة تحت في األطفال التخطيط% 30عدد تتطلب معلومة هيمدارس لبناء

الحالية المالية السنة أرباح آخر نتخذ% 35مثال أن نستطيع معلومة لدينا هناقرارا القرارات "عليها الشركة " إتخاذ لمنسوبي إضافي راتب توزيع .مثل

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

====

ال -- أخرى مرة مستوصف إلدارة بيانات قاعدة بناء هو مشروعنا سيكونآلي --- حاسب أي نستخدم ولن برنامج أي نستخدم لن القارىء عزيزي تنس

3

Page 4: Relational Databases

اإلطًالق .على

صدقوني --- شيئا يفهم لن اآللي الحاسب على بالتطبيق سيقوم .من

التركيز من مزيدا القارىء عزيزي منك أطلب ...اآلن

أسمه للبرمجة علمي مصطلح تحت تندرج البيانات الطبقات Tier 3 قواعد أي.الثًالث

عزيزي منك أطلب لكني قديم، تصميم وهو خطأ سبق ما كان وإن حتىخطأ كانت لو حتى تحفظها أن الثًالثة "القارىء "الطبقات

األولى First Tier الطبقةالمستخدم واجهة أو بالمقدمة يسمى ما User Interface وهي

الثانية Second Tier الطبقةوالقوانيين المنطق بطبقة يسمى ما Logic Interface وهي

الثالثة Third Tier الطبقةبالخلفية يسمى ما البيانات Back End وهي قواعد ؟؟؟ طبقة !!وهي

المصطلحات؟ بهذه القارىء عزيزي ازعجتك لماذاجدا وصغيرة بسيطة :ألسباب

األكسس في النماذج بنسيان قماألكسك في التقارير بنسيان قم

للبرامج وليست لإلحتراف ليست اآلكسس في الموجودة والتقارير النماذجالحقيقية البيانات قواعد أو .القوية

الزحمة؟؟؟ هذه لماذا

النماذج تقارير، أو نماذج أسمه البيانات قواعد في شيء يوجد ال ألنه . لقواعد الثالثة الطبقة الثالثة وليس األولى الطبقة في تصنع والتقارير

والتقارير للنماذج هي األولى الطبقة بينما .البيانات

الحقا المزيد لشرح الوقت يسعفنا وقد :للمعلومية

األولى Visual Basic .NET نستخدم --- الطبقةالثانية Visual C++ .Net نستخدم --- الطبقةالثالثة Sybase أو Oracle أو Microsoft SQL نستخدم --- الطبقة

و اآلكسس يستخدمون MySQL و Clipper و Dbase و FoxPro لماذاواحد؟ محتوى في البعض بعضها مع الثًالثة الطبقات

فقط الشخصي لإلستخدام التطبيقات هذه ألن هي لصناعة !!! اإلجابة وليس . عدد يكون أن مثل جدا شاذة حاالت في إال للسوق بيانات قواعد

من أقل صغير فقط 10المستخدمين .أشخاص

4

Page 5: Relational Databases

قيمة -- ال صدقني وغيرها اآلكسس في التقارير النماذج فقدان من تخف اللإلحتراف تطمح أو أردت إذا .لها

المشاركة هذه :آخرتعرفهما وقطعا األهمية غاية في كلمتان Server و Client هناك

على � وأبدا دائما البيانات الثالثة -- Server قواعد الطبقةعلى وأبدا دائما والتقارير والنماذج األولى -- Client الواجهات يشذ "الطبقة

اإلنترنت تطبيقات هذا الله " عن بمشيئة بعد فيما آخر موضوع .وهذا

بين تكون Server وال Client المسافة قد معروفة، غير او 5دائما 10سمغير --- بينهما المسافة أخرى مرة أعيد جيدا النقطة لهذه إنتبه متر، كيلو آالف

هذا -- عن سنتكلم .معروفة

تحياتي،،،

مرحبا،،،

اآلن؟ --- نحن أين آآآآآآآآآآآآآآه

يقع أين بمعرفة نبدأ بيانات قاعدة أي تصميم بداية يقع Client عند وأينServer

...ثم

التالية األسئلة على :نجيب

المستمر التواجد أهمية أن Availability !! ما ويعني جيدا المصطلح هذا إحفظتنهار؟؟؟ -- أن لها يسمح كم البيانات قواعد طبقة وهي الثالثة الطبقة

Server ماذا صح؟ تتعطل والحاسبات آلي حاسب عن عبارة هو الخادم أوالخدمة؟ من الثالثة الطبقة خروج عن يحدث

أريد لك قال لو ألنه السؤال؟ هذا على يجيب أن يجب البرنامج مشتخدمفهذا الخدمة من خروجها دون السنة مدار على تعمل أن الثالثة الطبقة

هناك يكون أن الخادم Backup يتطلب سقوط عند يعمل آخر خادمالبيانات قاعدة بناء كيفية على يؤثر وهذا .األساسي،

القياس هو الثاني كم Scalability !! السؤال ويعني � جيدا المصطلح هذا إحفظفي البيانات قاعدة سيتخدم شخصا كم البيانات؟ قاعدة سيتخدم شخصا

سنوات العشر مدى على البيانات قاعدة في السجًالت عدد كم الوقت؟ نفسهل تخزن؟ أم تحذف هل القديمة البيانات في عمله المطلوب هو ما قادمة؟

خادم على أم الخادم نفس على الخادمين Server تخزن يتبادل كيف آخر؟العنصر هذا وهكذا؟ اإلطًالق " القياس "المعلومات؟ على األهم .هو

القارىء ...عزيزي

يلي ما تخيل بيانات قاعدة ألية تصميمك :عند

فيها البيانات قاعدة جدول 5000أنعلى تحتوي البيانات قاعدة في جدول كل سجل 10أن مًاليين

5

Page 6: Relational Databases

يوجد الوقت 30أنه نفس في البيانات قاعدة مع يتعاملون مستخدم ألفبين المسافة متر Client و Server أن كيلو ألف

التخيل؟ هذا لماذا

وخالية األساسات قوية بيانات قاعدة لصناعة الصحيح الطريق هو هذا ألنهلماذا الحقا وستعلم األخطاء .من

توليفة على حقول شوية البيانات قواعد أن ويرى اآلن حتى معنا قرأ منحيث القراءة عن التوقف عليه أقترح تقرير وكم نموذجين على أستعًالمات

شيئا يستفيد .لن

إلنهاء يلهث معظمنا وأن نسبيا مرتفع التدريبية الدورات ثمن أن المشكلةوعليه وأصدقائه، اخوته مع بها يتفاخر أو ترقية على بها يحصل بيانات قاعدة

اآلكسس ويصبح ببساطة آلخر شخص من الخاطئة المفاهيم عفوا "تنتقلالتافه والبرمجة " البرنامج اإلبداع قمة .هو

توضيح -- هو البداية في عمله أحاول ما كل اآلكسس لمحبي وعذرا عفواالسباحة نبدأ أن قبل المصطلحات ثم .للمفاهيم

الثانية الطبقة اآلن --- Logic Tier أين منها دعك

البيانات قواعد وهي الثالثة الطبقة على � منصبا اللحظة هذه حتى تركيزنا .كل

ودفتر ومحاية براية جهزت قد اللحظة هذه في تكون أن القارىء عزيزي آملرصاص أقًالم ومجموعة حاسبة وآلة .ومسطرة

منطلق من معنا تكمل أن وتريد فعلت قد تكن لم الواد "و" الفهلوة "إنمنطلق " الجدع أو بعد فيما سأفهم منطلق أو مصر، في األخوة رأي على

أقوم ثم المشاركات سأجمع منطلق أو يدي، بين التي المشكلة حلوليطرق --- إلى إال البيانات بقواعد تصل لن صدقني بعد فيما وقراءتها بدراستها

. اإلحتماالت أضعف على أو برمته الموضوع ستلغي أشهر عدة وبعد مسدودةاإلطًالق على واحدة بيانات قاعدة تبيع .لن

الحاسب وال اآلكسس تفتح وال السابقة األدوات وحضر ساعديك عن شمرالعلمية بالطرق مستوصف إلدارة بيانات قاعدة نصمم بنا وهيا إطًالقا اآللي

.الصحيحة

الحاسب -- بإستخدام وليس � يدويا سنصصم وأخواتي أخوتي يا أخرة مرةغيره أو اآلكسس او .اآللي

تحياتي،،،

مرحبا،،،

معه ليس ممن :آمل

مسطرةمحايةبراية

6

Page 7: Relational Databases

صغيرة حاسبة آلةكبير دفتررصاص أقًالم

أبدا، --- البيانات قواعد يفهم لن العظيم والله المشوار معنا يكمل ال أندواليك وهكذا ويخطىء ويحاول ويسأل ويدور يلف .وسيبقى

على --- سيطبق من � فورا يوقفوه أن اآلن اآلكسس يستخدمون ممن أملشيئا --- يستفيد لن والله غيره برنامج أي او .اآلكسس

أبدأ اللهم :بإسمك

ما أو المخرجات شكل بتحديد يبدأ البيانات قواعد لتصميم العلمي األسلوبفريق عليها يجتمع خطوة أول هي التقارير تكون وعليه التقارير بإسم يعرف

خًالل أوراق على رسمها ويتم شكلها على لإلتفاق المشروع صاحب مع العملالتقارير إجتماعات يسمى .ما

أن --- قبل بيانات قاعدة أي أبدا أبدا أبدا أبدا تصمم ال القارىء عزيزي الحظ . أن وحيث المشروع من المطلوبة التقارير كل عادية أوراق على لديك يكون

الصحيح العلمي بشكلها البيانات قواعد مفاهيم لتعميق الدروس هذهنطبق عندما جدا قريبا أليها سنعود ولكن القاعدة، هذه مخالفة إلى فسأضطرعز الله بمشيئة إشرافي تحت بعمله أنتم ستقومون والذي الثاني مشروعنا

.وجل

نصمم ثم بالتقارير نبدأ بيانات قاعدة بناء عند الصحيح العلمي األسلوب فيتركيز .... أي أشتت ال حتى اآلن لكم أقول لن ثم اإلستعًالمات ثم .الجداول

سأقوم المعلومة إيصال طرق أفضل في ولخبرتي األول الدرس هذا لغرضأنه --- أعلم التقارير ثم اإلستعًالمات ثم بالجداول بدأ خطوة خطوة بتوجيهكم

تبارك الحق بإذن مفيدا سيكون أنه وأعلم األول المثال ألنه ولكن خطأ.وتعالى

مستوصف إلدارة بيانات قاعدة برنامج

المشروع لمكونات بعد أقصى بتحديد نبدا الجداول حالتنا "لبناء في. --- " مستوصف من يتكون اإلجابة سهل، سؤال المستوصف يتكون ماذا :من

أطباءعياداتمرضى

هي -- ما الفرعية والوظائف األساسية الوظيفة هناك البيانات قواعد فيالمرضى -- عًالج للمستوصف األساسية الله "الوظيفة تحقيق " بإذن وكذلك

أرباح

مرضى --- -- بدون المرضى عًالج للمشروع األساسية الوظيفة تعريف تم إذاالمرضى --- جدول هو األساسي الجدول إذا له معنى وال فاشل .المشروع

كمل --- --- --- ركز توقف فاصلة

7

Page 8: Relational Databases

للمستوصف؟ الفرعية الوظائف ماهي

صيانة؟ بدون مستوصف يوجد هلللنظافة؟ مقاول بدون مستوصف يوجد هل

موظفين؟ شؤون إدارة بدون مستوصف يوجد هلصيدلية؟ بدون مستوصف يوجد هل

للنوبات؟ جداول بدون مستوصف يوجد هلمواعيد؟ حجز نظام بدون مستوصف يوجد هل

بدأت --- العملية الليمونة "وااااااااااااااااو مصر " في في أحبائنا رأي علىتتشعععععععععععععععععععععععب بدأت العملية

حدد -- -- -- -- المستوصف صاحب المشروع بصاحب إتصل توقف لحظةإجتماع

المستوصف: صاحب مع الفريق قائد بصفتك أنت معك العمل فريق المشهدمن -- قنجان أمامك صباحا العاشرة الساعة اإلجتماعات غرفة في مدرائه مع

طبعا "القهوة رمضان في "مو

اإلجتماع؟؟؟ هذا من المطلوب هو ما

والفرعية لألساسية أم األساسية؟ للوظيفة هي المطلوبة البيانات قاعدة هلمنها؟ أي الفرعية؟ دمج تم إذا �؟ أيضا

تصلح ألنها لماذا؟ الصيت ذائعة الموظفين شؤون بيانات قواعد السبب لهذا . والصادر للمحاسبة وهكذا نشاطها عن النظر بغض وشركة منشأة لكل

وغيرها .والوارد

مجموعة: نجعل كيف نشرح أن الله وبتوفيق الحقا الوقت يسعفنا قد مًالحظةالبعض بعضها بين وتتخاطب تتحادث أن المختلفة البيانات قواعد من

يسمى ما وهو جميعا منها موحدة تقارير على Distributed للحصولDatabase Applications

اليوم --- --- منذ البيانات قاعدة عمل نطاق تحديد من بد ال إستمر توقفالبيانات قاعدة نطاق على المشروع صاحب مع العقد ينص أن يجب األول،

لماذا؟؟---

السؤال على تيجيب أن بد ال عاد اإلجابة !! هيا تقرأ أن قبل فكر

العمل نطاق يتغير ثم ومن البيانات قاعدة إكتمال عند ألنه بسيط السببمصيبة --- التقارير تتغير اإلستعًالمات تتغير العًالقات تتغير الجداول تتغير

.... قواعد وحوش من وحشا كنت إذا إال والجهد الوقت في وخسائر كبيرةويقوم .... واووووو حقول بدون البيانات قاعدة تصميم يمكنك ألنك البيانات

واااااووو --- --- يشاء متى يشاء كيف حقول أية بعمل القاعدة مستخدمالحقول ---- في تعديل عمل عند آليا والتقارير النماذج يغير أن ويستطيع

متقدم --- --- --- موضوع هذا عن بعد فيما إسألوني هذا يكفي وااااااااووووهنا مكانه ليس جدا جدا .جدا

8

Page 9: Relational Databases

األساسية الوظيفة البيانات قاعدة تخدم أن على اإلتفاق وتم اإلجتماع إنتهىالعيادات، األطباء، هي لدينا األساسية العناصر تصبح ووبهذا للمستوصف

.المرضى

فارغة بيضاء صفحة منتصف وفي رصاص قلم أول لشذب البراية استخدماكتب األعلى الرئيسي "في التالية " الجدول الحقول وسجل .للمستوصف

: إلخ كائن، عملة، رقم، نص، التالية العبارات تنسى أن أريدك

وألن المشروع حقول كافة ستحمل التي الصفحة في بالكتابة معي إبداعلى الفعلي التطبيق عند سنزيدها بالحقول عليكم أكثر فلن يدوي التطبيق

الله بمشيئة الحقا :اآلكسس

:الحقولالمريض -- خانات 10رقمالمريض -- خانة 50إسم

المريض -- خانة 25جنسيةالمريض -- خانة 2عمر

المريض -- خانة 1جنسالمرض -- خانة 350تشخيص

خانة 350العًالج -- المريض --- من المدفوعة خانات 5التكلفة

المريض --- دخول خانات 10تاريخالمريض --- دخول خانات 5وقتالمريض --- خروج خانات 10تاريخالمريض --- خروج خانات 5وقت

المعالج -- الطبيب خانات 10رقمالطبيب -- خانة 50إسم

الطبيب -- خانة 25جنسيةالشهري -- الطبيب خانات 5راتب

السنوي -- للطبيب السكن خانات 5بدلالشهري -- للطبيب النقل خانات 5بدل

الطبيب -- خانة 2جنس

العيادة -- خانات 10رقمالعيادة -- خانة- 50إسم

العيادة -- فيه تقع الذي الجناح خانة 2رقمالطابق -- خانة 2رقم

خانة 500مًالحظات --

شيئا يستفيدوا فلن يكملو أال اآلكسس على سبق ما نفذوا ممن ؟؟؟ !!!آملفي جديدة صفحة يفتح أن واضح بخط بيضاء ورقة على سبق ما نفذ من

أن والقلم المسطرة وبإستخدام البيانات مدخل شخصية ويتقمص الدفتريسجل وأن لألعمدة كعناوين السابقة الحقول كافة فيه � جدوال � 45يرسم سجًال

9

Page 10: Relational Databases

يلي ما مراعاة مع مرضى :لزيارات

األقل على يسجل مريض 5إلى 3أن لكل زياراتاألقل على يسجل طبيب 5إلى 3أن لكل عًالجاتاألقل على يسجل عيادة 5إلى 3أن لكل إستخدامات

األمراض انواع في ينوع شرها "أن وإياكم الله "كقاناواألطباء المرضى جنس في ينوع أن

الجنسيات في ينوع أن

....وهكذا

بكتابة تقوم أن إنهينا 45بعد قد وفضله الله بحمد نكون األقل على � سجًالالبيانات قاعدة أل !!!!!!!!!!!!! تصميم !!!طبعا

الله بمشئية القادم الدرس في لماذا .سنقول

تحياتي،،،

مرحبا،،،

فرصة يتابعوننا من إلعطاء الدرس هذا في البيانات قاعدة مشروع نكمل لنفيما سنحتاجه آخر موضوع عن سنتحدث ولكننا سابقا منهم المطلوب إلنهاء

هو والموضوع جدا كبير بشكل البيانات "بعد ".مدخلو

يفهمها أن البيانات قاعدة مصمم من تتطلب شخصية هو البيانات مدخلتدريبية دورات يوجد أنه لكم أقول الشوق عنصر ولزيادة واضح، بشكل

المملة بالوظائف يسمى ما شخصية لفهم هذه Boring Jobs مخصصة وطبعالألسف العربي " كالعادة "الدورات عالمنا في تقدم .ال

المملة وظائف Boring Jobs الوظائف القارىء "هي عزيزي تستغرب "الفيها المطلوب والتعليم الخبرة قلة مع جدا جدا مرتفعة رواتب ؟ !!! ذات لماذا

العمل لصاحب جمة خسائر فيها الخطأ على يترتب الوظائف بهذه !!! هذه.البساطة

المملة الوظائف أمثلة :من

الليلية الحراساتالدول بين الطويلة البرية الخطوط على والناقًالت الحافًالت قيادة

البيانات --- مدخل صديقنا وطبعا

جمة، خسائر فيها الخلل على يترتب أنه تجد الوظائف هذه في تعمقت اذاكبيرة --- خسارة مثًال للمستودع سرقة نومه على يترتب قد ليلي .فحارس

ومعه مثًال اإلمارات إلى متوجها الرياض من ينطلق شاحنة سائق 10أومن الكثير عنه ينتج الله قدر ال حادث نومه على يترتب فارهة، سيارات

.الخسائر

10

Page 11: Relational Databases

المبيعات -- عن خاطئة ارقام بإدخال يقوم أن تخيل البيانات مدخل وصديقناأنثى-- يدخل أو فعًال، تربح الشركة بينما خسائر توضح تقارير عليها يترتبتعطى خاطئة بيانات جداول على تبنى التي اإلستعًالمات كل ذكر، أنها على

. جمع نتيجة يعطيك انه اآللي الحاسب مشكلة ليست لها معنى ال 3و 5نتائجانها جمع 8على تقصد !!!3و 4وانت

البيانات مدخل ألن أقول، لما سيضحك فعليا بيانات مدخل منكم رأى منقاعدة بمصمم واإلستهزاء وشتم سب من ينفك ال عمله أداء خًالل

!!!!البيانات

مجموعة يساره أو يمنه وعلى يومه يبدأ إمرأة أو كان ذكر هو البيانات مدخلألن البيانات، قاعدة إلى بياناتها إدخال المطلوب المعامًالت من ضخمة

التكرار طابع عليها يغلب المملة يبدأ ----- Loops الوظائف العمل لنفسومواضيعه بحياته والتفكير بالسرحان ساعات بضعة بعد البيانات مدخل

الخبرة من الناتج الباطن العقل هو فعليا البيانات يدخل والذي !!!الشخصية

كنت أنك تذكرت وفجأة وجهتك إلى ووصلت ما يوما سيارتك بقيادة قمت هل ... يقود كان من والشوارع واإلنعطافات اإلشارات تتذكر وال ما بموضوع تفكر

!!!السيارة؟

والفلسفي؟؟؟؟ النفسي الموضع هذا لماذا

مدخل شخصية تتقمص ان البيانات قاعدة تصميم عند منك مطلوب ألنهحجم من كبير بشكل تحد أن تريد ألنك لماذا؟ واآلخر، الحين بين البيانات

صاحب ألن البيانات؟ مدخل أخطاء من نحد لماذ البيانات؟ قاعدة في األخطاءبرنامجك؟ يستخدم لن وبالتالي خاطئة نتائج على سيحصل المشروع

أنت كاهلك على تقع !!!الخسارة

يقوم --- --- أن نريد ال البيانات قواعد تصميم عند ذلك آمل واضح اآلن الهدفخاطئة بيانات بإدخال البيانات هذا --- "مدخل تقول العلمية القاعدة

" !!مستحيييييييييييييييييييييل

مدخل --- تساعد أن أصبح الهدف العمل؟ فما مستحيًال كان إذا وااااااااااو � كليا تمنعها أن ال األخطاء من الحد على !!!البيانات

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

منعه ال ذلك من الحد فقط بل هذا تنفيذ بعدم المنع !!! تنصح تكلفة ألن لماذا؟لمدخل صغير تدريب عمل تكلفة وتفوق جدا عالية البيانات قواعد تصميم في

.البيانات

من اإلنتهاء بعد بعد، فيما إليه نتطرق قد آخر موضوع ننمع؟ ولماذا كيفأوال العلمية األسس

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

اآللي ال --- " متخلف "الحاسب رياضيا فكريا يعكس اآللي الحاسب عفوا

11

Page 12: Relational Databases

!!منطقيا

فقط البشر إال يصله ال جدا عالي إدراك هو !!المنطق

منك فضًال التالية الكلمات معي :إقرأ

أنثىإنثىانثىإنثيإنثىانثي

؟؟؟ قرأت ماذا

أن " بشر "ألنك ترى فإنك وتعالي تبارك الحق به فضلك الذي اإلدراك ولديكواألخت األم وهي البشر من الجنسين أحد تعني السابقة الكلمات كل

وهكذا والبنت .والزوجة

استمر - -- ركز توقف

) ما ) اآلكسس ضمنها ومن اإلطًالق على كلها البيانات قواعد برامج مطلق فييعني ؟؟؟؟ 6سبق مختلفة !!!!كلمات

في اإلناث أعداد إجمالي على تحصل أن به تريد استعًالم لديك كان فلو؟؟؟؟ صحيحة إجابة على تحصل لن قطعا فإنك البيانات !!!قاعدة

إدخال --- من البيانات مدخل نمنع كيف البيانات لقاعدة ونخطط نفكر اآلنمختلفة؟ بطرق لإلناث الجنس حقل

هذا، من أكبر هو بيانات قواعد كمصمم منك المطلوب فقط؟؟؟ هذا ليس بلوهي أبعد مسافة إلى البيانات مدخل أخطاء من الحد يتجاوز المطلوب

البيانات إدخال على .المساعدة

البيانات إدخال في اليدوية المساعدة أقصد ال تصميم !!! طبعا طريقة في بللك يدعون البيانات مدخلي ان تسمع قد وعندها ذلك على لتساعده القاعدة

تعمله " عما النظر بغض التذمر دائمي لكونهم هذا في أشك كنت !!".وان

التالية الكلمة قاعدة Integrity" المصطلح "إحفظ والتماسك، التكامل ويعنيلها قيمة ال بيانات هي سابقا شرحنا ما مثل تصبح "البيانات تحليلها بعد

أي " معلومات تترك اال بد ال هنا ومن والتكامل التماسك عدم بطبعها والبياناتبيانات إدخال إلى البيانات مدخل منها يتسلل البيانات قاعدة في ثغرات

البيانات قاعدة لبنية والتماسك التكامل فقد إلى تؤدي .خاطئة

Integrity البعض بعضها مع تعمل الجداول كافة وسجًالت حقول كافة أن تعنيالبيانات إدخال أخطاء من يحد وبشكل متناغم . بشكل

عن أسأل راح درس كم األسس Integrity بعد كل صح، يجاوب ما واحد وخليحول وتدور تلف البيانات لقواعد والتماسك Integrity العلمية التكامل .اي

12

Page 13: Relational Databases

أكتب الرصاص قلم وبإستخدام الصفحة هذه قراءة أعد القارىء، عزيزي اآلن . هي الكتابة نقرأ مثلما نكتب ليتنا أخرى، مرة لنفسك وإشرحها المصطلحات

األول .المعلم

باإلتجاه --- نسير أننا قلبي يطمئن حتى إسألوها أذهانكم إلى تقفز أسئلة أية.الصحيح

بعمليات نقوم البيانات إدخال أخطاء من :للحد

المنعاإلختيارالنطاق تحديد

اآللي واإلختيار واإلدخال اإلكمالمن البيانات Integrity التأكد لقاعدة

وتعالى تبارك الحق بإذن بعد فيما عنها سنتحدث .وكلها

تحياتي،،،

مرحبا،،،

البراية تحضروا بأن اإلقتناع مرحلة إلى بالتشويق بكم وصلت أني آملبسلك ودفتر حاسبة وآلة الرصاص وأقًالم والمسطرة .والمحاية

الجدول بتصميم فعًال قام من المباركة الليلة هذه في اآلن هناك يوجد أنه آملبيضاء ورقة على بالمستصوف الخاصة البيانات لقاعدة .األساسي

بإدخال قام من هناك يوجد انه (45آمل الورق ) على البيانات قاعدة في سجًالوالقلم بالمسطرة رسمه جدول خًالل .من

ضفة من الوصول لهدف وقناعة وتفكير وروية بهدوء سويا نعمل اننا آملوسليمة وصحيحة علمية بطريقة األخرى الضفة إلى .شط

) على ) جدول في والسجًالت الحقول كتـــــــــــــــــــــــــــــابة يكمل لم من . . جهدي تضيع ال رجاء اآلن فورا توقف القرآءة يكمل ال فرجاء بيضاء ورقة

. منك المطلوب أنهيت تكون بعدما تابع ثم ومن توقف سدى .ووقتي

الله بتوفيق ...نكمل

كافة من مكتملة بيانات قاعدة هو بعمله قمت ما أن تصدق ال أو صدقالجهات

صحيحة بيانات قاعدة هو بعمله قمت ما أن تصدق ال أو وقد% 100صدققواعد به تصمم كانت التي والطريقة األسلوب بنفس بتصميمها قمت

عام قبل ميًالدية 1969البيانات

13

Page 14: Relational Databases

) إلى ) بالنظر القهوة من فنجان مع تستمع أن هو اآلن تفعله أن عليك ما كلمجموعة عشوائي بشكل يوضح والذي بإنشائه قمت الذي الجميل الجدول

المستوصف إلى المرضى قبل من الزيارات .من

بيانات نسميه الذي الجدول هذا في ونتأمل البعض بعضنا مع نستمتع بنا .هيا

الصفحة منتصف وفي جديدة بيضاء صفحة معي " األسئلة "نفتح إنقل ثم ومنالورقة إلى األسئلة :هذه

للمستوصف؟ الزيارات عدد كممن أكثر ودفعت المستوصف بزيارة قامت إنثى ريال؟ 100كم

البريطانية؟ الجنسية إلى ينتمي ال المستوصف في طبيبا كمالليل؟ منتصف بعد حدثت زيارة كم

الذكور؟ قبل من المدفوعة التكلفة متوسط هو ماللطبيبات؟ النقل لبدل الشهري اإلجمالي هو ما

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

المرضى؟ أعمار متوسط هو ماسميرة؟ اسمها طبيبة كم

الثالث؟ الطابق في العيادات عدد كمالصباحية؟ المرضى قبل من الزيارات عدد كم

من اكثر السنوي دخلهن الًالتي السعوديات الطبيبات عدد ريال؟ 150كم الفذكرا؟ مريضا معه وكان األول الطابق في عيادة في تواجد طبيبا كم

للمستوصف؟ اليومي الدخل هو ما

الياء -- إلى األلف من كاملة بيانات قاعدة هذه صدقوني

أدخلتم الذي الجدول بيانات على تعديل أي عمل وبدون الجميع من اآلن آملاألقل ) على السجًالت ( 45به ويقومو السابقة األسئلة على يجيبو أن سجل

األسئلة صفحة من األسفل النصف في اإلجابات .بكتابة

وتحاول --- تعد وأنت والصداع اإلحباط يتولد كيف راقب تصدق ال أو صدقاإلجابة

يقوم --- ما هو كبير حد وإلى تقريبا هو اآلن به تقوم ما أن تصدق ال أو صدقاآلكسس -- بدور تقوم اآلن أنت بيانات قواعد برنامج أي به

قواعد --- نظم لبناء األساسية والمفاهيم القواعد إلى نصل عندما أخرى مرةعلى بالتطبيق تقوم أو تطبيق دون فقط بالقراءة تقوم وأنت البيانات

هذه -- تقرأ أن قبل عليه كنت ما نفس إلى ستعود صدقني غيره أو اآلكسس . وقتك تضيع فأنت فقط تقرأ كنت إذا القرأة تعب سوى ينالك ولن .المواضيع

الرصاص أقًالم بتشذيب قم

الكتابة من والكثير والكثير الكثير .لدينا

المستعان .الله

تحياتي،،،

14

Page 15: Relational Databases

مرحبا،،،

) معنا ) اإلستمرار اآلن يمكنه الورق على كتابة األول التمرين نفذ .من

وطريقة الجوانب مكتملة صحيحة بيانات قاعدة هو بتنفيذه قمت ما إنتسمى هذه وهي Flat Databasesالتصميم المسطحة البيانات قواعد أو

لغة في المتبعة الطريقة كانت COBOL نفس إن أعلم مازالت COBOL والمن أكثر منذ اللغة هذه تركت حيث األسلوب نفس .أعوام 10تتبع

قاعدة ) على نحصل واحد جدول في إستثناء أي بدون الحقول كافة وضع عند --- ) أن لك أقول أن تستغرب ال مسطحة تطبيقات EXCEL بيانات فيه يوجد

المسطح النوع من البيانات لقواعد .متقدمة

أن هي الميزة وهذه المسطحة، البيانات لقواعد � جدا ومهمة كبيرة ميزة هناكوقياسي، جدا قصير وقت في يتم البيانات قاعدة وتنفيذ وإنشاء تصميم

من أقل استغرقت المستوصف إلدارة بتصميمها قمنا التي البيانات قاعدة . جدا رائعة ميزة هذه دقائق عشر من أكثر تأخذ لن اآلكسس وعلى .ساعتين

: المسطح النوع من البيانات قواعد � سويا جدول Flat نحفظ عن عبارة هيقاعدة وتصميم تنفيذ بسرعة وتتميز المطلوبة الحقول كافة فيه فقط واحد

.البيانات

يراد التي التطبيقات هي المسطحة البيانات قواعد على التطبيقات أشهر من . قواعد من النوع هذا شرح في أسهب لن فقط اإلحصائيات عمل منها

نستوعب أن وبعد ضيق، إطار وفي جدا جدا محدودة إستخداماته ألن البياناتوجل عز الله بمشئية أوضح األمور ستكون البيانات قواعد من الثاني .النوع

النوع: من البيانات قواعد تتميز بماذا ؟Flat سؤالالنوع: من البيانات قواعد هي ما ؟Flat سؤال

في المرضى إستقبال قاعة في اآلن نحن المستوصف، إلى نعود.المستوصف

مريض المستوصف :يدخلعاما 42العمر:

الله: عبد محمد اإلسمسعودي: الجنسيةذكر: الجنسإنفلوانزا: المرض

إلى بتحويله نقوم ثم المعلومات كافة منه :نطلب

الخالق: عبد سميرة الطبيبأنثى: الجنس

52العمر: مصرى: الجنسية

واألذن األنف عيادة تقع حيث الثاني الطابق إلى المريض بتوجيه ونقوم

15

Page 16: Relational Databases

.والحنجرة

المدفوعة والتكلفة الخروج ووقت تاريخ بتسجيل نقوم المريض خروج عند.منه

حدث؟ الذي ما

بإنشائها قمنا التي المسطحة البيانات قاعدة في جديد سجل إضافة .تم

سيارة صدمته أمره من عجلة وفي المستوصف من الله عبد محمد خرجاليمنى الساق في كسر ...مسببة

طبيب إلى توجيهه وتم المستوصف إلى أخرى مرة الله عبد محمد دخلساقه في للكسر تجبير إلجراء .العظام

الخاصة --- البيانات قاعدة في جديد سجل بإضافة قمنا حدث؟ الذي مابالمستوصف

أتعب عشاء زوجته له قدمت البيت إلى وذهابه الله عبد محمد خروج لدىثالثة مرة المستوصف إلى اإلسعاف بسيارة فنقل .معدته

) مرة ) السابقة بيانته مقدما المستوصف إلى المسكين الله عبد محمد دخلالباطنية األمراض عيادة إلى تحويله وتم .أخرى

المستوصف بيانات قاعدة إلى جديد سجل بإضافة قمنا حدث؟ الذي .ما

في البينات مدخل صديقنا إلى ونذهب قليًال الله عبد محمد المسكين لنتركالليلة فعل عما ونسألة اإلستقبال .قاعة

هذه تميزت بماذ سجًالت، ثًالثة بإدخال البيانات مدخل قام الليلة هذه فيالسجًالت؟

) بياناته ) تسجيل تكرر قد المريض وهو البيانات قاعدة عناصر أحد بأن تميزتمرات ثًالث

هذا؟ يعني ماذا

:يعنيكل في األمر يتطلب مرة من أكثر للمستوصف المريض دخول تكرار عند أنه

كاملة بياناته كافة إدخال .مرة

طبيب ) على مرضى خمسة يدخل أن مثل الطبيب إستخدام تكرار عند أنهأخرى( مرة الطبيب بيانات إدخال إعادة األمر يتطلب .العظام

قبل ) من عًالجهم تم مرضى عشرة مثًال عيادة أي إستخدام تكرار عند أنه ) بيانات كافة إدخال إعادة األمر يتطلب الباطنية العيادة في كلهم أطباء ثًالثة

.العيادة

:الخًالصة

16

Page 17: Relational Databases

أكثر يتكرر عنصر أي بيانات إدخال إعادة يتم المسطحة البيانات قواعد فيمرة .من

... أعود وعندما التمر من بقليًال وأتمتع القهوة من فنجان لشرب سأذهب اآلنالسؤال إجابة في فكروا قد يكونوا أن الجميع من أتمنى دقائق بضعة بعد

.التالي

البيانات؟ إدخال تكرار من المشكلة هي ما

تحياتي،،،

مرحبا،،،

التالي السؤال عند :توقفنا

البيانات؟ إدخال تكرار من المشكلة هي ما

لها: حصر وال عد ال جمة مشاكل !!!!الجواب

المشاكل هذه :أهم

� أصًال موجودة بيانات تكرارالصلبة األقراص مثل التخزينية للسعات شديد إستنزاف

عبد محمد المسكين فمثًال التكرار عن الناتج األخطاء إلرتكاب خطير موطن ) بدون ) عبدالله محمد شكل على إسمه تسجيل تم الثانية الزيارة في الله

جديد مريضا لدينا يصبح وبهذا الجًالله ولفظ التعبيد بين !!!مسافةإضافة مثًال البيانات، لقاعدة جديد حقل إضافة عند هي األكبر المشكلة أما

للمريض الميًالد كافة !!! تاريخ في التاريخ نفس إدخال اآلن األمر يتطلبلدينا كان فإذا منها 500السجًالت يتطلب 42زيارة الله عبد محمد لألخ زيارة

الميًالد تاريخ إدخال إعادة !!!مرة 45األمر

البيانات قواعد مشاكل وليس مصائب أحد هو البيانات إدخال تكرارعام قبل في لألبحاث خصبا مرتعا وكانت .ميًالدية 1970المسطحة

السيد الخطير شركة CODD العالم في يعمل عام IBM والذي في 1969قامالمسطحة البيانات قواعد مشاكل بعًالج تقوم نظرية أول بطرح Flat ميًالدية

العًالقية البيانات قواعد تسميتها Relational Databases وتم

برامج كافة في بها المعمول هي النظرية هذه مازالت تصدق، ال أو صدقاآلكسس ضمنها من وطبعا اآلن العالم في الموجودة البيانات .قواعد

من تتكون العالم هذا يتطلب 12نظرية القوانين هذه من واحد كل قانونإلى بحاجة نحن أي خاصة، هذه 12محاضرة لشرح األقل على محاضرة

النظري الجزء في اإلسهاب في رغبتي ولعدم الوقت لضغط ولكن القوانين،فسأختصر السوق ومتطلبات والعملي العلمي التطبيق على أركز أن أريد بل

ومبسطة سهلة لغة خًالل ومن القادمة الدروس خًالل من القوانين هذهالبيانات لقواعد العلمية األسس معرفة على جميعا .تساعدنا

17

Page 18: Relational Databases

) قبل ) من تبنيها تم طبعا جدا الذكي العالم هذا وضعها التي القوانين إنهذه وتتيح القوانين هذه على تعتمد برامج تنتج وبدأت العالمية الشركات

عًالقية بيانات قواعد بتصميم لمستخدميها هذه Relational البرامج ولصعوبةتصميمها تم بيانات قاعدة أفضل أن القارىء عزيزي تعلم أن يكفي القوانين

ب إلتزمت العالم من 8في فقط !!!األصلية 12قوانين

و وآكسس أوراكل مثل البيانات قواعد برامج في التطوير أن وغيرها SQLأيالسيد قوانين بكل الوفاء عن قاصرا .CODD مازال

العًالقي النوع من البيانات قواعد في الخوض التالي Relational قبل :نقول

النوع من البيانات قواعد قواعد Relational أن مشاكل كافة بحل تقولإلى تؤدي بل المسطحة ( )Integrity البيانات أفضل المصطلح؟ هذا يذكر مين

البيانات قاعدة وتطوير تحديث عمليات وتسهل .بكثير

رخيص غير الميزات لهذا المقابل الثمن !!!!ولكن

العًالقي النوع من البيانات :فقواعد

المسطح، بالنوع المعمولة تلك مثل واحد شخص قبل من إنجازها يمكن العمل فريق إلى تحتاج .هذه

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

من بكثير أكبر عًالقية بيانات قواعد وبناء تصميم في المدفوعة التكلفة أنإختزال خًالل من تعويضه يتم الثمن ولكن المسطحة، في المدفوعة تلك

البيانات لقاعدة والتطوير الصيانة .تكلفة

النوعين هذين غير العالم في البيانات لقواعد آخر نوع يوجد :ال

الصيانة Flat مسطح في مرتفعة وتكلفة التصميم في منخفضة تكلفة ذيالتخزين تكلفة رفع إلى تؤدي التي البيانات تكرار عليه ويعاب والتطوير

وغيره واإلستعًالم واإلسترجاع البحث .وبطىء

في Relational عًالقي منخفضة وتكلفة التصميم في مرتفعة تكلفة ذيعمل فريق إلى تحتاج التي التصميم صعوبة عليه ويعاب والتطوير الصيانة

المسطحة البيانات قواعد مشاكل كل يحل .ولكنه

تحياتي،،،

مرحبا،،،

بيانات قاعدة عمل تريد كنت :إذا

لها المصمم أنتلها المستخدم أنت

البيانات مدخل أنتسريعة وتقارير إحصائيات بعمل سيقوم من أنت

والتكلفة الوقت ضغط تحت انت

18

Page 19: Relational Databases

مسطح شكل على البيانات قاعدة وصمم واحد جدول في الحقول كافة ضعFlat . ينطبق هنا نتعلمه ما كل البرامج بين إطًالقا فروق يوجد ال أنه تنس ال:على

AccessFoxProDbase

ClipperMicrosoft SQL Server

OracleSybase

...إلخ

بإستخدام مسطحة بيانات قاعدة تنفيذ يمكنك أن EXCEL كذلك بشرطآآلف عدة مثل نسبيا صغير السجًالت عدد .يكون

....أما

البيانات لقاعدة مصمم بصفتك عنك يختلف البيانات مدخل كان إذاأو -- مثًال السوق في بيعها تريد آخرين قبل من ستستخدم القاعدة أن أو

اإلنترنت على بموقع ربطهاالوقت من متسع لديك أن أو

عمل فريق لديك أو

البيانات لقواعد والصحيحة العلمية األسس وفق القاعدة تصمم أن ريد أوأسلوب على بالتصميم تقوم أن قوانين Relational فيجب وبتطبيق العًالقي

CODD السيد

مستر يقول يطلبها ) CODD ماذا الفعلية القوانين يريد من هنا وسنبسطاإلنجليزية في إحترافا وتتطلب اإلنجليزية باللغة باألسف ولكنها له إلرسالها ) بترجمتها يقزموا أال سيطلبونها ممن أرغب لترجمتها البيانات قواعد وفي

عنها غنى في نحن متاهات في العربية باللغة يقرأها من يوقعوا ال .حتى

مستر قوانين سنبسط أننا أرغب CODD قلنا حيث أيضا قوانين له والتبسيطعلى للحصول بالعد يقوم أال يقرأ واحد 12ممن قانونا نبسط قد ألننا قانون

وأسهل أبسط متعددة .بقوانين

مستر قوانين في الدخول مستر CODD قبل قوانين سأطرحInternetMaster محدثكم هو هذا بالمناسبة ،!!!

يلي مما كل في العربية اللغة تستخدم :الالبيانات قاعدة إسم

الجداول أسماءالجداول داخل الحقول أسماء

اإلستعًالمات أسماء

) واآلن ) اإلنجليزية اللغة الًالتينية األحرف إستخدم سبق ما لكل التسمية عندالمتعارف --- -- سبق ما لكل إسم أي بين مسافات تضع ال بشدة معي ركز

19

Page 20: Relational Databases

األطباء جدول مثال كلمة لكل كبير حرف إستخدام هو السوق في عليهDoctorsTable هناك يوجد وال كبير كلمة كل من األول الحرف أن الحظ

.مسافات

مثل ) وغيره ومايكرو وتقارير نماذج يسمى شيء يوجد ال أنه على إتفقنا طبعا ) ترقى ال والتي جدا المحدودة لإلستخدامات تبسيطات هذه اآلكسس في ما

السوق يتطلبها التي التطبيقات وتقارير !!! إلى نماذج يوجد أنه سننسى وعليهال منك تصنع ولن والجهد للوقت مضيعة ألنها السخافات من ذلك إلى وما

البيانات لقواعد مصصما وال .مبرمجا

( ) تاريخه ) حتى فقط وإستعًالمات جداول سابقا قلناه ما حسب لدينا ما كل ) وأين( ) الثالثة؟ الطبقة يتذكر من الثالثةز الطبقة في موجودة كلها وهي طبعا

توجد؟

قوانيني مستر !! إنتهت إلى CODD لنعود

قوانينه؟ هي ما

بذاته مستقل جدول في توضع البيانات قاعدة وحدات من متماثلة وحدة كل . إال بيانات أية يحتوي ال المرضي جدول مثال الجدول هذا محتويات عن يعبر

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

إدخال عند أنه بمعنى للسجًالت، تكرار بأي يسمح ال الواحد الجدول فيمرة الطبيب هذا بيانات تكرار يمنع األطباء جدول في مثًال طبيب معلومات

.أخرى

حقًال ) يكون أن ويفضل مميز بحقل الجدول في سجل كل تمييز من بد ال . ) يسمى مثًال اآلكسس في الجدول مفتاح ويسمى فقط Primary Key واحدا

. يحتوى سجل كل أن أي سجل ألي تتكرر ال الرئيسي المفتاح حقل بياناتشئت ما سمه األساسي أو الرئيسي المفتاح في مختلفة بيانات .على

معلومة غير أو فارغة تكون أن الرئيسي المفتاح حقل لبيانات يسمح .ال

القهوة من فنجان بعد .نستكمل تحياتي،،،

20

Page 21: Relational Databases

مرحبا،،،

الضيف أن يبدو وحقيقة الضييوف، بعض إلستقبالي القهوة فنجان لطول أعتذرآخر عالم في أهيم بأني البيانات "شعر عالم " قواعد من ألذه !!!وما

السيد من نبحر زلنا العًالقية CODD ما البيانات بقواعد الخاصة قوانية :في

قاعدة تصميم نعيد بنا وتعالو رصاص قلم ونبري جديدة صفحة الدفتر في نفتح ) العالم ) لقوانين إعتبار مع طبعا الورق على خطوة خطوة CODD البيانات

وحسب مختلفة عناصر ثًالثة مستوصف بإدارة الخاص مشروعنا في لدينااألولى الوهلة ومن وعليه الخاص بجدوله ينفرد أن عنصر لكل بد ال القوانين

والثالث لألطباء والثاني للمرضى واحد مختلفة جداول ثًالثة بتصميم سنقوم.للعيادات

بشدة معي تركز أن اآلن القارىء عزيزي :أريدك

على يحتوي الثًالثة الجداول من جدول كل أن !!حقل 500تخيل

لماذا واألسس، القوانين أول نفهم حتى األهمية غاية في التخيل هذا إتفقنا؟هذا؟ نتخيل

) في ) الحقول عدد أن وهو بعد فيما اكبر بشكل سنستوعبه جدا بسيط لسبب � حاليا له قيمة ال جدول البيانات !!! أي قواعد في ألننا حاليا؟ قيمة له ليس لماذ

تماسك على ونركز األولى بالدرجة نهتم بل الجدول لوصف نهتم ال العًالقية . المصطلح يتذكر من البيانات ؟Integrity قاعدة

وبناء حاليا، وتصميمها وصفها وليس القاعدة بناء وصحة تماسك هو الهدف إذاعميقا -- -- نفسا خذ عينيك تغمض أن اآلن القارىء عزيزي منك أطلب عليه

يصف -- جدول كل أساسية جداول ثًالثة معي وتخيل بهدوء عينيك إفتح زفيرعلى يحتوي جدول وكل محددة واحدة .حقل 500جزئية

إتفقنا؟

بالكتابة الوقت لهدر داعي أي يوجد فًال الورق على بأيدينا نعمل وألننا اآلنجدول كل في فقط حقول ثًالثة .سندرج

العًالقات ) طريقة على القاعدة تصميم نكتب الصفحة منتصف (في

عمر -- -- -- -- المريض إسم حقول ثًالثة فيه المرضى جدول األول الجدولإضافية -- --- حقول بإدراج سنستمر أننا تعني إلخ ،، إلخ المريض جنس المريض

) حتى) الهدف -- 500تخيًال ليس أنه اإلنطباع لتوضيح مهم هذا التخيل حقلوعدم البيانات قاعدة تماسك على الحرص الهدف المرضىبل جدول وصف

.تساقطها

عمر -- -- -- -- الطبيب إسم حقول ثًالثة فيه األطباء جدول الثاني الجدولالمرضى -- جدول في جاء ما عليه وينطبق إلخ الطبيب جنس .الطبيب

رقم -- -- -- -- العيادة إسم حقول ثًالثة فيه العيادات جدول الثالث الجدولأعًاله -- في جاء ما عليه وينطبق إلخ الطابق رقم .الجناح

يوجد أنه تنس ( 500ال جدا ) ضخمة جداول لدينا أنه أي تخيًال جدول كل في حقلواألطباء للمرضى وشامل كامل تفصيل أي وحدة لكل التفصيل غاية وفي

.والعيادات

أكتب اليمين على الصفحة أول :في

المرضى :جدولالمريض إسمالمريض عمر

المريض جنس

21

Page 22: Relational Databases

مرحبا،،،

-- -- ) بيانات ) قاعدة الصفحة منتصف في الدفتر في بيضاء جديدة صفحة اآلنواألبناء .اآلباء

اآلن المستوصف من .دعك

. قوانين حسب عائلتك في واألبناء األباء توضح بيانات قاعدة تنشأ ان تريدCODD رئيسي مفتاح فيه جدول وكل جدولين .لدينا

نتفق ...دعنا

و آكسس أقصد فأنا بيانات قواعد برامج أقول وغيرها SQLعندما وأوراكلبتصميمها أنت تقوم التي تلك أقصد فأنا بيانات قاعدة أقول عندما

أعًاله إليها المشار البرامج من ألي .بإستخدامك

: قوانين هل التالي السؤال على يجيبني للقواعد؟ CODD من أم للبرامجأم جيد آكسس برنامج تعطينا حتى ميكروسوفت لشركة هي هل آخر بمعنى

البيانات؟ لقاعدة تصميمك عند أنت لك القوانين هذه

:� معا لإلثنين !!!!!!!!!!!الجواب

في أساسيا حقًال تضع عندما أنك بشدة معي وركز ببساطة هذا؟ يعني ماذابرنامج لك يسمح لن مختلفين لسجلين متشابهة قيمة تدخل ثم ما جدول

مستر أن ينبهك خطأ لك وسيظهر البيانات منك CODD قواعد !!!!سيزعل

لألبناء واآلخر لألباء واحد جدولين التمرين هذا في :لدينا

اآلباء :جدولرئيسي -- حقل األب رقم

األب إسماألب عمر

األبناء :جدولرئيسي -- حقل اإلبن رقم

اإلبن إسماإلبن عمر

للمرة ) رجاء الرصاص وقلم بالمسطرة جدوال إرسم جديدة صفحة في اآلن ) البيانات وأدخل اآلباء جدول وسمه سويا، نفهم حتى الورق على المليون

األب عمر األب إسم األب رقم مرتبة وهي التالية

أحمد 452 سعيد 32خالداألحمدي 567 حسين 63سميرالقادر 901 عبد أحمد 36محمد

التالية األسئلة عن :أجب

التالية بالبيانات اآلباء جدول في جديد سجل إضافة عند يحدث :ماذا

22

Page 23: Relational Databases

األحمدي 871 حسين يحدث؟ --- 63سمير ماذاالدوسري 901 مطلق يحدث؟ -- 51سامي ماذا

أخرى مرة القراءة إعادة مرحلة يبدأ أن عليه أقترح اإلجابة يعرف لم منأعلى بتركيز

وتعالى تبارك الحق بإذن بعد فيما .نجيب

تحياتي،،،

مرحبا،،،

التالية بالبيانات اآلباء جدول في جديد سجل إضافة عند يحدث :ماذااألحمدي 871 حسين ال --- 63سمير جديد سجل شيئا يحدث لن يحدث؟ ماذا

-- ) ال ) حاليا مهم غير لكنه أيضا خطأ وهو اإلسم تشابه وإن حتى عليه غبارالبيانات قاعدة تماسك وهو الهدف .تنس

الدوسري 901 مطلق قوانين -- 51سامي أحد يخالف هذا يحدث؟ ماذاالسيد العًالقية البيانات قواعد بل CODD مخترع منع على ينص والذي

. لماذا البديهي السؤال واحد سجل من ألكثر األساسي المفتاح تكرار إستحالةتكرار من نستطيع 901يمنع ال لماذا أخرى، بعبارة أو مختلفين؟ سجلين في

-- . مًالحظة أخرى مرة التركيز في نبدأ واآلن األساسي؟ المفتاح بيانات تكرار ) مثل ) بإضافة للك يسمح هذا في أشك وانا بيانات قاعدة برنامج وجدت إذا

األب رقم بتكرار لك يسمح أو السجل إلى 901هذا يمت ال البرنامج فهذاصمم قديما برنامجا استخدمت إذا لكن صلة، بأي البيانات قواعد برامج عائلة

هذا 1970قبل قبل البيانات قواعد برامج كل ألن لك سيسمح فقطعا ميًالديةكانت .Flat التاريخ

فقط كتبوا والذين والبريات األقًالم ذووي معي !!!يستكمل

أن األساسية CODD صحيح الوحدات فصل خًالل من البيانات قاعدة لنا نظمتذكرون القاعدة، لتصميم جمة مشاكل لنا خلق ولكنه مختلفة جداول في

المسطحة تلك من وأعقد أصعب العًالقية البيانات قواعد تصميم أن � طبعاFlat.

واألبناء؟ اآلباء بيانات قاعدة من الهدف هو مافمثًال نختاره، أب لكل األبناء سرد فيه يتم أساسي تقرير على الحصول هوبسرد القاعدة تقوم البيانات قاعدة من الدوسري مطلق سامي إختيار عند

بابا ) لسامي يقولون اللذين األبناء (.كل

موجودون األبناء كافة أن حيث اآلن؟ مشكلة هناك يوجد أنه معي يشعر منقواعد .... --- كلمة جاءت هنا من ممممممممممم مختلف جدول البيانات في

قوانين من قانون وهذا الجداول بين ما عًالقة يوجد أن اي .CODD العًالقية،

ال مختلف جدول من بيانات بإستخدام آخر جدول من بيانات أية على للحصولما عًالقة طريق عن البيانات لهذه الوصول من .بد

إنشاء األمر يتطلب ما ألب التابعين األبناء على للحصول يعني؟ ما كبير، كًالم ) الجدولين) بين .عًالقة

23

Page 24: Relational Databases

التالية الحقول اآلباء جدول :فيرئيسي -- حقل األب رقم

األب إسماألب عمر

التالية الحقول يوجد جدوالألبناء :وفيرئيسي -- حقل اإلبن رقم

اإلبن إسماإلبن عمر

األبناء جدول في يوجد أنه الثالث 8لنفترض السجل أن نعرف كيف سجًالت،اآلباء؟؟ سجل في الموجود أحمد سعيد خالد أبناء أحد هو

مستر ونسأل يرد CODD نعود القهوة من فناجين وبضعة عميق تفكير بعد ، ركززززززززززززززززززززززززززززز ------ --- لنا ويقول العالم هذا علينا

) ؟؟؟ ) الغريب الحقل إستخدم

الدفتر ولنستغل جيدا فلنركز بعد، فيما الغريب الحقل هو ما عن سأسألكمتماسك -- الهدف أن تنسوا ال والتركيز للكتابة الرصاص وأقًالم أمامنا الذي

من مبكرة مرحلة في نحن واإلستعًالمات، الحقول وليس البيانات قاعدة.التصميم

ممممممممم

الغريب Foreign Field الحقلماهو؟

هو الغريب :الحقلالجدول؟ -- هذا عن غريب ألنه صلة بأية فيه ينشأ الذي للجدول يمت ال حقل

فيه ينشأ الذي الجدول في رئيسيا مفتاحا يكون أن يمكن الآخر جدول في يشابهه ما يوجد أن يجب

األساسي الحقل من بالظبط مقلدة ونسخة ومطابقا مشابها يكون أن يجباآلخر الجدول في

.... فنجان ومع وبهداوة وبروية أكثر الجمل هذه نبسط تعالوا صداع وااااوالقراءة وليس وبالكتابة !!قهوة

األبناء؟ جدول في أم اآلباء جدول في هي هل المشكلة أينلماذا؟ األبناء جدول في أنها المنطقي اإلستنتاج

بينات على يحتوي آلنه لماذا؟ مستقر غير جدوال يسمى األبناء جدول ألنقليًال لنفكر هذا؟ يعني ماذا منتمية، وغير .متماسكة

األبناء جدول متماسك 8في أنه نرى الجدول هذا إلى نظرنا إذا سجًالت،هذا وأب هذا أب من على يدلنا ال انه في مشكلته تكمن ولكن .ومتناغم

في يكون أن يجب الغريب الحقل إذا األبناء جدول في المشكلة أن طالمااألبناء؟ جدول

24

Page 25: Relational Databases

في ) يكون أن يجب الغريب الحقل أن معنا هذا يستنج أن يستطع لم من .. ) قليل بعد الجزئية هذه شرح سنعيد ماشي، تغضب ال له فأقول األبناء جدول

مختلفة زاوية من أخرى .مرة

يكون... أال ويجب األبناء، جدول في ينشأ أن يجب الغريب الحقل لنستكمل . رقم إذا الغريب الحقل لشخصية األهمية غاية في نقطة هذه ،� رئيسيا مفتاحا

في الغريب الحقل عن البحث في وقتك تضيع ال القول وحقيقة يصلح، ال اإلبنفي فعًال الموجودة الحقول أحد من هو الحقل هذا كان لو ألنه األبناء جدول

لجدول يمت ال أي غريب حقل عن نبحث ونحن غريبا،، صار لما األبناء جدولصلة بأي .األبناء

الغريب؟ الحقل بهذا نأتي أين دائما من موجود الغريب الحقل أن هو الجوابالعًالقة معه تنشأ أن تريد الذي الجدول في .وأبدا

نحن واحد، أب إلى ينتمون الذين األبناء تحديد كيفية وهي مشكلتنا إلى لنعد . نستلفه أن يساعدنا حقًال األباء جدول من نريد إذا واألخوات األخوة عن نبحثإتمام على ويساعدنا األبناء جدول في غريبا ليصير األبناء جدول في ونضعه

العًالقة .إنشاء

اآلباء جدول من األب رقم هو الحقل .هذا

جدول في مطابقة كنسخة ووضعه اآلباء جدول من األب رقم إستًالف عنداألبناء جدول في وغريبا اآلباء جدول في أساسيا الحقل هذا يصبح .األبناء،

الغريب الحقل حول ويلف يدور التماسك موضوع .نصف

يلي كما األبناء جدول :أصبحرئيسي -- حقل اإلبن رقم

اإلبن إسماإلبن عمراألب رقم

مستر شروط إلى ونسخة CODD لنعد مطايقا يكون أن يجب الغريب الحقلفي األب رقم كان لو أي األساسي، الجدول في الموجودة لتلك مشابهة

عن عبارة اآلباء في 6جدول كذلك يكون أن فيجب أرقام هيئة وعلى خاناتاألبناء .جدول

بإضافة قمت لو أنك شديد وبتركيز اآلن انك 8الحظ األبناء جدول في سجًالتفيه تضع أن عليك ويتوجب األبناء جدول في موجودا غريبا حقًال ستواجه

فارغا يكون أن يمكن ال حيث .بيانات

...لنركز

الووووو --- المجيبون؟ أين الرئيسي؟ المفتاح تعريف هو ماسابقا، هذا قلنا صح؟ قيمة بدون يكون اآل هو الرئيسي المفتاح شروط أحد

. إتفقنا لألب رقم بدون سجل أي يوجد ال اآلباء جدول في أنه .أي

للسيد :CODD قانونلماذا؟ لي يقول من ،� فارغا يكون أن الغريب للحقل يمكن ال

25

Page 26: Relational Databases

لماذا؟ لي يقول من رئيسيا، مفتاحا يكون أن الغريب للحقل يمكن الالجدول في أصًال موجودة بيانات تطابق أن يجب الغريب الحقل محتويات

. لماذا؟ منه اإلستعارة تم الذي

معي؟؟؟ الصاحيين السابقة !!! وين الثًالثة األسئلة على لألجوبة :هيا

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

ما قيمة إدخال من .البد

) رئيسيا؟؟؟ ) مفتاحا األبناء جدول في األب رقم الغريب الحقل يكون ال لماذاعدم هو الرئيسي المفتاح خصائص من ألن شباب، سهلة هذي عاد هيا

) نستطيع ) فلن رئيسيا األبناءمفتاحا جدول في األب رقم جعلنا فإذا التكرار،الرقم من 901تكرار أكثر القادر عبد أحمد لمحمد نجعل أن نستطيع لن وبهذا

واضحة؟ واحد، إبن

عليه اإلجابة تستطيع ان بد ال سخيف؟ الثالث الحقل !!! السؤال طول تغييرالمشاكل مئات سيخلق منه أستعير الذي الجدول في هو عما .الغريب

==============

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

وسمها جديدة بيانات قاعدة بإنشاء وقم اآلكسس ساببقا Family إفتح إتفقنااإلنجليزية باللغة التسميات كل .أن

إسمه جدول بأنشاء التالية Fathers قم الحقول :وبهFatherNum-- Text - 4 -- وبطول نص نوع من رئيسي خانات 4مفتاح

FatherName-TextFatherAge--Number

الحقل بالضغط Primary Key وإجعله FatherNum نشط رئيسيا مفتاحا أيوأغلقه الجدول إحفظ األدوات، بشريط المفتاح .على

إسمه جدول بأنشاء التالية Sons قم الحقول :وبهSonNum-- Number -- رئيسي مفتاح

SonName-TextSonAge--Numbe

FatherNum -- Number -- الغريب الحقل هو هذا

الحقل على Primary Key وإجعله SonNum نشط بالضغط رئيسيا مفتاحا أيوأغلقه الجدول إحفظ األدوات، بشريط .المفتاح

السابقيين؟؟؟ الجدولين تصميم في الفادح الخطأ هو ما لي يقول !!منالجواب؟؟؟ قراءة قبل فكر

الغريب الحقل هو نوعه FatherNum الجواب األبناء جدول بينما Number في

26

Page 27: Relational Databases

هو منه أستعير الذي الجدول لألسس 4بطول Text في مخالف وهذا خانات.والقوانين

شكل على ليصبح األبناء جدول في الغريب الحقل بتعديل وقم أخرى مرة عدText خانات 4وبطول.

األول السجل في التالية البيانات وادخل األباء جدول إفتح :اآلن : ماذا الثاني، للسجل إنتقل ثم الله عبد أحمد محمد فقط اإلسم أدخل

مين ظهرت؟ ولماذا الرسالة هذه هي ما خطأ، رسالة ظهرت نعم حدث؟؟يجيب؟؟؟

: قيمة يكون أن الرئيسي للمفتاح يمكن ال الرئيسي المفتاح قوانين أحد هذافيه ما قيمة وضع من البد .فارغة،

التالية البيانات بإضافة وقم األول السجل :إسمحأحمد 3000 سعيد 42محمدالصيعري 4000 الله عبد 61خالدالمالكي 5000 محمد 32سعيدالمسبحي 6000 العزيز عبد 29طًاللالله 7000 الجار خالد 46سمير

الجدول .أحفظ

التالي السجل وأدخل آلبناء جدول :إفتح� -- 9خالد 9400 فارغا الغريب الحقل إترك

ولكن شيء، يحدث لم واااووووووووو يجيييييييييييييييييب؟؟؟ مين حدث؟ ماذاالسيد قواعد ينافي شروط CODD هذا هناك ان يقول :حيث

فارغا يكون أن الغريب للحقل يمكن الأستعير الذي الجدول في موجودة قيمة على الغريب الحقل يحتوي أن يجب

منه

لماذا؟؟ خطأ، يظهر لم ولكن

الجدولين: بين العًالقة بإنشاء تاريخه حتى نقم لم ألننا .الجواب

وتعالى تبارك الحق بإذن دقائق بضعة بعد هذا .نفعل

تحياتي،،،

مرحبا،،،

الحلقة في إليه ونعود � قليًال برمته الموضوع عن سأخرج الحلقة هذه فيالله بإذن .التالية

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

بعد يتحقق لم وهذا الموضوع هذا يقرأون ممن اآلالف أجد أن توقعت وقدبل اآلالف إلى الرقم هذا أرفع في مني ورغبة القراء، عدد إلى بالنظر

27

Page 28: Relational Databases

قررت فقد أكثر صادقة دعوات على للحصول هذا أمكن إن اآلالف عشراتقيمة جائزة لها لكم مسابقة اجعل أن وتعالى تبارك الحق على اإلتكال بعد

إعجابكم تنال أن .آمل

حتى يداهمني الوقت ن هذه 20أو 15وحيث نهي أن سأحاول رمضانمحتوياتها أو بقيمتها اإلخًالل دون ممكن وقت بأسرع .الحلقات

في المساعدة الموقع هذا على القائمين من وأتمنى المسابقة؟ ماهيلها المناسبة الشروط ووضع .تنظيمها

ما أحاول أنني وحيث مدرسة إلدارة بيانات قاعدة تصميم هي المسابقةسيقتصر فالمشروع البيانات لقواعد الصحيحة المفاهيم أعمق أن أستطعتهي اإلستعًالمات ستكون حيث فقط، اإلستعًالمات وعلى الجداول على

هذا في المشاركات لألخوات الفرصة وإلتاحة األسئلة، عشرات على اإلجابةواحدة جائزتين هناك يكون أن الله على اإلتكال بعد قررت فقد الموقع

مشاركة من تصميم ألفضل واألخرى الموقع، في مشارك من تصميم ألفضل . متشابهتين الجائزتين وطبعا الموقع .في

لمشاركة وأخرى لمشارك واحدة هي :الجائزةقبلهم ) محجوزا يكون وال اختيارهم حسب والفائزة الفائز بإسم نطاق (حجز

في بشركتي الخاص الرئيسي الخادم على والموقع النطاق إستضافةسنتين لمدة المتحدة الواليات

للموقع تخزينية بايت 350سعة ميجاالبيانات قواعد من محدود غير ضمن Access عدد من تخزينية 350بطاقة

بايت ميجاالبيانات قواعد من محدود غير ضمن MySQL عدد من تخزينية 350بطاقة

بايت ميجابطاقة تخزينية بيانات 50سعة قواعد لخادم بايت Microsoft SQL 2000 ميجا

وال باآلكسس ربطه بكيفية المساعدة مع الموقع إنشاء في SQL المساعدةوالفائزة الفائز يختارها أخرى مواضيع ألية طبعا المنتدى لهذا مشابه منتدي

اإللكتروني البريد صناديق من محدود غير عددبالخادم واألخرى بالمنتدى واحدة للتحكم قائمتين

والعادات ) والتقاليد بالدين إخًالل بدون الموقع تصميم في المساعدةوالقوانين (واألعراف

تطبيقات كل يتقبل انه أي جدا المتقدم النوع من ,CGI, FrontPage الخادمVisual Interdev, Visual .Net ذلك الى .وما

الخادم على األخرى الخدمات من الكثير

سبق ما تصميم ( مجــــــــــــــــــــــــــــــــــــــــــــــانا )كل ألفضل . . إنقضاء بعد فقط سنتين لمدة ولكن إمرأة من تصميم وأفضل رجل من

اإلكمال الجائزة صاحب إرتأى إذا إال شيء كل ويلغى الموقع يقفل السنتين. 275بسعر إلى قيمتها تصل عينية جائزة كل فإن بإختصار شهريا ×275ريال

اي 24 بقيمة 6600شهر الجائزتين أن أي سعودي سعودي 13200ريال .ريال

في منازلهم من المشاركة لهم سأتيح والفائزة الفائز أن بل فقط، هذا ليسبل السعودية، العربية المملكة في البيانات قواعد مشاريع أضخم من واحد

المدفوعة التكاليف على معهم ونتفق لدينا مشاريع أية في المشاركة يمكنهمعملهم مقابل .لهم

28

Page 29: Relational Databases

والجنسية العرق عن النظر بغض فقط للعرب للمسلمين مفتوحة المسابقةيفتقر ) لشخص أكثر دعوات على للحصول العدد تكثير هو الهدف والجنس

ورضوانه ومغفرته الله رحمة (.إلى

أو باآلكسس إما القاعدة تصميم SQL 2000 يمكن

البيانات قواعد بمحترفي باإلتصال الهواة يبدأ أن وخشية الحق وإلحقاق اآلنفأقول عنهم نيابة بتصميمها :ليقوموا

البيانات قواعد تتعلم أن هو الهدف ؟؟؟ بالجائزة الفوز هو الهدف ليسلي تدعو .وباالمقابل

هو عنك نيابة أو بإسمك محترف قبل من البيانات قاعدة تصميم تصميم إنالله يتقيا أن وعليها وعليه وبحقهن بحقهم وإجحاف لآلخرين .ظلم

هو وهذا والفهم والسؤال اللقراءة لآلخرين الفرصة المحترفون يتيح أنتصميم من أعرف أن الله بمشيئة القدرة ولدي الجائزتين، من الهدف

المبيدئين أو المحترفين من هو بتصميمها قام من أن .القاعدة

توجهيه سيتم سبق ما إلى مثًال 30إضافة الماسنجر بإستخدام شفويا سؤاالللموضوع فهمهم من للتأكد .للمشاركين

ذي نهاية في الجوائز وتعلن شوال نهاية هو المشاركات إلستقبال موعد آخرالمشاركات عدد حسب قبله أو .الحجة

أحد يشترك لم إذا إال تنحى لن الجائزة فإن المصداقية لو !!! لتعميق انه أيأو تصميمه عن النظر بغض سيفوز القاعدة بتقديم فقط واحد شخص قام

!!!تصميمها

لو أي المشارك، قبل من مرسل تصميم أول أخذ سيتم أنه مًالحظة الرجاءال ضخم عدد لدينا يكون ال حتى له يلتفت فلن اآلرسال وإعادة بالتعديل قامفي المشاركات إرسال آمل وعليه وتقيمها، المشاركات مراجعة معه نستطيع

للتعديل 29 أحد يضطر ال حتى القرى أم تقويم حسب .شوال

إلى ترسل المسابقة في المشاركات توضع [email protected] كافة والهنا والفائزة الفائز إسمي بإدراج الله بمشيئة وسأقوم .هنا

ألية تنبيهي الموقع هذا على القائمين وكذلك معنا المتابعين األخوة من آملالمشاركة من المحترفين منع كيفية وبالذات المسابقة لهذه أخرى شروط

المبتدئين منع وكذلك التائهين، لآلخرين الفرصة لترك عليهم والضغطالقاعدة لهم ليصممو محترفين إستخدام من .والتائهين

الله بمشيئة القادمة الحلقة في والتصميم المسابقة .أسئلة

والخلية -- الذرة خالق يا سبحانك علمتنا ما إال ال علم ال .اللهم

القصد وراء من .والله

تحياتي،،،

29

Page 30: Relational Databases

مرحبا،،،

مرور مع العملية ألن جدا يحبذ ولن معروفة األسماء تكون أن يشترط البيانات قاعدة بتصميم قمنا وأنت أنني مثال خذ التعقيد في تتفاقم الوقت

فيها الجداول .وهكذا,... A,B,C وأسماء

فيها البيانات قاعدة تصبح عندما يحدث جدول؟ 150ماذاأسمه واحد الجداول بين نفرق فيها T09 واآلخر A30 كيف U9 و G8 والحقول

جدا كبير بشكل ستتعقد .العملية

اإلنجليزية؟ اللغة في عوائق لديه لمن الحل هو ما

من هو :خطوات 3الحلقرر -- -- اللغة بعض لتعلم جيدة فرصة هذه للجميع عامة نصيحة وهي األولى

بشكل ولو اإلنجليزية اللغة من كلمات تعلم في البدء نفسك وبين بينكولكننا... بكثير تتخيل مما وأبسط جدا جدا جدا تافهة لغة هي صدقني مبسط

وصدقناه ألنفسنا وهما خلقنا .لألسف

- في: تبعث بحيث العكس وليس إنجليزي عربي قاموس على إحصل الثانيةاإلنجليزية باللغة المعاني على للحصول العربية الحروف بإستخدام .القاموس

إستخدم: قائمة Microsoft Word الثالثة تحت األوفيس مع يأتي الذي الووردالعربية اللغة من الترجمة إختيار يمكنك الترجمة، ثم اللغة إختر األدوات

) ترجمتها ) على ستحصل مثًال أب كلمة إكتب هذا بعد ، ،Father لإلنجليزيةالكلمة وأكتب الدفتر في جديدة صفحة عن 15أو 10إفتح وأحفظها مرة

قلب .ظهر

مع يوميا هذا فعلت ما 10إذا لديك سيكون الشهر نهاية في فقط، كلمات........... 300يقارب ولإلستخدامات اإلنجليزية اللغة في صدقني إنجليزية كلمة

من ألكثر تحتاج لن جدا في -- 1500المتعددة أنه أي جدا ضحلة لغة كلمةالتي اإلنجليزية الكلمات من ضخمة مجموعة لديك سيكون شهور بضعة

على قادرا بعدها ستكون صدقني بل والتصميم البرمجة إحتياجات لكل تكفيكاإلنجليزية باللغة الصفحات من الكثير .قراءة

تحياتي،،،

مرحبا،،

بتأجيل اقوم أن وجدت المسابقة، أسئلة في العمل على ونصف ساعتين بعد . غدا المسابقة أسئلة ستكون فعليه الوقت من مزيدا ألخذ الغد إلى األسئلة

وتعالى تبارك الحق .بمشئية

البيانات قواعد ملذات بعض نكتشف سويا وتعالو واألبناء، اآلباء إلى .نعود

أوأل .نلخص

يسمى مميز حقل وفيها بذاتها مستقلة وحدة البيانات قاعدة في جدول كلواألبناء األباء الجدولين في هذا فعلنا وقد الرئيسي أو األساسي المفتاح

30

Page 31: Relational Databases

لمفتاحين كحقلين اإلبن رقم وحقل األب رقم حقل من كًال وخصصنا.أساسيين

: األساسي؟ المفتح هو ما المليون للمرةمن ألكثر فيه البيانات تكرار ويمنع البيانات قاعدة في سجل كل يميز حقل هو

فارغا يكون أن يسمح وال واحد .سجل

حقل في قيمة إدخال بدون األبناء أو األباء جدول في سجل إضافة حاولت إذااإلكمال -- من البرنامج وسيمنعك خطأ على ستحصل الرئيسي المفتاح

. الدنيا في البيانات قواعد كل في بل فقط اآلكسس في ليس هذا أن تذكرواعام .طبعا 1970بعد

. الغريب؟ الحقل هو ما الغريب الحقل عن تحدثا ثميكون أن يمكن وال آخر جدول في ويوضع ما جدول من إستعارته يتم حقل هو

منه تم الذي الجدول في موجودة لقيمة مشابه يكون ان ويجب فارغاقليل. بعد أكثر بتفصيل سنشرح .اإلستعارة

من الغريب الحقل أخذنا لماذا وهي سابقا شرحناها التي الجزئية إلى نعودماذا لي يقول من العكس؟ وليس األبناء جدول في ووضعناه اآلباء جدول

) كسلفة ) ووضعناه األبناء جدول من اإلبن رقم أخذنا أي عكسنا لو يحدثنعكس؟ أن في المشكلة ماهي يجيب؟ من اآلباء؟ جدول في غريب وكحقل

يكون --- -- -- أن يمكن هل معي فكر ركز األساسية للمشكلة نعود لإلجابةأبن . ألي يوجد ال أنه هو إستنتاج أول إذا ال اإلجابة واحد؟ أب من أكثر إلبنأبناء لديه يكون ال أو إبن من أكثر لألب يكون أن ويمكن واحد، أب من أكثر

اإلطًالق .على

السؤال بعد، فيما أخرى مرة إليه وأعود لكم السؤال هذا إجابة سأترك اآلنويوضع األبناء جدول من مستعارا هو الغريب الحقل يكون ال لماذا أخرى مرة

اآلن حتى فعلنا ما عكس أي اآلباء؟ جدول .في

إسمه األبناء جدول في غريب حقل يوجد أنه إستعارته FatherNum وصلنا تمال الغريب الحقل أن هو البيانات قواعد شروط أحد أن وقلنا اآلباء، جدول من

السجل بإضافة قمنا عندما ذلك ومع فارغا يكون أن :يمكن

� -- 9خالد 9400 فارغا الغريب الحقل إترك

ال اآلن حتى البيانات قاعدة ألن لماذا؟ مشاكل أية يحدث لم األبناء جدول إلىهذه ننشىء كيف البديهي، السؤال الجدولين، بين عًالقة هناك أن تعرف

.العًالقة

األبناء؟ جدول من السجًالت كافة إحذف تستمر أن من !! قبل األذكياء؟ أينلماذا؟ يقول

-- - -- : بدون فارغة كلها الجداول أن دائما تأكد إحفظ إكتب ركز عامة قاعدةالعًالقات بإنشاء تقوم أن قبل .سجًالت

السابقة القاعدة يعارض هذا كان وإن حتى اآلباء جدول بيانات تمسح !!اللماذا؟ بعد فيما سنقول

31

Page 32: Relational Databases

وجدول مختلفين، ألباء سجًالت خمس وفيه اآلباء جدول جدولين اآلن لدينابيانات أية فيه يوجد وال .األبناء

قائمة من ثم الجدولين إختر( )Tools أقفل (.عًالقات )Relationships أدوات

الجدولين أسمي فيها وقائمة الخلفية في صفحة لك :سيظهرإضافة زر واضغط األول الجدول Add نشطإضافة زر واضغط الثاني الجدول Add نشط

اقفال أو اغًالق زر Close إضغط

الصفحة ...كبر

.. التي الحقول على يحتوي صندوق وكل صندوقين في جدولين ترى ماذابإنشائها .قمت

حقل على إسحب FatherNum إضغط ثم بالضغط وإستمر اآلباء جدول فيإلى تصل ... FatherNum حتى لك ستظهر الماوس إترك ثم األبناء جدول في

جميلة .صفحة

وتقرأ دقائق لعدة الصفحة هذه إلى بالنظر تستمر أن القارىء عزيزي أريدكوروية بهدوء فيها كلمة .كل

قليل بعد إليك .سأعود

تحياتي،،،

مرحبا،،،

يتيم -------- --- صح أباه فقد الذي األبن تسمي !!!ماذا

السيد إلى قاعدة CODD نعود ألي تصميمك عند الشهيره، قوانينه أحد فيوالتماسك التكامل إنهار واال الثمن كان مهما أيتام يوجد ال أنه تأكد بيانات

Integrity البيانات بقاعدة .الخاصمسهب بشرح النقطة لهذه .سنعود

) على ) نافذة وأهم أخطر تكون وتكاد العًالقات تحرير إسمها نافذة أمامكفقط --- اآلكسس وليس البرامج كل البيانات قواعد برامج في .اإلطًالق

النافذة؟ هذه في نرى ماذا

فيها واحدة تغيرهما تستطيع ال مظللتين اآلباء Fathers قائمتين جدول أيترى --- Sons واألخرى عليها ضغت إذا قائمة مباشرة تحتهما األبناء جدول أي

جدول كل حقول لكافة .سرد

األول اإلختيار مربع في الموجودة الجملة اكتب يديك بين الذي الدفتر في ) هي ) تكامل كلمة أن وتذكر المرجعي التكامل فرض وهي منشطة غير وهي

سابقا شرحناه ما وهي Integrity تماسك

موافق أو إنشاء زر على أضغط ثم للمربع تنشيط دون الجملة اكتب .فقط

32

Page 33: Relational Databases

هناك --- --- أن يعني الخط هذا الجدولين بين خط رسم تم حدث الذي ماالجدولين بين ما .عًالقة

الحفظ منك طلب اذا بنعم وأجب العًالقات صفحة .أقفل

التالية البيانات وادخل األبناء جدول :افتح

ماذا --- -- 12خالد 9500 جديد لسجل وانتقل فارغا الغريب الحقل إتركحدث؟

شيء يحدث لماذا؟؟ !!!!!!!!!! --- لم

التالي السجل أدخل :اآلنادخل -- 10سعيد 7500 الغريب الحقل الثالث 1500وفي للسجل انتقل ثم

لماااااااااااااااااااااااذا؟؟؟؟ خطأ؟؟؟؟؟ ظهر حدث؟ ماذا

باإلضافة البرنامج لك سمح فارغا الغريب الحقل ترك عند األولى الحالة فيقواعد -- برامج بعض تسمح البيانات قواعد قوانين مع يتنافى هذا ولكن

بالقيمة معرفتك عدم امكانية إلفتراض فارغا الغريب الحقل بترك البياناتتماسك --- في خطير خلل هذا فضلك من لحظة ولكن إدخالها المطلوب

ينشأ وبهذا أبدا أباه يعرف لن اإلبن هذا ألن لماذ؟ البيانات، قاعدة وتكاملممنوع وهذا يتيم سجل .لديك

قيمة أدخلنا ألننا لماذا؟ خطأ حدث الثانية المحاولة الحقل 1500في فيفي ممنوع وهذا اآلباء جدول في أب ألي موجودة غير القيمة وهذه الغريب

أن يجب الغريب الحقل في القيمة أن قلنا عندما تذكر هل الغريبة، الحقولمنه؟ اإلستعارة تم الذي الجدول في موجودة قيمة !!تكون

هي اآلباء جدول في اآلباء إذا 7000 6000 5000 4000 3000ارقام فقط،القيمة تقبل فلن السابقة الخمس القيم غير قيمة أي األبناء جدول في أدخلت

.... إدخال--- يتم ولن تستطيع لن بالمحاولة إستمر تريدها أرقام أية جربهذه أنه جدا بسيط لسبب لماذا؟ المذكورة، الخمس من بقيمة إال السجل

خالد أب معرفة أردت فإذا اآلباء، على البرنامج بها يتعرف التي الطريقة هيبهذا تبحث وهناك اآلباء جدول إلى وتذهب الغريب الحقل من الرقم تأخذ

األب على للحصول صاحبه عن .الرقم

االبناء كافة عن نبحث اب اي ابناء هم من نعرف أن اردنا اذا صحيح والعكسالغريب الحقل في االب رقم يحملون .الذين

تحياتي،،،

مرحبا،،،

أفكارنا --- -- ونرتب نصحح تعالوا الخطأ، يظهر لن صح األخوة قاله ما صح...سويا

تركناها التي األسئلة على نجيب أيضا بنا ...وتعالو

33

Page 34: Relational Databases

األبناء جدول في الموجودة السجًالت كافة بحذف القارىء عزيزي قمأدوات بإختيار عًالقات ( Tools )قم ثم على ( Relationships )ومن إضغط ثم

زر اضغط ثم الجدولين بين الواصل ثم Delete الخط المفاتيح لوحة علىاإللغاء على .وافق

بعد -- أخرى مرة بإنشائها سنقوم الجدولين بين العًالقة بحذف قمت لقد.قليل

من ... األساسي المفتاح بإستعارة قمنا لماذا األهمية غاية في سؤاال تركناالعكس؟ نفعل لم لماذا غريب؟ كحقل األبناء جدول في ووضعناه اآلباء جدول

والمهم المهم السؤال هذا على لإلجابة يحدث ماذا ونرى العكس نفعل تعالوفقط واحد أب لإلبن بينما أطفال، ال أو اكثر أو إبن لألب أن تنسوا ال .جدا،

الغريب الحقل بحذف حقل FatherNum قم بإضافة قم األبناء، جدول منوهو اآلباء جدول في الحقل SonNum غريب أن كًال SonNum تأكد في

نص هو .خانات 3بطول Text الجدولين

األب لهذا طفلين نضيف معي وتعال اآلباء جدول :افتحالحربي 9000 مبارك 42أحمد

الطفلين --- معلومات أن لنفترض اإلبن رقم هو اآلن الغريب الحقل أن الحظهي

7سعيد 8889طارق 777

الرقم الغريب الحقل في سنضع أنه إلى 888بمعنى األول الطفل إلضافة -- بوضع قم هذا في مشكلة وال أحمد اول 888األب بيانات إدخال إلستكمال

ألحمد طفل

الثاني اإلبن إضافة صح؟ -- !!!!!!!!! نريد المشاكل بدأت وووووووووووووووحساب وال لها عد ال بالكيلو :مشاكل

قوانين كل نسف اآلن CODD أولها انت العًالقية، البيانات قواعد أسس وكلقوانين أحد ألن ممنوع وهذا بيانات تكرار إلى إخال CODD مضطر عدم هوفقط هذا ليس واحدة، مرة من أكثر البيانات نفس

لماذا؟ يجيب من اإلطًالق على هذا عمل تستطيع لن بلقواعد --- مع يتنافى وهذا متكرر أب برقم سجل إدخال إلى مضطر ألنك صح

الرقم ذو اإلبن فإن وعليه الرئيسي لن 777المفتاح وبهذا إطًالقا يضاف لنمنطقي غير وهذا أب لكل واحد إبن من أكثر نضيف أن .نستطيع

طبعا وهذا رئيسا مفتاحا تجعله وال األب رقم حقل غير يقول من يأتي قدقواعد مع يتنافى ألنه في CODD مصيبة أساسي مفتاح وجود تشترط التي

جدول .كل

السجل ابنه 9000إترك مع اآلباء جدول ادخال 888في بالضغط 777وألغيالمفاتيح ESC على لوحة .في

....إذا

34

Page 35: Relational Databases

خطأ األبناء جدول من الحقل ...إستعارة

الحقل بحذف في SonNum قم غريب حقل بإضافة قم اآلباء، جدول مناألبناء نص FatherNum جدول انه .خانات 4بطول Text وتأكد

أدوات عًالقات Tools اضغط الحقل Relationships ثم أسحب ثمFatherNum على وألقه اآلباء جدول لنعود FatherNum من األبناء جدول في

العًالقات تحرير نافذة .إلى

وهذا ) بالعربي آكسس لديهم الدروس هذه في معي من معظم أن واضح ) بعد فيما إليها ونعود اآلن سأتجاوزها ولكني أخرى !!!!مصيبة

هما الموجودين الحقلين أن يكونا FatherNum تأكد لم إن الجدولين، كًال منالعًالقات ) تحرير النافذة هذه في نتأمل تعالو بإختيارهما،، (فقم

الربط --- نوع الزر يهمنا أزار أربعة الزر Join Type يوجد هذا على إضغطسويا ونفهم نقرأ ...وتعال

القيمة تشابه عند أنه يعني سأجتهد لكني بالعربية لدي وليس األول اإلختيار. FatherNum في لديهم الذين اآلباء أظهر بمعنى القيمة اظهر الجدولين في

فقط أبناء

: في موجودة تكن لم وإن حتى األول الجدول من القيمة أظهر الثاني اإلختيار ... أبناء لديهم الذين اآلباء أظهر بمعنى تشابه ما أيضا وأظهر الثاني الجدول

أبناء لديهم ليس الذين اآلباء وكذلك

: آباء بدون األبناء وكذلك أبناء لديهم الذين اآلباء أظهر الثالث اإلختيار

صح؟ --- CODD مستر زحمة لنا عمل

بيانات قاعدة إنشاء ليس هو الهدف الهدف، تفقد نصنع !!! ال كيف هو الهدفومتكاملة متماسكة بيانات .قاعدة

العًالقات نافذة من وأخرج وخزن األول اإلختيار .إختر

التالية السجًالت أضف األبناء جدول :في3000 7خالد 1003000 4محمد 1104000 9سعيد 1204000 12طارق 1305000 5أحمد 1405000 17سمير 1505000 1فهد 1609000 3مشاري 170البيانات -- -- 9صالح 180 قواعد بلغة يتيم هذا فارغا الغريب الحقل إتركفارغا -- 11ناصر 190 الغريب الحقل إترك

العًالقات قوانين أهم من واحدة لتوضيح األمام إلى دروس عذة نقفز بنا تعالو

35

Page 36: Relational Databases

أخرى مرة لمكاننا ونعود البيانات قواعد في

اإلستعًالمات إلى وإنتقل الجدول Queries اقفلاآلكسس --- في المعالجات كل المعالج إستخدام بدون جديد إستعًالم أنشأ

للمحترفين وليس والمقلدين !!!للمراهقين

النافذة أغلق ثم إضافة وإضغط حدة على جدول كل .نشط

الجدولين بين موجودة زالت ما العًالقة أن الحظ

بالترتيب التالية الحقول على مزدوجا نقرا انقر

اآلباء جدول Fathers منFatherNum

FatherName

األبناء جدول Sons منSonNum

SonNameFatherNum

لك --- ستظر الجدولين بين المرسوم الخط على مزدوجا نقرا إنقر ركز اآلنالرابط ) خصائص عنوانها (نافذة

العًالقات --- نافذة في رأيناها التي نفسها هي نعم الثًالثة اإلختيارات ترى .هل

تتعذب أن وقتك وجاء يدي بين الذي القهوة بفنجان لإلستمتاع دوري جاء اآلنوتتألم،

كل مرات، ثًالث اإلستعًالم بتنفيذ ستقوم وأنت وبقهوتي بوقتي سأستمتع أناهي ما لي تقول ثم ومن الرابط خصائص من مختلفة خاصية تختار مرة

.الفروق

الخصائص بين الفروق وترى اإلستعًالم هذا على دقائق عدة تصرف أن أريدك

إلى تسمي CODD لنعود السابقة الثًالث الخصائص أو اإلختيارات ،

Inner Join الداخلي الربطLeft Outer Join اليسار من الخارجي الربط

Right Outer Join اليمين من الخارجي الربط

أوكي؟؟؟ الشمال أو اليمين في سواء الجدول يظهر أن عًالقة لها ليس طبعا

--- لي يشرح من الرابط خصائص تغيير عند صغير سهم يضاف أنه الحظالسهم؟ هذا معنى

في أريدك الثًالثة الخصائص بين اإلختًالفات في أكثر وتفكر كثير تتأمل أن بعدومن اإلستعًالم في الجدولين بين الواصل الخط بتنشيط تقوم أن اإلستعًالم

زر على بالضغط بحذفه تقوم اإلستعًالم --- Delete ثم نفذ المفاتيح لوحة في

36

Page 37: Relational Databases

حدث ماذا لي على !!! وقل حصلنا سأفرح --- 60كيف وااااااااااااااااااااو سجلالسؤال هذا على أحد أجاب إن .كثيرا

هنا قلناه ما كل وبطريقتك بلغتك وسجل الدفتر ..إفتح

وتعالى تبارك الحق بمشيئة قليل بعد ..نعود

تحياتي،،،

مرحبا،،،

أدوات إختيار خًالل من العًالقات صفحة إلى عًالقات Tools إذهب ثمRelationships

التعديًالت إحفظ

واألبناء، -- اآلباء جدولي أضف المعالج إستخدام بدون جديد إستعًالم إنشأ ثمتًالحظ؟ ماذا

لماذا؟ العًالقة؟ يضع آكسس زال ما ونهائيا تماما العًالقة بإلغاء قمنا قد أننا معيجيب؟ من

قواعد لبناء والسليمة الصحيحة القواعد نتبع جميعا ألننا جدا،، بسيط لسببالبرامج من وغيره اآلكسس يساعدنا القوانين كل إتباع خًالل من البيانات

. ربط نريد اننا اآلكسس استنتج حيث الجداول بين العًالقات شكل إقتراح على . وألن األبناء جدول في الغريب بالحقل اآلباء جدول من الرئيس المفتاح

) الغريب ) الحقل وفي واحد اي أساسي مفتاح هو األباء جدول في الحقل ) متعدد ) أي التكرار يمكن اي أساسي مفتاح .ليس

في نتأمل وتعال العًالقات لصفحة أخرى مرة وعد حفظ بدون اإلستعًالم أقفل.المزيد

أخرى مرة على FatherNum اسحب وأسقطه اآلباء جدول FatherNum منالعًالقات تحرير صفحة لفتح األبناء جدول .في

) سخيفة ) ترجمة هي وقطعا المرجعي التكامل فرض مربع أخرى مرة راقبنشاء ما نسميها ثم أوال لنفهمها موضوعنا، هذا ليس لكن .جدا،

( : طبعا بأطراف رأس العًالقة نوع جملة الصفحة أسفل في أيضا معي وراقب ) من الكثير وتسبب للغاية سيئة ترجمة هي بل السابقة من أسخف ترجمة

.الصداع

رأس ) التعبير سويا ونلغي ميكروسوفت شركة على اتجرأ أن لي اسمحو ) إلى( ) نظري وجهة من أقرب وهي متعدد إلى واحد بجملة ونستبدله بأطراف

الحقيقية One to Many الترجمة

) جدول ) من واحد هو الجدولين بين الرابط شكل أن تعني أوال هذه، تعني ماذا ) لدينا ) الوضع هو وهذا آخر جدول من متعدد ..............و

37

Page 38: Relational Databases

متعددين أبناء عدة لدينا واحد أب لكل

وأكثرها الجداول بين والروابط العًالقات انواع من نوع أشهر هو وهذاشيوعا وأكثرها :إستخداما

حسابات عدة البنك في عميل لكلدراسية مواد عدة الفصل في طالب لكل

وغيره الصلب والقرص الذاكرة مثل خصائص عدة آلي حاسب لكلسور عدة واحد مصحف لكل

آيات عدة العظيم القرآن في سورة لكلدواليك ...وهكذا

هذا -- البيانات قواعد في الخرساني بالهيكل تبدأ فيًال او لعمارة إنشائك عنديسمى الجداول ومجموع البيانات قاعدة في الجداول هو او Skeleton الهيكل

بالتماسك يتميز الخرساني الهيكل أن وحيث البيانات، لقاعدة الهيكلمع والكمرات واألساسات األعمدة تعمل حيث البعض بعضه مع والتكامل

الجداول بين العًالقات تفعل كذلك متماسك بشكل المبنى لشد البعض بعضهاالبيانات قاعدة وتكامل تماسك .في

متعدد ) إلى واحد هي وتماسك وتكامل وشدة قوة العًالقات (اكثر

) وهي ) أخرى عًالقات هناك إن إستنتاج علينا تفرض متعدد إلى واحد :جملةواحد إلى واحد

متعدد إلى متعدد

على تساعد كلها الجداول بين فقط للعًالقات أنواع ثًالث هناك باإلستنتاجالنماذج --- أخرى مرة البيانات قاعدة وبالتالي الجداول وتكامل تماسك

لهم معنى ال عبث مجرد والمايكرو .والتقارير

هو بالترتيب العًالقات أنواع :اقوى

متعدد إلى One To Many واحدواحد إلى One To One واحد

متعدد إلى Many To Many متعدد

منها --- دعك هههههههههههههه بأطراف رأس أما

مرتبط ما جدول في واحد سجل مفهوم، متعدد إلى واحد العًالقة نوع أن آملواحد أب يمثل اآلباء جدول من واحد سجل آخر، جدول في سجًالت بعدة

) األبناء ) جدول في سجًالت أو أبناء متعدد بعدة .مرتبط

حسب تغيره تستطيع ال العًالقة نوع أن أمامك التي النافذة في الحظ : : هل مثال إختيار وليس التصميم لعملية استنتاج هو العًالقة نوع ألن إختيارك،

عمتي؟؟؟؟؟؟؟ مثًال أجعلها أن أمي؟ وبين بيني العًالقة شكل أغير أن أستطيعإختيارا وليست إستنتاجية وبينها بيني العًالقة ألن .اليمكن

هذا؟ يعني ماذا

إستنتاجا ) العًالقة نوع يغير البيانات قواعد تركيبة تغيير أن (يعني

38

Page 39: Relational Databases

البيانات قواعد تركيبة نغير :تعالوا

العًالقات وصفحة العًالقات تحرير صفحة اغلق

تجربتنا في المشاكل لتًالفي فيه السجًالت كافة بحذف وقم األبناء جدول افتح.التالية

) إجعل ) الغريب، الحقل بتنشيط وقم السجًالت حذف بعد األبناء جدول افتحاألساسي المفتاح هو الغريب .الحقل

التعديًالت .إحفظ

عًالقات ثم أدوات من العًالقات صفحة افتح

حدث؟ --- --- ماذا المجيبون أين العًالقة خط على مذروجا نقرا انقر

العًالقة؟؟؟ نوع ترى أصبحت --- هل إتفاقنا حسب برأس رأس من دعك طبعاواحد إلى لماذ؟؟ One To One واحد

--------------------- فضلك من أجب عاد !!!هيا

المفتاح شروط وأحد أساسي مفتاح كليهما حقلين بين يتم اآلن الربط ) فقط، ) واحـــــــــــــــد يعني التكرار وعدم التكرار عدم هي األساسي

التكرار نستطيع ال األبناء جدول وفي واحد أب لدينا اآلباء جدول في وبالتاليواحد إلى واحد أو لواحد واحد أصبحت العًالقة أن أي واحد إبن .أي

واحد --- شكل على عًالقة إلى نحتاج متى واألذكياء للمحترفين متقدم سؤالاإلجابة على ألساعدكم بعد فيما ذكروني أهميتها؟ ما واحد؟ .إلى

الجداول بين العًالقات أنواع أقوى ثاني هو واحد إلى .واحد

السيد قوانين بكل الحائط بعرض ونضرب التصميم ننسف CODD تعالو

ال فيهما، في رئيسي مفتاح اي يوجد ال بحيث الجدولين تصميم بتعديل قمرئيسية مفاتيح تجعلها ال فقط الحقول، .تحذف

العًالقة --- نوع هو ما الخط على مزدوج بشكل وانقر العًالقات إلى أذهباآلن؟

أو معرف (... Indeterminate غير ضاع ) محدد غير الفعلية بالترجمة اوللكسر وقابلة هشة البيانات قاعدة وأصبحت تريد ماذا يعرف وال اآلكسس

لحظة أي .في

) ( ) ال ) وحتى شوي صعبة ولألسف األهمية غاية في متعدد إلى متعدد العًالقةوهي أهمية واألكثر األساسية العًالقة فهم بعد ما إلى سنؤخرها افكارنا نمزق

متعدد إلى .واحد

إنشاء إعادة وكذلك الجدولين تصحيح إعادة منك آمل التعذيب ولزيادة اآلن

39

Page 40: Relational Databases

مرة أطفال العشر إدخال وإعادة متعدد إلى واحد شكل على بينهما العًالقة.أخرى

قليل بعد العًالقات مع .نستكمل

تحياتي،،،

مرحبا،،،

) الخطأ ) ظهور عدم من لنا تصحيحه في الحربي لألخ نعود ثم !!!نستكمل

وتكامل تماسك حول تدور العملية كل أمامنا؟ ماذا اآلن؟؟؟ وصلنا أين إلىالقوانين حسب صحيحة جداول إنشاء من يتم التماسك هذا البيانات، قاعدة

الربط ) ويتم رئيسي، مفتاح فيه جدول متعدد%( 90وكل إلى واحد بنوعيسار ) وخارجي يمين، خارجي داخلي، نوع لكل خصائص ثًالثة هناك (.ويوجد

Integrity والتماسك التكامل هيForiegn Field خصائصه ومن الغريب الحقل :هو

واحد ) إلى واحد شكل على الربط اردت إذا اال التكرار إمكانية (عدمواحد ) إلى واحد شكل على الربط اردت إذا اال رئيسيا مفتاحا يكون (أال

يتيما السجل يصبح ال حتى فارغا يكون أالالجدول في الموجودة األقيام ألحد مشابهة فيه المدخلة القيمة تكون أن

يتيما السجل يصبح ال .اآلخر

) و ) متكاملة بيانات قواعد نصمم أن ونجاهد نحاول زلنا وما نستمر(.متماسكة)

اآلباء جدول في أرقامهم 6لدينا حاليا 7000 6000 5000 4000 3000آباء9000

األبناء جدول في أرقامهم 10ولدينا 170 160 150 140 130 120 110أطفال180 190

FatherNum كذلك وهو اآلباء، جدول في األساسي المفتاح وهو األب رقم هواألبناء جدول في الغريب .الحقل

SonNum األبناء جدول في األساسي المفتاح وهو اإلبن رقم .خو

) ( ) يوجد ) وال متعدد إلى واحد شكل على الجدولين بين عًالقة رابط وهناكالمرجعي للتكامل .فرض

التالية الحقول وأضف جديد أستعًالم إفتح :اآلنFatherNum

FatherNameSonNum

SonNameFatherNum

عندك الدفتر في يلي ما واكتب اإلستعًالم :نفذو 6يوجد أطفال 10آباء

40

Page 41: Relational Databases

تستطيع حتى اآلباء جدول سجًالت بنقل وقم والقلم بالمسطرة جدوال أنشأتراها أن

تستطيع حتى األبناء جدول سجًالت بنقل وقم والقلم بالمسطرة جدوال أنشأتراها أن

نوع ) اي األولى الخاصية يعني فهو جدولين بين خط اإلستعًالم في ترى عندماالتي( الجدولين من السجًالت فقط يظهر الداخلي فالنوع قلنا وكما داخلي

على حصلنا وعليه المروبطة الحقول فيها ال 4تتشابه نحصل ولم فقط آباءرقم األب رقم 6000على األب على لماذا؟ 7000وال

خطيييييييييييييييييير ولكنه منطقي وهذا أطفال أي لهم ليس األبوين هذين ألنالتماسك ناحية من لماذا؟؟؟ !!! جدا

لدينا نحن لدينا؟ أب كم يعطينا ال يدينا بين الذي اإلستعًالم آباء 6ألنيقول . 4واإلستعًالم لدينا المثال، هذا خذ مخاطرة فيه في 50وهذا طالبا

بتسجيل قام منهم كل عدا 3الفصل ما الطًالب 4مواد تسجيل عدم طًالب،مواد؟ بدون طًالب يوجد انه نعرف كيف ممنوع، مواد ألية

يؤدي قد المربوطة الحقول فيها تتطابق التي السجًالت استصدار أخرى مرةللتخطيط معلومات إلى وتحويلها البيانات تحليل في كثيرة مشاكل إلى

القرارات .وإتخاذ

. أن الحظ الثاني وليس الثالث النوع إلى الرابط خاصية غير اإلستعًالم فياآلباء جدول إلى يتجه .السهم

. : المربوطة الحقول فيها تتشابه التي السجًالت فقط يعني السهم معي ركز . عند الخط طرف الحالة هذه في السجًالت كل يعني السهم وجود عدم

) األبناء، ) كل أي السجًالت كل يعني وهذا سهم فيه يوجد ال األبناء جدولرقمهم الذين األباء فقط ويعني سهم فيه اآلباء جدول عند الخط وطرف

اآلخر الجدول في لرقم .مشابه

األب على ال أيضا نحصل لم تًالحظ األب 6000كما على السهم 7000وال ألنبالمقابل ولكن لهم، أبناء ال وهذين أبناء لهم من يعني اآلباء لجدول المشير

آخرين طفلين على آباء 190و 180حصلنا !!!!!!!!!!!!!بدون

في ......... سجًالت وهو البيانات قواعد في يحدث أن يمكن ما أخطر وهذا ) ( ) سجًالت ) إلى يؤدي وهذا الواحد جدول في سجًالت بدون المتعدد جدول

) جذورها) من البيانات قاعدة وتكامل تماسك وينسف .يتيمة

جدول في بسجًالت ترتبط ال المتعدد جدول في سجًالت على تحصل عندماومن شيوعا األخطاء اكثر من وهي البيانات قاعدة في مصيبة فلديك الواحد

حًال المشاكل .أصعب

. نفذ األبناء جدول إلى السهم يتجه وبهذا الثانية الخاصية او النوع إلى غير اآلنليس أبين هناك أن أيضا وسترى األباء جدول من األباء كل سرى اإلستعًالم

. تستخدم التطبيقات معظم أن بل عليها، تحصل نتيجة أفضل وهذا أبناء لهماالنوع .هذا

41

Page 42: Relational Databases

رقم هنا يظهرا لم اليتمين فإن تًالحظ المشكلة 190و 180كما وهماالقاعدة تماسك في اآلن .األساسية

) خطأ ) ظهور عدم إلى نبهنا خيرا الله جزاه الذي الحربي أحمد لصديقنا نعودقوانين أحد إختراق الواحد CODD عند جدول في موجود غير رقم وإضافة

الغريب الحقل .إلى

) الخطأ ) يظهر لم لماذا الحربي أحمد لألخ نقول ثم التجربة هذه نعيد تعالو ... ... ) قليل) بعد سنشرح ما نوعا المرجعي التكامل بسبب ليس طبعا .وهو

بأرقام 6لدينا 9000 7000 6000 5000 4000 3000أباء

رقم اإلبن إلى وإذهب األبناء جدول أي 180افتح وأدخل أب له ليس الذي . لماذ؟ خطأ أي دون منك سيقبل الغريب الحقل في قيمة

لمستر CODD نعودالغريب الحقل خصائص :ماهي

يتيم سجل نتج واال فارغا يكون اآلالتالية ) األقيام أحد أي فيه المربوط الحقل في لقيمة مشابها يكون 3000أن

تؤدي( 9000 7000 6000 5000 4000 الست القيم هذه غير أخرى قيمة ايالمربوطين الحقلين بين القيمة بتشابه يتم الربط ألن يتيم سجل .إلى

فارغة؟ بتركها اآلكسس سمح لماذاالسابقة؟ الست القيم غير قيمة بإدخال اآلكسس سمح لماذا

: البيانات قواعد لصيانة هي وببساطة .اإلجابة

قوانين أحد بإختراق والسماح البيانات قواعد برامج في التساهل CODD هذاللتطرق الوقت يسعفنا قد مختلف درس وهذا الصيانة عمليات لتسهيل هو

ألهميته مستقبًال .اليه

فيه جدول وكل الجداول آالف فيها البيانات قاعدة أن معي متخيًال الزلت هل؟ السجًالت مًاليين على يحتوي جدول وكل الحقول آالف

بصيانة تقوم كنت لو القاعدة؟ Administrating & Maintaining ماذا هذهإحتياطية، نسخة إلى البيانات قاعدة من السجًالت مًاليين نتقل كنت لو ماذا

نسخة على تحصل فلن القاعدة تماسك في لخلل اآلكسس منعك إذاالنسخ قبل التصحيح منك تطلب األخطاء تلو أخطاء لك وستظهر .أحتياطية

تصمم زلت ما وأنت األبناء بيانات وأدخل البيانات مدخل تسرع لو ماذاسجًالت إستكمال يستطيع فلن اآلكسس منعه إذا الوقت، ليوفر القاعدة

األباء بيانات بإدخال يقوم أن قبل األبناء .جدول

البرامج في بكثير أخف التساهل هذا كثيرة، خدمات له ولكن تساهل هو نعموغيرها أوراكل مثل .األخرى

) التساهل ) هذا المرجعي التكامل بفرض اآلن حتى بالموضوع عًالقة ال إذاالبيانات قواعد صيانة عمليات وتبسيط لتسهيل هو باإلختراق .والسماح

42

Page 43: Relational Databases

بتصميمها نقوم التي البيانات قاعدة ألن حاليا، نحن نواجهها ال مشكلة وهذهشيء وال صيانة وال بيانات لدينا يوجد وال الصفر ومن .جديدة

) القوانين ) بأحد تساهًال شرعية غير قيم بإدخال اآلكسس لك سمح أخرى مرةوالخطأ والتجربة والصيانة النسخ عمليات .لتبسيط

) في ) البدء من حذار لنقول الحربي أحمد األخ تنبيه من هنا الوضع ونستغل ... عندما تذكرون بعد تتماسك ولم تتكامل لم بيانات لقاعدة البيانات إدخال

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

) في ) األيتام إلى نعود ، جدا الصاحي بل معنا الصاحي لألخ الشكر تقديم بعداألبناء .سجل

ينص والقانون البيانات، قاعدة في أيتام وجود منع في يساعدنا لم اآلكسسبالكيلو مشاكل إلى سيؤدي أيتام وجود أن .على

وسهولة بتصميمها نقوم التي البيانات قاعدة هشاشة مدى معي وشاهد تعالالبيانات مدخل قبل من خطأ أول عند .تحطمها

الرقم صاحب األب بحذف وقم األباء جدول التعديًالت 3000افتح احفظ ثمالجدول .واقفل

بإنشائه قمنا الذي األخير اإلستعًالم في قليًال واعبث .اذهب

لدينا أصبح ترى؟ ماذا األيتام؟؟ لرؤية العًالقة خصائص من الثالث النوع اخترأبيهم ذبح بعد بالهبل !!!أيتام

األب رقم وغير اآلباء جدول إلى إذهب بل فقط هذا ثم 4500إلى 4000ليسحدث؟؟؟ ماذا ااإلستعًالم،، تنفيذ عد

اإلطًالق على متماسكة وغير مهلهة بيانات ...قاعدةرقم األب بيانات إدراج بيانات 3000اعد وصحح اآلباء جدول في أخرى مرة

أخرى 4000إلى 4500 .مرة

القهوة من بفنجان لي .وأسمحوا

تحياتي،،،

-----لألخ في biskra مًالحظة لي قل شيء، وكل شيء ألي تصلح البيانات قواعد

أساعدك الله وبإذن البيانات قاعدة إنشاء تود اإلدارة بحور من بحر . أي

مرحبا،،،

الليلة -- إنهائها أستطيع أن وآمل المسابقة أسئلة إنشاء مرحلة في مازلتالله .بمشيئة

العم إلى بأي CODD نعود عًالقة له ليس هنا نقوله ما أن ونكرر والعًالقات،على ينطبق بل أيضا Microsoft SQL و Oracle برنامج .وغيرهم

43

Page 44: Relational Databases

إدخال عملية تسهيل كذلك البيانات قاعدة وتكامل تماسك هو هدفنا زال ماالبيانات ) مدخل المسكين لصديقنا (.البيانات

طريقة أن لسبب للكسر وقابلة هشة زالت ما لدينا البيانات قاعدة أن ووصلنايتيح وكذلك موجودة غير بيانات يحتوى أن الغريب للحقل تتيح تصميمها

فارغة .بيانات

) إلى ) إذهب ، الحربي أحمد صديقنا مع للتفاعل قليًال المشكلة حجم من لنزيدعًالقات ثم أدوات من العًالقات .صفحة

إختيار على صح عًالمة وضع الجدولين بين الواصل الخط على مزدوج نقر ) بدون) اآلن اتركهما إضافيان مربعان لك سيظهر المرجعي التكامل فرض

. حدث؟؟؟؟ ماذا موافق، إضغط صح عًالمة

من او اآلكسس من تطلب اآلن على MS SQL انت إلقضاء في يساعدك أنالبيانات قاعدة في أيتام تولد أي !!! إحتمالية او األكسس لك يقول ولهذا

) لماذا؟؟؟ ) يقول من مساعدتك أستطيع ال آسف آخر برنامج

أيتام -- فيها أصًال البيانات قاعدة ألن .صح

السابقة الحلقة في واجهتنا والتي حلها نحاول التي المشاكل هي :مافارغا الغريب الحقل ترك نستطيع

الحقل في وجودها شرط دون الغريب الحقل في قيمة اي ادخال نستطيعفيه المرتبط

أيتام --- أب بدون أبنائه وترك أب حذف Orphans نستطيعمن اآلباء جدول في األب رقم تعديل يفقد 4500إلى 4000نستطيع وبهذا

رقم على فيه المرتبطين أوالده 4500وليس 4000األب

بد -- ال البيانات قاعدة وتماسك تكامل عدم إلى تؤدي مشاكل سبق ما كلاألخرى تلو واحدة السابقة األربعة المشاكل حل .من

القلب ) على ثقيلة ترجمة المرجعي التكامل فرض بدون العًالقات (اترك

للطفلين أب بوضع وقم األبناء جدول إلى ابوهما 190و 180اذهب وليكن6000رقم

ادخل الغريب 6000أي الحقل .في

السجًالت من .لنتأكد

اآلباء جدول فيأحمد 3000 سعيد 42 محمدالصيعري 4000 الله عبد 61 خالدالمالكي 5000 محمد 32 سعيدالمسبحي 6000 العزيز عبد 29 طًاللالله 7000 الجار خالد 46 سميرالحربي 9000 مبارك 42 أحمد

44

Page 45: Relational Databases

األبناء جدول في3000 7 خالد 1003000 4 محمد 1104000 9 سعيد 1204000 12 طارق 1305000 5 أحمد 1405000 17 سمير 1505000 1 فهد 1609000 3 مشاري 1706000 9 صالح 1806000 11 ناصر 190

واترك التكامل فرض مربع على صح وضع العًالقات الى أخرى مرة اذهبفارغين اآلخرين .المربعين

التالي الطفل وأضف األبناء جدول :افتح12سلطان 200

التالية ) القيم غير قيمة أي تضع أن ,7000, 6000, 5000, 4000, 3000وحاولفارغا( 9000 تتركه ال .وكذلك

بعاليه؟ مشاكل األربعة من حلها تم التي المشكلة ماهي

قيمة تضع أن إما اآلن السابق، الترتيب حسب الثانية المشكلة حل تم ... اآلن البيانات مدخل يستطيع لن فارغا تتركه ن أو اآلباء جدول في موجودة

عنده من قيمة .إختراع

رقم -- األب مثل أبناء له أب أي حذف حاول اآلباء جدول إلى ،3000إذهبأيتام ... نعم ماذا؟ سيترك األب ذبح ألن حاولت مهما تستطيع ال مممممم

ممنوع فهو .ولهذا

رقم األب مثل أبناء له أب أي رقم تعديل تجعله 4000حاول أن حاولكل !!! 4500 سيترك األب رقم تغيير ألن حاولت مهما تستطيع ال مممممممم

رقمه أبوهم الذين أب 4000األطفال .بدون

جدول --- في الغريب الحقل ترك وهي واحدة مشكلة صح بقيت مشكلة كمدائما الثغرة هذه ترك أقترح السوق في العملية التجربة ومن فارغا، األبناء

. بعد فيما حلها ثم ومن الحقول هذه عن مًالحظات أخذ مع التصميم بداية فيلماذا؟

) التفكير ) مرحلة في أننا هو السبب لنا، وتوجيهه الحربي أحمد لصديقنا نعودلقاعدة والتكامل التماسك لتجريب صحيحة غير بيانات إلى سنحتاج والتصميم

خطأ لنا ويظهر إل كيو إس او اآلكسس لنا ينط أن دقيقة كل نريد وال البيانات.ما

األبناء جدول إفتح الحقول، خصائص من فهي الرابعة المشكلة نحل كيف أماخاصية سترى األسفل في وأنظر الغريب الحقل ونشط التصميم في

) أو) ( Required مطلوب الحقل )( ) ترك نستطيع ال نعم إلى ال من تعديلها عندفارغا .الغريب

45

Page 46: Relational Databases

بيانات قاعدة اآلن ولكن --- Intergated لدينا ومتماسكة متكاملة أيتوقف .... ...لحظة

التصميم هذا في مصيبة !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!يوجدتماسكها مع حتى البيانات قاعدة تصميم في حقيقية مشاكل اآلن يوجد

.وتكاملها

لماذا؟ لي يقول منفكرووووووووووووووووووووووووووا

المًالحظات ---- كل إكتبوا تفيد ال القراءة أن تنسوا .وال

تحياتي،،،

مرحبا،،،

) على... ) اإلجابة وبالذات إجابتك وأروع أجمل ما الله الحربي أحمد لألخ � أوالواحد إلى واحد العًالقة نستخدم متى .سؤال

في -- -- األمنية النواحي زيادة إلى نحتاج عندما فقط واحدة حالة في بالظبطنفسها ) البيانات حماية بل البيانات قواعد حماية ليس طبعا البيانات قاعدة

) أكثر أو جدولين إلى الواحد الجدول حقول بفص هذا ويتم عليها اإلطًالع منأن --- تعني واحد إلى واحد العًالقة الرئيسي المفتاح بنفس بينهما ويربط

. نوزع وكيف الجدولين بين نفصل كيف اما رئيسيين مفتاحيين بين يتم الربطوتسمى الوقت أسعفنا إذا عنها نتحدث قد جزئية فهذا الحقول

Normalization

) رائع ) من اكثر الحربي احمد أخ يا سًالم .يا

قوانين كل فيها تنطبق بيانات قاعدة اآلن . CODD لدينا ومتماسكة ومتكاملةلهما األخوة بعض تطرق أساسيتين مشكلتين فيها :ولكن

: أب؟ أي نحذف أن فعًال أردنا إذا نفعل ماذا األولى المشكلة : أب؟ أي رقم نغير أن فعًال أردنا إذا نفعل ماذا الثانية المشكلة

نستطيع؟؟؟ ال الحالي التصميم في

معي.... ركز لحظةعنه -- ينتج ال وهذا حذفة نستطيع لدينا مشكلة فًال أطفال، بدون األب كان إذا

. باإلستنتاج أيتام هذا عن ينتج ال وأيضا رقمه نغير أن نستطيع وكذلك أيتام، . فيه هذا ولكن أوالده كل بحذف أوال نقوم أن بعد أب نحذف أن نستطيع

لماذا؟ كبير إجهاد

فيها البيانات قاعدة أن نتخيل الحقول 5000ألننا آالف فيه جدول وكل جدولكل نذهب أن والعملي المنطقي من هل السجًالت، مًاليين فيه جدول وكل ) الواحد ) جدول إلى نذهب ثم كلها السجًالت ونحذف المتعدد جدول إلى مرة

... من بد ال لألخطاء وقابلة مجهدة العملية طبعا هناك، من واحد سجل وحذفومنطقي عملي حل .وجود

46

Page 47: Relational Databases

) حذف -- ) األولى المشكلة تًالحظ ماذا بتمعن،،، أعًاله المشكلتين قراءة أعد( ) تعديل ) او تحديث الثانية (.والمشكلة

القائمة من عًالقات ثم أدوات من العًالقات صفحة .افتح

الجدولين بين الواصل الخط على مزدوج .نقر

--- ... ) ركز ) توقف التكامل فرض خاصية تحت يوجدان الذين المربعين إقراءأخرى-- مرة إقرأ

تحديث ) كلمة فيها حذف ) Update( واحدة فيها ما Delete( واألخرى وهوصح؟ ،� فعليا عنه نبحث

يتعلق الحذف ان ستجد أكبر، وتركيز بتمعن أخرى مرة إقرأمممم .... بالسجًالت

ممممممممم .... بالحقول يتعلق التحديث وأن

لماااااااااااااااااااااذا؟ كالعادة،

نفعل؟ ماذا نبحث؟ ماذا عن سبق،، ما كل يعني ماذا

أعًاله للمشكلتين � حًال ...نريد

تلقائيا ----- يتم أين ماذا؟ اآلباء جدول في األب رقم تحديث أو تعديل عن نريداألبناء جدول في األب هذا رقم .تحديث

--- ) اقفل ) المرتبطة الحقول تحديث األول اإلختيار على صح عًالمة ضع النافذة

) ( ) األب ) رقم حدث عدل وغير اآلباء جدول إلى 4500إلى 4000إذهب

حدث؟؟ ماذا

خطأ ---- يظهر لم .ممممممممممممم

ماذا --- حدث؟ ماذا تجيب أن يجب اآلن األبناء جدول وإفتح األباء جدول أقفلتغير؟

أو اآلكسس قام سمها -- -- --- MS SQL أو Oracle آليا بتعديل بتغيير بتحديث ) أب ) اآلن يوجد وال المرتبط الغريب الحقل بتحديث بماذا؟ قام شئت، ما

الرقم 4000برقم يحمل اآلن أصبح القديم الرقم يحمل أب 4500كل

الجدول --- -- أقفل أيتام صناعة يمكن ال والتكامل التماسك تًالحظ هل

عًالقات ثم أدوات من أخرى مرة العًالقات إلى نذهب وبالقياس باإلستنتاج

-- ) أنها ) أعتقد السجًالت حذف الثانية الخاصية على صح عًالمة ضع اآلناآلن واضحة

اآلباء جدول إفتح ثم العًالقات صفحة وأقفل موافق .إضغط

47

Page 48: Relational Databases

الرقم صاحب األب بحذف السابق -- 4500قم في الحظ الرسالة؟ تقول ماذا ) لك ) سأحذف بأس ال الرسالة في لك يقول اآلن ولكنه � ممنوعا الحذف كان

توافق؟ -- هل � أوال أوالده كل سأحذف أنني هو واحد بشرط ولكن األب هذانعم .إضغط

األبناء، --- --- جدول وإفتح اآلباء جدول اقفل فقط هذا ليس األب حذف تمتًالحظ؟ ماذا

رقم ذو بأب إبن ألي وجود ال 4500نعم

األولى الدرجة من ومتماسكة متكاملة بيانات .قاعدة

سنأخذ حيث اإلستمرار عدم بخطوة خطوة معي يشتغلوا لم ممن الرجاء ... وطبق إقرأ تفهم أن أردت إذا وأكثر أكثر العملية وسنعقد اآلن صعبا منحى

األول من .يدويا

بكاملها رحلتنا خًالل الهدف أن تنسوا وال التعقيد من قليًال نزيد اآلن بنا تعالووالتكامل التماسك على المحافظة .هو

تحياتي،،،

مرحبا،،،

حوالي وفي% 90في متعدد إلى واحد هي الجداول بين العًالقة الحاالت منواحد% 1حوالي إلى واحد .هي

األسهل ألنها � دائما عنها تبحث أن يجب التي العًالقة هي متعدد إلى واحدالربط عمليات في منطقية واألكثر واألوضح .واألفضل

هذه حل نحاول تعال وممتعا، دائما � سهًال ليس البيانات قواعد عالم ولكن � مثًال السعودة العربية المملكة في عندنا السيارات ترقيم في المشكلة،

تأخذ السيارات إنشاء 6لوحات نريد عندنا أرقام، وثًالثة أحرف ثًالثة خاناتأساسية مشكلة لدينا المملكة سيارات لكافة بيانات .قاعدة

المشكلة هذه حل نحاول سويا بنا .تعالو

من يتكون رئيسي مفتاح إنشاء هو األول حًال 6الحل يكون قد وهذا خاناتلعمل مثًال للمساعدة برمجية حلوال يتطلب ولكنه للمشكلة Mapping سريعا

مثًال الًالتينية والحروف العربية الحروف بين ترسيم .أو

حقل إستخدام من منعتنا للمرور العامة اإلدارة أن ونفترض الموضوع لنسهل.واحد

... منهما واحد كل حقلين إنشاء الحل هو حقل 3ما لدينا يصبح وبهذا خانات، . أن سأفترض العملية ولتسهيل حروف ثًالثة من آخر وحقل أرقام ثًالثة منليس ) العربية اللغة في التشبيك من للهروب مثًال اإلنجليزية باللغة الحروف

الموضوع سويا نفهم أن هو الهدف اآلن السيارات ترقيم (.الهدف

48

Page 49: Relational Databases

ما سيارة لترقيم نضع KLT 376 وبهذا الرقم KLT بحيث ونضع حقل 376فيآخر حقل في

) هو ) الهدف ولكن الخبرة من إطًالقا أحبذه ال كنت وإن حتى جيد حل هذاالموضوع .شرح

الجدول لهذا الرئيسي المفتاح هو ما .اآلن

البيانات قاعدة في جدوال التاليان Family إنشأ الحقًالن :وفيه

PlateLet السيارة -- 3نص لوحة لرقم الثًالثة األحرف عن للكنايةPlateNum السيارة -- 3نص لوحة لرقم الثًالثة األرقام عن للكناية

مستر قاعدة تنس أساسي، CODD ال مفتاح جدول لكل أن على تنص والتي( ) مفاتيح ) وليس مفتاح كلمة واضح؟( !!!! الحظ

وليس --- فقط واحد مفتاح جيد بشكل الموضوع طرح من للتأكد أخرى مرةالمفاتيح من .مجموعة

بأنه --- علما الجدول هذا في الرئيسي المفتاح هو ما السيارة لوحة إلى نعودكالتالي لوحاتها سيارت أربع اآلن لدينا :يوجد

األولى السيارة لوحة KLT 376 --- رقمالثانية السيارة لوحة KLT 950 --- رقمالثالثة السيارة لوحة RMD 376 --- رقمالرابعة السيارة لوحة RMD 950 --- رقم

قليًال ...فلنعبث

الحقل أن هي --- PlateLet لنفترض ما الرئيسي المفتاح هو بالحروف الخاصالمشكلة؟

إدخال نستطيع لن وبالتالي الحقل هذا في البيانات تكرار نستطيع لن صح،KLT وكذلك RMD --- ---- أن يصلح ال الحقل هذا مشكلة واحدة مرة من أكثر

رئيسيا مفتاحا .يكون

الحقل أن ما --- PlateNum لنفترض الرئيسي المفتاح هو باألرقام الخاصالمشكلة؟ هي

إدخال نستطيع لن وبالتالي الحقل هذا في البيانات تكرار نستطيع لن صح،أن ---- --- 950وكذلك 376 يصلح ال الحقل هذا مشكلة واحدة مرة من أكثر

رئيسيا مفتاحا .يكون

الوقت نفس وفي أساسيا مفتاحا يكون أن اليصلح وكًالهما فقط حقلين لدينامعضلة أساسي؟؟؟ مفتاح وجود من بد المرور !! ال إدارة لنا تسمح لم وطبعا

أساسيا ندعيه جديد حقل .بإضافة

الحل؟ هو ما

لنا من CODD يقول أكثر من يتكون الرئيسي المفتاح لجعل مضطرا كنت إذامضطرا -- تكون عندما فقط الحل هذا أن تنس ال ولكن بأس فًال ...حقل

49

Page 50: Relational Databases

) أن ) أيضا تعني وهي قاعدة وليس إستثناء تعني هذه مضطرا كلمة أن واضح --- . طبعا هنا حل لدينا هل ولكن االستطاعة قدر الحل هذا من الهرب نحاولتفيدنا لن األهمية غاية في فكرة لتوصيل الحلول هذه بإلغاء قمنا ولكننا لدينا

المستوصف في وكذلك اآلباء مع ستفيدنا ولكن السيارات .مع

الحقلين بتنشيط خًالل PlateNum و PlateLet قم من البعض بعضهما معلديك اآلكسس حسب اليمين أقصى أو اليسار أقصى من والسحب الضغط

األدوات شريط في المفتاح إضغط ثم .ومن

الحقلين من حقل كل بجانب مفتاح بوضع اآلكسس قام حصل؟ ....ماذا

-- --- الجدول في أساسي مفتاح من أكثر يوجد ال معي بشدة ركز اآلنمتفقين؟

أمامنا؟ الذي نسمي ماذا إذا

حقلين من يتكون ولكن فقط واحد أساسي مفتاح هو اآلن أمامك الذي!!!إثنين

هذا؟ يعني ماذا

وليس البعض بعضهما مع الحقلين جمع ناتج هو األساسي المفتاح أن يعنيحدة على حقل !!!!كل

ممنوع -- هنا فالتكرار األساسي المفتاح في البيانات تكرار يمنع أنه وطالماحدة على حقل لكل وليس الحقلين !!!لمجموع

أفضل بشكل نفهم بنا تعالو

بإسم الجدول كل Plates خزن بجانب مفتاح رسمة يوجد انه تطمئن أن بعدالحقلن من .حقل

الجدول هذا في بيانات ندخل بنا ...تعالوا

الحروف حقل KLT أدخل السجل PlateLet في إلى اإلنتقال حاول ثمماذا--- يمكن التالي ال األساسي المفتاح حقل ألن لماذا؟ طبعا،،، خطأ حدث؟

في -- --- قيمة وضعنا صح الحقل هذا في قيمة وضعنا ولكننا فارغا يكون أنالمفتاح -- PlateLet حقل ماهو أخرى مرة األساسي المفتاح هو ليس ولكنه

قيمة --- جمع ناتج هو هنا األساسي المفتاح الجدول هذا في األساسيوليس البعض بعضهما مع سويا ليس PlateLet الحقلين وكذلك لوحدها

PlateNum لوحدها.

القيمة إدخال KLT امسح حقل 950وحاول تسطيع PlateNum في .لن

أي ترك فإن حقل من أكثر جمع حاصل من يتكون األساسي المفتاح كان إذاممنوع وهذا فارغا األساسي المفتاح أن إلى يؤدي فارغا منهم .حقل

إدخال وهي فقط واحدة حالة في إال السجل هذا من اإلنتقال تستطيع لنKLT في PlateLet إدخال ما PlateNum في 950وكذلك حسب منطقي وهذا

50

Page 51: Relational Databases

.فهمناه

وهو آخر سجًال سويا ندخل وتعال السابق السجل بإدخال الحظ KLT 376 قماللوحة ... هذه بإدخال لك سيسمحون وغيرهما األوراكل وكذلك اآلكسس أن

لماذا؟ يجيب من

بتكرار اآلكسس لنا سمح حقل KLT لماذا يجيب؟ PlateLet في من ؟

ألن رئيسيا PlateLet اإلجابة مفتاحا ليسألن رئيسيا PlateNum اإلجابة مفتاحا ليس

الحقلين قيمة جمع ناتج هو الرئيسي المفتاحيجيب؟ --- من إدخاله من اآلكسس سيمنعا الذي السجل هو ما

تحياتي،،،

مرحبا،،،

فهو اإللكتروني بريدي عن يسألون الذين واألخوات لألخوة بالنسبة[email protected] بعد أنني مًالحظة الجميع من رمضان 20راجيا

ويمكنهم وتنقًالت ومشاريع مواضيع بعدة إلرتباطي اإلنشغال غاية في سأكون . ) من ) أساسيا موردا أن مًالحظة الرجاء جدا الطارئة لألمور عذرا مراستلي

. ) لكم ) سأشرح الله وبإذن البيانات وقواعد البرمجة من هو الله بفضل رزقيبنقود عليكم يعود ما إلى علمكم بتحويل تقومون كيف الدروس هذه آخر .في

بالسيد الخاصة القوانين وضع الذي لألخ بالنسبة بجزيل CODD أما له فأتقدمالجميع من راجيا :الشكر

نحن -- فكرية بلبلة إلى تؤدي ال حتى ونشرها العربية اللغة إلى ترجمتها عدمعنها غنى في .جميعا

تطبق لم عشر الثاني القانون إلى التاسع القانون من القوانين أن مًالحظةوال األوراكل وال اآلكسس ال بيانات قواعد لغة أي في اآلن وال MS SQL حتى

تتبنى العالم في عًالقية بيانات قاعدة أي إنشاء يتم لم وبالتالي غيرها،من .12إلى 9القوانين

بهذه يقوم أن منه فآمل وورد ملف في المشاركة كل بتجميع األخ إقتراح أماالجهد هذا له ومقدرا شاكرا عني .نيابة

...نعود

الحلقة في تركناه الذي السؤال على اإلجابات أقرأ وأنا أن سعيد أنا كم . المفتح أصبح � فعًال الصدر وتشرح صحيحة اإلجابات كل كانت وقد السابقة

اللوحة رقم تكرار تستطيع لن وبهذا الحقلين قيمتي مجموع ناتج هو األساسيالحقلين كًال في يتكرر .الذي

جدول بهذا Plates لننسى منه ونتكفي السيارات لوحات بأرقام الخاص.القدر

51

Page 52: Relational Databases

أو األوراكل أو اآلكسس في سواء التالي الجدول بإنشاء وهو MS SQL قماإلسم عليه إطلق األصناف التالية Items جدول الحقول فيه :وضع

ItemNum أساسي -- 2نص مفتاحItemName نص

ItemCost رقم

بإسم الجدول Items إحفظ

األصناف جدول في التالية السجًالت :Items أضف2 محاية 904 مسطرة 91رصاص 92 1 قلم2 منقلة 93حبر 94 15 قلم45 سبورة 95حاسبة 96 20 آلة1 براية 9770 شنطة 983 دفتر 99

عن ) النظر بغض ألطفالهم المدرسية األصناف بعض شراء اآلباء بعض قررمنقلة( إشترى قد واحدة سنة عمره طفًال أن أحد يقول أال آمل أي !!!المنطق

نحن؟؟ أين

) من ) مجموعة أية يشتري أن األب يشاء عندما أب لكل نسمح أن نريدالسابقة دفعه األصناف ما إجمالي لنا يقول إستعًالم إنشاء نريد ثم ألطفاله

ألطفاله بشرائها قام التي األصناف مقابل أب .كل

الجدول حفظ ثم Items بعد العًالقات، صفحة إفتح السابقة، البيانات وإدخال) جدول ) إظهار بإختيار وقم فارغ مكان إي في للماوس اليمين بالزر إضغط

جدول العًالقات Items وأضف صفحة .إلى

إلى MS SQL في فارغ Diagrams إذهب مكان في األيمين بالزر وإضغطأضف Add Table وإختر العًالقات Items ثم صفحة .إلى

من قلما ويسن الشاي، أو القهوة من فنجانا يحضر أن معي يقرأ من أريدلي ويقول فكره ويعصر الدفتر في جديدة بيضاء صفحة ويفتح :الرصاص

األصناف جدول نربط Items كيـــــــــــــــــــــــــــــــــــف!!!؟؟؟؟؟؟؟؟؟؟؟؟؟؟

،،،،،،،،،،،،،،،،،،،، تعذبوااااااا

تحياتي،،،

مرحبا،،،

52

Page 53: Relational Databases

) نربط ) كيف إلى بالله والعياذ عطلنا الذي التفجير بعد الجدول Items وصلناباألصناف الخاص ...الجديد

مستر إلى ....للمساعدة Codd نعود

...لنركز

جدول أن هو األول اإلستنتاج وبالتالي األصناف يمكلون الذين هم األطفال . جدولي بين تنشأ أن يجب العًالقة العًالقة هذه في دخل أي له ليس اآلباء

Items و Sons.

استعرنا جدول ItemNum إذا األبناء Items من جدول في غريبا حقًال ووضعناه) األصناف ) من مجموعة لديه طفل كل متعدد إلى واحد عًالقة ننشىء فإننا

رقم الطفل ألن األبناء تكرار مشكلة خلقنا نكون شراء 120ولكننا له يحقالطفل رقم بنتكرا قمنا ومحاية براية بشراء قام إذا وبالتالي صنف من أكثر

120 . لتفهم الورق على طبق أساسي مفتاح الطفل رقم ألن مستحيل .وهذا

إستعارة مرفوض ItemNum إذا حل األبناء جدول في .ووضعه

استعرنا جدول SonNum إذا جدول Sons من في غريبا حقًال ووضعناهمن ) مجموعة يملكه صنف كل متعدد إلى واحد عًالقة ننشىء فإننا األصناف

رقم( الصنف ألن األصناف تكرار مشكلة خلقنا نكون ولكننا يمكن 91األطفالرقم الصنف بشراء طفًالن قام إذا وبالتالي طفل من أكثر من 91شراؤه

الصنف المسطرة رقم بنتكرا مفتاح 91قمنا الصنف رقم ألن مستحيل وهذالتفهم. الورق على طبق .أساسي

الضياع عالم في بك � .....مرحبا

--- ) واألبناء ) األصناف بين متعدد إلى واحد عًالقة إلنشاء محاوالتنا كل باءتالفشل إلى .باءت

أمامنا؟؟؟ التي المشكلة هي ما

التالي في تكمن :المشكلة

صنف من أكثر يمتلك أن يستطيع طفل كلطفل من أكثر يمتلكه أن يستطيع صنف كل الوقت نفس وفي

من العًالقة ان متعدد Sons إلى Items أي إلى واحد هيمن العًالقة الوقت نفس متعدد Items إلى Sons وفي إلى واحد هي

( ) متعدد ) تصبح العًالقة فإن اإلتجاهين في متعدد إلى واحد العًالقة كانت إذامتعدد Many To Many( إلى

العًالقات من النوع هذا إلى بك ....مرحبا

--- ---- ) دقق ) ركز البعض ببعضهما الجدولين ربط متعدد إلى متعدد عًالقة فيمستحيــــــــــــــــــــــــــــــــــل- ---------------- عينيك !!!!افتح

53

Page 54: Relational Databases

) تستطيع ) فلن متعدد إلى متعدد بعًالقة جدولين بين تربط أن حاولت مهماللسماح الجدولين أحد في األساسي المفتاح إلغاء إلى ستضطر أنك والسبب

) البيانات ) قاعدة وتكامل تماسك ينسف وهذا للمتعدد .بالتكرار

الحل؟؟ هو ما إذا

مستر -- --- الخط على معي مين الحل --- Codd ألوووو هو ما ...مرحبا

تقاطعي : جدول إنشاء مستر -- Junction Table الحل Codd شكرا

الدفتر.... --- إستخدم التقاطعي؟ الجدول هو ما أهًال

معني ما � هذه --- Junction أوال محطات، دائما هناك الحديد سكك فيمختلفة مدن إلى لإلتجاه الحديد سكة بتغيير للقاطرات تسمح المحطات

فكرة × جاءت هنا ومن ضرب عًالمة شكل على أشكالها أبسط في وتكونالفذ العالم لهذا .التقاطع

إلى ) واحد عًالقة هي إتجاه أي في بينهما العًالقة بجدولين تصطدم عندما ) بإنشاء( ) تقوم بينهما وللربط متعدد إلى متعدد عًالقة أمامك تكون متعدد

أو التقاطع بجدول يسمى جديد Junction Table جدول

المفتاح بإستعارة وينشأ إطًالقا الجداول اسهل من هو التقاطع جدولالجدولين من :األساسي

األساسي Items الجدول بإستعارته ItemNum مفتاحه نقوماألساسي Sons الجدول بإستعارته SonNum مفتاحه نقوم

التاليين الحقلين فيه جديدا جدوال :أنشأItemNum 3نصSonNum 4نص

مفتاح --- بدون جدول يوجد ال صح؟؟؟ يجيب؟؟؟ من اآلن؟؟؟؟ ينقصنا ماذا !!!أساسي

....آهاممممممممممممم

يصحي .... النايم للجدول األساسي المفتاح هو !!!!!!!!!ما

جعلنا ألكثر ItemNum إذا مسطرة نبيع أن نستطيع فلن األساسي المفتاح هوطفل منجعلنا من SonNum وإذا أكثر طفل أي يشتري فلن األساسي المفتاح هو

واحد صنف

الحل؟؟؟؟ هــــــــــــــــــو مــــــــــــــــــــــا

السيارات لوحات يتذكر !!!!!!!!!!!!!!!!!!!!من

األساسي المفتاح هو الحقلين مجموع ...نعم

54

Page 55: Relational Databases

الحقلين كًال األساسي SonNum و ItemNum نشط المفتاح على واضغط

بعدين --- --- " مشكلة هناك خفيف وبصوت (..بهمس

بإسم الجدول أحفظ الجدول SonsItems األن هذا نربط بنا وتعالو

الجدول أضف اليمين الزر بإستخدام الحًالقات صفحة إلى SonsItems فيالعًالقات صفحة

...ركز

إسحب األبناء جدول على SonNum من جدول SonNum وأسقطه فيSonsItems . والحذف التعديل من كل على وصحين التكامل على صح ضع ثم

متعدد ---- إلى واحد هي نعم الصفحة أسفل في العًالقة شكل .الحظ

إسحب األصناف جدول على ItemNum من جدول ItemNum وأسقطه فيSonsItems . والحذف التعديل من كل على وصحين التكامل على صح ضع ثم

متعدد ---- إلى واحد هي نعم الصفحة أسفل في العًالقة شكل .الحظ

منزلي ....واجب

في اإلبن رقم تكرار نستطيع لماذا؟ SonsItems هل ؟في الصنف رقم تكرار نستطيع لماذا؟ SonsItems هل ؟

مشكلة هناك أن منخفض بصوت أذنكم في همست قليل !!!!!!!!!منذ

اآلن؟ المشكلة هي ما لي يقول منالمشكلة؟ هذه سيحلون الذين العباقرة اين

وتعذبوووووووووووووو فكروووووووووووووووووو

تحياتي،،،--------------------------

لألخ نضع ) : AraFox مًالحظة ولماذا الجملة بهذه قصدت ماذا عزيزي أفهم لمهي بينهما العًالقه لحفظ one to one جدولين امنيه كمساله هي والسبب

نجعلها ان فًاليمكن نفسها تفرض التي هي العًالقه ان اعرفه الذي البياناتone to one كذلك كانت اذا (اال

قاعدة تصميم كيفية على يعتمد فلسفي نمط العًالقات العزيز أخي عموماعدا ما العًالقة هذه تغيير نستطيع اننا الدروس أحد في شرحنا وقد البيانات

. ) قصدك) لي أوضح نشاء كيفما نشاء ما متى نشاء عندما متعدد إلى . متعدد

مرحبا،،،

األخ أما -- ( alhajri )أشكر مطبعي، خطأ نعم الخانات عدد بتصحييح قام الذياسمه حقل كيفية SonItemNum إستحداث قانون يتبع ال هذا ألن خطأ فطبعا

متعدد ) إلى متعدد عًالقة (.ربط

55

Page 56: Relational Databases

شراء على القدرة عدم وهي جميعا األخوة طرحه ما هي االن مشكلتنا طبعارقم الرقم 91صنف صاحب الطفل نفس من المسطرة . 120وهو وهذا مثًال

) على ) جدول إنشاء تتيح والتي متعدد إلى متعدد العًالقة في ما أجمل هوالتقاطع جدول اسمه جديد جدول خًالل من تقاطع أو جسر Junction شكل

Table نشاء ما فيه نفعل أن نستطيع جديد جدول لدينا أخرى بعبارة ،.

الغريبين ) الحقلين على يقتصر التقاطع جدول أن قال من أخرى مرة؟؟؟؟( !!!!فقط

) عد: ) مجرد إلى برمتها العملية تتحول والخصائص القيم تشابه عند قانون.فقط

وبهذا --- الخصائص تتغير لم نفسها هي والمسطرة نفسه هو الطفل أن أيالكمية --- هو الحل بإختصار األصناف بعد القيام هو الحلول أفضل .يكون

التقاطع جدول إلى التالي الحقل :SonsItems أضفQty رقم

الجدول إحفظ

... الشراء كمية نضع صنف ألي طفل أي شراء عند اآلن حدث الذي ما

التقاطع جدول إلى التالية السجًالت بإضافة :SonsItems قم110 90 3110 91 2110 92 7110 95 5110 99 9120 93 6120 99 2130 90 2130 94 2130 97 4170 92 12

. الجدول إحفظ صنف كل من المشتراة الكمية األخير العمود يمثل .حيث

-------------

تاريخه؟ حتى إستفدنا وماذا اآلن؟ نحن أين

البيانات قواعد وتكامل بتماسك يتعلق الموضوع كلحتى الوقت وإضاعة للعبث هي اآلكسس في والمايكروز والتقارير النماذج

تسمى والتي فيها المرتبطة البرمجة مجرد Access Code أو VBA لغة هيالبرمجة لغة من جدا مشوه لغة وهي VB عبث

خادم ) على المعتمدة المتقدمة البيانات قواعد برامج مثل Server( أنOracle و MS SQL بهارات وال مايكروز وال تقارير وال نماذج ال فيها ...!!!!ليس

إنشاء في تساعد محكمة قوانين إلى يخضع والتكامل التماسك Skeleton نصحيح بشكل البيانات لقاعدة الخرساني او العظمي الهيكل .او

56

Page 57: Relational Databases

. ) من ) معظم أن والغريب دقائق في تتم نزهة ليست الجداول ربط عملية أنيصرفون المهنية حياتي في الجداول% 10قابلتهم بناء على وقتهم من

و وتدليعها% 90واإلستعًالمات وترقيصها وتحريكها والتقارير النماذج أللوانغريب --- !!وتسطيرها

أن يجب السوق في تباع أن يمكن والتي الثقيل الوزن من بيانات لقواعدالعكس و% 90يحدث واإلستعًالمات الجداول من% 10لتصميم للباقي

وغيره والنماذج والبهارات .الزبرقة

بعدة تشكيلها ويمكن البداية في واضحة غير دائما الجداول بين العًالقة أن ) بتصميم ) تقوم عندما العمل فريق فكرة جاءت هنا ومن حلول، وعدة طرق

على معظمها ينصب اإلجتماعات من سلسلة تعقد فإنك بيانات قاعدةتضمن حتى الحلقة هذه في تدور وتظل واإلستعًالمات والربط الجداول

القاعدة وتكامل .تماسك

) إستعًالمات ) هي والنماذج التقارير كافة الشىء بعض غريبة تبدو قد حملةوالروابط الجداول تصميم كان إذا جدا معقدة واإلستعًالمات األولي، بالدرجة . سهلة بطريقه الجداول تربط أن حاول دائما صحيح والعكس معقد، بينها

.وواضحة

لألخ مًالحظتي إلى له --- ( alhajri )إرجع قلت ببساطة الدرس هذا بداية في ) للمشكلة، ) في حله في أفكر أن أريد ال لماذا؟ وأعصابي دماغي وريحت خطأ

الكمية ... إدراج خًالل من وأفضل ووأوضح أسهل آخر حل لدينا ألن لماذا؟لحظة ...ولكن

) هناك ) يكون أن له بتصميمها نقوم التي البيانات قاعدة صاحب طلب لو ماذا؟؟؟؟ لألطفال الشراء تاريخ يوضح !!!!حقل

حل إلى ألتفت لم بإتباعة قمت الذي السهل الحل صداعا ( alhajri )في متًالفيا ) سيشتري ) الطفل أن يعني هذا فإن لشراء تاريخ بإدخال لكن إضافيا، وفكرا

و 10 السبت يوم ... ...5مساطر منه مفر ال اآلن التكرار األحد يوم مساطر . حالة في ألنه إلجتماع العمل فريق دعوة تتطلب خانقة مشكلة وستكون

األخ الى نذهب وعندها والتكامل التماسك إنهار الشراء تاريخ (alhajri )إدخال . ) ال ) الشراء تاريخ إدراج عند ثانية مرة إشرح تكفى له ونقول راسه ونبوس

... إلى بحاجة وانتم انا جاهز حل لدي ليس وسريع، سحري سهل حل يوجد . طبعا مختلف بشكل القاعدة تصميم إعادة إلى يؤدي قد الذي العميق التفكير

البيانات قواعد في مشكلة ألي حلول هناك وأبدا .دائما

أقوله؟ الذي ما

تجربة من أكثر عملت وقد التعقيد غاية في عملية وربطها الجداول تصميم إنقاعدة بتصميم تقوم مجموعة كل أن ألرى ألقيتها التي المحاضرات في

حل سهولة في تكمن الفروق ولكن صحيحة وكلها مختلفة بطريقة البياناتفك إعادة في سهولة البيانات إدخال في سهولة تعني سهولة وكلمة آخر، عن

وحقولها وسجًالتها البيانات قاعدة صيانة في سهولة البيانات قاعدة .وتركيب

دقائق ... في يحضر السلطة من طبق ليست العملية نزهة ليست العمليةعلى ماكروز بهارات شوية على إستعًالم كام على حقول شوية من مكونا

هناك من وتقرير هنا من .نموذج

57

Page 58: Relational Databases

في ( alhajri )أخي تفكيرا رؤسنا نفجر عندما بعد فيما لتنقذنا إليك سنعودالمستوصف بيانات قاعدة جداول نربط .كيف

إبنه مشتريات مقابل أب كل دفعه الذي المبلغ على الحصول هو الهدف كانفيه األصناف جدول الكمية ItemCost وألن يوضح حقل وجود بالضرورة كان

Qty الشراء تكلفة على والحصول الكميتين .لضرب

اآلن سنفعله ما وهذا شرحها دون اإلستعًالمات بعض بعمل قمنا أننا .صحيح

سنفعل؟ ماذا

... على نتحدث أن بعد متى؟ بعد فيما إليها ونعود والروابط الجاول سنترك ... لغة وهي العالم في البرمجة لغات أقدم من .SQL واحدة

تحياتي،،،

مرحبا،،،

البداية،،، قبل لنتفق

SQL تعني Structured Query Language البيانات قواعد برمجة لغة وهيميكروسوف شركة ببرنامج لها عًالقة مجرد Microsoft SQL Server وال هي

اإلسم إلستعارة ميكروسوفت شركة من .لقافة

:إذاSQL برمجة لغة هي

MS SQL Server إسمها شركة من صمم البيانات لقواعد متقدم خادم هوو للكلمة MSميكروسوفت .Microsoft إختصار

إتفقنا؟

هي ومن أبوهما ومن ولدت وأين اللغة هذه تاريخ في الثمين وقتكم أضيع لنبسهولة عنها البحث ويمكنكم المعلومات بهذه اإلنترنت يعج حيث عمتها،

تشاؤون متى بذلك أنصح وأنا .وقرائتها

حرف من حرف S دعك على L وأرمي التركيز كل وركز المهمًالت سلة فيكلها Q الحرف للعملية السحري المفتاح هو أنه .حيث

Q = Query

Query ---- وصلت إستنبطاااح إستنباط إستفهام إستفسار إستعًالم تعنيالفكرة؟؟؟

واإلستعًالم؟ الجدول بين الفرق ما هو والتقليدي البديهي السؤال

مع الجداول بقية مع يعمل والتكامل التماسك شديد خرساني هيكل الجدول . منتصب رسمية ببدلة رجل هو الجدول وشخصيته إستقًالله على محافظته

كبير وإلتزام مفرطة بجدية الشارع في ويسير يمزح ال الوجه عابس .الطول

58

Page 59: Relational Databases

... عليه ويغلب العبث ال ول المزاح يقبل ال الجدول الجدول مع تمزح الوالتجهم والعبوس والشدة .التماسك

... ) المزاح، ) يحب لذيذ، حبوب، مصر في األخوة رأي على صايع ولد اإلستعًالممن معه مزحت إذا ولكن والعبث المزاح أنواع كل يقبل معه، التعامل سهل

. --- ) ( ) جذورها) من البيانات قاعدة نسف اليسار من معه مزحت إذا ، اليميناإلستعًالم --- هو هذا غضب اذا الحليم شر إتق بمثل سمعت !!!هل

السيد من Codd ألن بد ال كان مختلفة جداول في ووزعها حقولنا مزقالبعض بعضها مع الحقول هذه لتجميع ما !!!طريقة

الجدول هو واإلستعًالم اإلستعًالم، هو جدا !! الجدول جدا جدا عالية مرونة معاإلستعًالم تشكيل كيفية .في

SQL ) إلى ) للوصول الرياضيات من المصفوفات علم تستخدم لغة هيلمحبي --- فقط بالشىء للعلم ولكن تستخدم ماذا حقيقة يهمك وال الحلول

المصفوفات المسمى الرائع العلم مصفوفة Matrices هذا .Matrix ومفردها

في ولكن SQL الغريب جدا، الشديد التعقيد غاية وفي الجذور عميقة أنهامن أقل من تتكون أبعادها بكل اللغة كامل أن الموضوع في أوامر 10الممتع

من-- أقل حتى أو تصدق أوال أذكر 5صدق ما على !!!أوامر

أن معنى --- SQL قلنا ما اليسار، الجهة من وتغضب اليمين الجهة من تمزحهذا؟

للغة فقط إثنين إستخدامين واآلخر SQL هناك اليمين من مزاح أسميه واحداليسار من :مزاح

:) شكل ) بأي البيانات على الحصول هو اليمين من مزاح األول اإلستخدامكيفية وبأي

: ) تحديث ) هو اليسار من مزاح الثني الهيكل Skeleton اإلستخدام اووالروابط ---- والحقول الجداول وتعديل تغيير أي البيانات لقاعدة الخرساني

جدا خطير !!!اااووو

) سهلة ) برامج وجود في ميكروسوفت شركة قوانين وليتبع بغبائه اآلكسسداخل صغيرة برامج لك وضعت البيانات قواعد بسهولة مستخدميها تشعر

إنشاء على تساعد صفحة ووضعت الجداول، إنشاء على تساعدك اآلكسسوهكذا اإلستعًالمات إنشاء على تساعدك سهلى صفحة ووضعت ....العًالقات،

) وبين ) بينك واجهة مجرد الحقيقة في الصغيره البرامج يقوم SQL هذه الذي ، هو يائه إلى ألفه من كله SQL بالعمل

أوامر ( SQL أشهر إنتقي ) أو إختر اإلمر SELECT هوعلى سأضعك ولكنني محاضرات وعدة أيام عدة األمر هذا شرح يحتاج

أنت تنطلق ثم للتعلم الصحيح .الطريق

جملة لها SELECT تركيب شكل وأسهل الفرعية األوامر عشرات من يتكون:هو

59

Page 60: Relational Databases

Select كلمةمسافة أو فراغ بعدها

حقل إسم كل بعد فاصلة وجود مع الحقول إسماء بعدهافراغ بعدهاكلمة From بعدها

الجدول إسم بعدها

اآلكسس عمل آلية أيضا يوضح وهو مثاال نأخذ ..تعال

بيانات قاعدة في جديد إستعًالم Family إفتحاإلستعًالم في تستخدمها أن تريد التي الجداول عن تسألك نافذة لك ستظهر

إغًالق جدول Close إضغط أي إختيار ...بدون

جداول بدون اآلن ...الصفحة

عرض ) إختر الرئيسية القائمة عرض ) View( من ترى؟ ( --- SQL ثم ماذاوهي فقط واحدة جملة SELECT ترى

األول السطر في التالية الجملة إكتبSelect FatherName From Fathers

حدث؟؟ --- ماذا اإلستعًالم نفذ

عرض ) قائمة من بل فقط،، هذا التصميم ) View( ليس عرض Design( إخترView مممممممم ،،،...

ترى؟؟؟ ماذا

ال عالم في بك Select مرحبا

تحياتي،،،

مرحبا،،،

ومثله األكسس أن الجداول MS SQL قلنا إنشاء على يساعدنكولكن --- --- يساعدنك فقط ركز نعم صغيرة برامج خًالل من واإلستعًالمات

متكامل كامل حل وليس مساعدة مجرد !!!إنتبه

هذا؟ يعني ماذا

من الفرار تستطيع لن أنك إذا SQL يعني إال تعلمها من الهروب تستطيع ولنالشخصي إلستخدامك مبسطة بيانات قاعدة تصمم أن .أردت

بيانات قواعد تبيع أن أرت إذاالبيانات قواعد لتصميم عمل فريق ضمن تكون أن أردت إذا

للسوق وتبيع نقود تقبض أن أردت إذامحترفا تكون أن أردت إذا

60

Page 61: Relational Databases

أوامر تتعلم أن المعلومات SQL يجب حاجز تقفز ولن وقتك تضيع فإنك وإالغضبك جام وستصب مكانها تراوح معلومات ستبقى أخرى بعبارة لديك،، التيله قيمة وال نتيجة ال جهدا تستنزف التي والماكروز والتقارير النماذج .على

:الجملةSelect FatherName From Fathers

للتركيب شرحناه Syntax تخضع .الذي

Select كلمةفراغ ثم

واحد حقل أسم ثمفراغ ثمكلمة From ثمفراغ ثم

الجدول إسم ثم

مثل --- فاصلة ضع الحقول بين بسيطة حقل من أكثر أريد كنت إذا ماذاSelect FatherName, FatherNum From Fathers

في Codd مستر بعد فيما تتورطو ال حتى لنا ويقول الحقول تيمييز على يصير --- ) يعني ) ماذا البعض بعضها عن الحقول بتمييز قوموا وكثيرة كبيرة مشاكل

هذا؟

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

. Ambiguity يسمى تفهم لن حيث والغموض اإللتباس أي SQL ويعني منالحقل بيانات تريد FatherName جدول

الحقل إسم قبل الجدول إسم نستخدم الحقول ولتمييز سبق ما لتصحيحقاعدة نفس في اإلسم بنفس جدوالن هناك يكون أن يستحيل وبالطبع

مستر --- شروط ونتبع لنصحح Codd البيانات

Select Fathers.FatherName From FathersSelect Fathers.FatherName, Fathers.FatherNum From Fathers

نقطة وبينهما حقل كل قبل الجدول إسم .وضعنا

أو اآلكسس في الموضوع بالطريقة MS SQL إعكس إستعًالم بإنشاء قمجدول على مزودج نقر جديد، إستعًالم غفتح نقر Fathers التقليدية، ثم إغًالق ،

الحقلين من كل على FathersNum ثم FatherName مزدوج

جملة بإستعراض عرض SQL قم قائمة View مننهاية --- في المنقوطة الفاصلة من دعك طبعا السابقة الجملة نفس سترى

اآلن --- لها قيمة ال الجملة

كله؟ هذا يعني ماذا

61

Page 62: Relational Databases

وكذلك اآلكسس طريقة إستغًالل نستطيع أننا إجراء MS SQL يعني فيجملة على اإلطًالع ثم ومن التجارب من تركيبها SQL الكثير وكيفية

كلها البيانات قواعد .نترك

العمليات من أنواع ثًالثة البرمجة علم :في

Arithmetical Operations الضرب عمليات وهي الحسابية العمليات أووالمثلثات والجذور والوغاريثمات واألسس والطرح والجمع والقسمة

.. إلخ ز و والجبر والفراغية

Comparison Operators المساواة وعدم المساواة مثل المقارنة عمليات أو... إلخ و من وأصغر من وأكبر

Logical Operations وهي المنطقية العمليات ,AND, OR" آل" "أو" "و "أوNOT ... إلخ

العمليات من سبق ما كل تستخدم وهي البيانات قواعد إلى .نعود

التالي المثال ...طبقجدول من األبناء وكل األباء جدول من األباء كل أظهر إستعًالم خًالل من

جملة -- تساهد أن أريد اآلن ولكن سابقا بهذا قمنا Select األبناء

SELECT Fathers.FatherNum, Fathers.FatherName, Sons.SonNum, Sons.SonName FROM Fathers INNER JOIN Sons ON

Fathers.FatherNum = Sons.FatherNum

الجملة على التركيز هو منك أريده ما من --- ( Inner Join )كل يتذكر منالجملة تركيبة وشاهد اآلخرين النوعين طبق معنا، وكذلك Right Join يكتب

Left Join

تدريس قطعا أحاول وال الصحيح الطريق على أضعك أن أحاول إنني تذكرSQL والشرح والتجارب والتمارين الوقت من الكثير إلى تحتاج والتي

.المباشر

اإلستعًالم ORDER BY جملة نتائج ترتيب على تساعد التي الجملة هي

وضع في جديد استعًالم نافذة التالية SQL إفتح الجملة واكتب

Select FatherNum From Fathers Order By FatherNum

تعني؟؟ ماذا

الحقل بيانات كافة ما ) FatherName أظهر سمه فرز أو فهرسة أو ترتيب من ) وشاهد( ... ) التصميم عرض إلى عد األكبر إلى األصغر من تصاعدي شئت

التقليدية بالطريقة اإلستعًالم إنشاء تم .كيف

تنازليا السابق نستعرض كيف

62

Page 63: Relational Databases

Select FatherNum From Fathers Order By FatherNum DESC

النهاية في الكلمة إلى ل Desc إنظر إختصار تنازلي -- Descending وهي أيمًالحظاتك وأكتب وشاهد وجرب .طبق

من أكبر رقمهم الذين اآلباء كافة أردنا لو ؟5000ماذا

الشرط خاصية عندما WHERE نستخدم تشاء !!! أي كيف !!ترجمها

Select FatherNum From Fathers WHERE FatherNum>5000

--- --- --- --- -- ) فكر ) شاهد طبق نفذ المقارنة عمليات أحد إستخدم الحظشيئا --- تفهم لن وإال لخص ...أكتب

نص ... ) األب رقم ألن لماذا؟ السابقة الجملة في خطأ ستجد و Text( طبعااآلكسس -- 5000 في البيانات قواعد من جزء وهي الدوال نستخدم رقم،في Value أي VAL أسمها قيمة، التحويل Cast نستخدم MS SQL أو .أي

...صححSelect FatherNum From Fathers WHERE VAL)FatherNum>5000

الحقل عنوان نغير أن أردنا لو ونحن FatherName ماذا اإلنجليزية باللغة ألنهبالعربية نريده

سطور ) على سأضعها واإلنجليزية العربية بين هنا الكتابة في مشكلة اواجهواحد سطر في بع فيما تلصقها وأنت ( !!!!مختلفة

Select FatherName

Asاألب ] [إسم

FromFathers

ASC

ASC إختصار Ascending الياء إلى األلف من اآلباء أسماء ترتيب .أي

) طبعا ) بعد فيما أسبوعين عن يقا ال وقتا تصرف أن القارىء عزيزي أريدكجملة ممارسة SQL على

يتقبله الذي المزاح هو اآلن حتى فعلنا ما بتكامل SQL كل المساس دون مناالبيانات قاعدة .وتماسك

شقين إلى ينقسم المزاح من الثاني :النوع

-- ) الحذر: ) وينبغي السجًالت في الجداول داخل البيانات في تعديل األولوينبغي: --- -- الخطير وهو بينها والروابط والحقول الجداول في تعديل الثاني

جدا الشديد الحذر

63

Page 64: Relational Databases

خًالل من يتم الجداول بيانات :تعدلجديدة سجًالت إضافةموجودة سجًالت تعديلموجودة سجًالت حذف

بلغة نستمتع األمر SQL تعالوا نستخدم اآلباء لجدول جديدين سجلين ونضيفInsert عن نتحدث نحن القارىء عزيزي تنسى وال أدخل نفسها SQL أي وهي

) و ) اآلكسس مثل البيانات قواعد برامج كافة في تقريبا و MS SQLبالظبطOracle وSysbase وغيرها.

العربي -- --- بين التحول في مشكلة لدي الموقع أصحاب يا جماعة ياسأحاول -- المنتديات طرق في غشيم أنا عموما واإلنجليزي

Insert Into Fathers Values )

1500,القرني " خالد "سعيد,

39(

األب أن اآلباء جدول من وتأكد اإلسنعًالم إضافته 1500نفذ تم قد

ترتيب حسب القوسين بين الموجودة بالقيم التالي السجل أدخل ومعناهاالجدول في ...الحقول

إذا اإلستعًالمات،، إنشاء عملية في المساعد البرنامج ضعف معي شاهد تعالعرض ) على بالضغط اإلستعًالم هذا صنع كيفية إستعراض اآلن حاولت

محترف( --- اآلن أنت اآلكسس يساعد لن تستطيع،،، لن !!!التصميم

األب عمر نعديل إلى 39من 1500تعالو لغة 36سنة بإستخدام SQL سنةUpdate Fathers SET FatherAge = 36 WHERE

VAL)FatherNum(=1500

األب عمر تعديل تم أنه من بالتأكد وقم اإلستعًالم اآلباء 1500نفذ جدول من

األب نحذف بنا 1500تعالDelete From Fathers WHERE VAL)FatherNum(=1500

وتأكد ...نفذ

منزلي ...واجب

لغة SQL بإستخدام

تساوي أو أقل أرقامهم الذين األباء بيانات 4000أظهرمن اقل أعمارهم الذين اآلبناء بيانات سنوات 5أظهرعى تقل تكلفتها التي األصناف بيانات رياالت 5أظهر

64

Page 65: Relational Databases

لغة بإستخدام حلها ثم األقل على أخرى أسئلة خمسة نفسك SQL إسأل

تحياتي،،،

مرحبا،،،

لغة :SQL في

نستخدم اإلضافة Insert Into عندنستخدم التعديل Update... Set عندنستخدم الحذف Delete عند

أوامر هذه أن وأبدا دائما وتذكر أخرى مرة معي ال SQL ركز يهم SQL والاألولى؟ الطبقة يتذكر مين تستخدمها، أين من

) أمر ) أتى أين من يهم ال التقارير بالنماذج الخاصة األولى الطبقة SQL فيمن :سواء

VBVB.NetC#.Net

++C .net

JavaAccess

Excel

MySQLInterdev

AspAsp.Net

Oracle Designer

...إلخ

أعًاله البرامج وكل األولى الطبقة إنشاء في يستخدم أن يمكن سبق ما كل ) بإساخدام ) الثالثة الطبقة في الموجودة البيانات قاعدة مع التخاطب تستطيع

نستخدمه SQL أوامر الذي البرنامج أو األداة يهمنا ال ألننا ورائع ممتاز وهذاالبيانات إلى .للوصول

لغة أوامر نفس تستخدم والتطبيقات البرامج SQL كل

مع المزاح من الثاني الجزء نسف SQL تركنا إستخدامه أسيء إذا الذي وهوSQL إلى للوصول المتواصل التدريب إلى هذا ويحتاج البيانات قاعدة كل

اإلتقان .مرحلة

األمر نستخدم البيانات قاعدة في جديد جدول Create Table إلنشاءعرض ) أفتح جديد إستعًالم التالي ( SQL في السطر :وادخل

65

Page 66: Relational Databases

:للتبسيط

آكسس فيCreate Table Tests )TestID text)4(, TestName text)25(, TestAge

Number(صلحوها --- --- واالنجليزي العربي لخبطة من انا تعبت األقواس مشكلة والله

!!!انتم

Query Analyzer وبإستخدام MS SQL فيCreate Table Tests )TestID char)4(, TestName char)25(, TestAge

int(األقواس صححوا

الجديد بالجدول وتمتع الجداول إلى عمل MS SQL في !!! أذهب من بد الRefresh الجديد الجدول ترى حتى .للجداول

يجيب؟ --- من مرة من أكثر األمر هذا تنفيذ تستطيع ال أنك !!!ستًالحظ

نستخدم جدول Alter Table لتعديلنستخدم جدول Drop Table احذف

األوامر هذه أن القارىء عزيزي تصدق ال أو :صدقSelect

UpdateInsert

Delete

Create TableAlter TableDrop Table

) لغة ) أوامر كل تقريبا فقط !!!!SQL هيإلى --- وتحتاج طويلة قصة األوامر هذه أمر كل البداية في قلنا كما طبعاعلى اضعك أن أحاول وهاهنا والشرح والتمارين والجهد الصبر من الكثير

إتقان من بد ال البيانات قواعد في اإلحتراف أردت إذا الصحيح،، الطريق . بعمل وقم وبهدوء بروية األوامر من واحد كل خذ التيأس،، السابقة األوامر

... إستعًالم قائمة في الحظ ذلك إلى وما والمحاوالت التجارب من المئاتQuery مثل اإلستعًالمات أنواع من الكثير سترى اآلكسس :في

تحديث استعًالمجدول انشاء استعًالم

...إلخ

وإستيضاح السابقة األوامر خًالل من إنشاؤها يمكن اإلستعًالمات هذه كلاألهمية غاية في بينها .الفروق

لغة على الضوء من مزيدا ونلقي بعد فيما يسعفنا الوقت SQL لعل

66

Page 67: Relational Databases

واألبناء اآلباء وجدولي البيانات قاعدة إلى لنعود

بلغة سواء أستعًالم لي ينشأ ( SQL من يوضح ) التصميم عرض خًالل من أوإبنه؟؟ مشتريات مقابل أب كل دفعه ما إجمالي

تعذبواااا

تحياتي،،،

مرحبا،،،

أقول biskra األخ ماذا أدري ال !!!والله

بريد أي على الخاص البريد على لي تقول ليتك منك، شيء يصلني لم � أوالالرسالة لي .ارسلت

نقاط: ثًالث واألخوات األخوة كافة إلى :ثانياوأخيرا --- أوال لله الشكر له فأقول شكرا لي أرسل من كل األولى النقطة

لكم موصول .والشكر

آمين --- اللهم فأقول دعاء لي أرسل من كل الثانية .النقطة

يكن --- --- لم له فأقول بيانات قاعدة تصميم طلب من كل الثالثة النقطةبفضل --- ) أساعدك أن هو الهدف أخرى مرة وأعيد هذا هو مشاركتي هدف

) المفاهيم تتعلم وأن الصحيح الطريق على تقف أن على وأخيرا أوال اللهواألسس المفاهيم هذه إلكمال لي المتاح والوقت البيانات، لقواعد األساسية

بعد بالكثير إلالتباطي جدا العشر 20مضغوط جميعا وتعلمون رمضانمن البد ثم ومن جدا 6األواخر، ضخم بمشروع مرتبط اإلجازة بعد أي شوال

المملكة في لدينا والتعليم التربية وزارة مستوى على البيانات لقواعدسأقوده ) عمل فريق معي وسيكون الرياالت من األولوف بمئات والمشروع

) حوالي من مكون الله و 8بمشئية ومن 4رجال المشروع هذا إلنهاء نساءحوالي يستنزف أن والبرمجة 6المتوقع التصميم من .أشهر

المشاركين لبعض نفس على قطعتها وعود أربعة سبق مما :إستثني

في ( alali100 )األخ بالمساعدة وعدته وقد تفاهم سوء وبينه بيني حدث والذيوالوارد الصادر .برنامجه

منتدى في الخاصة ( MS SQL )أخت البيانات قاعدة في بمساعدتها وعدتها.بها

) في ) بمساعدته وعدته أسمائهم حتى ونسيت أخربط قمت والله ثالث وأخعلى متقدم نظام على VB.Net تطوير التطبيقات بعض وربطها Asp.Net مع

.بالجوال

والتي قبل من طرحتها التي المسابقة في المشاركات بتقييم الرابع والوعدلم تاريخه وحتى ألنثى واألخرى لذكر األولى متماثلتين جائزتين لها خصصت

المقدمة في تنفيذه يأتي الوعد وهذا المسابقة، أسئلة إلكمال الوقت يسعفني

67

Page 68: Relational Databases

السابقة الوعود .على

) طاقتي ) من بأكثر وعدت قد شهامة لحظة في أكون أال الله من وآملالتحمل على .وقدرتي

) داخلي ) غرور أوال والتي وصلتني التي الرسائل من للعشرات مقدر أنا كمانني وثانيا جدا المحدودة وإمكانياتي المتواضع شخصي في بثقتكم أسعدتني

بإكمالها تحلمون التي البيانات قواعد تصميم في أساعد أن أود .فعًال

) لتنظيم ) فرصة اعطوني أقول انا أحدا أساعد لن لكم أقول أن أريد ال قطعاأعطوني وكذلك أعًاله، اليه المشار الجديد بمشروعي الخاص العمل فريق

. أرتب الله بمشيئة بعدها ومن نفسي على قطعتها التي الوعود لتنفيذ فرصةعالم في وتطلعاتكم أحًالمكم بعض تنفيذ على بالله وأستعين أولوياتي

البيانات وقواعد .البرمجة

قواعد عن فكرة أي لديهم وليس معي تواصلو للذين فقط أل وألف أل أقولمن الياء إلى األلف من بالكامل البيانات قاعدة تصميم ويطلبون البيانات

....قبلي

يعقل؟ وكيف هذا كيف بالله

المشاركين واألخوات لألخوة الحكم !!!!!أترك

علمتنا ما إال لنا علم ال .اللهم

تحياتي،،،

مرحبا،،،

...نستكمل

السيد قواعد من أخرى عمليات Codd قاعدة أي وضع يمنع أنه على وتنصالجداول في .حسابية

تضيف --- ثم اإلبن ميًالد تاريخ تضع أن الجداول في مثًال يمكن ال أخرى مرةالحالي التاريخ من الوالدة تاريخ بطرح البرمجة خًالل من تقوم للعمر حقًال

الطفل عمر على للحصول التحويل .وثم

يقول تحصل Codd عندما لن ولكنك هذا عمل تستطيع أنك يقصد فهو ممنوعومتماسكة متكاملة بيانات قاعدة .على

اإلستعًالمات في تتم الحسابية العمليات ...كافة

أب كل من المدفوع إجمالي نريد عنده وقفنا الذي السابق اإلستعًالم فيإبنه مشتريات مقابل

هذا يتم كيف نرى ...تعالو

التالية الحقول على مزدوجا نقرا إنقر ثم كلها الجداول أضف جديد إستعًالم

68

Page 69: Relational Databases

:بالترتيب

اآلباء جدول :منFatherNum

FatherName

األبناء حدول :منSonNum

SonName

النتيجية؟؟؟ --- هذه تعني ماذا لي يقول من النتيجة؟ هي ما �ستعًالم ا هذا نفذ

وتعال الحل ومحاولة السابق السؤال في التفكير بعد التصميم إلى إرجعالشرأء تكلفة .نحسب

) نضرب ) شراء عملية كل ركز كل المشتراه ItemCost لحساب الكمية فيQty

) هو ) األول السطر أن ستًالحظ لإلستعًالمات التصميم عرض أي Field فيحسابية عملية لدينا نحن حقل لدينا ليس ونحن الحقل

اكتب فارغ عمود :فيQty*ItemsCost

األكسس يعدل كيف ...الحظهذه على يجيب لن اإلستعًالم؟؟؟ هذا نتيجة تعني ماذا اإلستعًالم،،، نفذ

ورق على عملناه ما كل لديهم الذين إال !!!األسئلة

عرض ) قائمة مجاميع View( من Totals إختر ) ( ) كل ) وتحت إجمالي عنوانه جديد سطر جديدة خدمة أتت نعم ؟ تًالحظ ماذا

حسب ) تجميع جملة ظهرت من --- Group By( حقل خاصية هي والمجاميعلغة آكسس SQL أوامر .وليس

( FtherName تحت Group By جملة األباء ) بتجميع اسطتعت ما قم تعنيمرة من أكثر األب تظهر ال أي .المتشابهين

هناك ( )او Group BY ولكن وإسم اإلبن ورقم األب أسم تحت حسب تجميعالحسابي. الحقل وكذلك ..اإلبن

ويسمى حقل هي الحسابية العملية الحقل Calcualted Field بالمناسبة أوبل الجداول في الحسابية العمليات نستخدم ال المنطلق هذا ومن الحسابي

اإلستعًالمات .في

الدفتر --- في ترسم أن كلها العملية وراء من المنطق تفهم حتى اآلن أيدكفعًال تكتب أي السابق اإلستعًالم في إليها المشار الخمسة الحقول فيه جدوال

الشرح هذا من عنها نبحث التي النهائية .النتيجة

أخرى ...مرةتكلفة إجمالي الطفل، إسم الطفل، رقم األب، إسم األب، رقم نريد

69

Page 70: Relational Databases

...مشترياته

تدريب قاعة في أمامي كنتم لو حبذا بالكتابة، شرحا صعبة العملية أن أعلم ) صبا ) المعلومات فيه وصببت لدي خاص بسكين رؤوسكم .لفتحت

... عنه لنتحدث الكثير هناك زال ما حيث الوقت ضغط تحت وأنا .لنحاول

� تفصيًال أكثر بشكل الشرح ونحاول أخرى مرة نعود ثم اإلستعًالم لنكملالدرس هذا ألهمية

) إجراء ) إلى ستضطر أنك فستًالحظ يدويا بالعملية تقوم أن حاولت إذا ) رقم --- ) الطفل مثال ألن لماذا؟ اآلباء لبعض جانبية حسابية 110عمليات

صح؟ --- مختلفة ألصناف شراء عملية من أكثر بإجراء قام ملقوف

) نحصل ) الصنف سعر في الكمية ضربنا إذا ركــــــــــــــــــــــــــــز السؤالماذا؟ ... على

الصنف --- 5أجرى 110الطفل سعر في الكمية ضرب عند شراء عمليات ......... على نحصل نعم ماذا؟ على أكثر 5نحصل نوضح إجماليات

الملقوف 110الطفل

بشراء المحاية 3قام بسعر اإلجمالي 2محايات رياالت 6ريالبشراء المسطرة 2قام بسعر اإلجمالي 4مسطرة ريال 8رياالتبشراء القلم 7قام بسعر رصاص اإلجمالي 1أقًالم ريال 7ريالبشراء لإلجمالي --- 5قام للوصول كمل سبوراتبشراء لإلجمالي --- 9قام للوصول كمل دفاتر

المطلوب ............... ---- هو هذا ليس توقف لحظة .....ولكم

الطفل ... اب أي األب دفعه ما هو ليس !!! 110المطلوب طبعا هو؟ ماما هو كلها الخمس العمليات مجموع ناتج هو بل الخمس الشراء عمليات

إبنه مشتريات لقاء األب 110دفعه

جمع ناتج هي و ... 7و 8و 6أي ...و

من تختار أن أريدك حسابية عملية هو صنعناه الذي الحسابي الحقل ألن ) ب ) حسب تجميع وتستبدل حسابية Expression القائمة عملية ناتج .أي

وال اآلكسس ألن خطأ على ستحصل اآلن اإلستعًالم بتنفيذ قمت MS إذاSQL ( تجميع عمل يستطيعوا قانون Group By( لن إستخدام بدون للعملياتللسيد وهو Codd آخر

Aggregate Functions بالعربية ترجمتها أعلم !!!وال

بالترجمة يساعدنا من ...هل

القادم الدرس في موضوعنا ...وهي

70

Page 71: Relational Databases

تحياتي،،،

مرحبا،،،

قام طفل بإجراء لألخ الذي سأل عن )الكمية( أقول له الهدف هنا إجراء الحسابات وإذا شباب كلمة عملية شراء لنفس األصناف فهو مستحيل حسب تصميمنا للقاعدة )والله يا هناك )تاريخ القاعدة هذي تجيب الحساسية !!( وقد تطرقنا لهذا عندما إقترحنا أن يكون

إلى إعادة الشراء( --- عند إضافة تاريخ الشراء يصبح تصممنا للقاعدة خطأ وبحاجة.التصميم بفكر مختلفو ورؤية مختلفة

وأشكر األخوة على الترجمة وآمل أن تكون هي Aggregate Functions وصلنا إلى...تعالوا نرى ما هي الترجمة العلمية --- وال يهمنا هذا

باآلكسس ... من يقول لي ماذا يعني وال عًالقة لها SQL ال تنس أن هذه الدوال خاصة بلغةهذا؟ وما أهميته؟

...موجودة في هذه الدوال ومن أشهرها كل المعادالت الحسابيةِAVG --- هو مجموع األقيام مقسوما على عددها وهي المتوسط الحسابي وفي الرياضيات

Average

Count --- السجًالت في جدول ما --- او عدد األطفال اإلناث مثًال وهو العدد أي عدد

Max --- أكبر قيمة MaximumMin --- أقل قيمة Minimum

Sum --- المجموع SummationStdEv --- اإلنحراف المعياري أي Standard Deviation الخاص باإلحصاء....وهكذا

:اإلستعًالم الذي وقفنا عنده لحلTotals( قائمة عرض )مجاميع نضع الحقول األربعة التالية في اإلستعًالم ونختار من

FatherNum من جدول اآلباءFatherName األباء من جدول

SonNum من جدول األبناءSonName من جدول األبناء

أو تجميع حسب Group By السابقة --- نختار لها كل الحقول

للكناية عن Expression في العمود الخامس ونختار له ثم نضيف الحقل الحسابي التاليحسابية عملية

sum)Qty*ItemCost(صححوا األقواس

؟ ماSum لن أجيب --- من يقول لماذا تم إستخدام دالة --- Sum الحظ أن إستخدام دالةالفائدة منها؟

.اإلستعًالم للحصول على ما طلبناه نفذ

وهو عبارة عن جدول CrossTab Query نوع آخر من اإلستعًالمات الهامة جدا ويسمى من اإلستعًالمات فيه ثًالثة حقلين وكلمة جدول تعني صفوف وأعمدة وعليه فإن هذا النوع

الحقل الثاني هو أعمدة الجدول، والثالث عملية حسابية، الحقل األول هو صفوف الجدول،.أما القيمة في تقاطع كل صف مع عمود

( !!!!يساعدني في شرح كيفية إدراج صور في أي مشاركة من)

:التالي نفذ اإلستعًالم

(إختر )إستعًالم جدولي --- Query( أضف جدولي اآلباء واألبناء ثم إختر من قائمة )استعًالم

71

Page 72: Relational Databases

CrossTab Query

اإلجمالي )تجميع حسب( وجدولي )عنوان --- من جدول اآلباء FatherName اضف حقل(الصف

األبناء--- اإلجمالي )تجميع حسب( وجدولي )عنوان من جدول SonName اضف حقل(العمود

(وجدولي )القيمة( Count )جدول األبناء --- اإلجمالي من SonNum أضف حقل

!!!!يشرح لي هذا اإلستعًالم الرائع؟؟؟ نفذ اإلستعًالم... من

�( ان يصرف وقتا طويًال بل طويًال جدا في ممارسة ال ينسى أحد منكم )رجاء ال أمرا تنظيم وإنشاء الجداول تعتمد على قوة ووضوح اإلستعًالمات --- كل قواعد البيانات بعد

.اإلستعًالمات

هذه السلسة من الدروس آمل من الجميع حل الواجب التالي ألتأكد وقبل اإلستمرار في� أنك هناك من يذاكر .ويحاول فعليا

:التالية في قائمة إستعًالم -- )وهي أهم قائمة( يوجد الخيارات

وقد قمنا بتطبيقه --- Select Query إستعًالم تحديدوقد قمنا بتطبيقه في المثال السابق --- CrossTab Query إستعًالم جدولي

من يشرح لي هذا؟ --- Make-Table Query إستعًالم إنشاء جدوللي هذا؟ من يشرح --- Update Query إستعًالم تحديثمن يشرح لي هذا؟ --- Append Query إستعًالم إلحاقمن يشرح لي هذا؟ --- Delete Query إستعًالم حذف

:اإلستعًالمات وفيها ثًالثة أنواع من SQL أي خاص بلغة SQL خاص بUnion توحيد

Pass-Through تمريريData Definition تعريف بيانات

يحدث هذا؟ من يشرح لي ماذا يحدث عندما نختار أي من الثًالثة السابقة؟ لماذ.قد يسعفنا الوقت لشرحها بالتفصيل فيما بعد

...إجابات انتظر

تحياتي،،،

مرحبا،،،

� خاص بالزوجات !!!!قرر صاحب قاعدة البيانات أن يضيف جدوال

إقتراحات لحقول سأستمتع بفنجان من القهوة وأعود بعد قليل وأريد )بمشيئة الله( أن أرى أكثر من جدول الزوجات وكيف يتم الربط... الحظ أن كل أب يمكن أن يكون لديه

.زوجة...كما أن صاحب قاعدة البيانات يريد حقل لجنسية الزوجة

.إلى هذا طلب منا صاحب قاعدة البيانات أن نوضح في جدول األبناء جنس الطفل إضافة

...تنسوا أن قواعد البيانات تصمم من قبل فريق عمل ال

...فكروا

مرحبا،،،

72

Page 73: Relational Databases

أدري من أين إقترح ما عدا جزئيات بسيطة،،، وطبعا ال( AhmdMu )إجابات رائعة من األخ للطفل ؟؟؟!!! كيف )جنسية( للطفل ..... والله أضحكنى بشدة وهو يحاول إضافة جنسية

.يحدث هذا ال أدري... واضح أنه سريع القراءة

:فهي أكثر من رائعة وينقصها ما يلي اما إجاباته )وإلحاق سجًالت ال يكفي رد األخ في اإلستعًالمات التي تؤدي إلى حذف وتعديل

AhmdMu --- ) إضافية صغيرة جدا % ولكن بجزئية100بالطبع رده صحيح...

� أن يكون على سجل )واحد... في إجابة األخ أن الحذف واإللحاق والتعديل ليس شرطاAhmdMu )إستخدم )=( في كافة الشروط WHERE اردنا أن نضيف أو وهو صحيح إذا

� واحدا فقط ولكن العملية أشمل من هذا حيث انه بتغيير العًالمة )=( نعدل أو نحذف سجًال حذف وتعديل واضافة إلى عًالمات أخرى مثل أكبر من وأقل من وال يساوى وغيرها نستطيع

.مًاليين السجًالت من خًالل تنفيذ أمر إستعًالم واحد

� (.AhmdMu )لألخ الصاحي معنا شكرا

:التالية بالحقول Wives أضف جدول الزوجاتWifeNum مفتاح أساسي2نص ---

WifeName نصWifeAge رقم

WifeNationality --- وهو موضوعنا اآلنFatherNum --- للربط حقل غريب

:أضف الحقل التالي في جدول األبناءSonSex --- اآلن وهو موضوعنا

:على ماذا يقول؟ --- أحد القواعد والقوانين العامة ينص --- Codd نعود للسيد

!!!!!!!!!!تحييد اللغة

شديدة عدم اإلعتماد على )النصوص( في قاعدة ماذا يعني تحييد اللغة --- يعني وببساطةالبيانات، لماذا؟؟

...األسباب لمًاليينتسهيل عمليات اإلدخال

أخرى تسهيل ترجمة قاعدة البيانات من لغة إلىوغيرها تًالفي أخطاء الكتابة واإلمًالء --- من يذكر مشكلة أنثى وانثى

تصغير حجم قاعدة البيانات

الزوجات... كيف نتعامل مع هذا الحقل، لألسف الطرق تعالوا نرى حقل الجنسية في جدول من قاعدة بيانات هي إدخال النص وحيث أن اللغة العربية التقليدية والتي رأيتها في أكثر في مفرداتها نرى انها أحد اللغات القليلة جدا التي تتعامل مع من اللغات الغنية والثرية جدا

.للذكر، كما أنها من اللغات القليلة التي تتبنى مفهوم المثنى وغيره صفات لإلنثى وأخرى

:لدينا الله أننا نتعامل مع جدول كله نساء اآلن وبالتالي سيكون نحمدسعودية

كويتيةقطريةمصرية

...

في هذا الجدول ولن يكون لدينا أبداسعودي

كويتيقطريمصري

...

والتأنيث وجمع المذكر المعفوس )عفوا، ترا أنا من أشد العشاق لللغة إذا مشكلة التذكير

73

Page 74: Relational Databases

...مجر مزاح فقط العربية( ولكنه

:بنساء، ما هي المشكلة إنما لمشكلة ما زالت قائمة حتى مع كون الجدول بكامله يتعلقسعوديةسعوديه

المربوطة( --- في علم قواعد البيانات ما سبق جنسيتان الحظ )الهاء( مقارنة مع )التاء البيانات؟ كيف نحل هذه المشكلة؟ مختلفتلن... كيف نضمن مدخل

...تكفى ساعدنا --- Codd إتصال هاتفي مع السيد

Help Tables الحل هو بإستخدام الجداول المساعدة --- Codd شكرا سيد

وتساعدك على تحييد والجداول المساعدة من أجمل الجداول ألنها تكفيك شر أخطاء اإلمًالء بالنصوص فقط وبهذا اللغة بالكامل، والجدول المساعد تقتصر مهامه على تغذية الحقول

قمت بعمله هو الذي تكتب النصوص مرة واحدة بإمًالء حسب رغبتك ولكن هذا اإلمًالء الذي.سيكون موحدا في كافة سجًالت الجدول

تقوم الجداول المساعدة بحلها هي عمليات التعديل، لنفترض أن لدينا المشكلة الثانية التي ألف سعودية وتم إدخال الجنسية على شكل100مليون سجل منهم 2في جدول الزوجات

� ... ثم ...قررت تعديل هذا الخطأ... لديك حًالن )سعوودية( خطأ

� وهذا قطعا إنتحار ألف سجل100إما إدخال يدوي وتعديل ...يدويا وتغييره من )سعوودية( إلى لتحديث بيانات هذا الحقل Update أو تصميم إستعًالم

...)سعودية( ولكن لحظة

هذا النوع من اإلستعًالمات ... اإلستعًالمات التي تؤدي إلى نحن مررنا مرور الكرام على من سجل واحد تتطلب أعلى درجات الحذر وتتطلب إجراء نسخ إلحاق وحذف وتعديل ألكثر WHERE قبل إجراء عملية التعديل ألن أي خطأ في الشرط إحتياطية للبيانات األصلية

.وال حصر سيترتب عليه مصائب ال حد لها

الجداول المساعدة اذا، كًال الحلين السابقين ) غير عملي ( وبالتالي ال مفر من إستخدامHelp Tables قاعدة بيانات متكاملة لعزل اللغة وتحيدها والمساهمة من البداية في إنشاء

.ومتماسكة

:التالي إنشأ الجدول المساعدNationalityNum مفتاح رئيسي2نص --

Nationality نص

Nationalities بإسم إحفظه:أدخل البيانات التالية في جدول الجنسيات

بعد هذا؟ صح !! نربط جدول الجنسيات بجدول الزوجات ولكن يتطلب األمر أوال ماذا نفعلفي جدول الزوجات.... ليصبح ماذا؟ من يجيب؟ WifeNationality الحقل تعديل

....القراءة أجب قبل

ليصبح2وبطول على هيئة نص NationalityNum إلى WifeNationality نعدل الحقل.حقًال غريبا

إلى جدول Nationalities بالسحب من جدول NationalityNum إربط بين الحقلينWives واحد إلى متعدد وضع عًالمة صح على المربعات الثًالثة... والعًالقة اآلن.

:أضف السجًالت التالية في جدول الجنسياتسعودية 01قطرية 02كويتية 03مصرية 04إماراتية 05

74

Page 75: Relational Databases

يمنية 06عراقية 07عمانية 08بحرينية 09سورية 10

مهم حاليا )تحييد اللغة( ألن الربط يتم مع رقم الحظ أن التهجئة )اإلمًالء( للجنسيات غير.نفسها الجنسية وليس النص وهو الجنسية

!!!!!قم بربط جدول اآلباء مع جدول الزوجات --- قطعا لن أشرح كيف تقوم بهذا

:Wives ثم أضف السجًالت التالية إلى جدول الزوجاتWifeNum WifeName WifeAge NationalityNum FatherNum

4000 02 42غادة سعيد آل محمد 804000 10 22طًالل خالد منى 814000 02 36سارة خليل الدوسري 829000 07 19الخليل مها عبد الرحمن 836000 09 51سارة سعيد السالم 845000 01 39عفاف محمد اليوسف 88

...واجب منزلي

مشاكل؟ كيف نربط جنس الطفل؟ ماذا يحل لنا منكيف ننشأ إستعًالم يوضح عدد الزوجات لكل أب وعدد األطفال؟

كل أب من كل جنسية؟ كم عدد زوجاتمن يستطيع ن يقول لي متوسط أعمار زوجات كل أب؟

. !!! سؤال وأجب عليها وإستمتع بقواعد البيانات100نفسك إسأل

مرحبا،،،

القيمة( أي ال وصلنا إلى حقل جنس الطفل وسمى هذا النوع من الحقول )الحقول ثنائية:يوجد إال قيمتين إثنتين فقط

إنثىذكر

عزيزي القارىء أن تطبق نفس األسلوب الذي إتبعناه في حقل الجنسية في وتستطيع حيث إنشاء جدول للجنس فيه حقلين رقم الجنس ونوعا الجنس وتربط جدول الزوجات من

غريب هو رقم الجنس. وهذا مجهد لسجلين فقط )الحظ أن جدول مع جدول ألبناء بحقل فقط( وبهذا تصبح عملية إنشاء جدول وربطه وما الى ذلك الجنس سيحتوي على سجلين( !!!!مجهدة نوعا ما )لسجلين فقط

:في الحقول ثنائية القيمة مثلذكر - أنثىليل - نهار

صباحية -- فترة مسائية فترة

:أو في حقول النفي واإلثبات مثلمتزوج متزوج -- غير

مدخن -- غير مدخنعصبي -- غير عصبي

...وهكذا

.في اآلكسس Yes/No( أو )نعم/ال MS SQL في Bit حقول من نوع فإننا نستخدم

مثًال وبهذا تصبح اإلجابة بنعم أو ال غير SonSex جدول األبناء إسمه ولكن الحقل في العادة إلى تغيير طريقة تسمية الحقل إلى شيء أكثر دقة مثل أن منطقية وعليه جرت

75

Page 76: Relational Databases

.وبهذا يصبح السؤال )انثى؟( وعندها تصبح اإلجابة نعم أم ال Female يكون إسم الحقل

:الذكور فقط من جدول األبناء يصبح الشرط هو وعليه إلستعراضFemale=no

.اإلناث أي الجنس من غير

.برنامج قواعد بيانات آخر نترك اآلن قاعدة البيانات الخاصة بالعائلة ونقفل اآلكسس أو أي

(وعلى الورق فقط )كتابة فقطالجداول في قاعدة البيانات الخاصة بالمستوصف؟؟؟ قل لي كيف نربط

مرحبا،،،

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

.على كيفية وضع الصور( alhajri )شكرا األخ

كل هذا مما سبق؟ إذا كنت جيدا وسؤال شخصي لك هل تعرف( AhmdMu )ممتاز لألخ وقمت بعمل أية Microsoft SQL Server 2000( --- في قواعد البيانات )مو اآلكسس

لي فيه خبرتك بالظبط وإذا مشاريع أو نماذج من قبل... آمل إرسال بريد إلكتروني توضح اين أنت بالظبط )في أي كان لديك رغبة في المشاركة في مشاريع حقيقية. آمل اإلفادة الله. ستعمل )في حالة بلد( حتى يتم التنسيق معك في أقرب فرصة بعد العيد بمشيئة

شيئا. بالعكس سيكون قبولك ورغبتك ايضا( ستعمل من جهازك من منزلك ولن يؤثر عليكلديك دخل مادي جديد. تحياتي

---- واألمساك ولم أقرأ أي إقتراح لكيفية ربط جداول المستوصف )بدون أتى وقت السحور

.فقط آكسس( على الورق

...انا باإلنتظاااااااااااااااااااااااااااااار

مرحبا،،،

األقل جالس يحاول !!! وين الجماعة،، شايف على( ........... ha98 )محاولة جيدة من األخ

...السحور دسم الليلة

!!!!!!!!!! محاولة15 إلى 10أن أرى من لن أكمل قبل

...لديكم ... من كثرة التفكير والتمعن سأكون أول سبب من أسباب تساقط الشعر

والماكروز --- ما يوجد في هذه الدروس هو ما يسمى يا ناس ... إتركوا النماذج والتقارير

....للوقت بقواعد البيانات والباقي مضيعة

!!!!سأنتظر.... وأستمتع وأنا أرى كل واحد منكم يتعذب في حل المشكلة

تحياتي،،،

76

Page 77: Relational Databases

مرحبا،،،

البداية بهدوء وتمعن وروية..نحن ال نتعلم اآلكسس األخ )ابويوسف( أقترح عليك القرآءة من

قواعد البيانات( ... الحل الذي إقترحته هو من ناتج عن هنا ... نحن نتعلم )مفاهيم وأسس

البيانات... إذا أردت اإلحتراف والحصول على مبالغ مالية تراكم األخطاء في تعلم قواعد

تعيد النظر لتساعد نفسك على نسيان المفاهيم الخاطئة من قواعد البيانات أقترح أن

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

لإلستخدام من قبل عميل واحد فقط فًال بأس كل الطرق جيدة أو لقواعد بيانات مصغرة

.وصحيحة

:أكثر أقول لك -- إحفظ القاون الشامل التالي وألساعدك

Buttons كافة األزرار

Combo Boxes السرد قوائم

Text Boxes مربعات النص

إحفظ جيدا --- ليس لها أي عًالقة بقواعد البيانات ألن هذه --- وغيرها كثير من الكائنات

الطبقة األولى( وهي واجهة المستخدم -- نحن نتعلم اآلن )الكائنات تستخدم فقط في

.الخاص بقواعد البيانات Backend )الطبقة الثالثة( وهي

وبهذا تصبح النماذج والتقارير والكائنات كافة الكائنات تستخدم على النماذج والتقارير

اإلطًالق... أقصد بهذا ليست للمحترفين ولكنها والماكروز في )اآلكسس( ال قيمة لها على

.جيدة ورائعة للهواة

حساباتك مرة أخرى وهذه فرصة جيدة وثمينة إذا كنت مبتدئيا للحصول على المفاهيم أعد

.والطرق الصحيحة وليس تعميق المفاهيم الخاطئة

تحياتي،،،

مرحبا،،،

المفاهيم بدأ األخوة توقعت الحصول على محاوالت أكثر --- ال أدري هل مع تزايد صعوبة !!!واألخوات في الفرار بعد الصداع

نفسي وعدا بغض النظر عن أية عناصر أخرى فسأكمل وكل أملي وحيث أني قطعت على.والليالي الفضيلة الدعوات الصالحة منكم أن أنال في هذه األيام

...المستوصف نعود إلى قاعدة بيانات

� أنكم لن وآمل حتى في غياب المشاركات --- أن يكون هناك من حاول، وقد كنت متأكدا

77

Page 78: Relational Databases

هو تعميق مفاهيم تصلون إلى الحل ولم يكن أصًال الوصول إلى الحل هو الهدف --- الهدف:وأسس قواعد البيانات من خًالل توضيح

ليس نزهة ورحلة ممتعة وسهلة أن تصميم قاعدة بياناتأن التصميم يتطلب فكرا وجهدا وفريق عمل

كل قاعدة يختلف جذريا عن تصميم قاعدة بيانات أخرى --- حيث أن لكل قاعدة أن تصميمشخصية مستقلة ومنفردة عن أي قاعدة أخرى بيانات

تصميمها بعشرات الطرق المختلفة ودائما يوجد أن قاعدة البيانات الواحدة أي نفسها يمكن.األخرى طريقة مثلى أو أفضل من الطرق

نلخص هذه في جداول قاعدة البيانات الخاصة بالمستوصف لدينا مشكلة -- تعالوا:المشكلة

كل عيادة يدخلها أكثر من طبيب بين العيادات واألطباء -- عًالقة متعدد إلى متعدد حيث أن.وكل طبيب يدخل أكثر من عيادة

والمرضى -- عًالقة متعدد إلى متعدد حيث ان كل عيادة يدخلها أكثر من بين العياداتيزور أكثر من عيادة؟ مريض وكل مريض

كل طبيب يعالج أكثر من مريض بين األطباء والمرضى -- عًالقة متعدد إلى متعدد حيث أن.وكل مريض يعالجه أكثر من طبيب

هذا؟ العًالقات بين الجداول الثًالثة هي عًالقة متعدد إلى متعدد، ماذا يعني بإختصار،

جداول متقاطعة Junction Tables يعني )حسب ما تعلمناه( إنشاء ثًالثة جداول على شكل بشكل خطير وهذا غير عملي وسيؤدي إلى قاعدة بيانات على شكل )سباجيتي( أي متداخلة

.مما سيؤثر على التماسك والتكامل

سباجيتي )أي المكرونة المتداخلة( هو مصطلح علمي Spaghetti بالمناسبة المصطلح.يستخدم في البرمجة

اإلجابة هي بإستخدام جداول --- Codd الحل إذا؟ -- إتصال دولي سريع مع السيد ما هوTransaction Tables الحركة

إلى )المنطق( ولننسى قواعد معظم قواعد البيانات تستخدم جداول الحركة -- تعالو نعود:البيانات لدقيقة

دقائق( ولدينا جدول على الورق فيه بيانات األطباء5منذ لدينا مستوصف جديد )تم إفتتاحه فيه بيانات العيادات --- المستوصف جديد )أي ال يوجد ولدينا جدول آخر على الورق

(مرضى

اإلستقبال مبتسمين --- ماذا ننتظر ؟؟؟ نحن جميعا في قاعة

بدون دخول أي مريض إلى المستوصف سنبقى !!! نعم -- صح -- ننتظر دخول مريض ما نهاية الدوام -- بالتعبير العلمي ال يوجد جميعا في قاعة اإلستقبال مبتسمين ننتظر حتى

!!!حركة في المستوصف

مريض )وال يشكو من علة( فقط لإلطًالع على جاهزية المستوصف وقام بفتح حتى لو دخللدينا في المستوصف ثم خرج --- ما الذي حصل؟( ملف )مجاني

الجدول الثالث )جدول المرضى( حيث قمنا بإدراج كل ما حصل أنه ساعدنا في إنشاء ال يسمى حركة -- ألن الزائر ليس مريض ولم بياناته في الجدول )على الورق( -- هذا

.وال إشغال )تحريك( العيادة يترتب على زيارته إشغال )تحريك( الطبيب

بحاجة إلى أي عًالج سوى التأكد من مريض كلهم ليسوا1000لنفترض أننا حصلنا على حتى اآلن ال يوجد حركة في جاهزية المستوصف وقامو بفتح ملفات مجانية لدينا،

....المستوصف

البيانات لمحل شراء وبيع، جدول لألصناف وجدول نفس الوضع في حالة كون قاعدة

78

Page 79: Relational Databases

!!دخول مشتري لن يكون هناك حركة للعمًالء )فارغ( وجدول للبيع --- بدون

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

مسجلين في المدرسة جدول للمدرسين وجدول للفصول وجدول للمواد بدون وجود طلبة.بمواد فلن يكون هناك حركة

متى تبدأ الحركة ؟البيانات في التفاعل والعمل ؟ متى تبدأ قاعدة

من يجيب بعد هذه اإلضاءة؟

مرحبا،،،

...نستكمل --- بعد أن تورطت في أكثر من مشوار مع العائلة

أهـــــــــــــــــــــــــــــم (((((((((((((((((( ))))))))))))) نعم جداول الحركة واحدة من...البيانات وأخطر الجداول في قواعد

لشروطها الخاصة( مرة أخرى كقاعدة عامة )وليست شرطا حيث تخضع كل قاعدة بيانات متعدد فإبدأ بالتفكير نقول كقاعدة عامة عندما تًالحظ كثرة العًالقات من نوع متعدد إلى

.الحركة ومحاولة الهرب من هذه العًالقة بإستخدام جداول

فقط يقوم % من الحاالت تكون عبارة عن جدول واحد90وجداول الحركة في أكثر من !!!!!!!!بربط معظم الجداول األساسية --- مرة أخرى ليس شرطا

الحركة في قاعدة بيانات المستوصف هي ناتجة عن زيارة لمريض لطبيب في عيادة وألن.الحركة لدينا سنسميه جدول الزيارات فإن جدول

( ...الحقول التالية: )على الورق وفيه Visitors ننشأ جدول جديد بإسم

األساسي من جدول المرضى رقم المريض -- حقل غريب يمثل المفتاحاألطباء رقم الطبيب -- حقل غريب يمثل المفتاح األساسي من جدولالعيادات رقم العيادة -- حقل غريب يمثل المفتاح األساسي من جدول

..وهو فنضيف مفتاح أساسي للجدول السابق Codd وحتى ال يزعل مستررقم الزيارة

أية معلومات عن ماذا حدث في حًالوة وروعة هذا الجدول اآلن انه يعطينا الفرصة إلضافة...العيادة بين الطبيب والمريض

...الحقول نستكملتاريخ الزيارةوقت الزيارة

تشخيص المرضوصفة العًالج

الخروج تاريخوقت الخروج

القيمة التي دفعها المرض

تتحدث عن موضوع )الحــــــــــــــركة( أي الزيارة وال عًالقة لها الحظ ان كل الحقول اآلن ووزنه وجنسه )هذه كلها موجودة أصًال في جدول المرضى( وال بوصف المريض كطوله

وجنسيته وخًالفه( حيث أنها كلها في جدول األطباء وكذلك تتحدث عن الطبيب )جنسة.العيادة الشىء نفسه ينطبق على

عن اإلسباجيتي ما اروع جداول الحركة في سهولة وجمال حلها للمشاكل المعقدة الناتجة.الخاص بعًالقات متعدد إلى متعدد

79

Page 80: Relational Databases

:على جدول الحركة يمكنك أن تضيف مًاليين الحقولدرجة حرارة المرض

قياس الضغطأعراض المرض

يتعلق بموضوع الزيارة يسرد هنا كل شيء

أنها تعتبر القلب النابض ألي قاعدة بيانات، مشكلة واحدة فقط في جداول الحركة --- وهي نفعل؟ بسيطة )نوعا ما( نزور األطباء ونحاول إعادة أمثلة ... أذا فقدنا جدول األطباء ماذا

.إدخال بياناتهم

جدول العيادات --- نلف وندور على العيادات مرة أخرى ونجري حصر لبيانات فقدناالعيادات

زيارتهم( ونعيد تجميع فقدنا جدول المرضي --- ال بأس نحاول اإلتصال بهم )أو ننتظربياناتهم

عليها الطرد من الوظيفة وخسائر فادحة أما فقد جدول الحركة فيعتبر مصيبة يترتب.لصاحب المستوصف

أخطر الجداول على اإلطًالق ويتوجب دائما إجراء نسخ إحتياطية دائما جدول الحركة هو صًالحيات الدخول للمستخدمين ... بل أكثر من هذا في البنوك مثًال لهذا الجدول وتحديد

فنقوم بتصميم جداول أخرى سرية ال يراها Sybase قواعد بيانات والتي تستخدم برنامج ماذا فعل كل مدخل بيانات في تعامله مع جدول الحركة... ألنه مدخلي البيانات توضح� ببساطة شديدة لو كان الشخص الذي يدخل بيانات جدول الحركة في البنك فاسدا

بضعة آالف من الرياالت لرصيد حساب صديقه أو أخيه فسيمكنه بمتهى السهولة إضافة.مثًال

جدول الحركة )عندما يحتوي على بيانات مالية( أو معلومات ذات الثمن المدفوع مقابل التي تقوم بمراقبة Control Tables يقترن بجدول الرقابة سرية قصوى يتوجب أن

.البيانات مدخلي

.البيانات مدخلو البيانات دائما محط شك وريبة من قبل مصمم قاعدة

بيانات المستوصف؟؟ من يقول لي اآلن كيف نربط الجداول األربعة الموجودة في قاعدة

تحياتي،،،

مرحبا،،،

على كافة برامج قواعد البيانات التي تم األخ )أبووليد( ... كل ما شرحناه هنا ينطبق

بداية هذه الدروس أنها تنقسم إلى ميًالدية وكما شرحنا في1970إصدارها بعد عام

:قسمين

مثل اآلكسس و Sever البيانات فقط بدون خادم القسم األول: قواعد بيانات لحفظ

Clipper و FoxPro كثير وغيرها.

:أشهرها ومن Server القسم الثاني: قواعد بيانات على شكل خادم

Microsoft SQL Server

Oracle

Sybase

80

Page 81: Relational Databases

األول إلى القسم الثاني، ال بد من مًالحظة بعض األمور الهامة جدا ومن لإلنتقال من القسم

:ضمنها

وال شيء من هذا القبيل أن برامج القسم الثاني ال يوجد فيها مايكروز وال نماذج وال تقارير

وقامت بإضافة بعض وقد تنبهت الشركات المصممة للبرامج الثًالثة إلى هذه النقطة

:مثل البرامج اإللحاقية التي تساعد في تعويض هذا اإلحتياج

Developer لألوراكل

Enterpise للـ ....MS SQL

Development Tools للـ ....Sybase

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

.ونماذج اإلدخال واإلستعًالم

البرامج )من القسم الثاني( ال بد من توضيح أهم فروق يميز هذه قبل الخوض في هذه

البعض وهو ببساطة شديدة --- عدد المستخدمين الذين يستطيعون البرامج عن بعضها

قاعدة البيانات( في نفس الوقت وفيما يلي بعض األرقام التقريبية الدخول إلى الخادم )إلى

:للدقة وليس

شخاص10اآلكسس مثًال --- في حدود

MS SQL -- شخص ألف70 إلى 30في حدود

Oracle -- ألف شخص150 إلى 100في حدود

Sybase -- بالمًاليين

ليست شهيرة في التطبيقات اإلدارية ويقتصر Sybase تجد ان إستخدامات ولهذا

.هي البنوك Sybase على المنشآت المالية الضخمة وأهم مستخدمين لل إستخدامها تقريبا

...ليس عملي على اإلطًالق بالنسبة لنا Sybase القفز إلى وعليه فإن

للشهرتهما الكبيرة جدا في بناء التطبيقات Oracle و MS SQL بين يتبقى لديك اإلختيار

...بينهما فرق بسيط جدا اإلدارية ويوجد

وعليه فإن اإلنتقال إلى أن معظم البرامج في السوق هي تطبيقات لشركة ميكروسوف

Oracle الناتجة من المؤامة سيؤدي إلى ضرورة مواجهة والتغلب على بعض المشاكل

compatibility والدعم الفني Technical Support

81

Page 82: Relational Databases

يوجد له في السوق كتب أكثر، يوجد له دعم فني عالي MS SQL نظري أن من وجهة

.ميكروسوفت وال يوجد مشاكل في الموائمة وسريع من قبل شركة

والرأي خاص لكل شخص ويتبع ذوقه وطريقته في بناء على اإلضاءات السابقة أرى

...التعلم

البعض عملية شبه مستحيلة وتستنزف طاقات وجهد وأموال ال تعلم الثًالثة مع بعضهما

.التركيز على واحد منها فقط داعي لها وعليه يتوجب األمر

السابقة لتذوق كيفية عمله وتبين صرف بضعة أسابيع لإلطًالع على كل خادم من الثًالثة

نواحي األمان والسرية مثًال في( MS SQL أقوى من Oracle نقاط قوته وضعفه )مثال

والرهبة من هذه البرامج وهكذا... كل الفكرة من هذه الخطوة هو كسر حاجز الخوف

.بينهم عالي جدا جدا الثًالثة واإلطًالع على طريقة عملهم وستفاجأ ان التشابهه

التركيز على واحد منهم بقوة وشدة بعد )بضعة أسابيع( من التذوق والمحاولة والتجربة يتم

إستنزاف دام لسنة تقريبا في تذوق كًال بعد MS SQL )وهذا ما فعلته أنا مثًال( وقد إخترت

.Sybaseٍ و Oracle من

...ولكن

قوية تساعد على إنشاء نماذج اإلدخال انه ال يوجد معه أية برامج إلحاقية MS SQL مشكلة

الملحق به يساعد في عمليات أخرى ذات Enterprise وتقارير اإلخراج وغيرها وبرنامج

وقد Stored Procedures وكذلك مثل User Defined Functions قوة عالية جدا مثل

.قواعد البيانات على اإلنترنت نتطرق لها الحقا عند شرح بضعة دروس عن تطبيقات

تعلم لغة أخرى تساعد على بناء نماذج هو MS SQL الثمن الذي ستدفعه مقابل إختيارك

لتطبيقات ASP.Net و FrontPage وأسرعها اإلدخال وتقارير اإلخراج وأبسط هذه البرامج

وستصدم وتفاجأ عندما ترى أن كل ما. Client Server لتطبيقات VB.Net اإلنترنت و

موجود في هذه اللغات !!! وهنا تكمن تعلمته في نماذج وتقارير اآلكسس هو نفسه تقريبا

.دائما في مرحلة أخرى روعة وقوة شركة ميكروسوفت في أن ما تتعلمه يفيدك

أن اإلنتقال من اآلكسس إلى يتبقى نقطة واحدة فقط لمساعدتك على إتخاذ القرار وهي

MS SQL أو Oracle بالخروج من غرفة دافئة ليس نزهة على اإلطًالق !!! هو أشبه

!!!!رومانسية إلى عاصفة رعدية وثلوج

تتطلب تصميما شديدا وعرقا وتعبا في البداية وسهر ليالي وما إلى ذلك،، يجب هذه النقلة

على هذا األرق والتعب لعدة شهور حتى تبدأ مرحلة اإلنتقال وتبدأ في تذوق طعم أن تصبر

82

Page 83: Relational Databases

.هذه البرامج وحًالوة

تحياتي،،،

مرحبا،،،

� للغاية اآلن من خًالل جدول الحركة الذي نعم --- أصبح ربط الجداول األساسية الثًالثة سهًال.النوع المفضل وهي واحد إلى متعدد قمنا بإنشائه وأصبحت كل العًالقة من

لتعلمه وشرحه... ولكن بدأ ضيق الوقت يطبق على مازال لدينا الكثير ... بل الكثير جدا المكرمة غدا الخميس ويومي السبت واألحد سأكون حيث سأتوجه إلى مكة... أنفاسي بشدة

.والخبر ألعود إلى الرياض في نهاية األسبوع القادم في إجتماعات عمل في مدينتي الدمام

...التواصل معكم ومع المنتديات األخرى سأحاول قدر إستطاعتي

المسابقة التي طرحتها من قبل وكذلك على الوعود التي ولكني سأقوم بالتركيز على أسئلة األخوة واألخوات على بناء بضعة قواعد بيانات. ولعل قطعتها على نفسي في مساعدة بعض

.الدروس الله يسهل لنا إكمال هذه

والمباركة وبالذات في أتمنى أني قدمت شيئا يسيرا لكم،،، وأتمنى في هذه الليالي الفضيلة شعروا أنهم قد إستفادو العشر األواخر وليلة القدر دعوات صادقة من أعماقكم بالذات لمن

.من هذه الدروس

83

Page 84: Relational Databases

مرحبا،،،

� للغاية اآلن من خًالل جدول الحركة الذي نعم --- أصبح ربط الجداول األساسية الثًالثة سهًال.النوع المفضل وهي واحد إلى متعدد قمنا بإنشائه وأصبحت كل العًالقة من

لتعلمه وشرحه... ولكن بدأ ضيق الوقت يطبق على مازال لدينا الكثير ... بل الكثير جدا المكرمة غدا الخميس ويومي السبت واألحد سأكون حيث سأتوجه إلى مكة... أنفاسي بشدة

.والخبر ألعود إلى الرياض في نهاية األسبوع القادم في إجتماعات عمل في مدينتي الدمام

...التواصل معكم ومع المنتديات األخرى سأحاول قدر إستطاعتي

المسابقة التي طرحتها من قبل وكذلك على الوعود التي ولكني سأقوم بالتركيز على أسئلة األخوة واألخوات على بناء بضعة قواعد بيانات. ولعل قطعتها على نفسي في مساعدة بعض

.الدروس الله يسهل لنا إكمال هذه

والمباركة وبالذات في أتمنى أني قدمت شيئا يسيرا لكم،،، وأتمنى في هذه الليالي الفضيلة شعروا أنهم قد إستفادو العشر األواخر وليلة القدر دعوات صادقة من أعماقكم بالذات لمن

.من هذه الدروس

84

Page 85: Relational Databases

مرحبا بكم جميعا،،،

وبركاته،،، والسًالم عليكم ورحمة الله

(.علينا جميعا أعواما كثيرة وتقبل الله منا ومنكم صيام الشهر الفضيل وقيامه )أعاده الله

.وكل عام وأيامكم ولياليكم بخير

.إغفر لنا ولوالدينا آجمعين اللهم

منكم بمساعدتهم وكنت أعلم أني سأنشغل وأحب أن أبدأ أوال باإلعتذار حيث أني وعدت بعضا

إستطاعتي ولكن العشر األواخر وإجهاد العيد لم كثيرا ومع ذلك حاولت أن أضغط وقتي قدر

بوعودي. وسأحاول قبل الدخول في غمار المشروع الجديد يتركا لي فسحة من الوقت للوفاء

الوعود بأقرب وقت ممكن وبالذات األخت التي لديها الذي استلمته شركتي أن أفي بهذه

.معدودة مشروع يتوجب تسليمه خًالل أيام

ثم نزيد هذه سأتواصل معكم بجرعة خفيفة فقط وذلك للتركيز على الوفاء بالوعود ومن

لمشروعي الجرعة حسب إنشغالي بمشروعي، وبعد إنهاء خطة العمل والجدول الزمني

.المتاح لي وتسليمه للمبرمجين لدي سنركز هذه الجرعة ونزيدها بشكل أكبر حسب الوقت

شهيق ... زفير ... واآلن أمل من الجميع )مع فنجان من القهوة أو الشاي( ... نفس عميق

..............بهدوء وبطء

.البيانات فقط % من قواعد15كل ما شرحناه هو

...من أغمي عليه منكم

.وتعالى سنتواصل بإذن الحق تبارك

تحياتي،،،

مرحبا،،،

� لألخ للتعليم والتدريب فقط Auto Number وكذلك Identity أقول له أن tarekafifi أوال

إستثناء واحد فقط وهو في بعض الجداول وليست للمنتجات النهائية ومع ذلك يوجد هناك

.المساعدة

إستيعابه اآلن --- ربما بعد بضعة دروس النوع من الحقول فلن يتم أما لماذا ال نستخدم هذا

خذ مني )بثقة( ال تستخدم هذا النوع من الحقول-- طبعا األمر يتحول إلى تتضح األمور -- ولكن

إستخدام هذا النوع من الحقول في الربط بين الجداول. مرة أخرى يمكنك بتحفظ مصيبة عند

إستخدام هذا النوع من الحقول في بعض أنواع الجداول المساعدة. وسيلقي هذا شديد

.بعضا من الضوء على هذا الموضوع بالذات الدرس اآلن

...نعود

...وتعالى بإسم الحق تبارك

زاوية أخرى مختلفة تماما، قليًال وننظر إلى قواعد البيانات من Codd تعالوا بنا ننسى مستر

لي شرف التحدث فيها عن وقد جرت بي العادة في معظم الدورات والمؤتمرات التي يكون

أنه سؤال ساذج وسخيف !! قواعد البيانات أن أسأل سؤاآل يراه البعض في الوهلة األولى

يتحول السؤال وكذلك اإلجابة عليه ولكن الغريب هو أنه بعد بضعة دقائق من التركيز والتأمل

وحقيقة القول أن السؤال التالي يمكن أن إلى موضوع في غاية التعقيد والنقاش والجدال،

.البيانات يكون موضوعا جديدا في منتديات قواعد

أنها جريدة صباحية من يقرأ بسرعة لن يستوعب السؤال، من يتعامل مع هذه الدروس على

وهدوء ومع فنجان قهوة لقرآءة العناوين فلن يفهم شيئأ، من لم يكتب السؤال ببساطة وتأني

القهوة( هو كناية فعلية على فلن يفهم السؤال وسيستحيل عليه اإلجابة، بالمناسبة )فنجان

تلك التي يدعي صاحبها أنه الهدوء والتروي وأخذ نفس عميق... أسوأ انواع الدراسة هي

.سيقرأ وسيفهم أو سيقرأ الحقا ويدرس فيما بعد

كل من يريد أن يفهم قواعد البيانات أن يتعامل هذه الدروس بهدوء وروية وتأني، وحيث على

أنكم ال تروني وال أراكم حيث جرت بي العادة أن يكتب كل مشارك إجابته على السؤال في

ولهذا ورقة ويقدمها لي ثم أقوم بقراءة اإلجابات على الحضور. وولن نستطيع عمل هذا هنا

.شديد أعيد القول أن السؤال يحتاج إلى جهد وإلى تعميق وإلى تركيز

...تماما بإستخدم قلم وورقة. -- رجاء أكتب حتى تصل الفكرة واضحة

...السؤال

لماذا أتعلم قواعد البيانات؟

لم تكتب السؤال وتنظر إليه عدة دقائق ومن ثم تكتب اإلجابة بالتفصيل فسيتحول السؤال إذا

إلى سؤال بديهي وساذج بل تافه أيضا !!! ولكن صدقني في إجابة هذا السؤال قرارات

توقفوا مصيرية في رحلة تعلم قواعد البيانات. وقد تتفاجأ عزيزي القارىء أن هناك الكثيرين

!!!فورا عن متابعة تعلم قواعد البيانات بعد إجابة هذا السؤال

%،100يتفاجأ من تقرأ معنا هذا الدرس أن معظم اإلجابات على هذا السؤال هي خطأ قد

مرحبا،،،

% !!!100أي جواب ال يكون على الصيغة التالية فهو خطأ

قواعد البيانات لتحقيق رافد مالي جديد، بعبارة أخرى إذا كان الهدف غير تحقيق مكسب أتعلم.مادي فنصيحتي التوقف فورا عن تعلم قواعد البيانات وعدم إضاعة الوقت

..لها الجواب الصحيح والوحيد هو تحقيق مكاسب مالية وأية أجابات أخرى ال معنى اذا

:التالي وحتى ال يغضب مني البعض مثل ما حدث في بعض المؤتمرات أستثني

صديقه، وهذه شخص يريد أن ينال إعجاب زوجته أو أخيه أو يستعرض أمام إبن عمه أو وخًالل بضعة الشريحة أنصحها بإستكمال تعلم اآلكسس وكذلك وضع األسئلة في المنتديات

خًالل ترقيص بعض أسابيع أو شهور سيكون قادرا على إنتزاع اإلعجاب من أقاربه ومعارفه من أتهكم وال أسخر وإنما من يريد النماذج وتلوين بعض األزرار وطباعة التقارير المبروزة. قطعا ال

عيب في هذا وصدقوني لقد رأيت اإلعجاب من اآلخرين )فقط( فهذا هدفه وهذا طريقه وال إقفال نموذج بشكل راقص أو الكثير من األسئلة في منتدى اآلكسس يسألون عن كيفية

... !!!!!!!!!!تدريجي أو

.ينال رئيسه في العمل إعجابه أستثني أيضا من يريد أن فقط ومن ثم ينسى أبو قواعد البيانات أستثني من يريد أن يقدم الواجبات واإلختبارات لينجح

.الشريحة وأهلها وما أكثر وما أضخم هذه أكرر استثني أيضا من يريد أن يصمم قاعدة بيانات تستخدم من قبل شخص واحد فقط،

.شخص واحد فقط ال أكثر

وإستمروا بوضع األسئلة في المنتديات كل من سبق أقول لهم إستمروا في تعلم اآلكسس دورتين تدريبيتين مخفضتين لتأكيد المفاهيم وستجدون الكثير من اإلجابات وال بأس بدورة أو فترة قصيرة ستتمكنون من تحقيق أحًالمكم الخاصة باآلكسس أو ما شابهه اآلكسس وخًالل

حاجزا واحدا ويفتح الله عليكم من خًالل بيع من خًالل إنتزاع إعجاب اآلخرين وقد تقفزون واحد( مثل محل لتأجير األشرطة أو محل لتأجير برامج اإلستخدام الواحد )أي من قبل شخص

احتمال ضعيف( ولكن اإلحتمال قائم أن تبيع برنامج أو السيارات أو ما شابه ذلك )وطبعا هذا فرص لتصميم برامج لطلبة الكليات والمعاهد مقابل مبالغ إثنين. كما أن لدى هذه الشرائح.أو فتح موقع مبسط بإشتراكات لشرح قواعد البيانات لهم مادية او تقديم دروس خصوصية

السابقة مغادرة قطار قواعد البيانات في هذه المحطة متمنين لهم رحلة آمل من الشرائح.سعيدة

مقاعدكم إستعدادا الشريحة التي تريد تحقيق مكاسب مالية )حقيقية( الرجاء البقاء في.لإلنطًالق إلى المحطة التالية

وسنستمر بمشئية الله نحو محطة قادمة أحذركم من البداية أن فيها سنقوم بالتزود بالوقود.المطبات الهوائية الكثير والكثير من

.الرجاء ربط األحزمة

تحياتي،،،

مرحبا،،،

مالية أقول لهم، جهزوا قلم رصاص جديد ونبدأ للمتابعين معنا والباحثين عن تحقيق مكاسب

.بالكتابة مرة أخرى

وغيرهم أدوات للتعلم dBase و Clipper و FoxPro ومثله من البرامج مثل سيكون اآلكسس

.فقط أدوات للمساعدة على التعلم --- من حين آلخر

شيء إسمه نماذج وال تقارير وال مايكروز في قواعد في الدروس األولية تحدثنا أنه ال يوجد

العمود الفقري ألي برنامج قواعد بيانات وهو الجداول البيانات وقمنا بالتركيز على

�( إلى نماذج وإلى واإلستعًالمات فقط وطبعا هذا مشكلة، ألن قواعد البيانات بحاجة )فعًال

مشكلة --- عفوا --- أول مصيبة وأول عقبة حقيقة في طريق تقارير وخًالفه. هذه أول

.اإلحتراف

النماذج والتقارير ومن أين وكيف؟ هذه الطبقة األولى !! من يتذكر؟ كيف نصنع

:التالية اآلكسس وغيره من البرامج المشابهة للمشاكل رفضنا

Scalability

Availability

Simplicity

Server Oriented

من يذكر ما سبق؟؟؟

Scalability القياس للتبسيط وهي تعني أن قاعدة البيانات تعمل وتعني قابلية القياس، أو

عن عدد الجداول أو عدد السجًالت أو عدد المتعاملين بنفس الكفاءة ونفس القوة بغض النظر

أي يغير المقاس مثل To Scale والمصطلح من الفعل. مع القاعدة في نفس الوقت

.وغيرها المقياس المستخدم في الخرائط

Availability متواجدة ومتوفرة وال ينقطع وتعني التواجد أي أن قاعدة البيانات دائما وأبدا

يستعلم عن أرباح الربع المنصرم اإلتصال بها تحت أي ظرف وعليه إذا أراد صاحب الشركة أن

.متعطلة فإن الموظف لن يقول له أن قاعدة البيانات

Simplicity اآلكسس أفضل وهي بساطة وسهولة التعامل مع برنامج قاعدة البيانات وهنا

.أفضل بكثير من غيره، ولكننا سنضحي بهذه الميزة للحصول على ميزات

Server Oriented ( أي أن قاعدة البيانات تعمل على شكل )بثBroadcasting للدخول

إلى الخادم وليس على شكل ملف منفصل كما هو الحال مع اآلكسس. بعبارة أخرى ملف

MDB وهو إختصار Microsoft Data Base عبارة عن ملف منفصل مثل أي ملف آخر نصي

بشكل مبسط وال يعمل على SQL لتنفيذ أوامر Engine وثيقة أو غيره يتعامل مع محرك أو

.خادم Server شكل

بدأناه في بداية هذه بعد تبسيط المصطلحات السابقة ننتقل مرة أخرى إلى درس قديم

:نعيد مرة أخرى Server و Client السلسة وهو

Client الجهاز الذي يتعامل مع الطبقة األولى ويحتوي بالدرجة األولى على نماذج اإلدخال هو

مرحبا،،،

� من األخ على تفاعلهما وردهما الرائع بل الرائع m_fatehy وكذلك األخ alhajri أشكر كًال

.جدا

� إال بمعجزة( وسبب ذلك أن )Sybase لتصميم قاعدة بيانات صحيح لن يتصل بك أحدا

Sybase الضخمة لتصميم قواعد بيانات مفتوحة وكلمة مفتوحة تستخدم من قبل الشركات

.تحتاج إلى شرح سريع

:تصميم قاعدة بيانات لديك إختياران ال ثالث لهما عند

تخدم منشأة )شركة مؤسسة وزارة إلخ( واحدة فقط، فمثًال األول: تصميم قاعدة بيانات

لشركة تأجير سيارات. في هذا اإلختيار أنت تصمم قاعدة بمقدورك تصميم قاعدة بيانات

فقط. عندما تتصل بك شركة تأجير سيارات أخرى مختلفة فإنك البيانات لتخدم هذه المنشأة

أخرى مختلفة تصلح إلستخدامات هذه الشركة فقط. بعبارة أخرى تقوم بتصميم قاعدة بيانات

للبيانات كًالهما يعمًالن لخدمة شركة تأجير سيارات وقد يتشابهان في أصبح لديك قاعدتين

ولكنهما يؤديان خدمات مختلفة تصلح لكل شركة على حدة. مثال هذا أن بعض المكونات

.أو فستان لكل عميل على مقاسه وحسب رغباته. هذا إسمه النوع المغلق تفصل ثوبا أو بدلة

تصميم قاعدة بيانات تصلح للجميع فتقوم بتصميم قاعدة بيانات لتأجير السيارات: الثاني

منها آالف النسخ وتبيعها في السوق لكل راغب في الشراء. وهذا هو النوع المغلق. وتعمل

تفصيل ثياب وبدل وفساتين وتوزيعها في السوق وكل من يقوم بالشراء يجري بعض مثل

.التعديًالت

الذين يقومون بتصميم وعليه فإنه يوجد شركات ضخمة جدا فيها آالف المبرمجين والمصممين

وعليه فإن أقصى Sybase قواعد بيانات هائلة الحجم للمشآت المالية في العالم بإستخدام

وتصبح فردا في أحد أن تصبح موظفا في أحد هذه الشركات Sybase آمالك وأحًالمك في

.هذه فرق العمل لديها للمشاركة في تصميم أحد قواعد البيانات

البنوك معظم )إن لم يكن كافة( قواعد البيانات في عالمنا العربي المستخدمة في

برنامج ومؤسسات النقد وشركات األسهم وغيرها تستخدم قواعد بيانات مصممة من قبل

Sybase وكذلك تم تصميمها من قبل شركات في أمريكا وأروبا.

إال من يريد منكم أن يطرق باب هذا Sybase نظري الشخصية يغلق باب هذا من وجهة

فآمل منه أن يبدأ في الموقع Sybase إختياره. بعد ما سبق من إختار منكم البرنامج بمحض

www.sybase.com التالي

عدة مرات منذ بضعة ما زال شاسعا وقد سألت هذا السؤال MS SQL و Oracle الفرق بين

Oracle وحينها كان !! دون تردد Oracle سنوات في محفل رسمي وكانت اإلجابات كلها

الحضور بالتوجه من كافة الجهات ومع ذلك نصحت MS SQL عشرات األضعاف متفوقا على

� إلى !!!وكانت عًالمات الدهشة بادية على محيا الجميع MS SQL فورا

Security ناحية أفضل من الناحية التقنية ومازال أفضل من Oracle حتى هذه اللحظة مازال

مرجحا MS SQL ولكن شركة مايكروسوفت تتمتع ببضعة خصال تجعل من إقتراحي بإستخدام

:بشكل أكبر، فيما يلي بعضا من هذه الخصال

مرحبا،،،

المشاكل األساسية( وسنسرد في )في صفحة خاصة منفصلة في الدفتر ضع عنوان إسمه

.لها هذه الصفحة كافة المشاكل التي نحتاج إلى حلول

واإلخراج عندما حتى هذه اللحظة لدينا مشكلة أساسية واحدة وهي كيف نصمم نماذج اإلدخال

و MS SQL نستغني عن برامج بسيطة مثل اآلكسس وغيره ونتوجه إلى الخادمات مثل

Oracle.

.واإلخراج مرة أخرى... ال يوجد لدينا طريقة إلنشاء نماذج اإلدخال

على مصطلحين نعود إلى أحد الدروس القديمة في بدايات هذه السلسة ونعيد التركيز

:أساسيين وهما

Client

Server

المصطلحين؟ من يتذكر معنى هذين

ويوجد فيها نماذج اإلدخال عندما نسمعها أو نقرأها نتخيل الطبقة األولى Client ... أول شي

.واإلخراج

Server الطبقة الثالثة ويوجد فيها قاعدة )قواعد( البيانات عندما نسمعها أو نقرأها نتخيل

البيانات حسب ما تعلمناه فيها جداول وروابط وإستعًالمات )قواعد( ألننا على خادم. وقاعدة

.فقط

هي Server و Client غاية األهمية --- ركز --- أل، ركز بشدة، المسافة بين نقطة أخرى في

!!!الكيلومترات آالف

مدينة مكة المكرمة، و موجود في شقة ما في عمارة ما في Client سنتخيل أن جهاز

Server المسافة مين يعرف !! موحود في شقة ما في عمارة ما في مدينة لوس أنجلوس

!!! كيلومتر17000أكثر من

.البيانات موجود في شقة ما في عمارة ما في مدينة دبي كذلك سنتخيل أن جهاز مدخل

الخادم في لوس أنجلوس فيها جدول صغير ببضعة حقول وبضعة عشرات قاعدة البيانات على

.مدخل بيانات واحد يكفي من السجًالت. بمعنى آخر

.األجهزة الثًالثة كلها مرتبطة باإلنترنت

البيانات في مدينة دبي )مع فنجان من القهوة( يدخل إلى جهازه ويقوم بإدخال بضعة مدخل

!!!بيانات إلى القاعدة

نركز ... ما الذي حدث؟

ال مشكلة إن كنت التتذكر فهذا ليس )Insert Into قاعدة ما نستخدم األمر إلدخال بيانات إلى

مرحبا،،،

.السابق إستمروا في التفكير للحصول على إجابة السؤال

...نواصل البحث في المشاكل

برنامج يتصل بقاعدة بيانات فهناك ثًالثة إحتماالت ال رابع عندما تطلبك شركة ما لتصميم أي

:لهما

:األول اإلحتمال

بشبكة، هذا حاسب آلي مرتبطة جميعها30شركة في مدنية الرياض في السعودية، يوجد فيها

وتقول هذا هو اي شبكة محلية. ببساطة شديدة تختار أي جهاز منها LAN السيناريو يسمى

أي Backup ثم تختار جهاز آخر )حسب تصميمك( وتقول هذا الجهاز هو Server الخادم

لحين إصًالح Backup األساسي تنتقل العمليات إلى Server الرديف، في حالة فشل الخادم

الجهاز المخصص الخادم وبهذا ال يكون هناك إنقطاع. ثم تختار جهاز ثالث وتقول هذا هو

،Server واإلستعًالمات على لنماذج اإلدخال ويستخدم من قبل مدخلي البيانات، تضع الجداول

كمستخدمين. هذا السيناريو أو جهاز27تضع النماذج على جهاز الطبقة األولى، ويتبقى لك

!!!إنترنت الحظ وركز إنترانت وليس Intranet اإلحتمال األول يسمى

:اإلحتمال الثاني

جهاز مرتبطين15مدينة جدة ويوجد في الفرع نفس الشركة السابقة قامت بإفتتاح فرع في

� بك... LAN بشبكة محلية في عالم التوهان!!! هذا السيناريو أو اإلحتمال هههههه--- أهًال

الربط بين اإلدارة العامة في الرياض والفرع في ومشكلته اآلن تكمن في كيفية WAN يسمى

الخط الهاتفي )وهذا تخلف آسف حل يعود لى جدة!!! والحلول المطروحة هي بإستخدم

.DDN دوائر مؤجرة تسمى عشرات السنين إلى الوراء( أو بإستخدام

:اإلحتمال الثالث

فرع في واشنطن وآخر في القاهرة وثالث في مدينة نفس الشركة السابقة قامت بإفتتاح

!!إال حل واحد )إقتصـــــــــــــــــــــــــــادي( وهو اإلنترنت الهور في باكستان... اآلن ال يوجد

!!!ال تقلق

مصممي المشاكل السابقة ال دخل لنا فيها كمصممين لقواعد البيانات، هذه مشاكل

الشبكات الشبكات... نحن نجلس في إجتماعنا نتلذذ بفناجين القهوة ونستمتع بينما مصممي

.الشركة يتضاربون باألفكار واأليدي ويناقشون اإلقتراحات والحلول المختلفة لربط هذه

البيانات يختلف جذريا دورنا وعذابنا يبدأ بعد تصميم الشبكة حيث أن برمجة وتصميم قاعدة

.للشبكة Topography بإختًالف شكل

الموضوع هو سرد مشكلة أساسية أخرى وهي كيف نربط بين واجهات كل ما يهمنا في هذه

األولى( وقاعدة البيانات )الطبقة الثالثة( مرورا بطبقة المنطق )الطبقة اإلستخدام )الطبقة

الهدف هو الربط فقط، ركز..... الهدف هو الربط بطريقة إقتصادية. كل الناس الثانثة( ليس

أن بربطو بين النماذج والقاعدة ولكن قلة ضئيلة جدا تستطيع عمل هذا بشكل يستطيعون

.إقتصادي

المشاريع قدرتك على الربط بشكل إقتصادي يشكل الفرق األساسي بين من يحصل على

مرحبا،،،

أقول لهم مثل ما FrontPage طريقة بالطرق السيئة مثل HTML لكل من تعلموا وتعلمن

ستروا أن FrontPage سنعود إلى قلت ألصحاب اآلكسس، ال وألف ال... بعد بضعة دروس

...وأوضح و...و العملية عندما تدرس بشكل منطقي وبفكر مختلف تصبح أسهل

.المشاركة معنا أمل من المهتمين توجيه األخوة واألخوات في منتدي الويب

HTML إال وهي على شكل ال يوجد صفحة من مليارات الصفحات على اإلنترنت أو اإلنترانت

.هذا كًالم ممتع ويشعر بالغبطة والسرور

والتي ال تعتمد على Client Server طرق البرمجة القديمة التي تسمى مًالحظة أخيرة

HTML مثل بشكل مباشر Form Desiner في أوراكل أو النماذج في آكسس أو Visual

Basic في MS SQL في اإلنهيار -- تقنية )إلى حد ما قديمة( هذا الجيل )نقف له هي آخذة

، لماذا؟ ببساطة ألن تكلفة اإلنتاج بإستخدام HTML وبشكل مكثف إلى إحتراما( يتوجه اآلن

HTML المرات من تلك البرامج وتكلفة الربط والصيانة أرخص أرخض بمئات.

اآلن أو بعد عشر سنوات أني قفزت على حاجز التصميم بإستخدام ولهذا ستًالحظون سواء

وعندما يحاوركم شخص ما عن فؤائد HTML والذهاب مباشرة إلى Client Server تقنية

عليكم سوى اإلبتسام فقط )وعلى مسئوليتي الشخصية( قطعا لن يكون التقنية القديمة، ليس

HTML الوحيدة... ولكن الممتع هو أن كل اللغات تنتهي في آخر المطاف إلى هو األداة

HTML نتعلم وها نحن HTML لنرى ما هي نهاية هذا المطاف.

...بإسم الحق نبدأ

أي نصية Text هي ملفات HTML ملفات كافة

susu.html مثل. html تنتهي بإمتداد HTML كافة ملفات

األوامر وكل عًالمة تعني أمر من Markups تحتوي على عًالمات HTML كافة ملفات

><كافة العًالمات واألوامر توضع بين عًالمتي

عًالمة( له بداية وله نهاية )كل أمر من األوامر

><بداية األمر على شكل

>/<شكل ونهاية األمر على

Ahmed أذا كان لدينا فرضا أمر سمه

<Ahmed >فتصبح البداية

/<Ahmed >والنهاية

...واضح

يمكن قرائتها وتفسيرها إلى من خًالل متصفح ويوجد في العالم المئات من ال HTML أوامر

:أشهرها إثنان المتصفحات ولكن

Microsoft Internet Browser

Netscape Internet Navigator

وآسيا األول من شركة مايكروسوفت وهو شهير في العالم العربي

الثاني من شركة نيتسكيب وهو شهير في أميركا وأوروبا

تحياتي،،،

...العًالمات هي إنشاء الجداول وواحدة من أهم HTML أين نحن؟ نعم في بحر

Body وقبل نهاية عًالمة Kuku إلى إذهب BODY ويوضع في منطقة TABLE ونستخدم األمر

:التالية أدخل العًالمة

<TABLE>

<Table>/

شيء ألن عًالمة الجدول ال قيمة لها بدون عًالمة السطر... تعالوا بالتجريب.... لن يحدث قد

�...وعًالمته TR نضيف سطرا

<TABLE>

<TR>

<TR>/

<Table>/

فيه سطر واحد فقط... قم بالتجريب، لم يحدث شيئا، لماذا؟ ألن عًالمة السطر ال قيمة جدول

TD لها بدون عًالمة الخلية... تعالو نضيف خلية ... وعًالمتها

<TABLE>

<TR>

<TD>

<TD>/

<TR>/

<TABLE>/

لديك جدول رائع مكون من سطر واحد وعمود واحد. جرب... ال شىء!!! لماذا؟ ألن اآلن

في الجدول فارغة !! ولكن ماذا لو أردت الخلية أن تكون فارغة !! في هذه الحالة ال بد الخلية

:الشكل بهذا Table من رسم حدود الجدول وعًالمة الحدود هي تعديل على عًالمة

<TABLE border=2>

<TR>

<TD>

<TD>/

<TR>/

مرحبا،،،

دائما على اإلستمرار... حيث أن دعواتكم أسعدني بشدة تفاعلكم مع الموضع، وهذا يشجعني

.األمام... شكرا لكم جميعا ومساهماتكم هي الوقود الذي يدفع بي إلى

فكرا حيث أن بعض اإلجابات لم تكن يسؤني وبشدة بل يغضبني أن بعض المشاركات مضللة

هي نسخ ولصق من برامج أخرى مثل بل أن بعض الرسائل الواردة HTML صافيا وعميقا لل

FrontPage وهذا فيه إساءة ألبسط أنواع التفكير!!!

التضليل يضعنا جميعا لمن يريد ان يستعرض عضًالته فليفعل )ال مانع لدي على اإلطًالق( ولكن

لست بحاجة لعمل في عنق زجاجة ال نفتك منه. أقو ل لكل من قام بالنسخ واللصق أنك

األفضل أن تشارك في كان األولى أال تشارك باإلجابة أو HTML هذا!!! فإذا كنت محترفا لل

من خًالل برنامج HTML إطار ما درسناه فقط !!! على أية حال مازالت نصيحتي أن نتعلم

FontPage البرامج مثل وليس من خًالل أية برامج أخرى... سنعود لهذه Notepad المفكرة

.واإلستيعاب لكن عندما نعود لها ستكون مجرد لقمة سائغة وسهلة البلع

واإلنجليزية في نفس يسؤني أن هذا المنتدى لديه مشكلة في التعامل مع اللغتين العربية

البرمجية تنقلب الوقت وقد رأيت بعض مشاركاتي ومشاركات األخوة واألخوات أن الجمل

الحظ أن عًالمة رأسا على عقب وليتهم يجدون حًال لهذا. على أية حال آمل أن الجميع قد

!!!تبدأ باإلشارة / وال تنتهي بها HTML اإلقفال لكل أوامر

األعمال يسؤني أنني كلما هممت بإضافة مشاركة جديدة لهذا المنتدى الطيب تنهال علي

المشاركين واإلرتباطات والمواعيد من كل حدب وصوب وأخشى أن هذا اإلنشغال يصرف

مشاركاتي العشوائية والمهتمين ويعلم الله أني مليء بالحماس والرغبة أكثر منكم وأصبحت

.لكم الغير منظمة مشكلة لي بالمقام األول قبل أن تكون سيئة بالنسبة

مشاركة أو إثنتين وها أنا ذا أحاول بكل جد أن أجد مخرجا لتنظيم هذه المشاركات حيث أن

أن تدعو لي وأن في أوقات محددة أفضل من عشرين مشاركة عشوائية !! كل ما أرجوه أن

.تصبروا... والله مع الصابرين

!!ألن الطريق طوييييييييييييييييييييييييييييييييييل جدا HTML لن نستمر كثيرا في عالم

هو أن أكون قائدا ناجحا لكم إلختراق الغابة!!! نعم كل ما أعمله هنا هو أن آخذ كل ما أرجوه

بأيديكم بتوفيق الله من ضفة إلى أخرى مع إعطائكم لمحات ألسس وقوانين كل محطة

لكم وأستراحة في هذه الغابة... عند وصولكم إلى الضفة األخرى سيكون األمر واضحا وجليا

جيد... وكل ما يتطلبه األمر منك هو العودة مرة أخرى لكل محطة وإستراحة وإتقانها بشكل

ننتهي في تلك اللحظة سيكون لديك خريطة كاملة وواضحة تشرح من أين نبدأ وإلى أين

.وكيف ندر أرباحا من هذا كله

HTML سهلة للغاية وال تتطلب سوى أن تفتحوا الدفاتر( لغة )إن جاز أن نرقيها إلى لغة

تتعاملون مع كل أمر على حدة، ثم بعد ذلك تتعاملون وتضعو سردا سريعا لكافة أوامرها... ثم

في النهاية ممارسة هذه األوامر لعدة أسابيع وأقترح أال تقل مع العًالمات الفرعية لكل أمر، ثم

.مكثفين عن أسبوعين

الحظ ورقة وقلم( و ... أسبوعين بإستخدام الورقة والقلم )ولست بحاجة إلى إعادة تأكيد هذا

مرحبا،،،

!!موفقة لمعضلة الياهو أقول برافو --- أحسنت وبداية alswah لألخ

2001، أي أنها تقنيات عام ASP و Perl آخذة في الزوال مثل PHP مًالحظة سريعة وهي أن

!!اآلن والسباق بينهما ما زال فرسي الرهان حتى Java وال Asp.Netوما قبله،

.ممتاز

تحياتي،،،

مرحبا،،،

عًالمة اإلقفال أي أن عًالمة اإلقفال إختيارية، ال تتطلب HTML ،،، معظم عًالماتalhajri األخ

!!!السطر وينطبق نفس األمر أيضا على عًالمة الخلية وكًالمك صحيح بالنسبة إلقفال عًالمة

!!!ولكن لحظة

>إقفال مثل العًالمات فيما عدا تلك التي ليس لها عًالمات نصيحتي أن تمارس إقفال كافة

BR >و< HR.>

و HTML سيساعدك بشدة وبقوة عند البدء في برمجة إن التعود على إقفال كافة العًالمات

DHTML و ASP.

تحياتي،،،

85