العودة   منتديات تصميم > ركن برمجيات المواقع ولغات البرمجه > قسم لغات البرمجه

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 02-22-2010, 08:05 AM
مراقب عام
 
تاريخ التسجيل: Feb 2010
المشاركات: 115
افتراضي دروس اوراكال مصوره



اولا درس تنصيب الاوريكال



الضغط عن ملف قاعدة البيانات اللى هوة اسمة
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  
قديم 02-22-2010, 08:09 AM
مراقب عام
 
تاريخ التسجيل: Feb 2010
المشاركات: 115
افتراضي قواعد البيانات و لغة الاستعلامات sql,pl sql

فى البداية سوف نتعرف على قواعد البيانات الموجودة او الشائعة Database models
وسوف نكتب نبذة بسيطة عن كل نوع,


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


ونبدا على بكرة الله,

1- قواعد البيانات الهرمية Hierarchical model

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

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

ولكن ظهر بها قصور كبير جدا وعجز فى مهام كثيرة

على سبيل المثال

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

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

وهذا يسبب عجز وقصور كبير خاصة عند استخدام البحث

اعلم ان هذا الكلام يعتبر معقد بعض الشئ للبعض منا

ولكن عل الصورة توضح ما اقول




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




2- قواعد البيانات الشبكية network database


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

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

صورة تمثيلية لجدول بسيط


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

والصورة توضح





وهذة مجرد نبذة صغيرة عن هذا النظام للمعرفة العامة بها فقط



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

باق لنا نوع واحد وهو الاهم لدينا وهو ما تعتمد كل دراستنا علية
قواعد البيانات العلائقية Relational Database
وسنقوم بدراستها تفصيليا للهمية القصوى




رد مع اقتباس
  #3  
قديم 02-22-2010, 08:12 AM
مراقب عام
 
تاريخ التسجيل: Feb 2010
المشاركات: 115
افتراضي Realtional Database Model قواعد البيانات العلائقية

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  
قديم 02-22-2010, 07:00 PM
مراقب عام
 
تاريخ التسجيل: Feb 2010
المشاركات: 115
افتراضي Entity - relationships


ماذا تعنى هاتان الكلمتان 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  
قديم 02-22-2010, 07:02 PM
مراقب عام
 
تاريخ التسجيل: Feb 2010
المشاركات: 115
افتراضي نواع العلاقات Relationships

تنقسم العلاقات الى ثلاثة اجزاء

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

وانواع العلاقات :

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  
قديم 02-22-2010, 07:03 PM
مراقب عام
 
تاريخ التسجيل: Feb 2010
المشاركات: 115
افتراضي Normalization






ماذا تعنى هذة الكلمة(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 :

والقاعدة الاساسية لعمل هذة الحالة هى
1- القضاء على الازدواجيه في الاعمده من الجدول نفسه.

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


مثال على هذة الحالة :


نفرض انة عندنا جدول فى قاعدة البيانات بالشكل دة



زى مواضح فى الصورة ان عندنا الجدول دة وفية الشخص اللى اسمة James عندة رقمين للتليفون
طيب علشان نطبق الشرط الاول اللى هوة
First Normal Form


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



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



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



ثانيا : Second normal form:

والقاعدة الاساسية للحالة هى:

1- ازالة مجموعات فرعية من البيانات التي تنطبق على متعددة الصفوف من الجدول ووضعها في جداول منفصلة.

2- انشاء علاقات جديدة بين هذه الجداول وأسلافهم من خلال استخدام مفاتيح الاجنبية.



ودى شبيهة بالاولى ولكن مع بعض الاختلاف
والاختلاف اللى بينها وبين الحالة الاولى ان الحالة الاولى فيها تكرار فى فى بيانات عمود واحد
اللى هوة ان James لة اكتر من تليفون وان التليفونات دى مفيش حد غيرة واخدها
يعنى التكرار اللى موجود دة مش موجود الا مرة واحدة

انما فى احالة التانية التكرار بيكون فى اكتر من عمود



شوف هنا اكثر من تكرار فى نفس العمود

والمشكلة دى بتحلها الحالة التانية

طيب هتتحل ازاى??

هنعمل جدولين واحد بيعرض employees
ومفتاحة الاساسى employee
وهيكون بالشكل دة


والجدول التانى هيكون فية مفتاح اجنبى هوة employee والمفتاح دة بيشير للجدول Employees وبكدة الجدولين اتكونت بينهم علاقة

واسم الجدول هيكون employee's skills والجدول هيكون بالشكل دة


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




ثالثا : Third normal form:

القاعدة الساسية للحالة :
1- لابد من تطبيق شروط الحالتين الاولى والثانية (First Normal Form ,Second normal form) .

2- ازالة الاعمده التي لا تعتمد اعتمادا كاملا على المفتاح الأساسي.


والحالة دى قمة فى التطور وبتحل مشاكل لا حصر لها ولكن نتعامل معها بحرص شديد جدااا
ولو حد طلب منى انى اعملة قاعدة بيانات بالنظام دة بيدفعة دم قلبة

الحالة دى لازم وشرط ولابد يكون مطبق الحالتين لالولى والثانية

والشرط الثانى للحالة

شوف الصورة للجدول دة


فى الجدول دة عمود لا يعتمد مطلقا على المفتاح الاساسى

اية هوة العمود دة؟


اللى هوة تاريخ ميلاد الفائز winner date of birth

طيب لما نحذفة هنودية فين؟؟؟؟

هنعمل جدول جدولين
الاول هيكون Tournament Winners اللى هوة المسابقات الفائزة اة التنظيمات
وهيكون بالشكل دة



والجدول الثانى هنعملة بمراعاة حذف اى تكرار
وهيكون مثلا اسم الجدول Player Dates of Birth

وهيكون بالشكل دة



انظر: لايوجد اى تكرار لاسماء اللاعيبين




وبكدة احبائى نكون انتهينا من موضوع قواعد البيانات العلائقية بالكامل

والمحاضرة الجاية مهمة جدا جدا جدا جداااااااااااااااا لاننا هنتعرف على حاجات كتيرة حلوة ومفيدة فى شغلنا

رد مع اقتباس
  #7  
قديم 02-22-2010, 07:52 PM
مراقب عام
 
تاريخ التسجيل: Feb 2010
المشاركات: 115
افتراضي لغة الاستعلامات البنيوبة SQL Structure Query Language





ما مفهوم هذة الكلمات؟؟
وما الفائدة منها؟؟؟
وما هو تكوينها؟؟

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

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


ماهو تكوين هذة اللغة البرمجية؟؟؟

تتكون هذة اللغة من اربعة اجزاء
لكل جزء خصائصة وعدة اوامر تقوم بوظيفة معينة لاجراء عملية معينة على البيانات


هذة صورة توضيحية لاقسام لغة الاستعلامات البنيوية 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



رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are معطلة
Pingbacks are معطلة
Refbacks are متاحة



الساعة الآن 09:35 AM بتوقيت مسقط


Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
دعم - لينكات : Search Engine Optimization by vBSEO 3.3.0 Designed & TranZ By Almuhajir

اضغط هنا وادخل ايميلك حتى يصلك جديدنا

القسم العام - اخبار التقنيه - العاب كمبيوتر - برامج - دروس التصميم - مسجات - برامج و العاب  جوال - لغات برمجه - تطوير منتديات - جوجل google - قوالب واستايلات - SEO و XML و RSS - هاكات - تطوير مواقع - نطاقات - استضافه - تبادل اعلانى - دروس فوتوشوب -  - ملحقات فوتوشوب - فلاش - سويش ماكس - تصميم استايلات - العاب  - مواقع عالميه  - دروس فرونت بيج - دريم ويفر

 

منتدى بناتى شرح تكوين روابط الباك لينك فى الفرونت بيج بالصور - privacy-policy- Le monde de la médecine - pes 2012 - مجلة فتافيت عدد رمضان 2011 كاملة مصوره