الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مواد تطوير قواعد البيانات

مغلق
بدأه فيصل مشرعي في 18 ديسمبر 2003 · 24 رد · 12,480 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الى جميع اخواني المبرمجين اما بعد

احب ان اشرح لكم عن برنامج اوراكل

اول شيء

الاوراكل ينقسم الى قسمين

اولا تطوير قواعد البيانات

ثانيا ادارة قواعد البيانات

وكل قسم يشبه القسم الاخر ولكن يختلفوا في بعض المواد

كل قسم له سته مواد اساسية

نبدا اولا بتطوير قواعد البيانات

والمواد التي تشملها هي

database concipte

sql/plsql

program unit

form 1

form 2

report

وسوف اشرح لكم اول ماده في البرمجه إن شاء الله في الدرس القادم

والله من وراء القصد

اخوكم

فيصل مشرعي

طالب في معهد نيوهورايزن ( برمجة قواعد بيانات )

#2

نتمنى لك التوفيق اخوي :)

#3

أحسنت وبالله التوفيق..

ملحوظة :

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

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

#4

بسم الله نبدأ اول ماده هي concepts

تحليل النظم ANALYSIS

• لتحديد المشاكل التي تواجهنا

• تقسيم خطوات العمل إلى مراحل

• تحديد تكلفة المشروع والفوائد

• تحديد القواعد والصلاحيات

• وصف المخرجات الرئيسية

تصميم DESIGN

• رسم المخططات الانسيابية لعمل المشروع

• تنسيق أشكال التقارير

• تطوير شكل عرض البيانات أي داخل نموذج

• كتابة وصف للبرنامج بشكل عام

• تعريف احتياجات المشروع من HW / SW

مرحلة التطوير والتنفيذ IMPLEMENITAION

• كتابة وفحص ومتابعة النص البرمجي CODE

• في حال إنشاء مشروع يعتمد على نظام قديم يتم في هذه المرحلة تقل البيانات وتحويلها من نظامه السابق إلى الجديد

• تدريب مستخدمي المشروع عليه

• أكمال مستند المساعدة الخاص بالمشروع

• التأكد عمل المشروع بشكل صحيح وتقسيمه من حيث الكفاءة من الأداء والوقت

الصيانة MAINTENANCE

• تصحيح الأخطاء

• تعديل النظام في حالة الفشل

• تدريب الموظفين على كيفية الصيانة البسيطة

• تحديد جدول صيانة دوري للمشروع

DATA BASS MANGAMENT SYSTEM DBMS

هي عبارة عن مجموعة من البيانات النشطة والغير نشطة التي يتم العمل فيها ضمن مجموعة من البرامج ( مدير قاعدة البيانات ) واهم أهدافه هي القدرة على تحليل وإدارة كم كبير من المعلومات في وقت مميز وجهد اقل

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

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

يوجد مجموعة من العناصر الأساسية التي يجب التعامل معها

1/إنهاء مرحلة التصميم DATA REDUNDANCY AND NCONSISTENCY

منذ بدء تكوين النظام فانه يختلف في شكل التنسيق وفي شكل تكوين البيانات بحيث يتم إجراء النظام بعدة لغت مثل Oracle – Visual Basic – Pascal – C++ - Power Builder – C - Access

أو أي لغة أخرى يمكن لبعض البيانات داخل نظام البنك أن تتكرر مثل العنوان او الهاتف داخل ملف العميل

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

ملاحظة / تكرار البيانات يؤدي إلى الفقدانRedundancy

القدرة على التعديل Inconsistency

2/صعوبة الوصول للبيانات DIFFICULTY IN ACCESS DATA

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

3/ الشروط المتكاملة INTEGRETY CONSTRATION

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

4/ مرجعية البيانات DATA INSOLATION

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

5/ تحديد مشاكل الحماية SECURITY PROBLEM

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

6/ معاينة البيانات VIEW OF DATA

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

#5

السلام عليكم ..

اخي العزيز شكرا على المجهود الجميل ...

وراح اخلى الوصله في المواضيع المميزه

http://www.arabteam2000.com/ib/index.php?a...=8&t=37380&st=0

وشكر لك ... وواصل على هذه الدروس المفيدة بارك الله فيك ..ز

اخو الجميع

#6

نواصل معكم الدرس الثاني من مادة concepts

طبقات البيانات وأشكالها DATA ABSTRACTION

لعملية استرجاع البيانات بشكل فعال يجب العلم بأنه يوجد ثلاث مستويات رئيسية لتركيب البيانات

1/ المستوى الفيزيائي PHYSICAL LEVEL

يتحدث هذا المستوى عن كيفية تخزين البيانات بشكل فعلي وهذا أدنى مستوى في المستويات الثلاث

2/ المستوى المنطقي LOGICAL LEVEL

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

3/ المستوى العرض VIEW LEVEL

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

VIEW LEVEL

VIEW 1 VIEW 2 VIEW 3 …….. VIEW N

LOGICAL LEVEL

PHYSICAL LEVEL

مثال

CUSTOMER سجل

C NAME ID STREETE CITY BORN

TEXT NO TEXT TEXT NO

المستوى الفيزيائي يحتوي على شكل جدول

المستوى المنطقي يحتوي على بيانات جدول

البيئة وقاعدة البيانات الرئيسية INSTANCE & SCHEMA

مكان العمليات على القاعدة INSTANCE

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

البيئة SCHEMA

هي مجموعة العناصر الموجودة داخل قاعدة البيانات مثل

• الجدول TABLE

• العرض VIEW

• نظام الفهرسة INDEX

• الرديف والبديل SYNONUM

• نظام الأرقام التلقائية SEQNENCES

استقلالية البيانات DATA INDEPENDENCE

هي التعديل على جزء من SCHEMA بحيث انه اذا تم التعديل على مستوى واحد بدون ان يتم التأثير على المستويات الأخرى داخل نفس SCHEMA فأنها تعتبر استقلالية

ويوجد نوعين من استقلالية البيانات

1/ استقلالية البيانات فيزيائي

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

2/ استقلالية البيانات منطقي

وهي عبارة عن التغيير على المستوى المنطقي للبرنامج

#7

بسم الله نبدأ الدرس الثالث لمادة CONCEPTS

موديلات البيانات DATA MODEL

1/ OBJECT BASED LOGICAL MODEL

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

2/ ENTITY RELATIONSHIP MODEL

ENTITY هي التي تمثل عناصر العالم الحقيقي مثل الموظفين والطلاب والمدرسين

RELASTION SHIP وهي التي تمثل العلاقة بين هذه العناصر

3/ OBJECY ORIENTED MODEL

وهي العلاقة بين المجموعات E-R وهو اسم اخر للموديل وتحتوي على مجموعة عناصر برمجية خاصة تدعى METHED ( خاصية ) والمجموعة من هذه METHED تسمى CLASSES

4/ RECORD BASED LOGECAL MODEL

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

5/ RELATIONAL & NETWORKING

RELATIONAL وهي عبارة عن مجموعة من الجداول يتم العرض بداخلها ويتم تحديد العلاقة بينهما

NETWORKING في لغة اوراكل تمثل بواسطة مجموعة من السجلات مرتبطة مع بعضها البعض ومحددة باسم مكان الارتباط اما في لغات أخرى يجب ان تمثل بواسطة LINK

6/ HIERARCHAL MODEL

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

انظر الرسم البياني في الدفتر

ENTITY = RECTANGLE المربع

ATTRIBUTES = ELLIPSES بيضاوي

RELATIONSHIPS = DIMONDS معين (لا ترتبط إلا مع ENTITY)

LINKS = LINE الخطوط

لغة قواعد البيانات DATA BASS LANGUAGE

1) لغة معالجة البيانات DATA MANUPLATION LANGUAGE ( DML )

• إضافة البيانات على جدول INSERT

• حذف البيانات على جدول DELETE

• تعديل البيانات على جدول UBDATE

• استعلام البيانات على جدول SELECT

ملاحظة / لغة معالجة البيانات يتم تنفيذها بإحدى الطريقتين التاليتين

1/ النظام الإجرائي PROCEDURAL DML

وهو نظام يتطلب من المستخدم وصف ما هي طبيعة البيانات التي يحتاجها المستخدم وكيفية الحصول عليها

2/ النظام لا إجرائي NOT PROCEDURAL DML

وهو نظاما يتطلب من المستخدم ما هي طبيعة البيانات التي يحتاجها المستخدم ولا يهتم بكيفية الحصول عليها

2) لغة تعريف وتركيب البيانات DATA DEFINATION LANGUAGE ( DDL )

* تحديد المساحة التخزينية المستخدمة

* انشاء الجداول باستخدام CREATE TABLE

* إشاو عامود DROP

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

3/ لغة التحكم سماحيات البيانات DATA CONTROL LANGUAGE ( DCL )

• إعطاء الصلاحيات على قاعدة البيانات للمستخدم GRANT

• سحب الصلاحيات عن المستخدم على قاعدة البيانات عن طريق أمر REVOKE

#8

واصل ..درسسوك في غاية الروعة ..

ونحن معك بإذن الله ..

بشر المشّائين في الظُلم بالنور التام يوم القيامة..

#9

بسم الله نبدأ الدرس الرابع لماده CONCEPTS

قاموس البيانات DATA DICTIONORY

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

إدارة العمليات والأحداث TRNSACTION MANGAMENT

في حال صدور مجموعة من العمليات على قاعدة البيانات وبالأخص على البيانات DML وليس على التركيب DDL مثل الحدث DELETE والإضافة INSERT والتعديل UBDATE يجب إصدار عملية الحفظ COMMIT والتراجع ROLL BACK او ما يسمى بالنقطة المرجعية SAVE POINT لانه قد تم انشاء حدث معين DML فيجب استخدام احد العمليات السابقة ( COMMIT – ROLL BACK – SAVE POINT )

تمثيل نظام إدارة العمليات والأحداث على المخطط الزمني

* يتراجع الى أخر نقطة_____ COMMIT ROLL BACK

* يتراجع الى أخر نقطة مرجعية SAVE POINT

INSERT UBDATE INSERT DELETE

إدارة المساحة التخزينية STORAGE MANGAMENT

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

STORGE MANAGER

هو عبارة عن مسئول يقوم بعملية التأكد من عمليات إرسال البيانات الى ما يدعى FILE MANGER والذي بدوره يقوم بتوزيع البيانات على القرص الصلب

مدير قاعدة البيانات DATA BASS ADMINISTRATOR

أهم شيء لاستخدام DATA BASS MANGAMENT SYSTEM ( DBMS ) هو القيام باستخدام او السيطرة او التحكم المركزي بين البيانات DATA والتطبيقات APPLECATION والشخص المسئول عن عملية التحكم هو ADMINISTRATOR ( DBA )

مهام DBA

1/ تعريف تركيب قاعدة البيانات SCHEMA DEFINATION

يقوم DBA ببناء قاعدة بيانات عن طريق استخدام DDL التي تقوم بإنشاء الجداول والعناصر الخاصة بعناصر البيانات والتي يتم تخزينها بشكل نهائي داخل ما يسمى DATA DICTIONORY

2/ STORAGE STRUCTURE & ACCESS METHED DEFINATION

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

3/ SCHEMA & PHYSICAL ORGANIZATION MODIFICATION

يتحكم DBA بما يسمى DATA DICTIONARY أي قاموس البيانات والتي يتم تعريف كل العناصر داخل هذا القاموس

4/ GRANTING OF AUTHORIZATION FOR DATA ACCESS

هي عملية التحكم بإعطاء السماحيات والصلاحيات للمستخدم وبالعكس

5/INTEGRITY CONSTRAINAL SPECIFICATION

يتحكم DBA بوصف المحددات المرجعية بين النوافذ والجداول مثل ارتباط العلاقات وتحديد مصدرها او هدفها

#10

بسم الله نبدأ الدرس الخامس لمادة CONCEPTS

أنواع مستخدمي قواعد البيانات

1/ مبرمج التطبيقات APPLECATION PROGRAMMER

مبرمج التطبيقات وهو الشخص يجب ان يكون على معرفة تامة بإحدى لغات البرمجة التي تتعامل مع قواعد البيانات مثل ( ORACLE- C – C++ - V.C – VISUAL BASIC – POWER BUILDER)

2/ SOPHISTICATED USERS

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

3/ SPECIALIZED USERS

هو الشخص او المستخدم الذي يكون متخصص في ملحقات غير البرنامج الرئيسي مثل الرسامات والصوت والصور والفيديو...... الخ

4/ مشغل الأجهزة والأنظمة VAIVA USERS

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

معالجات الاستعلام

يوجد أربع معالجات تخص الاستعلام

1/ DML COMPILER

وهي المرحلة التي قبل مرحلة التنفيذ وهو المترجم الذي يترجم جمل DML لكي يتعامل معها في قاعدة البيانات

2/ EMBEDDED DML COMPILER

هي العملية التي تتم مع العملية السابقة DML COMPILER لكي يتم تحويل البيانات المطلوبة وبعد تحويلهم يتم مناداتهم من داخل قاعدة البيانات

3/DDL INTERPRITER

وهو عبارة عن محلل لجمل لغة تركيب قاعدة البيانات ويسجلها كمجموعات في جدول معين وهذا الجدول هو قاموس البيانات DATA DECTIONARY

4/ QURY EVALUTION ENGIN

وهو مقيم الاستعلامات الذى ينفذ التعليمات المعطاة عن طريق DML

STORG MANAGER

1/ AUTHORIZATION AND INTEGRITY MANAGER

يقوم بفحص التكاملية والصلاحية للمستخدم أي هل يحق له الوصول للبيانات او لا يحق

2/ TRANSACTION MANAGER

تقوم هذه الإدارة بفحص الأحداث التي تم وضعها على قاعدة البيانات والتي تم تنفيذها من ناحية التخزين او التراجع او النقط المرجعية ROLL BACK – SAVE POINT – COMMIT

3/ FILE MANAGER

تقوم هذه الإدارة بمتابعه وإدارة العمليات والمواقع التخزينية على للملفات.

4/ BUFFER MANAGER

هو مسؤل عن عمليات البحث عن البيانات من القرص الى MAIN MEMORY ويقرر اى البيانات مسموح لها ان تبقى في CACHE MEMORY

DISK STORGE

1/ DATA FILES

هو مكان تخزين البيانات فقط

2/ DATA DICTIONARY

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

3/ INDICES

هي عملية يتم القيام بها لتسريع عمليات الوصول للبيانات أثناء الاستعلام او التعديل او الحذف

4/ STATISTICAL DATA

وهي البيانات التي يتم التخزين تلقائي على قاعدة البيانات

ملاحظة / المخطط في الكتاب ص 18 مهم جدا

ENTITY - RELATIONSHIP MODEL

يوجد ثلاثة أجزاء رئيسية لها

• ENTITY SETS

• RELATIONSHIP SETS

• ATTRIBUTES

تتكون الخصائص من عدة أنواع ATTRIBUTES

• البسيطة والمعقدة SIMPLE & COMPOSITE

• مفردة او متعددة القيمة SINGLE – MULTIVALUED انظر الكتاب ص 26

• قيمة غير معرفه NULL ATTRIBUTES

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

• الخاصية المقادة من قبل قيمة معينة DERIVED ATTRIBUTES

مثال / في جدول الموظفين نفرض وجود علاقة بين رقم دائرة الموظف مع رقم الدائرة في جدول الدوائر

ID NAME DEP DEP JOB LOC 1 ALI 10 10 ACC MAKK

2 KHA 20 20 SELS MAD

3 MOH 10 30 TRAN RIY

4 NAS 30 40 MAN JED

5 AHM 40 50 WORK DAM

عدم تكرار البيانات وخاصة النصوص والجدول التالي يفصل للجدول الأول

#11

بسم الله نبدأ الدرس السادس لمادة CONCEPTS

RELATIONSHIP

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

الاحتمال الأول

هو ان يكون الموظف له تلفون واحد فقط

الاحتمال الثاني

هو كون الموظف يملك أكثر من تلفون

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

1/ تكرار البيانات

2/ تعديل البيانات بشكل غير صحيح ويتم مراعاة السابق عن طريق استخدام ما يسمى نظرية NORMALIZATION العلاقات الثنائية وتسمى BAINARY RELATIONSHIP وهي العلاقة التي تمثل على مستويين فقط اما العلاقة التي تمثل على ثلاثة ارتباطات تسمى TERNARY

محددات أنواع الوصول الى العلاقة MAPPING CONSTRAIRTS

يوجد أربع أنواع لارتباطات العلاقات

• ONE BY ONE

• ONE BY MANY

• MANY BY ONE

• MANY BY MANY

انظر الكتاب ص 31-32 على الرسم التوضيحي لأنواع العلاقات

المفاتيح KRYS

المفتاح هو عنصر ضروري لوصف كيفية ارتباط ENTITY مع بعضها البعض بحيث يتم تعريف مفتاح في جدول معين ومفتاح أخر من نوع أخر في جدول أخر لإنشاء ارتباطات وعلاقات

أنواع المفاتيح

1/ SUPER KEY

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

2/ CANDIDATE KEY

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

3/ PRIMARY KEY

وهو عبارة عن مفتاح قوي جدا يتم إنشاءه على ENTITY ليحقق خاصيتين ( عدم التكرار UNIQUE - وعدم وجود قيمة فارغة NOT NULL من الخصائص ويستخدم PK لربط ENTITY مع ENTITY أخرى لإنشاء العلاقة بينهما

مخطط ارتباطات المجموعات E-R DIAGRAM

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

1/ المربع ( RECTANGLE ) الذي يمثل ENTITY

2/ الدوائر البيضاوية ELLIPSES وهي تمثل ATTRIBUTES

3/ المعين DIAMONDS وهي تمثل مجموعة العلاقات

4/ الخطوط LINES وهي تمثل LINK بين أكثر من ENTITY

5/ الدوائر البيضاوية المتداخلة DUBLE ELLIPSES وهي تمثل MULTIVALUED ATTRIBUTES والتي تمثل أكثر من قيمة الخصائص

6/ الشكل البيضاوي المتقطع DASHED ELLIPESE وهي تمثل القيمة المقادة DERIVED ATTRIBUTEA

7/ الخطوط المتداخلة DUBLE LINES وهي تمثل مجموع الارتباطات بين ENTITY داخل RELATIONSHIP

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

السهم العادي يمثل علاقة متجهة من والى والخط العادي يمثل علاقة غي متجهة

انظر الكتاب ص 39

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

في المثال نفسه يوجد خاصية تدعى ACCESS – DATA وهي عبارة عن تاريخ اتصال العميل مع تاريخ الاتصال على الحساب مثل عندما تقوم بالتشبيك على رصيدك في الصراف فان العلاقة تكون بين العميل ورقم الحساب من ناحية التاريخ

انظر الكتاب ص 39

جدول الموظفين PK

DEP NO COMM MGR HIREDATE SAL EMP NAME EMP NO

10 1100 3 1500 ALI 1

20 0 4 2000 OMAR 2

30 0 1 15000 HASAN 3

10 100 5 1600 WALED 4

20 - 2 7000 SAEED 5

جدول الدوائرFK

LOC DEP NAME DEP NO

MAK ACC 10

JED SALES 20

RYI ARDIT 30

من الشكل الموجود في ص 40 نستنتج ما يلي

1/ وجود دبل لاين خطين متوازيين بين العلاقة والمجموعة مما نتج ظهور مربعين متداخلين للمجموعة ومعينين متداخلين في العلاقة وهذا ما يدعى TOTAL PARTICIIPATION

2/ وجود احد الخصائص ATTRIBUTES تحتوي على خط متقطع في داخلها وهذا يعني ان هذه الخاصية هي FK

3/ المجموعة PAYMENT تعتمد على المجموعة LOAN لانها لا تحتوي في داخلها على PK ولذلك أعطيت الشكل المتداخل للمربع والمتداخل للمعين

وتسمى هذه العلاقة او المجموعة مجموعة ضعيفة WEEK ENTITY

#12

بسم الله نبدأ الدرس السادس لمادة CONCEPTS

مجموعة خصائص إضافية EXTENDED E – R FEATUERS

يوجد ثلاثة خصائص مميزة للخصائص الرئيسية

1/ التخصيص SPECICALIZATION

في بعض الأحوال توجد خصائص إضافية للعلاقات على ATTRIBUTES مثل SAVING – ACCAUNT – CHECKING ACCAUNT

SAVING ACCUNT

هو مقدار الحجم او الكمية داخل الحساب

CHECKING ACCUNT

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

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

مثال أخر ويسمى بالعميل العجوز وهو الذي زاد عمره عن 65 سنة هذا يسمح له بفحص الحساب مجانا

انظر الكتاب ص 43

2/ التوسع GENERALIZATION

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

3/ الخصائص المتوارثة ATTRIBUTES INHERITANCE

وهي مجموعة الخصائص في المستوى الأعلى والمستوى الأدنى والتي أنشئت باستخدام SPECIALIZATION AND GENERALIZATION وهي صفات متوارثة مثل SAVING ACCUNT – CHECKING ACCUNT

ملاحظة / المستوى الأعلى للعلاقة والصفات المتوارثة تطبق لكل مستويات الأدنى

ملاحظة / المستوى الأدنى خصائص تطبق فقط على المجموعات السفلية المتجزئة فقط

انظر الكتاب ص 52 البنك المتكامل مهم جدا

STRUCTURED QUERY LANGUAGE (SQL)

وتعتمد في مبدئها على نظامين أساسيين

ANSI (AMERICAN NATIONAL STANDERDS INSTIURE)-

ISO-

تقسم لغة SQL الى عدة أجزاء

• DATA DEFINIATION LANGUAGE ( DDL )

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

• DML

وهو الجزء الذي يتحكم بالبيانات فقط

• VIEW DEFINIATION

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

• AUTHORIZATION

SQL تتعامل مع الصلاحيات داخل برنامج مايكروسفت على إنها لغة DDL ولكن في اوراكل تتعامل معها على إنها لغة DCL

• INTEGRETY

تقوم جمل DDL بالتحكم بتكاملية الجداول والبيانات من حيث تعرف مجموعة من المحددات مثل انشاء محدد PK – FK او التعديل على هذا المحدد

• TRNSACATION CONTROL

SQL تحتوي على مجموعة من الأوامر التي لها القدرة على التحكم بالأحداث التي تتم على قاعدة بيانات مثل الإضافة والتعديل والحذف ( DELETE – UPDATE – INSERT )

التركيب الأساسي لجمل BASIC STRUVTURE SQL

الاستعلام QUERY

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

الكلمات المحجوزة الإجبارية KEYWORDS –RESERVWORDS

هي SELECT – FROM

تعريف الاستعلام

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

جدول الموظفين DEP EMP

رقم الدائرة تاريخ التعيين العمولة رقم المدير الراتب اسم الموظف رقم الموظف

DEPT NO HIRE DATE COMM MGR SAL E NAME EMP NO

10 12/11/02 100 2 1500 ALI 1

20 01/01/89 - 4 2000 OMER 2

10 02/10/96 - 5 11000 HANI 3

20 06/01/02 500 - 15000 WALID 4

30 07/12/78 100 1 11000 SAID 5

10 09/01/01 200 3 8000 NASER 6

جدول الدوائر DEPT

الموقع اسم الدائرة رقم الدائرة

LOC D NAME DEPT NO

JED TRAINNING 10

MAK AUDITING 20

MAD SALES 30

RYI RESCACH 40

جدول الرواتب SAL GRADE

اكبر راتب أخر راتب الدرجة

HI SAL LS SAL GRADE

1500 1000 1

5000 1501 2

9000 5001 3

12000 9001 4

20000 12001 5

ملاحظة / في حالة الاستعلام عن جميع الأعمدة نضع نجمة او كلمة ALL

مثال SELECT * FROM EMP ;

SELECT ALL FROM EMP ;

مثال / قم بعملية الاستعلام التالية عن اسم الموظف وراتب الموظف والعمولة من جدول الموظفين بدون شرط

SELECT E NAME, SAL, COMM

FROM EMP ;

مثال / قم بعملية الاستعلام عن رقم الموظف وتاريخ التعيين ورقم الدائرة بدون شرط

SELECT EMP NO, HIREDATE, DEPT NO

FROM EMP ;

#13

بسم الله نبدأ الدرس السابع من ماده CONCEPTS

استخدام الأمر DISTINCE وهو أمر يمنع تكرار البيانات من الجدول

مثال / قم بعملية عرض رقم دائرة الموظف من جدول الموظفين دون تكرار

SELECT DISTINCE DEPT NO

FROM EMP;

استخدام العمليات الحسابية داخل جمل الاستعلام مثل ( + - X / )

مثال / قم بعملية الاستعلام عن رقم الموظف واسم الموظف وراتب الموظف وراتب الموظف السنوي من جدول الموظفين

SELECT EMP NO, E NAME, SAL, SAL*12

FROM EMP ;

استخدام جمل الاستعلام على الجدول بشروط معينة

يتم الاستعلام بشرط عن طريق إضافة جملة WHERE

مثال / قم بعملية الاستعلام عن جميع الموظفين الذين يعملون في الدائرة رقم 10

SELECT *

FROM EMP

WHERE DEPT NO=10 ;

مثال / قم بعملية الاستعلام عن اسم الموظف وراتب الموظف لجميع الموظفين الذين رواتبهم اكبر من 2500

SELECT E NAME, EMP NO, SAL,

FROM EMP

WHERE SAL > 2500 ;

مثال / قم بعملية الاستعلام عن رقم الموظف واسم الموظف وراتب الموظف ورقم الدائرة لجميع الموظفين حيث راتبهم اكبر من 2500 ويعملون في الدائرة رقم 20

SELECT EMP NO, E NAME, SAL, DEPT NO,

FROM EMP

WHERE SAL > 2500 AND DEPT NO = 20 ;

في حالة استخدام جملة الربط AND داخل الجملة الشرطية WHERE فانه يجب تحقق الشرطيين لإعطاء ناتج

اما في حالة استخدام جملة OR في الجملة الشرطية WHERE فانه على الأقل تحقيق احد الشروط لإعطاء ناتج

للمحصورة بين شيئين BETWEEN

للخارجة بين شيئين NOT BETWEEN

لعرض واستعلام البيانات على أكثر من عامود وفي أكثر من جدول

مثال / قم بعملية الاستعلام عن اسم الموظف وراتب الموظف ورقم دائرة الموظف من جدول الموظفين بالإضافة الى اسم الدائرة وموقع الدائرة من جدول الدوائر

SELECT EMP.E NAME, EMP.SAL, EMP.DEPT NO, DEPT NO. D NAME, DEPT.LOC,

FROM EMP, DEPT

WHERE EMP.DEPT NO = DEPT. DEPT NO ;

الاسم البديل

يمكن إعطاء أي عامود داخل جملة SELECT اسم بديل عن طريق وضع فراغ بعد اسم العامود ثم كتابة الاسم البديل مباشرة او بين علامتي تنصيص اذا كان الاسم يحتوي على فراغ

مثال كما هو موضح في المثال

SELECT E NAME, SAL, SAL*12 " ANUUAL SALARY, JOP

FROM EMP

وأيضا يمكن استخدام الأسماء البديلة للجداول كما موضح في المثال التالي

SELECT E.E NAME, E. SAL, E.DEPT NO,D.E NAME,D.LOC

FROM EMP E,DEPT D

WHERE E.DEPT NO = D.DEPT NO ;

في حالة الاستعلام عن رقم معين داخل جملة WHERE فانة يتم كتابة الرقم المراد السؤال عنه بشكل مباشر

SELECT *

FROM EMP

WHERE EMP NO = 5555 ;

في حالة السؤال عن اسم معين او نص فأنة يجب وضع الاسم داخل علامة تنصيص من اليمين او اليسار

SELECT *

FROM EMP

WHERE E NAME NO = "ALI ;

العمليات على النصوص STRING OPERATION

في حال الاستعلام عن مجموعة عمليات تخص النصوص مثل السؤال على جميع الموظفين الذين تبدأ أسمائهم بحرف A او ثاني حرف من أسمائهم B يجب استخدام أمر LIKE بالتعامل مع هذه الجملة مثال

SELECT E NAME, SAL, DEPT NO

FROM EMP

WHERE E NAME LIKE "A%" ;

مثال المطلوب الاستعلام عن أسماء جميع الموظفين الذين ثاني حرف من أسمائهم هي L

SELECT *

FROM EMP

WHERE E NAME LIKE "-L%" ;

ترتيب اسطر البيانات داخل الجدول تصاعديا او تنازليا

يتم تركيب البيانات باستخدام جملةORDER BY ويتم تحديد الترتيب بشكل تصاعدي او تنازلي باستخدام جملة DESC OR (ASC) والقيمة الافتراضية دائما لعملية الترتيب هي (ASC) أي من الألف الى الياء كما هو موضح في المثال التالي

لترتيب البيانات بالاعتماد على عمود E NAME نقوم بما يلي

SELECT *

FROM EMP

ORDER BY E NAME ASC ;

اذا كان الترتيب من حيث الراتب ووجد راتبين متشابهين فإننا نقوم بوضع جملة E NAME

SELECT *

FROM EMP

ORDER BY SAL DESE, E NAME ;

#14

يسم الله نبدأا لدرس الثامن من مادة CONCEPTS

استخدام خصائص الاتحاد والتقاطع داخل SELECT

بالا مكان استخدام أمر الاتحاد UNION او أمر التقاطع INTER SECT OR UNION ALL OR EXCEPT OR EXCEPT ALL تستخدم هذه الأوامر لتقاطع او اتحاد مجموعه من الاعمده من جدول الى جدول أخر كما موضح في المثال التالي

( SELECT DEPT NO FROM EMP )

INTERSECT ( SELECT DEPT NO FROM DEPT ) ;

( SELECT DEPT NO FROM EMP )

UNION (SELECT DEPT NO FROM DEPT ) ;

بالا مكان استخدام جملة EXCEPT للسؤال عن كل القيم في جدول ما عدا مجموعه القيم من جدول أخر كما هو موضح في المثال التالي

( SELECT DEPT NO FROM EMP )

EXCEPT ( SELECT DEPT NO FROM DEPT

WHERE DEPT NO = 10 ) ;

لا تعمل مع اوراكل

AGGREATE FUNCTIO (GROUP FUNCTION)

تحتوي على خمسة اقترانات رئيسية واقترانيين غير رئيسية

• AVERAGE(AVG)

• MINIMUM(MIN )

• MAXIMUM (MAX)

• TOTAL (SUM)

• COUNT(COUNT)

- VARIANCE

- STTDV

مثال في حال استعلام مجموع رواتب الموظفين وعن معدلات رواتب الموظفين وعن أعلى راتب واقل راتب وعن رواتب المصروفة انظر المثال

SELECT AVG (SAL), SUM, (SAL), MAX (SAL), MIN (SAL), COUNT (SAL),

VARIANCE(SAL)

FROM EMP ;

مثال /لعرض مجموع دوائر الموظفين في الدائرة 30 فقط

SELECT SUM ( SAL)

FAOM EMP

WHERE DEPT NO = 30 ;

مثال / لإيجاد معدل الرواتب في كل دائرة لوحدها على شرط ان يتم عرض مجموع الرواتب الذي يزيد عن 10000 ريال في هذه الحالة يجب استخدام جملة HAVING للسؤال عن GROUP BY وليس جملة WHERE

لأنها تقوم بالسؤال عن عناصر SELECT العادية

SELECT DEPT NO, SUM ( SAL )

FROM EMP DETP NO SUM SAL

GROUP BY DEPT NO 10 11250

HAVING SUM ( SAL ) > 10000 ; 20 10875

القيمة الغير معرفة NULL VALUES

مثال / في حالة السؤال عن أي قيمة غير معرفة نستخدم IS NULL

س / قم بالاستعلام عن جميع الموظفين الذين ليس لهم عمولة

SELECT *

FROM EMP

WHERE COMM IS NULL ;

مثال / للاستعلام لجميع الموظفين الذين لهم عمولة فقط

SELECT *

FROM EMP

WHERE COMM IS NOT NULL ;

الاستعلامات الفرعية المتداخلة NESTED SUBQUERIES

وهي عبارة عن مجموعة من الاستعلامات تكون متداخلة مع بعضها البعض اما في جملة WHERE OR FROM تستخدم في حالة السؤال عن شيء مهم

مثال قم بالاستعلام عن رواتب جميع الموظفين الذين رواتبهم اكبر من راتب علي

SELECT E NAME, SAL

FROM EMP

WHERE SAL > = ( SELECT SAL FROM EMP

WHERE E NAME = " ALI " ) ;

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

مثال / قم بعملية الاستعلام عن جميع الموظفين الذين يعملون في دائرة RESERCH

SELECT *

FROM EMP

WHERE DEPT NO = ( SELECT DPT NO FROM DEPT

WHERE D NAME = " RESERCH " ) ;

مثال / قم بعملية الاستعلام عن جميع الموظفين الذين يعملون في DALAS

SELECT *

FROM EMP

WHERE DEPT NO = ( SELECT DEPT NO FROM DEPT

WHERE LOC = " DALAS ") ;

في حال استرجاع أكثر من قيمة من الاستعلام الداخلي فأنة يتم حدوث خطأ داخل الاستعلام الخارجي والحل هو انشاء عنصر جديد بدل إشارة المساواة وهو اما ALL OR ANY OR IN OR SUM

مثال / في حال الاستعلام عن جميع الموظفين الذين يعملون في الدوائر 10 -20-30 فإننا نستخدم

SELECT *

FROM EMP

WHERE DEPT NO IN (SELECT DEPT NO FROM DEPT)

OR

SELECT *

FROM EMP

WHERE DEPT NO IN ( 10,20,30 ) ;

بالامكان الاستعلام عن الاستعلامات متعددة الأسطر باستخدام

IN

= ANY (LIST)

اقل من اكبر قيمة > ANY

اكبر من اقل قيمة < ANY

قائمة (LIST ) IN = ANY

> SOME

< SOME

= SOME

مثال / في حالة الاستعلام عن اصغر راتب من اكبر راتب من الرواتب من رواتب الموظفين الذين يعملون في وظيفة CLEARK

SELECT E NAME, SAL, JOB

FROM EMP

WHERE SAL > ANY ( SELECT SAL FROM EMP,

WHERE JOB = "CLEARK " ) AND JOB = "CLEARK " ;

#15

مشكور اخي فيصل مشرعي

على الدروس المميزة

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

والى الامام

#16

السلام عليكم :

الاخ فيصل مشرعي ...

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

والى الامام

#17

بسم الله نبدأ الدرس التاسع من مادة concepts

TEST FOR EMPTY RELATION

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

مثال / في حالة السؤال عن جميع الموظفين الذين لهم نفس الدوائر في جدول الدوائر والحل كما هو موضح في المثال التالي

SELECT ENAME

FROM EMP

WHERE EXISTS ( SELECT * FROM DEPT WHERE EMP. DEPT NO = DPRT.DEPT NO ) ;

نافذة العرض VIEWS

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

CREATE VIEW EMP DEPT AS (SELECT E. E NAME, E. SAL, E. DEPT NO, D. D NAME, D. LOC

FROM EMP E, DEPT D

WHERE E. DEPT NO = D. DEPT NO ) ;

مثال / قم بعملية انشاء نافذة VIEW تقوم بعملية تخزين استعلام يقوم بالسؤال عن اسم الموظف وراتب الموظف وتاريخ تعين لجميع الموظفين الذين رواتبهم تزيد عن 2500

CREATE VIEW TEST AS (SELECT E NAME, SAL, HIR DATE

FROM EMP

WHERE SAL > 2500 ) ;

التعديل على قاعدة البيانات MODIFICATION OF THE DATA BASE

1/ الحذف DELETE

وتستخدم لحذف سجلات من جدول معين مثلا لحذف كل السجلات من جدول الموظفين نكتب الصيغة التالية

DELETE FROM EMP ;

اما في حال حذف جميع الموظفين نكتب الصيغة التالية

DELETE FROM EMP

WHERE DEPT NO = 10 ;

2/ الإضافة INSERTION

تستخدم لإضافة سجل جديد على جدول او نافذة معينة وصيغة الإضافة INSERT INTO

INSERT INTO DEPT

VALUSE ( 60, "AUDITING ". " MAKKAH ") ;

بالا مكان إضافة مجموعة قيم الى جدول EMP واضافة قيمة NULL في المكان الفارغ داخل جدول EMP

INSERT INTO EMP

VALUSE ( 444," WALED ",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL) ;

بالا مكان استخدام جملة INSERT عن طريق جملة SELECT مثلا إضافة مجموعة بيانات من جدول الموظفين الى جدول الدوائر لا يتم إلا بطريقة SELECT داخل جملة INSERT

INSERT INTO DEPT

( SELECT COMM, E NAME, JOB

FROM EMP

WHERE EMP NO = 7788) ;

3/ التعديل UPDATE

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

SET القيمة الجديدة المراد وضعها

WHERE القيمة القديمة المراد تغييرها

UPDATE EMP

SET SAL = 1000

WHERE EMP NO = 7788 ;

مثال / للتعديل على راتب موظف بحيث يصبح راتبه 10000 ريال من اصل 8000

UPDATE EMP

SET SAL = 10000

WHERE SAL = 8000 ;

مثال / قم بالتعديل على عمولة جميع الموظفين الذين يعملون في الدائرة رقم 10 لتصبح 1000 ريال فقط في الدائرة 10

UPDATE EMP

SET COMM = 1000

WHERE DEPT NO = 10 ;

مثال / المطلوب التعديل على رواتب الموظفين بحيث يتم زيادة راتب الموظف بمقدار 1.5 فقط للموظفين الذين يعملون CLEAR

UPDATE EMP

SET SAL = SAL * 1.5

WHERE JOB = "CLEAR " ;

#18

إلى الامام اخي فيصل ... :)

#19

بسم الله نبدأ الدرس العاشر من مادة CONCEPTS

علاقات الربط JOINED RELATION

توجد مجموعة علاقات لعلاقات الربط

1/ العلاقة المتساوية INNER JOIN

وهي العلاقة التي تتم بين جدولين بحيث يتم الارتباط بين عامود في الجدول الأول مع عامود في الجدول الثاني بحيث يكون للعامودين نفس نوع البيانات ونفس المحتوى لذلك تسمى علاقة متساوية على شرط ان يكون العامود الأول FK والثاني PK كما هو موضح في جملة SELECT

SELECT E.E NAME, E.SAL, D., LOC

FROM EMP E, DEPT D

WHERE E.DEPT NO = D.DEPT NO ;

2/ العلاقة الغير متساوية NOT EQUAL JOIN

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

مثال / المطلوب إيجاد اسم الموظف وراتب الموظف ودرجة الموظف من جدول الموظفين وجدول الدرجات باستخدام جملة الربط WHERE لمنع التكرار ولإنشاء علاقة ضمنية في الاستعلام

SELECT E NAME, SAL, GREAD,

FROM EMP, SAL GREAD

WHERE SAL BETWEEN 10 SAL AND HISAL;

GREAD 10 SAL HI SAL SAL

1 200 700 500

2 750 800 600

3 850 1000 11000

4 1100 3000 2000

5 4000 8000 5000

6 9000 12000 10000

3/ العلاقة في نفس الجدول SELF JOIN

وهي العلاقة التي ترتبط بين عامودين في جدول واحد على شرط ان يكون العامود الأول FK والعامود الثاني PK

SELECT E.EMP NO, E.E NAME, M.E NAME MANAGER

FROM EMP E, EMP M

WHERE E.MGR = M.EMP NO ;

4/ العلاقة الخارجة عن الارتباط ولها نوعين

• الخارجة عن الارتباط من اليمين OUTER LIFT JOIN

• الخارجة عن الارتباط من اليسار RIGHT JOIN

SELECT E.E NAME, E.SAL, E.DEPT NO, D.D NAME, D.LOC,

FROM EMP E.DEPT D

WHERE E.DEPT NO (+) = D.DEPT NO (+)

من جدول DEPT من جدول EMP

في حال استخدام العلاقة الخارجة التي تسمى OUTER JOIN فان هذه العلاقة تقوم بعملية إحضار ما هو غير مرتبط من جهة اليمين او اليسار

ملاحظة / ا ) علامة (+) لا تكتب مرتين في المثال السابق ولكن تكتب مرة واحدة اما من جهة اليمين او اليسار

ب ) علامة (+) المحصورة بين قوسين تكون فقط في لغة اوراكل اما في لغات أخرى فانه يتم كتابة مايلي ( OUTER RIGHT JOIN – OUTER LIFT JOIN – OUTER )

لغة تركيب قواعد البيانات DATA DEFINATION LANGUAGE ( DDL )

أهداف التعامل مع ( DDL )

• التعامل مع البيئة والعلاقات داخلها

• تعريف الأعمدة الداخلية في الجداول وتغيير خصائصها

• تعريف الجداول المرجعية ( PK & FK )

• انشاء نظام الفهرسة وتسهيل التعامل مع العلاقات

• منح الصلاحيات وإعطاء الأمان داخل البيئة

• التحكم بالتركيب الفيزيائي لتركيب البيانات

أنواع البيانات المستخدمة في DOMAIN TYPES IN SQL

يوجد عدة أنواع للبيانات داخل SQL لها ثلاثة أنواع أساسية ( النص – التاريخ – الرقم )

1/ النص CHAR

هي نوع البيانات تستخدم للحقول النصية ثابتة الامتداد لنفرض ان لدينا جدول في داخله عامود اسم الموظف من نوع CHAR

000000000000000 E NAME CHAR ( 15 )

ALI00000000000

لقد تم حجز 15 خانه مع العلم ان اسم الموظف هو مكون من 3 خانات لذلك يسمى ثابت الحجم

2/ VARCHAR

وتستخدم للحقول النصية المتغيرة الامتداد مثالا

000000000000000 E NAME VARCHAR 2 ( 15 )

ALI

في هذا المثال تم حجز 3 خانات من اصل 15

انشاء جدول

لإنشاء جدول نقوم بعملية استخدام جملة CREATE TABLE ثم اسم الجدول TABLE NAME ثم اسم العمود COLUMN NAME ثم أنواع البيانات DATA TYPE ثم ...... الخ

مثال / لإنشاء جدول شبيها بجدول الدوائر نقوم بما يلي

CREATE TABLE DEPT

( DEPT NO NUMBER (2),

D NAME VARCHAR 2(30)

LOC VARCHAR 2(30)) ;

مثال / قم بعملية انشاء جدول نفس مواصفات جدول الموظفين ولكن باسم جديد يدعى EMP

CREATE TABLE EMPLOYEE

( EMP NO NUMBER (4),

E NAME VARCHAR 2 (35),

JOB VARCHAR 2 (20),

MGR NUMBER (4),

SAL NUMBER (7.2),

HIREDATE,

COMM NUMBER (4.2),

DEPT NO NUMBER (2));

انشاء جدول باستخدام المحددات

• يجب في البداية تحديد نوع المحددات الخاصة بالجداول

• يجب معرفة وجود مكان المحدد

يجب معرفة صيغة بناء المحدد

faisalmcn@hotmail.com

faisal.mashraee@unilever.com

#20

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

#21

شكر للقائمين على المنتدي :

اشكركم اخواني و اتمنى لكم التوفيق

و يعطيكم الف عافية .

و ما قصرتم

#22

جزاك الله كل خير يا أخ فيصل على الموضوع المميز

كان عندي إقترح إنو نسق موضوعك ونضعو في كتيب لأنو عنجد موضوع مميز

وألف شكر يا أخ فيصل

#23

بجد انت مبدع وشكرررررررررا

#24
سميرمحمد كتب:
مشكور اخي فيصل مشرعي

على الدروس المميزة

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

والى

الامام

hithanks

#25

السلام عليكم

تشكر عزيزي على الشرح

هذا الموضوع مغلق.

مواضيع مشابهة