amg2005num ...::| عضو جديد |::...
الجنس : ذكر المتصفح المفضل : تاريخ التسجيل : 07/11/2007 عدد الرسائل : 18
| موضوع: تابع دروس تعليمية عن لغة My SQL الأربعاء ديسمبر 05, 2007 9:50 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 عليها لذلك اخترت الجداول و الأعمدة التي تفي بالغرض فقط. بسم الله الرحمن الرحيم
الدرس الثاني – الجزء الثاني
عنوان الدرس: هيكلية قاعدة البيانات– الجزء الثاني
الهدف من الدرس: إطلاع القارىء على قاعدة بيانات هذه السلسلة التعليمية.
في هذا الدرس سنكمل ما قلناه في الدرس السابق حيث قمنا بوضع الجداول التي تهمنا فقط و حددنا الحقول التي تهمنا فقط أيضا, و الآن أصبح لدينا قاعدة بيانات جاهزة للتدريب.
لنبدأ على بركة الله, سنكمل الآن منهجية بناء قاعدة البيانات, فبالعودة إلى الجداول السابقة نلاحظ أن كل من الجداول التالية : 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 و الآن لنذهب إلى الدرس الثالث لشرح بعض مفاهيم قواعد البيانات. | |
|