الرئيسيةالتسجيلدخول

شاطر | 
 

 سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
سمسمة
مشرفة
مشرفة


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   السبت أكتوبر 17, 2009 5:14 am


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

بسم الله الرحمن الرحيم


مقدمة:

هذه سلسلة تعليمية تهدف إلى تعليم MySQL وفق خطوات سهلة و بسيطة, معتمدا بذلك بعد الله على ما يلي:

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

2. جعل الدروس قصيرة كي لا يشعر الأخ القارىء بالملل و التذمر.

سنستهل هذه السلسلة بخمسة دروس بسيطة و مهمة جدا إذ تتحدث هذه الدروس عما يلي:

الدرس الأول:

سأقدم به شرحا متواضعا لمفهوم قواعد البيانات.

الدرس الثاني:

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

الدرس الثالث:

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

الدرس الرابع:

شرح بسيط لكنه واف عن كل مما يلي PHP , Apache , MySQL

الدرس الخامس:

كيفية تنصيب ملقم قواعد البيانات MySQL و ملقم الويب Apache تحت النظام Windows

و الآن لننطلق على بركة الله.

الدرس الأول

عنوان الدرس: مفهوم قواعد البيانات.

الهدف من الدرس: تقديم مفهوم بسيط عن قواعد البيانات.

قاعدة البيانات Database هي عبارة عن مجموعة من الجداول Tables يتألف كل جدول من أعمدة أو حقول Columns or Fields و سجلات أو صفوف Records و يؤدي تقاطع العمود مع الصف إلى تكوين الخلية Cell حيث يتم تخزين معلومة واحدة فقط في الخلية الواحدة.

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

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

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

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

إلى اللقاء في الدرس الثاني.



ملاحظة : إن قواعد البيانات النظرية و التطبيقية طريقها طويل بعض الشيء فإذا كنت أخي القارىء على إلمام بقواعد البيانات فإن ذلك سيساعد في سهولة التعلم أما في حال لم تكن على إلمام بها فإنني أنصحك باقتناء كتاب يتحدث عن "تحليل و تصميم قواعد البيانات" لأنني إذا أردت التكلم عن تصميم و تحليل قواعد البيانات فإن ذلك سيأخذ قرابة العشرين درسا أما الهدف الأساسي هنا هو تعليم MySQL


_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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


ذكر
عدد الرسائل : 1120
العمر : 24
تاريخ التسجيل : 16/08/2009

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   السبت أكتوبر 17, 2009 6:18 am

الف شكر على الموضوع الرائع ده يا سمسمه

وفي إنتظار بقيت الدروس بإذن الله

_________________



لا تقـــــــل فات الآوان ****************** وانطلـــــــق فالوقت آن


الرجوع الى أعلى الصفحة اذهب الى الأسفل
omnia
عضو ملكي
عضو ملكي


انثى
عدد الرسائل : 1176
العمر : 27
تاريخ التسجيل : 20/03/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   السبت أكتوبر 17, 2009 4:28 pm


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


ذكر
عدد الرسائل : 6053
العمر : 27
تاريخ التسجيل : 19/11/2007

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   السبت أكتوبر 17, 2009 6:45 pm


جميييييل جدا يا سمسمه

انا عمرى ما اتعاملت مع ال sql قبل كده

لكن انا حاسس ان الكورس ده سهل و هنتابع ان شاء الله

هتوفرى علينا تعب اننا نبحث فى المنتديات


شكرا سمسمه

_________________


------------ بحبك اد الدنيا دى كلها --------------

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


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الأحد أكتوبر 18, 2009 3:03 am

شكرا ليك يابراهيم على المرور

وياريت تنزليه ياأمنيه
هيبقى بجد حلو
وشكرا ليكى على المرور

والسكوال سهل على فكره
انا فى داتا بيز مكنتش فاهمه غير الشبتر بتاع السيكوال
وكنت بحب ازاكره اوى

وان شاء الله هنزل الباقى

وشكرا ياعقرب على المرور

_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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



مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الأحد أكتوبر 18, 2009 3:09 am

الف شكر يا سمسمه
وان شاء الله كلنا نستفيد
ونرجع نكمل مذاكرة sql
من تاني ان شاء الله
والمره دي بقي نخلصها مش زي المره اللي فاتت

جزاكي الله خيرا يا سمسمه
الرجوع الى أعلى الصفحة اذهب الى الأسفل
عاشقة القمر
عضو ملكي
عضو ملكي


انثى
عدد الرسائل : 3788
العمر : 27
تاريخ التسجيل : 21/06/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الأحد أكتوبر 18, 2009 4:54 am

جميل جداا ياسمسمه
تسلم اديكى

_________________



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


انثى
عدد الرسائل : 5392
العمر : 28
تاريخ التسجيل : 26/10/2007

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الأحد أكتوبر 18, 2009 11:26 pm

شكرا يا سمسمة وفعلا السكوال انا كنت حاباها اوى

_________________



امحي زنوبك
من هنا

http://www.shbab1.com/2minutes.htm
الرجوع الى أعلى الصفحة اذهب الى الأسفل
سمسمة
مشرفة
مشرفة


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الإثنين أكتوبر 19, 2009 2:08 am


شكرا لنبض وعاشقه ونور على المرور

_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الإثنين أكتوبر 19, 2009 2:10 am


بسم الله الرحمن الرحيم

الجزء الثاني



عنوان الدرس: أنواع الأعمدة و الجداول في MySQL - الجزء الثاني.

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

النوع الثالث من أنواع الأعمدة هو:

3. أعمدة التاريخ و الوقت:

و له عدة أنواع هي:

1. date :

الاستخدام : col_name date

و يكون تخزين الوقت في هذا النوع من الأعمدة على الشكل التالي (YYYY-MM-DD) حيث أن القيم المسموح بها هي بين 01-01-1000 إلى 31-12-9999

2. datetime :

الاستخدام : col_name datetime

يكون شكل التنسيق هو (YYYY-MM-DD HH:MM:SS)

أما القيم المسموح بها فهي بين: 00:00:00 01-01-1000 و 23:59:59 31-12-9999

و من سيئات هذين النوعين هو أنه ستقوم أنت بإضافة التاريخ, لذلك أفضل استخدام النوع الثالث و هو:

3. timestamp :

الاستخدام col_name(size)

هذا النوع من الأعمدة هو متعدد الاستخدامات كما أنه يقوم تلقائيا بتسجيل تاريخ و وقت أحدث التغييرات سواء أكان هذا التغيير إدراجا أو تحديثا, أما الوسيط size فهو يأخذ القيم الزوجية التي بين العددين 2 و 14 حيث يكون التنسيق كما يلي:



Size Format

2 YY

4 YYMM

6 YYMMDD

8 YYYYMMDD

10 YYMMDDHHMM

12 YYMMDDHHMMSS

14 YYYYMMDDHHMMSS



و هناك نوعين آخرين من أنواع أعمدة التاريخ و الوقت و هما: time , year

أنواع الجداول:

هناك عدة أنواع للجداول في MySQL و هي:

1. MyISAM :

و هو النوع الافتراضي الذي يضعه MySQL للجدول في حال عدم تعيينك لنوع الجدول الذي تقوم بإنشائه, و هذا النوع من الجداول سريع جدا و مستقر.

2. Heap :

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

و هناك أنواع أخرى هامة هي InnoDB , BDB , Gemini و لكل منها مزايا عديدة و مختلفة بحيث يتوقف النوع الذي ستختاره على نوع الوظيفة التي سيقوم بها الجدول الذي تقوم ببنائه, و سنشرح ذلك لاحقا إن شاء الله, لكن الآن سنعتمد على أن كل جداولنا هي من النوع MyISAM

و لنأخذ هذا المثال:

create table my_table(

col_name type attributes) type=myisam;

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

_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الجمعة أكتوبر 23, 2009 7:01 am

بسم الله الرحمن الرحيم

الدرس الثاني – الجزء الأول



عنوان الدرس: هيكلية قاعدة البيانات – الجزء الأول.

الهدف من الدرس: إطلاع القارىء على قاعدة بيانات هذه السلسلة التعليمية.

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

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

لنفرض أنك أنت تقوم ببيع منتجاتك أي أن هذا المركز لك, لذلك فأنت بحاجة إلى جدول تضع فيه كل المعلومات عن منتجاتك هذا أولا, ثم أنت بحاجة إلى جدول آخر تضع فيه كل المعلومات المتعلقة بالموظفين لديك (و في وضعنا هذا قمت أنا بإنشاء جدولين للموظفين الأول يضم معلومات عن الموظفين في عملهم و الثاني معلومات عن عناوين الموظفين كي يتسنى لنا حرية اكبر في تطبيق تعليمات MySQL), و بما أنك تقوم بعمليات بيع و شراء فأنك بحاجة إلى جدول يضم معلومات عن الزبائن و جدول آخر يضم معلومات عن الموردين, و بذلك أصبح لديك قاعدة بيانات اسمها movie-store تتألف من خمس جداول هي:

- جدول الأفلام movies

- جدول العمال employees

- جدول عناوين العمالaddresses

- جدول الزبائن clients

- جدول الموردين suppliers

و كل جدول من هذه الجداول يتألف من أعمدة و هي كما يلي:

أولا: الجدول employees:

1. رقم العامل emp-no : يضم قيمة فريدة لكل عامل

2. الاسم الكامل للعامل name

3. وظيفته job

4. راتبه المقطوع salary

5. الحوافز bonus

6. تاريخ مباشرة العمل date

ثانيا: الجدول addresses :

1. رقم العنوان الأول للعامل add-no: يضم قيمة فريدة لكل عنوان.

2. رقم العامل emp-no:يضم قيمة مرجعية (مفتاح غريب) لكل عامل.

4. محافظة العامل state.

7. بريد العامل الإلكتروني emp-email.

ثالثا: الجدول suppliers :

1. رقم المورد sup-no : يضم قيمة فريدة لكل عنوان.

2. اسم المورد sup-name.

6. البريد الإلكتروني sup-email .

رابعا: الجدول clients :

1. رقم الزبون cli-no : يضم قيمة فريدة لكل زبون.

2. اسم الزبون cli-name

3. بريده الالكتروني cli-email

خامسا: الجدول movies:

1. رقم الفيلم mov-no : حيث نقوم بتخزين أرقام فريدة لكل منتج في هذا العمود.

2. اسم الفيلم mov-name : و نقوم بتخزين الاسم الخاص بكل منتج في هذا العمود.

3. اسم البطل الأول star-1 : يضم هذا العمود أسماء الأبطال الرئيسيين للفيلم.

4. اسم البطل الثاني star-2

6. نوع الفيلم kind : هذا العمود يحوي نوع المنتج أي نوع الفيلم ( كوميدي, بوليسي, تاريخي, رومانسي, رعب, خيالي, عنف).

7. سعر الفيلم price : من المؤكد أنك عرفت أن هذا العمود يضم أسعار المنتجات.



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

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

_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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


انثى
عدد الرسائل : 2517
العمر : 28
تاريخ التسجيل : 28/04/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الجمعة أكتوبر 23, 2009 9:55 pm

جزاك الله خيرا

_________________
http://gflower.computality.com/
الرجوع الى أعلى الصفحة اذهب الى الأسفل
سمسمة
مشرفة
مشرفة


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   السبت أكتوبر 24, 2009 4:57 am

شكرا ليكى ياجولدن على المرور

_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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


انثى
عدد الرسائل : 5392
العمر : 28
تاريخ التسجيل : 26/10/2007

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الأحد أكتوبر 25, 2009 2:12 am

معاكى يا سمسم كملى يا جميل

_________________



امحي زنوبك
من هنا

http://www.shbab1.com/2minutes.htm
الرجوع الى أعلى الصفحة اذهب الى الأسفل
سمسمة
مشرفة
مشرفة


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الإثنين أكتوبر 26, 2009 6:18 am

شكرا ليكى ياجميل على المتابعه

_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الثلاثاء أكتوبر 27, 2009 4:53 am

بسم الله الرحمن الرحيم

الدرس الثاني – الجزء الثاني



عنوان الدرس: هيكلية قاعدة البيانات– الجزء الثاني

الهدف من الدرس: إطلاع القارىء على قاعدة بيانات هذه السلسلة التعليمية.

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

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

أما بالنسبة للجدولين movies , clients فهناك تفاعل بينهما حيث أن الزبون عندما يزور موقع المركز فأنه لا يهتم بالموظفين و لا يهتم بالموردين بل يهتم بالمنتجات, فلنفرض أن هناك زبونين يريدان شراء مجموعة من الأفلام بحيث يريد الأول شراء فيلم face off و فيلم assassins بينما يريد الثاني شراء فيلم assassins فقط.

لاحظ العلاقة بين movies , clients إذ يمكن للزبون الواحد أن يشتري مجموعة أفلام و يمكن للفيلم الواحد أن يشتريه مجموعة زبائن, إذن العلامة بين الجدولين movies , clients هي علاقة (أطراف بأطراف) و هذه أحد مفاهيم تحليل و تصميم قواعد البيانات و التي سنورد ذكرها في الدرس الثالث إن شاء الله.

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

هذا الجدول اسمه هنا جدول الفواتير bills و يتألف من الأعمدة التالية:

1. رقم الفاتورة bil-no : حيث يضم هذا العمود قيم فريدة تميز كل فاتورة عن الأخرى مع الأخذ بعين الاعتبار أن الزبون عندما يشترى فيلمين سيسجل فاتورتين و هكذا.

2. رقم الزبون cli-no : و يشكل هذا العمود صلة الوصل بين جدول clients و جدول bills أي أنه (مفتاح غريب).

3. رقم الفيلم mov-no : و يشكل هذا العمود صلة الوصل بين جدول movies و جدول bills

أي أنه (مفتاح غريب).

4. تاريخ تحرير هذه الفاتورة : يذكر التاريخ الذي تم فيه تحرير الفاتورة.

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

و هكذا أصبح لدينا قاعدة بيانات تفي بالغرض و مؤلفة من ستة جداول هم :

employees , addresses , suppliers , movies , clients , bills و الآن لنذهب إلى الدرس الثالث لشرح بعض مفاهيم قواعد البيانات.

_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الإثنين نوفمبر 02, 2009 5:22 am


بسم الله الرحمن الرحيم

الدرس الثالث - الجزء الأول

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

الهدف من الدرس تعلم بعض المفاهيم الأساسية في قواعد البيانات و التي تساعد على فهم آلية عمل MySQL .

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

في البداية فإن قواعد البيانات تطورت لتصبح سهلة الاستخدام و مرنة خاصة في عمليات الإدراج و التحديث و الحذف حتى تم التوصل إلى مفهوم قواعد البيانات العلائقية Relational Database و من أهم مفاهيم قواعد البيانات العلائقية ما يلي:

1. الفتاح الأساسي للجدول Primary Key :

ذكرنا في الدرس الأول أن الجدول يتألف من صفوف Records و في قواعد البيانات العلائقية يجب ألا يتكرر الصف كاملا بل يجب أن توجد قيمة فريدة تميز كل صف عن الصف الآخر و هذا ما نسميه بالمفتاح الأساسي للجدول, و كمثال على ذلك ففي جدول employees يمكن أن يكون دلينا موظفين لهما نفس الاسم و يقطنان في نفس المحافظة و كل البيانات عنهما متماثلة لذلك نميز بينها عن طريق رقم الهاتف مثلا أو البريد الالكتروني و لكن هذا التمييز صعب بعض الشيء لذلك سهلت لنا قواعد البيانات شيء جميل هو الترقيم التلقائي بحيث عندما نسجل موظف جديد فإنه يأخذ رقم خاص به تلقائيا و دون أن ندرج له رقم في عمود emp-no و بالتالي نميز بين الموظفين عن طريق رقمه الذي يميزه عن الموظف الآخر و كذلك الأمر بالنسبة إلى المنتجات و الزبائن و الموردين و كل قواعد بيانات العالم تقريبا.

2. المفتاح الغريب Foreign Key :

في قواعد البيانات هناك مصطلح اسمه التكامل المرجعي referential Integrity أي أنه يوجد لدينا جدولين مثل employees , addresses فيتم الربط بينهما عن طريق وضع عمود في أحدهما هذا العمود له نفس اسم عمود المفتاح الأساسي في الجدول الآخر و له نفس نوع البيانات Data Type و نفس الصفات Attributes و هذا العمود نسميه مفتاح غريب بحيث يصبح هذا العمود هو صلة الوصل بين الجدول الأول و الجدول الثاني.

هذه العملية نسميها بالتكامل المرجعي, إذا كتعريف نهائي للتكامل الرجعي.

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

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

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

من الأشياء المفيدة التي يقدمها لنا التكامل المرجعي هي عملية الحذف المتسلسل Cascading Deletes ففرضا أن لديك موظف مسجل في الجدول employees و لدى هذا الموظف ثلاث عناوين مسجلة في الجدول addresses ثم قدم هذا الموظف طلب استقالة و وافقت أنت عليه عندها ستقوم بحذف سجله من قاعدة البيانات الخاصة بشركتك, تخيل مدى الصعوبة و الإرباك الذي ستتعرض له عند كل عملية حذف و خاصة مع الزبائن أو مع الأشخاص الذين يسجلون على بريد إلكتروني مجاني ثم لا يعودوا إلى البريد و الكثير من العمليات المشابهة؟! هنا تبرز أهمية الحذف المتسلسل فعندما اطلب من ملقم قواعد البيانات خاصتي بحذف سجل هذا الموظف من الجدول employees فإنه سيقوم آليا بحذف جميع السجلات المقابلة في الجدول الذي يحتوي على مفتاح غريب.

في الجزء الثاني من هذا الدرس سنكمل مفهوم العلاقات بين الجداول إن شاء الله

_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

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


انثى
عدد الرسائل : 4401
العمر : 27
تاريخ التسجيل : 03/07/2008

مُساهمةموضوع: رد: سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql   الخميس نوفمبر 26, 2009 6:42 am


بسم الله الرحمن الرحيم

الدرس الثالث - الجزء الثاني



عنوان الدرس : مفاهيم في قواعد البيانات العلائقية - الجزء الثاني.

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

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

3. العلاقات بين الجداول Relationship :

ذكرنا في الجزء الثاني من الدرس الثاني بأن العلاقة بين الجدولين movies , clients هي علاقة أطراف بأطراف إذن ما هي أنوع العلاقات بين الجداول في قواعد البيانات:

العلاقة الأولى: هي علاقة رأس برأس( One To One )

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

العلاقة الثانية: هي علاقة رأس بأطراف ( One To Many)

في هذا النوع تكون العلاقة بين الجدولين هي أن كل سجل من الجدول الأول له علاقة بسجل واحد على الأقل من الجدول الثاني بينما كل سجل من الجدول الثاني له علاقة بسجل واحد من الجدول الأول لنأخذ مثال على ذلك في قاعدة البيانات الخاصة بنا movie-store فكل سجل (أي موظف) من الجدول employees يمكن أن يرتبط بأكثر من سجل (أي عنوان) من الجدول addresses بينما كل عنوان هو لموظف واحد فقط.

العلاقة الثالثة: علاقة أطراف بأطراف ( Many To Many )

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

4. القيمة Null : في قواعد البيانات العلائقية سنتعرض لكثير من القيمة null و هي تعني اللاقيمة أي لا شيء و هي بالطبع تختلف عن الصفر Zero فهو قيمة, و لكن المهم الآن أن تعرف أن Null معناها لا قيمة.

5. الفهارس Indexes : الفهرس في قواعد البيانات كالفهرس المعروف للكتب و يؤدي نفس وظيفته ففي الكتاب يساعدنا الفهرس على سرعة الانتقال إلى موضوع معين في الكتاب, و كذلك الأمر في قواعد البيانات فالفهارس تساعدنا على سرعة الانتقال الحصول على معلومات لاستعلام ما.


_________________
لا تتعجب إذا رأيتني أضحك يوماً وأبكي
يوماً ... فأنا كالورد ... يومـًا أزين
عرسـًا ... ويوما أزين قبراً.....
----------------------------

من السخيف جداً .. أن تجد أناساً يستغلون طيبتك
ويعتقدون انك ساذج ،، وأنت تعلم بما يفكرون به ،، ومن المضحك انك تجدهم فرحين
ظناً منهم انهم استطاعوا القيام بشيء...
--------------------------
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
سلسلة دروس تشرح استخدام برنامج قواعد البيانات My Sql
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
 :: الكمبيوتر والإنترنت :: قواعد البيانات :: MY SQL-
انتقل الى: