![]() |
|
#1
|
|||
|
|||
|
اولا درس تنصيب الاوريكال الضغط عن ملف قاعدة البيانات اللى هوة اسمة 10201_database_win32 المهم عندنا تشوف فى الاسم كلمة database وبعد كدة تعمل ملف جديد فى البارتشن اللى حددناة للشغل وتسمية مثلا orcldb لحد كدة تمام؟؟!! نفتح فولدر قاعدة البيانات 10201_database_win32 ونشغل ست اب setup ونتابع الصور بكل دقة ![]() ![]() هتظهر الشاشة دى سيبها متقفلهاش ![]() ملحوظة هامة جدا:: لو الشاشة السمرا دى اتقفلت ومفتحش حاجة تانية بعدها يبئا جهاز حضرتك مش مطابق للمواصفات يعنى حضرتك مطبقت الخطوات الى قلناها فى اعدادات الجهاز او مطبقتهاش صح!!! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() الخطوة دة مهمة جدا جدا جدا جدا جدا اهم حاجة مش تخلى ولا علامة صح موجودة خالص فى الصف كلة ![]() ![]() الخطوة دة لها اهمية كبيييييييييييييييييرة جدا لازم بعد متشيل عللامات الصح تكتب اى باسورد حروف مش ارقام ويستحسن يكون بسيط يعنى حرف او اتنين تكتبة فى جميع المربعات الخاصة بالباسورد المهم ان كلهم يكونو واحد ![]() ![]() ![]() ![]() تركيز هنا ياجماعة الله يكرمكو رسالة الخطا دى مش هتظهر الا عند الجماعة اللى عندهم اصدارات اقدم شوية ولو ظهرت عادى جدا مفيش منها خوف ممكن تظهر اكتر من مرة فى نفس الوقت عادى اضغط اوكى من غير مشاكل خالص وللعلم مفيش اى اخطاء هتظهر خلال التنصيب باستثناء الرسالة يعنى لو حد ظهر عندة اى رسالة خطاء غير دى ياخد منها صورة ويبعتها فى مشاركة الردود والمناقشات وان شاء الله لو ماشى معانا من البداية خالص صح مفيش اى اخطاء هتظهر نكمل؟؟!! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() كدة خلاص , نشغل البرنامج واحنا متطمنين ![]() ![]() ![]() ![]() الدرس الثانى نظره عامه على اوراكال ![]() ![]() ![]() ![]() ان اوراكل شئ كبير جدا, فهو مجموعة ضخمة جدا من الادوات والمكتبات والاسس جمعت فى شئ واحد وهو الاوراكل, وحتى هذة اللحظة لم ننتهى نحن الدارسون والعاملون علية من الوصول لنهاية لة على الرغم من التطوير المستمر لة, ففى كل مكان تجد طرقا مختلفة وقوانين وسبل كثيرة جدا فى التعامل معة ولكن الهدف لكل هذة السبل واحد الا هو الوصول لمنتج قادر على انجاز الاعمال كما خطط لها ان تكون, وعندما تعمل بعد ذلك ان شاء الله فى اوراكل وتندمج فى الحياة العملية ستجد عالما لا نهاية لة وطرق كثيييييرة ولكن هذة السبل المتفرقة تجمعها قوانين واحدة تحدد هذة السبل, فمهما اختلفت فهى فى النهاية تعمل تحت قانوت واحد واطار واحد, وعندما ندخل فى الجزء العملى سترى انة يمكنك ان تكتب جملة بطرق كثيرة جدا ولكن فى النهاية نتيجتها واحدة وسوف نتطرق لهذا مستقبلا وفى وقتة ان شاء الرحمن ![]() والان اخوانى هيا نعرف سويا طبيعة عمل اوراكل ان اوراكل من افضل البرامج حتى هذا الوقت فى انتاج افضل البرمجيات وادقها واقواها فكل مايخرج منة من اى منتج يحظى باحترام شديد فى وسط البرمجيات, فهو اقوى سبيل لادارة اى عمل مهما كان حجمة وتشعبة فيمكنك ادارة شركات متشعبة فى كل مكان ولو بينها وبين بعضها اميالا فيشعرك ان كل اعمالك تحت يديك ولا تشعر بفرق المسافة. ![]() هيا نعرف ما هى مميزات اوراكل * الاوراكل قاعدة بيانات ضخمة جدا تستطيع اتسعاب وتخزين بيانات باحجام هائلة تصل الى ملايين الميجاهات . ------------------------------- * قوة هائلة فى استخراج البيانات فتملك محرك بحث لا مثيل لة من القوزة والسرعة والدقة فى جلب البيانات مهما كانت كبيرة وضخمة. ------------------------------- * تتمتع منتجات اوراكل بالحماية ولسرية والامان الشديد على ماتحتوية من اسرار لشركات او اعمال, ويمكن لصاحب الاعمال ان يحدد لكل من يتعامل مع المنتج صلاحياتة وهذا يعتبر طفرة فى هذا المجال فلكل صاحب عمل مايريد اخفاؤة عن العيون ولا يستطيع حفظ تلك الاسرار على الاوراق. ------------------------------- * يمكن توزيع البيانات على اكثر من سيرفر ويمكن اتصال عدد كبير جدا من المستخدمين على السيرفر دون حدوث اى مشاكل فى تضارب البيانات او عملية التخزين او البحث فهو يتمتع بقوة هائلة فى دعم اى اتصال بالسيرفر سواء محلى او عالمى LAN, Wan او حتى اتصال انترنت. ------------------------------- * السهولة الكبيرة فى التعامل مع اى من متجات اوراكل فى ادخال البينات واستخراجها وطباعة التقارير من قبل موظفين عاديين بمجرد التدريب البسيط على استخدامة. ------------------------------- * التوافق التام مع جميع النظمة ويمكن من خلالة انتاج اى برمجيات مهما كانت معقدة لمؤسسات ضخمة او برمجيات صغيرة لاعمال بسيطة فهو متكامل مع برمجة الجافا وهذا يضيف لة قوة اكبر مما يجعلةة يتربع على عرش البرامج فى نفس المجال. هذة بعض من مييزات اوراكل , فمييزاتة كثيرة جدا ولكن هذة مجرد نقاط اساسية . ![]() والان كيف يعمل اوراكل؟؟ يقوم اوراكل على وجود جهاز خادم server وهو المصدر الرئيسى والعقل الذى يحتوى على كل ماتحتوية قاعدة البيانات من بيانات ومعلومات, ويتصل بالخدام اجهزة المستخدميين العاديين clients, وتوجد على هذة الاجزة فقط محركات الاوراكل من الفومز والتقارير وخلافة من الادوات حتى يتسنى للمستخدم العادى التعامل مع قاعدة البيانات بكل سهولة من ادخال بيانات واستخراجها وطباعة التقارير, ويتم الاتصال من خلال وجود شبكة اتصال بين الجهاز الخادم server واجهزة المستخدمين clients اى كان نوع الشبكة سواء محلية LAN اى ان الخادم والمستخدمين فى مكان واحد Local Aera Netrwork, او شبكة عالمية WAN اى ان الخادم موجود فى مكان ويتصل بية مستخدمين من اماكن عديدة تبعد كثيرا عن مكان وجود الخادم حتى لو فى ببلد مختلف Worled Area Network, او حتى يمكن الانصال من خلال الشبكة العنكبوتية الانترنت ولكل اتصال خواصة وطرق تكوينة. ![]() اما عن قواعد بيانات اوراكل: الاوراكل عبارة عن قواعد بيانات علائقية Relational Database اى انها تقوم على نظام العلاقات بين كل ماتحتوية من بيانات وسوف نقوم بدراسة وافية لهذا النوع فى دروس مقبلة ان شاء الله, وبعد انشاء قاعدة البيانات المرادة او المخطط لها بعد تم عمل تحليل للنظام المراد تكوينة واتمام انشاء محتويات قاعدة البيانات من خصائص يتم انشاء فورمز اى واجهات للتعامل مع قاعدة البيانات من قبل المطورين حتى يستخدما موظفين او اشخاص عاديين فى التعامل مع البيانات من ادخال واستخراج البيانات ويتم انشاء التقارير التى ستتم طباعتها وتحتوى التقارير على ما يتم استخراجة من قاعدة البيانات بحسب المطلوب وطباعتة على اوراق يتعامل بها ![]() هذا مجرد كلام عام يضم معظم النقاط الاساسية للاوراكل لكى نفهم الية البرنامج وهذا ليس كل شئ انا فقط اعطيك نقاطا اساية وانت بمجهود ان اردت ان تبحث فستجد ماهو اكثر من ذلك بكثير فالكلام عن اوراكل لا ينتهى وكل كتاب ستجدة ستجد فية اشياءا مختلفة عن كتاب اخر ولكن جميعها يدور حول تلك النقاط.
|
|
#2
|
|||
|
|||
|
فى البداية سوف نتعرف على قواعد البيانات الموجودة او الشائعة Database models وسوف نكتب نبذة بسيطة عن كل نوع, ![]() وهذا حتى يكون الكورس متكامل ان شاء الله ولا ينقصة شئ وحتى تتسع معرفتنا بالمجال ولا افضل ان تنطبق الدراسة على مايتعلق بالاوراكل فقط ولكن على الاقل ناخد فكرة عن المجال وما يحتوية من اسرار لتنمية الفكر ولا تكون معرفتنا محددة لان هدفى هو الرقى بفكر الدارسين معى وهذا يعطى ميزة جيدة تضعك فى مرتبة اعلى من اى دارس اخر فى مكان اخر ![]() ونبدا على بكرة الله, 1- قواعد البيانات الهرمية Hierarchical model كانت تستخدم قواعد البيانات الهرمية على نطاق واسع فى اوائل انتشار الحاسوب وبدايات البرمجيات ونظم ادارة قواعد البيانات حيث يتم تنظيم البيانات على شكل هرمى ويعتمد على وصلة واحدة تسير بشكل تصاعدى فى وصف الية تخزين البيانات ونوع الارتباطات بين البيانات لابقاء السجلات الموجودة فى ترتيب معين بنفس المستوى فى كل قائمة ولكن ظهر بها قصور كبير جدا وعجز فى مهام كثيرة على سبيل المثال علاقة واحد الى كثير عند تطبيقها ينتج اخطاء فادحة كمثال منتجات الكترونية فينتج عن تلك الوحدة وهى المنتجات الالكترونية امثلة المنتجات المحمولة والتليفزيونات فتتم هذة العلاقة بالنظام الهرمى حيث يكون فى الاساس خانة الاكتورنيات وينتج منها فروح لما نريد وضعة بداخلها وليكن المنتجات المحمولة ومنتجات التليفزيون ثم يخرج من كل منتج مايحتوية من خصائص او مكونات وهذا يسبب عجز وقصور كبير خاصة عند استخدام البحث اعلم ان هذا الكلام يعتبر معقد بعض الشئ للبعض منا ولكن عل الصورة توضح ما اقول ![]() المثال هنا يوضح ان كل كائن يخرج منة كائنات اخرى تصفة او تكملة او تنتمى الية ولا توجد علاقات مباشرة بالكائن الاصل هذا مثال بسيط علة يوضح فكرة قواعد البيانات الهرمية ![]() 2- قواعد البيانات الشبكية network database وهذا النظام قام على تطوير النظام الهرمى واصلاح الاخطاء الناتجة عنة وخاصة عند انشاء العلاقات والارتباطات بين البيانات فنظام قواعد البيانات الشبكية يقوم بادارة العلاقات بين خصائص البيانات من خلال عدة نقاط تسمى المجموعات , وصمم هضا النظام لكى يضيف مرونة اكثر فى العلاقات بين الخصائص مما يجعلها الامثل فى علاقات البيانات المعقدة والكبيرة والمكررة وببساطة يقوم هذا النظام على التالى عند وجود قيمة متكررة لاكثر من كائن فيقوم بانشاء العلاقة المناسبة بين الكائن والقيمة حيث يضل عمود القيم ثابت وبدون اى تكرار , انم المتكرر هو العلاقات وهذة صورة علبها توضح مفهوم هذا النظام صورة تمثيلية لجدول بسيط ![]() انظرو , هنا الحقول ذات الاسهم باللون الاذرق تاخذ اكثر من قيمة فهنا الجدول ثابت والقيم فى الجدول الثانى ثابتة ولا يوجد تكرار فى القيم والاسهم تمثل العلاقات ------------------------------------------------ وهذة صورة للنظام المعقد توجد جداول عملاء و الطلبات واجزاء الطلبات ومسؤل الاتصالات كل هذة جداول مرتبطة بنظام قواعد البيانات الشبكية, والصورة توضح ![]() وهذة مجرد نبذة صغيرة عن هذا النظام للمعرفة العامة بها فقط ![]() لا اريد ان اثقل عليكم اكثر من ذلك حتى لا تداخل المعلومات ويحدث عند بعض الاخوة لبس وقلع وخلافة ![]() وايضا مراعاة لظروف اخواننا المشغولين فى الامتحانات اعانهم الله ![]() باق لنا نوع واحد وهو الاهم لدينا وهو ما تعتمد كل دراستنا علية قواعد البيانات العلائقية Relational Database وسنقوم بدراستها تفصيليا للهمية القصوى |
|
#3
|
|||
|
|||
|
Realtional Database Model
قواعد البيانات العلائقية ![]() تعريف قواعد البيانات العلائقية Realtional Database Model: تعتمد قواعد البيانات العلائقية على نظام وجود علاقات متشعبة بين مختلف انواع البيانات ويعتبر هذا النظام من اقوى الانظمة والتقنيات فى مجال انشاء قواعد قواعد البيانات حيث انة تم تكوينة على اساس النوعين السابقين الهرمى والشبكى وتم معالجة القصور الموجود فى هذين النوعين واعتمدت اوراكل على هذا النظام لانة يعتبر اقل الانظمة من حيث الاخطاء والقصور فى اداء المهام ![]() مميزات نظام قواعد البيانات العلائقية Relationa Database Model: 1- Organizes التنظيم الدقيق للبيانات الموجودة على هذا النوع من انوع قواعد البيانات 2- Speed السرعة العالية فى ادخل البيانات مهما كانت مساحتها او نوعها 3- Eaiser Searching السهولة المتناهية والدقة فى البحث واستخراج البيانات بدون اى تداخلات او اخطاء 4- Saves Space توفير المساحات بحيث يتم تخزين كميات هائلة من البيانات فى مساحات صغيرة ![]() كيفية عمل قوا قواعد البيانات العلائقية : تقوم قواعد البيانات العلائقية فى انشاء قاعدة بيانات تتكون من عدة جداول Tables ويحتوى كل جدول على صفوف,COLUMNS واعمدة Rows ويحتوى كل صف Column على مجموعة من Attributesخصائص او صفات وتحتوى الاعمدة Rows البيانات المخزنة تحت كل خاصية Attribute وتكون بهذا الشكل هذة صورة لجدول Table ![]() وعند انشاء جدول اخر يحتوى على حصائص مختلفة وهناك يمكن ان يعتمد جدول على جدول اخر فلابد من وجود رابط او علاقة Relation وسيتم شرح كيفية الربط فى الجزء الثانى من الدرس وسيتم شرح ذلك بعد قليل فعندما يتكون لدينا عدة جداول مرتبطة ببعضها تتكون لدينا قاعدة بيانات علائقية وتكون بالشكل الاتى ![]() فكل هذة جداول وما بينها من خطوط فهيا علاقات Relations |
|
#4
|
|||
|
|||
|
ماذا تعنى هاتان الكلمتان ENTITY - RELATIONSHIPS ؟؟؟ هاتان الكلمتان يعتبران الاساس الذى قامت علية قواعد البيانات العلائقية حيت Entity هى الكائنات التى تم انشاؤها بواسطة المبرمج فى قاعدة البيانات اى كان نوعها جدوال او استعلامات او متتابعات ..الخ و Relationship هى حلقة الوصل او الرابط او العلاقة التى تتم بين تلك الكائنات لتتحقق معادلة قواعد البيانات العلائقية ![]() وناخد كل على حدة 1- Entity : وتعنى كينونة او كائن وعند استخدام هذة الكلمة فى قواعد البيانات العلائقية فهى تترجم على اى تكوين داخل قاعدة البيانات ولة خصائص ويشترط ان تكون لة خصائص Attributes وانواعه Entity كثيرة وسيتم التطرق لكل نوع على حدة فى ترتيبة خلال الدروس وعلى سبيل المثال من هذة التكوينات الجداول Tables الاستعلامات المحفوظة Views الفهارس Indexes .... الخ ![]() اما عن الخصائص Attributes :فهى الحقول Fields التى تحتوى على وصف للتكوين او الكائن وتمثل الكائن وخصائصة على شكل ERD كما فى الصورة ![]() هذة الصورة توضح القاعدة العامة ل Entity , Attributes حيث تمثل شكل المربع Entity وهى قاعدة اساسية ![]() ويمثل الشكل البيضاوى Attributes وهى قاعدة اساسية ايضا ![]() مثلا عندنا تكوينEntity نوعة جدول table واسمة الموظف Employee وخصائصة Attributes كالتالى رقمة ID اسمة Name عنوانة Address والصورة توضح التشكيل على هيئة ERD ![]() --------------------------------------------------------------------- ![]() 2- Relationships العلاقات: وهى حلقة الوصل والرابط او العلاقة المكونة بين الجدوال الموجودة فى قاعدة البيانات وللعلاقات بين الجداول اكثر من نوع فعند انشاء اى علاقة يتم اختيار نوع العلاقة حسب كيفية ارتباط جدول بجدول اخر وسيتم شرح تلك الانواع ويمثل شكل المعين العلاقة بين الجداول على ذلك الشكل ![]() فمثلا انة عندنا جدولين موظفين و عملاء فمن الطبيعى ان الموظفين يتعاملون مع العملاء بغض النظر عن نوع التعامل ففى هذة الصورة توضيح على شكل ERD يمثل الجدولين والعلاقة بينهم وهذة الصورة تضم وصف Entity , Attributes , Relationship ![]() ففى الصورة يتبين لنا الجدولين وما يحتويان من خصائص والعلاقة بينهم على سبيل المثال علاقة بيع ![]() واداة الربط هى حقول ضمن خصائص الجدول وتسمى keys وسوف نقوم بشرحها ![]() Keys تنقسم المفاتيح Keys الى نوعين 1- مفتاح اساسى Primary Key 2- مفتاح اجنبى Foreign Key ![]() 1- المفتاح الاساسى Primary Key : هو حقل ضمن الجدول يتم اختيارة لكى يكون المفتاح الاساسى للجدول ومهمتة ان يقوم بتعريف وحيد وغير متكرر للجدول وهو اداة الربط بينة وبين اى جدول اخر وهذا الحقل غير متكرر اى انة لا يوجد حقل مطابق لة فى نفس الجدول ولة نفس الخصائص ويمكن وضع اكثر من مفتاح اساسى فى الجدول ولكن يشترط ان يكون المفتاحين مختلفين فى الخصائص ويتم اختيار هذا الحقل بحيث ان يكون صفة عامة فى الجدول ويجب ان يحتوى على بيانات ولا يترك فارغا ابدا وفى الغالب يتم اختيار الحقل على حسب البيانات المدخلة فية على انها بيانات اساسية لا غنى عن وجودها فى الجدول على سبيل المثال جدول موظفين يحتوى على رقم الموظف واسمة وعنوانة ورقم الهاتف كيف يتم اختيار اى حقل من هذة لكى تكون مفتاحا اساسيا للجدول؟ نبحث عن حقل بحيث يكون مابداخل هذا الحقل لن يتكرر فى اى حقل اخر فنختار رقم الموظف لان لكل موظف رقم واحد ولن ياخذ موظف اخر نفس الرقم ولماذا لم نختار الاسم؟؟ او العنوان؟؟ او رقم الهاتف؟؟ لانة يمكن للاسم ان يتكرر فمثلا يمكن ان يكون لدينا موظفين يحملان نفس الاسم وليكن محمود احمد محمد فيمكن ان يكون هناك موظفا اخر يحمل نفس الاسم فبذلك هذا الحقل لا يصلح ان يكون مفتاحا اساسيا وينطبق ذلك على باقى الحقول فالمفتاح الاساسى يعتبر بصمة للجدول ومن المعروف انم البصمة وحيدة ولا تتكرر ![]() 2- المفتاح الاجنبى Foreign Key وهو حقل لة نفس خصائص حقل اخر فى جدول اخر وهذا الحقل مفتاحا اساسيا فى الجدول الاخر فعند وضع مفتاحا اساسيا لجدول معين داخل جدول اخر فيتحول الى مفتاح اجنبى وبهذا تتكون العلاقة بين الجدولين ويجب ان يحمل المفتاح الاجنبى نفس خصائص المفتاح الاساسى للجدول المشار الية ![]() |
|
#5
|
|||
|
|||
|
تنقسم العلاقات الى ثلاثة اجزاء
ولكل جزء عملة وكيفية تكوينة واهمية وجودة فى قاعدة البيانات وانواع العلاقات : 1- One to One واحد الى واحد 2- One to Many واحد الى كثير 3- Many to Many كثير الى كثير ![]() اولا: علاقة واحد الى واحد One to One 1-1: يتم التعامل بهذة العلاقة عندما يوجد جدولين وطبيعة التعامل بينهما ان كل جدول يخدم الجدول الاخر بطريقة فردية كيف يتم ذلك؟؟ مثلا انة عندنا جدولين على سبيل المثال جدول الاقسام Department وجدول المديرين Manager فمن الطبيعى ان لكل قسم مدير واحد فلا يصلح ان يكون هناك قسمين او اكثر لهم نفس المدير او ان هناك قسما لة اكثر من مدير او رئيس فستكون العلاقة بين هذين الجدولين من نوع واحد الى واحد One to one وتنفذ هذة العلاقة بشكل الجدول الاب والجدول الابن فاذا فرضنا ان الجدول الرئيسى والذى سوف نجعلة جدول الاب لة تلك الخصائص جدول المديرين Manager Man_id name address sal وكما ذكرنا فى السابق انة لكى تتم العلاقة يجب ان يكون هناك مفتاحا اساسيا فى الجدول Primary key فعلى سبيل المثال اخترنا الحقل Man_id ليكون المفتاح الاساسى للجدول (الجدول الاب) والجدول الثانى جدول الاقسام (جدول الابن) لة تلك الخصائص Department dept_no dep_name location phonenum التركيز هنا من فضلك عند عمل علاقة واحد الى واحد يكون المفتاح الاساسى لجدول الابن هوة نفس المفتاح الاساسى لجدول الاب !! كيف يتم ذلك؟ سنضع الحقل الموجود فى جدول الاب ولة خاصية المفتاح الاساسى سنضعة فى جدول الابن ونجعلة المفتاح الاساسى لجدول الابن مع التعريف بذلك فى جدول الابن مش فاهمين حاجة!! بكل بساطة هتكون خصائص جدول الابن اللى هوة جدول الاقسام Department الجديدة كالتالى man_id dept_no dep_name location phonenum الجديد هنا اننا وضعنا المفتاح الاساسى لجدول المديرين الجدول الابman_id داخل جدول الابن اللى هوة جدول الاقسام وهنخلى المفتاح الاساسى للجدول الابن اللى هوة جدول الاقسام هوة نفسة المفتاح الاساسى للجدول الاب يعنى المفتاح الاساسى للجدول البن اللى هوة جدول الاقسام department هوة man_id وعند الخول فى القسم العملى سنتعلم كيف يتم تعريف العلاقة فى الجدول ولكن هذة هى القاعدة الاساسية للعلاقة وهذة الصورة توضح الجدولين والعلاقة بينهم على شكل ERD ![]() تظهر لنا الصورة اجدولين وخصائصهم والخاصية التى تحتها خط هى المفتاح الاساسى للجدول اما الرقم اسفل الجدول المشار الية بالسهم فهو يبين كيفية العلاقة وطبعا داخل شكل المعين نوع العلاقة وهى على سبيل المثال manage اى يدير ومعناها ان الجدول الاب وهو المديرين يرتبط مع الجدول الابن وهو الاقسام بان المديرين يقومون بادارة الاقسام ملاحظة: يمكن ان نقوم بعمل مفتاح اساسى اخر للجدول الابن ان تطلب الامر ونختار حقلا من حقول جدول الابن يصلح ان يكون مفتاحا اساسيا بالشروط المذكورة سابقا -------------------------------------- ملاحظة: التعامل مع هذا النوع من العلاقات يكون بحرص شديد جدا جدا وتحليل جيد للنظام لانها تقيد المستخدم بشكل كبير ![]() ثانيا : علاقة واحد الى كثير One to Many 1-m: يتم وضع هذة العلاقة عندما يكون هناك طرفا واحدا يتعامل مع اكثر من طرف اخر وهذة الاطراف الاخرى لا تتعامل الا مع الطرف الاول الا بشكل فردى !! على سبيل المثال هناك جدولان جدول الاقسام وخصائصة DEPARTMENT dept_no dep_name location ومفتاحة الاساسى dept_no ويتم تمثيل المفتاح الاساسى بوضع خط تحتة وجدول اخر جدول الموظفين Employee وخصائصة: emp_id name sal address ومفتاحة الاساسى emp_id السؤال هنا , كيف تتم العلاقة بين هذين الجدولين وماهو نوع العلاقة ؟؟ من الطبيعى ان لكل قسم موظفية ومن الطبيعى ان يعمل فى قسم واحد فقط اكثر من موظف مثلا قسم الحسابات يمكن ان يعمل بية اكثر من موظف ولكن لا يمكن لموظف ان يعمل فى اكثر من قسم اذا العلاقة هنا هى علاقة واحد الى كثير one to many كيف نقوم بوضع تلك العلاقة؟؟ طبعا كل جدول لة المفتاح الاساسى الخاص بة فعندما نريد ان نكون علاقة واحد الى كثير one to many اولا نقوم بتحديد الجدول الذى سوف يكون التعامل معة بطريقة مفردة والجدول الذى سيتم التعامل معة بكثرة فهنا جدول الاقسام هو من سيتم التعامل معة بطريقة مفردة وجدول الموظفين سيتم التعامل معة بطريقة كثير فتكوين العلاقة يتم كالاتى: نقوم باخذ حقل المفتاح الاساسى لجدول الاقسام dept_no ووضعة داخل جدول الموظفين ويتم تعريف الحقل الجديد بالاشارة الى الجدول الاساسى لة فيتحول هذا الحقل الى مفتاح اجنبى foreign key وتم التعرف علية مسبقا فتنتج خصائص جديدة لجدول الموظفين تكون كالتالى emp_id name sal address dept_no وبهذا نكون قد كونا العلاقة وهذة صورة تمثل العلاقة على شكل ERD ![]() الصورة هنا توضح انة تم وضع حقل المفتاح الاساسى لجدول الاقسام dept_no ومشار الية باللون البرتاقالى اما رقم واحد 1 المشار الية بالسهم فهو دلالة على ان هذا الجدول يتم التعامل معة بصورة مفردة وحرف m المشار الية دلالة على ان هذا الجدول يتم التعامل معة بصفة كثير وطبيعة العلاقة بين الجدولين داخل شكل المعين وهى على سبيل المثال طبيعة عمل work ![]() ثالثا : علاقة كثير الى كثير Many to Many m to n : التركيز مطلوب جدا ياجماعة هذة العلاقة بها بعض الاختلاف عن غيرها يتم التعامل بهذا النوع عندما تكون كل الاطراف المشتركة فى العلاقة تعتمد على بعضها البعض بشكل مختلف وبعدة اشكال على سبيل المثال العلاقة بين المدرس والطالب فكل طالب يقوم بالتدريس علية اكثر من مدرس وكل مدرس يقوم بالتدريس ل اكثر من طالب اذا كيف نقوم بتكوين تلك العلاقة؟؟؟ لنفرض انة لدينا جدولين جدول الطلاب STUDENT وخصائصة: st_id name address phone ومفتاحة الاساسى st_id وجدول المدرسين TEACHER وخصائصة : t_id name phone address subject ومفتاحة الاساسى t_id والان كيف نقوم بتكوين تلك العلاقة؟؟؟ فى هذا النوع من العلاقات نقوم بعمل جدول جديد للعلاقة كيف ذلك؟؟ الجدول الجديد ستكون خصائصة مكونة من المفتاح الاساسى للجداول المشتركة فى العلاقة سنقوم الان بتكوين العلاقة على هذين الجدولين سنقوم بانشاء جدول جديد ونسمية على سبيل المثال TEACHING اى عملية التدريس ونقوم بوضع المفتاح الاساسى لجدول المدرسين t_id من خصائص الجدول الجديد ووضع المفتاح الاساسى لجدول الطلاب st_id ضمن خصائص الجدول الجديد ايضا فعندما تتم تلك العملية تنشاء علاقتين علاقة بين جدول المدرسين TEACHER وجدول العلاقة الجديد teaching من نوع واجد الى كثر واحد من جدول المدرسين وكثير من جدول عملية التدريس وعلاقة بين جدول الطلاب STUDENT وجدول العلاقة الجديد teaching علاقة من نوع واحد الى كثثر ايضا وبهذا تكون علاقة كثير الى كثير قد تم تكوينها ونمثل ذلك على شكل ERD لتوضيح العلاقة ![]() فى هذة الصورة يتم توضيع العلاقات المكونة ونوضيح جدول العلاقة الجديد وخصائصة وكيفية انشاء العلاقة بينة وبين الجدولين الاساسيين وبهذا نكون قد وضحنا تماما انواع العلاقات وكيفية تكوينها وان شاء الله فى الجزء العملى سيتم توضيح كيفية تطبيق العلاقات ![]() وفى الدرس القادم ان شاء الرحمن سننتقل الى جزء اخر وان كان هناك اى تقصير منى فسامحونى
فان اصبت فمن الله وان اخطات فمن نفسى والشيطان ![]() |
|
#6
|
|||
|
|||
![]() ماذا تعنى هذة الكلمة(Normalization) ؟؟ معنى هذة الكلمة حرفيا هو جعل الشئ طبيعيا او ارجاعة لطبيعتة والغرض منها فى مجال قواعد البيانات هو جعل كل مايوجد فى قاعدة البيانات من كائنات اى كان نوعها مقننة وتخضع لقوانين معينة ومصنفة لتحقيق الهدف المنشود من تلك القوانين او القوالب المفروض ان تخرج هذة الكائنات على الشكل المطلوب والصحيح ما فائدة Normalization وكيف تخدم قواعد البيانات؟؟ الفائدة من Normalization هوة انها تنقسم الى عدة اصناف لكل نوع او صنف منها قوانين محددة الهدف منها جعل قاعدة البيانات صحيحة وخالية من الاخطاء او التداخلات وايضا الحفاظ على كل ما يدخل من بيانات الى قاعدة البيانات من الضياع او دخولها فى مكان غير المخصص لها وهذة الفوائد والاهداف تتلخص فى الاتى 1- تنظيم وترتيب مابداخل قاعدة البيانات من جداول وغيرها من الكائنات. 2- تنظيم وترتيب وتصحيح العلاقات بين الجداول او اى كائن اخر. 3- تخليص قاعدة البيانات من مشاكل تكرار البيانات المدخلة والتى تسبب مشاكل لا حصر لها اثناء التعامل مع قاعدة البيانات. 4- تسهيل عملية ادخال البيانات بشكل صحيح ومرتب وبدون ظهور اخطاء اثناء عملية الادخال بان البرنامج غير قادر على الحفظ وخلافة من الاخطاء. 5- تسهيل عملية البحث واستخراج البيانات اثناء العملية بدقة متناهية دون اخطاء. 6- الحفاظ على المساحات التخزينية لقاعدة البيانات وذلك لشدة التنظيم وعدم السماح للتكرار. وينقسم Normalization الى خمسة اجزاء وهم : 1- First Normal Form 2- Second normal form 3- Third normal form 4- Fourth normal form 5- Fifth normal form وسنقوم فقط بدراسة الثلاث حالات الاولى 1- First Normal Form 2- Second normal form 3- Third normal form لان تلك الحالات هى ماتهمنا دراستها. والان نبدا بدراسة كل حالة على حدة ![]() اولا: First Normal Form : والقاعدة الاساسية لعمل هذة الحالة هى 2- انشاء جداول منفصلة لكل مجموعة من البيانات ذات الصلة وتحديد كل صف مع عمود فريد واداة الربط بين الجداول المنشأة هى (المفتاح الأساسي). مثال على هذة الحالة : نفرض انة عندنا جدول فى قاعدة البيانات بالشكل دة ![]() زى مواضح فى الصورة ان عندنا الجدول دة وفية الشخص اللى اسمة James عندة رقمين للتليفون طيب علشان نطبق الشرط الاول اللى هوة First Normal Form هنلغى الجدول دة خالص من قاعدة البيانات ونعمل بدالة جدولين باسمين مختلفين وليكن ان دة جدول العملاء الجدول الاول هيكون بالشكل دة واسمة العملاء ![]() والجدول الثانى هيكون بالشكل دة واسمة ارقام تليفونات العملاء وحلقة الوصل هيا المفتاح الاساسى فى الجدولين اللى هوة هوة نفسة customer id دة هيكون المفتاح الاساسى الجدول الاول اللى هوة جدول العملاء وهيكون مفتاح اجنبى فى جدول ارقام تليفونات العملاء ![]() كدة احنا استفدنا من الموضوع دة فى اننا حلينا مشكلة تداخل البيانات ودة بيزود قاعدة البيانات مرونة وخاصة عند البحث ![]() ثانيا : Second normal form: والقاعدة الاساسية للحالة هى: 1- ازالة مجموعات فرعية من البيانات التي تنطبق على متعددة الصفوف من الجدول ووضعها في جداول منفصلة. 2- انشاء علاقات جديدة بين هذه الجداول وأسلافهم من خلال استخدام مفاتيح الاجنبية. ودى شبيهة بالاولى ولكن مع بعض الاختلاف والاختلاف اللى بينها وبين الحالة الاولى ان الحالة الاولى فيها تكرار فى فى بيانات عمود واحد اللى هوة ان James لة اكتر من تليفون وان التليفونات دى مفيش حد غيرة واخدها يعنى التكرار اللى موجود دة مش موجود الا مرة واحدة انما فى احالة التانية التكرار بيكون فى اكتر من عمود ![]() شوف هنا اكثر من تكرار فى نفس العمود والمشكلة دى بتحلها الحالة التانية طيب هتتحل ازاى?? هنعمل جدولين واحد بيعرض employees ومفتاحة الاساسى employee وهيكون بالشكل دة ![]() والجدول التانى هيكون فية مفتاح اجنبى هوة employee والمفتاح دة بيشير للجدول Employees وبكدة الجدولين اتكونت بينهم علاقة واسم الجدول هيكون employee's skills والجدول هيكون بالشكل دة ![]() وبكدة نكون تخلصنا من المشكلة اللى هيا تكرار البيانات فى عمود واحد ![]() ثالثا : Third normal form: القاعدة الساسية للحالة : 2- ازالة الاعمده التي لا تعتمد اعتمادا كاملا على المفتاح الأساسي. والحالة دى قمة فى التطور وبتحل مشاكل لا حصر لها ولكن نتعامل معها بحرص شديد جدااا ولو حد طلب منى انى اعملة قاعدة بيانات بالنظام دة بيدفعة دم قلبة الحالة دى لازم وشرط ولابد يكون مطبق الحالتين لالولى والثانية والشرط الثانى للحالة شوف الصورة للجدول دة ![]() فى الجدول دة عمود لا يعتمد مطلقا على المفتاح الاساسى اية هوة العمود دة؟ اللى هوة تاريخ ميلاد الفائز winner date of birth طيب لما نحذفة هنودية فين؟؟؟؟ هنعمل جدول جدولين الاول هيكون Tournament Winners اللى هوة المسابقات الفائزة اة التنظيمات وهيكون بالشكل دة ![]() والجدول الثانى هنعملة بمراعاة حذف اى تكرار وهيكون مثلا اسم الجدول Player Dates of Birth وهيكون بالشكل دة ![]() انظر: لايوجد اى تكرار لاسماء اللاعيبين ![]() وبكدة احبائى نكون انتهينا من موضوع قواعد البيانات العلائقية بالكامل والمحاضرة الجاية مهمة جدا جدا جدا جداااااااااااااااا لاننا هنتعرف على حاجات كتيرة حلوة ومفيدة فى شغلنا ![]() |
|
#7
|
|||
|
|||
![]() ما مفهوم هذة الكلمات؟؟ وما الفائدة منها؟؟؟ وما هو تكوينها؟؟ مفهوم هذة الكلمات هو ان هذة اللغة للتعامل مع البيانات والمعلومات بجميع انواع العمليات الممكن تنفيذها على اى كتلة بيانات من تنظيم وترتيب وادخال بيانات واخراجها واجراء عمليات حسابية معقدة ... وغيرها من الكثير من العمليات وفائدتها هو تجميع كل البيانات والمعلومات الخاصة بعمل معين داخل قاعدة بيانات فيمكن ان تحتوى قاعدة البيانات على كم هائل جدا من المعلومات المخزنة لحين استخراجها والاستفادة منها مما يوفر الكثيييييييير الكثير من الوقت والمجهود والمال ومما يوفرة من تنظيم الاعمال فهذة اللغة توفر لنا الخدمات الازمة لاجراء هذة العمليات والاستفادة من هذة الامكانيات ماهو تكوين هذة اللغة البرمجية؟؟؟ تتكون هذة اللغة من اربعة اجزاء لكل جزء خصائصة وعدة اوامر تقوم بوظيفة معينة لاجراء عملية معينة على البيانات هذة صورة توضيحية لاقسام لغة الاستعلامات البنيوية SQL ![]() 1-Data manipulation language (DML) لغة التعامل مع البيانات: اى ان هذا القسم يحتوى على جميع الاوامر التى من خصائصا التعامل مع انواع البيانات المختلفة والتى هى : 1- select : وهذا الامر خاص ليقوم باسترجاع البيانات المخزنة داخل قاعدة البيانات وتتم تلك العملية بشروط المستخدم الذى يتعامل مع الامر. 2- Insert : هذا الامر يقوم يادخال البيانات الى قاعدة البيانات وايضا يضع شروطها المستخدم الذى يتعامل مع الامر. 3- Update : يقوم هذا الامر بتعديل بيانات موجودة بالفعل داخل قاعدة البيانات 4- Delete : يقوم هذا الامر بحذف بيناتا موجودة داخل قاعدة البيانات 5- Merge: يقوم هذا الامر يدمج بيانات بطريقة معينة يحددها المستخدم لاستخراجها او لعرضها على الشكل المطلوب ![]() 2- Data definition language (DDL) لغة تعريف البيانات: وهذا القسم يضم جميع الاوامر التى تقوم بتعريف اى مدخلات الى قاعدة البيانات وهى: 1- Create : هذا الامر وظيفتة انشاء الكائنات داخل قاعدة البيانات اى كان نوعها من جدوال ومحددات .... وغيرها 2-Alter: يقوم هذا الامر بالتعديل على الكائنات المنشاة بالفعل داخل قاعدة البيانات وليس التعديل على البيانات نفسها. 3-Drop: يقوم هذا الامر بحذف كائنات موجودة فى قاعدة البيانات وليس حذف بيانات من القاعدة. 4-Rename: هذا الامر لاعادة تسمية كائن داخل قاعدة البيانات. 5-Truncate هذا الامر يقوم باقتطاع جزء من كلمة للاختصار مثلا او لعرضها بطريقة ما. 6- Comment: هذا الامر لاضافة تعليق على حقل من الحقول او نبذة مختصرة عنة لتوضيح شيئ معين. ![]() 3- Data control language (DCL لغة التحكم فى البيانات: ويحتوى هذا القسم على امرين هامين 1- Grant: يقوم هذا الامر باعطاء الصلاحيات للمستخدمين للتعامل مع قاعدة البيانات بحدود معينة يمنحها مدير قواعد البيانات لمستخدم معين. 2- Revoke: هذا الامر يقوم بسحب صلاحيات ممنوحة بالفعل لمستخدم معين. ![]() Transaction controlمراقبة المعملات: تحتوى على اوامر هامة جدا لدقة اكبر عند ادخل البيانات وهى: 1- Commit: هذا الامر يقوم بتنفيذ الاوامر التى ادخلها المستخدم 2-Savepoint: هذا الامر يقوم يانشاء تعليمة عند نقطة معينة فى امر معين للرجع اليها فيما بعد 3-ROLLBACK هذا الامر للعودة الى نقطة معين فى امر معين قام المستخدم بتحديد هذة النقطة مسبقا بواسطة الامر Savepoint ![]() |
![]() |
| مواقع النشر (المفضلة) |
| أدوات الموضوع | |
| انواع عرض الموضوع | |
|
|
اضغط هنا وادخل ايميلك حتى يصلك جديدنا
القسم العام - اخبار التقنيه - العاب كمبيوتر - برامج - دروس التصميم - مسجات - برامج و العاب جوال - لغات برمجه - تطوير منتديات - جوجل google - قوالب واستايلات - SEO و XML و RSS - هاكات - تطوير مواقع - نطاقات - استضافه - تبادل اعلانى - دروس فوتوشوب - - ملحقات فوتوشوب - فلاش - سويش ماكس - تصميم استايلات - العاب - مواقع عالميه - دروس فرونت بيج - دريم ويفر