منتدى العرب التعليمى
أهلاً وسهلاً بأخي


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


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

منتدى العرب التعليمى

منتدى العرب التعليمى تعليمى شامل
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 معنى المفاتيح Keys والعلاقات بين جداول قاعدة البيانات

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


عدد المساهمات : 434
تاريخ التسجيل : 14/11/2010
العمر : 37

معنى المفاتيح Keys والعلاقات بين جداول قاعدة البيانات  Empty
مُساهمةموضوع: معنى المفاتيح Keys والعلاقات بين جداول قاعدة البيانات    معنى المفاتيح Keys والعلاقات بين جداول قاعدة البيانات  Emptyالسبت نوفمبر 20, 2010 11:33 pm

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]


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

اظن انك سمعت من قبل عن المصطلح Primary Key

او المفتاح الرئيسى.

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

بمعنى, اذا كنت مصرى (مثلا), اكيد تعرف الرقم القومى. اى بطاقة تحقيق الشخصية.

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

ترى ان الإهتمام الأول والأكبر هو لرقم البطاقة الشخصية.

لماذا؟ لأن هذا الرقم ليس متكرر مع اى شخص غيرك, وعند ادخال هذا الرقم لديهم.
يستطيع ان يصل لأسمك وعنوانك, وتاريخ ميلادك وكل ماتم تخزينه عنك بملفات هذا المكان.

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

لهذا كان اختراع الرقم القومى هو الحل الأمثل لضمان عدم اختلاط الأمور.

الـ Primary Key للجدول هو هويته, او رقم بطاقته الشخصية.

بمعنى انه
1. غير قابل للتكرار
2. لا يمكن تغييره مستقبليا (واذا حدث هذا ينتج عنه اخطاء لا حصر لها).
3. لا يمكن ان يبقة فارغا او به القيمة NULL حيث NULL تعنى بدون قيمة.

كما انه من المستحسن وبشدة (وتذكر هذا جيدا فيما بعد) ان الحقل الذى تجعله هو الـ Primary Key يجب ان يحمل قيم رقمية وليس حروف ولا مسافات ولا اى شئ من هذا القبيل.

لنفترض مثلا لدينا جدول يحتوى على الحقول التالية

- ID او الهوية التى نعرف منها بقية الحقول
- Name الأسم, او اسم الشخص الذى تم اضافته.
- Address او العنوان, واى عدد من الحقول.



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

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

وهذا سبب اخر لجعل حقل الهوية هو وسيلة الوصول لبقية معلومات الحقل.


اتمنى يكون معنى كلمة Primary Key وصل بإذن الله.

ننتقل للمفهوم التالى وهو العلاقات بين الجداول فى قاعدة البيانات.

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

- one-to-one بمعنى واحد-الى-واحد
- one-to-many بمعنى واحد-الى-العديد
- many-to-many بمعنى العديد-الى-العديد



ونشرحهم بالترتيب,
اولا نوع العلاقات one-to-one
تعنى واحد الى واحد, وهى للحالات التى احد حقول الجدل أ (كامثال) ليس له اى علاقة الا بأحد حقول الجدول ب.
كامثال على ذلك, الرقم القومى مثلا, لكل مواطن رقم قومى واحد, وكل رقم قومى لا يتم نسبه الا مواطن واحد, لذلك لا يمكن ان يكون لمواطن اكثر من رقم قومى, ولا يمكن اعطاء اكثر من مواطن نفس الرقم القومى.

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

ومثال اخر, البريد الإلكترونى, البريد نفسه لا يمكن الا ان يكون لشخص واحد. لكن الشخص الواحد يمكن ان يكون له اكثر من بريد الكترونى.


النوع الثالث والأخير وهو many to many او العديد للعديد.

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

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


العلاقات والمفاتيح الرئيسية يعملون سويا لتشكيل تصميم سليم لقاعدة البيانات.
بحيث يكون المفتاح الرئيسى بالجدول أ هو مفتاح دخيل (Foreign Key) بالجدول ب.
ويربط كل من الجدول أ مع الجدول ب.

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

ولهذا يتم وضع برامج قواعد البيانات مثل الـ MYSQL داخل تصنيف
RDBMS وهذه الحروف اختصار لـ Relation DataBase Management System

اى, نظام ادارة علاقات قواعد البيانات (لست متأكد من الترجمة بنسبة 100% لكن اتمنى ان يكون المعنى وصل)

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

لا اريد ان اطيل عليك اكثر من ذلك.

نتابع بالدرس التالى بإذن الله.
المصدر: [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://egypt1.forumegypt.net
 
معنى المفاتيح Keys والعلاقات بين جداول قاعدة البيانات
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» التخطيط لتصميم قاعدة البيانات Database Design
» ترميز قاعدة البيانات وانشائها وانشاء الجداول MySQL
» الدرس الثالث "كيفية انشاء قاعدة بيانات وتركيب المنتدى عليها
» ادخال البيانات INSERT in MySql
» استخراج البيانات من القاعدة SELECT in MySql

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى العرب التعليمى :: منتدى البرمجة والتصميم والتطوير :: قسم قواعد البيانات :: قسم دورة Microsoft my SQL-
انتقل الى: