إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
* * * * * 2 صوت

فتافيت ... كورس الاوراكل بشكل جديد !


60 رد (ردود) على هذا الموضوع

#1 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 12 September 2009 - 10:08 PM

بسم الله الرحمن الرحيم

اولا ابلغ تحياتي لكل القائمين على أدارة هذا المنتدي الشامخ ؛ والذى طالما قلت عنه انه اهم بوابة علمية خاصة بالاوراكل وتعليمه .
قد يستغرب البعض عن تسمية الموضوع بأسم فـــتــــافــيــت وقد لا يعرف بعض الاخوة فى دول اخرى معنى كلمة فـــتــــافــيــت ؛ و فـــتــــافــيــت هو مصطلح مصرى يطلق على الشيء الصغير والذى يصل حجمه مثل حبة السمسم او حبة العدس الصغيرة ؛ وقد اخترت هذا الاسم بالذات لما انوي القيام به بأذن الله من دردشة او فضفضة وباللغة المصرية العامية او الدارجة حول كورس الاوراكل كاملا ان شاء الرحمن ؛ يظل السؤال لماذا اخترت اسم فـــتــــافــيــت وذلك لانى ان شاء الله لن اقوم بالشرح بطريقة توحي بانه كورس ومذاكرة وشدة اعصاب خاصة للمبتدئين ؛ وانما سأقوم كما قلت بدردشة حول نقاط منفصلة فى شكل حوار بيني وبين طالب وسنقوم فى النهاية بتجميعها سويا فى شكل متكامل باذن الله ؛ بصراحة كنت عايز ابدء من PL/SQL لان السيكول اتكتب فيه محاضرات كتير لكن انا حبيت اننا نتعود على طريقة شرح واحدة من البداية وان شاء الله هتناول الأجزاء الهامة فقط في السيكول ولكن سوف اشرح باقى اجزاء الاوراكل بأستفاضة ان شاء الله .
على بركة الله نبدء ؛

الــفــتــفـوتـــة الاولى :


خالد : بداية سأقوم بالشرح على مستخدم SCOTT فعلى مدار خبرتي فى مجال التدريس ارى ان مستخدم SCOTT أبسط تعليميا من HR ؛ قد يختلف معي البعض ولكنها وجهة نظر ؛ قد يجد بعض الاخوة ان مستخدم SCOTT لديهم مغلق او LOCKED فمن يريد تفعيله وفتحه فيجب عليه اولا الدخول على مستخدم SYSTEM / MANAGER واذا لم يتمكن من الدخول على SYSTEM فيكتب فى خانة او مكان اليوزر نيم USER NAME يكتب التالي
/AS SYSDBA

ثم يقوم بالضغط على OK ومن هنا يمكن ان نقوم بفتح المستخدم وتفعيله
عند الدخول نقوم بكتابة الكود التالي :
ALTER USER SCOTT ACCOUNT UNLOCK ;
ALTER USER SCOTT IDENTIFIED BY TIGER ;
GRANT DBA TO SCOTT ;

بعد كتابة الاوامر السابقة اصبح مستخدم او يوزر SCOTT جاهز للعمل ؛ ويمكنك عمل الاتصال عليه لبداية التطبيق العملي .


طيب جميل فتحنا اليوزر ودخلنا واحنا عارفين ان اليوزر ده خاص ب SCOTT طب افرض روحت اعمل انتر فيو فى شركة وكان الراجل فاتح الشاشة على طول وانا عايز اعرف ايه هو المستخدم اللى انا شغال عليه ؟؟
قلك تكتب الامر التالي
SHOW USER ;

طالب : وده بيعمل ايه ؟
خالد : ده بيعرفني ايه هو اليوزر اللي انا داخل عليه .
طالب : طب يا بشمهندس لو انا على داتا بيز او يوزر معرفوش ( لا اعلمه او لا اعرفه ) وعايز اعرف ايه هي الجداول اللي موجودة داخل هذا اليوزر اعمل ايه ؟
خالد : قلك ده بيحتاج انى اكتب الكود وهو :-
SELECT * FROM TAB ;

طالب : طب وده بتاع ايه او ايه فائدته ؟
خالد : خلينا نتكلم ببساطة لو انت داخل مكان جديد ووجدت مجموعة شباب اول مرة تراهم وعايز تتعرف عليهم هتقولهم ايه ؟ اكيد هتسأل عايز اتعرف عليكم يا جماعة ؛ هو نفس الامر لما تدخل على اى داتا بيز وعايز تتعرف على كل أسماء الجداول الموجودة فبتكتب
SELECT * FROM TAB ;

يبقي الهدف من الكود اللى فات انى اتعرف على أسماء الجداول الموجودة فى الداتا بيز .
طالب : طب ما " تفتت " او تبسط الكود شوية !!
خالد : حاضر ؛ تعالى ناخدها كلمة كلمة
كلمة SELECT معناها ببساطة هات او اعرض او اختار
* معناها كل البيانات بلا استثناء او كل حاجة
FROM معناها " من " وهنا من تعني المصدر اللى هتجيب منه البيانات
TAB وهي اختصار ل TABLE وهنا يقصد الجداول ؛
اذا لو كتبناها بالبلدي هنقول " هات كل البيانات من الجداول "
طالب : بس يا بشمهندس اللى ظهر لما كتبنا الكود مظهرش بيانات ده ظهر اسماء جداول !!!
خالد : ده صحيح ؛ ولكن خد بالك ان الكود اللى انت كتبته مدلوله او مفهومه بالنسبة للاوراكل انه يعرض اسماء الجداول فقط وليس البيانات الموجودة داخل الجداول .
تمام !!
طالب : يعني تقصد يا بشمهندس انه فى كود تاني مخصوص لعرض البيانات المحفوظة داخل الجداول غير ده ؟؟
خالد : بالظبط كده .
طالب : تمام .

وشكرا
م / خالد الشاذلي
مبرمج اوراكل بوزارة الانتاج الحربي
IT Manager 1Solution Group
khaled.elshazly@1solution.org
eng-mega@hotmail.com
  • فــادي, AhmedNaguib و أحمد الحمادى معجبون بهذا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي


#2 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 12 September 2009 - 10:25 PM

بااااااااااارك الله فيك أخي الكريم..
فعلا طريقة بسيطة ومفيدة..
بارك الله فيك..

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#3 Yasser-Khairallah

Yasser-Khairallah

    عضو

  • الأعضــاء
  • 11 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 12 September 2009 - 11:10 PM

أسلوب سلس و مبسط .. جزاك الله خيرا

Yasser Khairallah

ORACLE@hotmail.com


#4 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 12 September 2009 - 11:14 PM

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

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي


#5 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 12 September 2009 - 11:17 PM

استاذ ياسر احيك على مرورك الكريم وكل عام وانت بخير
على فكرة ايميلك على الهوت ميل شيك ؛ لانه صعب انك تحجز اسم اوراكل صريح على ايميل زي الهوت ميل
وشكرا
ميجا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي


#6 mmsalman87

mmsalman87

    عضو مميز

  • الأعضــاء
  • 1,689 مشاركة
  • الاسم الأول:Maher
  • اسم العائلة:Salman
  • البـلـد: Country Flag
  • المنصب الحالي:Senior Oracle HCM SaaS Pre Sale Consultant

تاريخ المشاركة 12 September 2009 - 11:26 PM

جزاك الله كل خير
اسلوب جميل اتمنى ان تتابع الموضوع والاستمرار فيه
مشكوررررر

                                                                                             

                                                                                                                  Maher Salman

• Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist 

Taleo (TEE): Onboarding Administration Ed 3 LVC, Oracle University.

• Taleo (TBE): Recruit Essentials Ed 4.1 LVC, Oracle University.

• Oracle Fusion HCM Implementation, Oracle University.

• Oracle Certified Professional Developer (OCP) - Oracle Forms: Build Internet Applications.

• Oracle Certified Associate Developer (OCA).

• Oracle E-Business Suite R12 Human Capital Management Certified Implementation Specialist (HCM)

                                                                                                                                        
                                                                                                           http://learnoracle.net                                                                                                                

                                                                                                                             
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

أهم مواضيعي ( Oracle Developer )

- برنامج حفظ الكودات - My Codes

- كيفية عمل نظام متعدد اللغات

- انشاء شاشة دخول وتغيير كلمة السر والتحكم بالمستخدمين

- Import And Export On Toad

- التحكم في النظام من خلال الملف Formsweb.cfg

​- Advanced Dynamic List

- توليد ارقام وحروف عشوائية 

 

 

أهم مواضيعي ( Oracle HRMS)

 

Using Special Value set in oracle hrms 


#7 islam2007

islam2007

    عضو

  • الأعضــاء
  • 14 مشاركة

تاريخ المشاركة 12 September 2009 - 11:32 PM

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

تم التعديل بواسطة islam2007, 12 September 2009 - 11:34 PM.


#8 جلال شواقفه

جلال شواقفه

    عضو مميز

  • الأعضــاء
  • 2,559 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 September 2009 - 12:32 AM

حاجه حلوه ومبسطه
بنستنا الفتافيت بتاعتك
ارجو من يستفيد من مشاركاتي الدعاء لوالدي ولاموات المسلمين بالمغفره والرحمه......

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

#9 عبداللطيف

عبداللطيف

    مــشــرف عــام

  • الإشراف العام
  • 1,267 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 September 2009 - 05:32 AM

جزيت خير على الموضوع

#10 J.DEV

J.DEV

    عضو

  • الأعضــاء
  • 15 مشاركة

تاريخ المشاركة 13 September 2009 - 11:41 AM

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

صورة


#11 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 September 2009 - 10:46 PM

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

الاستاذ عبداللطيف
يكفيني فخرا واعتزازا مشاركتك لموضوعي

الاستاذ J.DEV يعجز لساني عن شكرك ولكن لا يعجز قلبي عن تمني كل ما هو خير لك ان شاء الله
وشكرا
ميجا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي


#12 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 September 2009 - 10:51 PM

الفتفوتة الثانية



خالد :- السلام عليكم
كان وقف كلامنا المرة اللي فاتت عند معنى كود
SELECT * FROM TAB ;

طالب :- الشاشة عندي يا بشمهندس مليانة ومحتاج أنضفها وامسحها اعمل ايه ؟
خالد :- اضغط شيفت + دليت SHIFT + DEL وبعدين هيطلعلك رسالة اضغط انتر ENTER ؛ كمان لو أنت عايز تعرف أخر كود انت كنت كاتبه ممكن تكتب سيمي كولن ; ثم أضغط أنتر ENTER وهو هيظهر لك أخر كود انت كنت كاتبه حتى بعد ما تمسح الشاشة
طالب :- فعلا رغم ان الشاشة بيضاء الا ان ; اظهرت فعلا اخر كود ؛ بس انا عايز انفذ الكود اللى ظهر اعمل ايه ؟
خالد :- اكتب / وبعدين اضغط انتر ENTER ؛ وكده انت بتنفذ الكود وكانك بتقول للاوراكل نفذ الكود المكتوب
طالب :- طب انا لما كتبت

SELECT * FROM TAB ;

ظهرلي كلام

TNAME           
-------------
DEPT
EMP
BONUS
SALGRADE


ده معناه ايه ؟
خالد :- ال TNAME هي أختصار TABLE NAME يعني اسم الجدول ؛ وهتلاقى اربع جداول ؛ وكل جدول منهم ليه وظيفة مختلفة عن التاني
طالب :- يعني ايه جدول ؟
خالد :- تعالي نفهم الامر بمثال مبسط ؛ الجدول فى قواعد البيانات شبيه بالعمارة !! ايوة العمارة السكنية فالجدول هو العمارة والحقول الموجودة داخل الجدول هي بمثابة الشقق داخل العمارة والسكان الموجودين داخل الشقق هم بمثابة الداتا او القيم داخل الحقول ؛ يبقى
الجدول = العمارة
الحقول = الشقق السكنية
الداتا او القيم = السكان
طالب :- جميل بس هل الجداول دي ثابتة الشكل والمضمون ؟ يعني هل كل الجداول زى بعضها ؟ وامتى بحتاج اعمل جدول ؟
خالد :- اطلاقا كل جدول مختلف فى تصميمه عن التاني انما المضمون غالبا بيكون واحد فى كل الجداول ؛ بمعني انى بحتاج اعمل جدول لما اكون عايز احفظ قيم او داتا بمعني ابسط انا مثلا عندي موظفين وليهم مرتبات ووظائف ؛ فبعمل جدول علشان احط ( اضع ) فيه اسماء ومرتبات هؤلاء الموظفين
طالب :- طب منا ممكن اعمل الكلام ده فى ورق عادي من غير جداول !!
خالد :- لا استني ( انتظر ) فى الورق هناك عدة مخاطر :-
1- اى شخص يمكن الأطلاع عليه
2- امكانية تلف الورق
3- لو عندي الاف من الموظفين فهناك احتمالية كبيرة للخطاء من العنصر البشرى
4- لا يمكن عمل معالجة للبيانات من خلال الورق ؛ يعني مقدرش اكتب فى الورق 100 + 100 يقوم الورق يطلعلي او يظهرلي نتيجة الية بقيمة 200
5- ضياع للوقت والمجهود
لكن فى قواعد البيانات هناك عدة مميزات :-
1- يمكنك فرض سرية على بياناتك ويمكنك تحديد الشخص الذى يطلع عليها
2- صعوبة تلف البيانات وسهولة حفظها فى اكتر من مكان
3- مهما كبر حجم بياناتك فلا سبيل للخطاء الا اذا كان المبرمج كان مخطاء اثناء تصميمه للبرنامج
4- تقوم قواعد البيانات على معالجة المعلومات المدخلة لها ؛ والمعالجة هي اجراء عمليات حسابية معقدة او اجراءات ودوال مثل الحذف او الاضافة ؛ الامر الذى يعطى نتائج دقيقة وسريعة تفيد فى تسريع اداء العمل وصحة اتخاذ القرار المناسب
5- الربط بين الفروع المتعددة للشركات بدون تدخل العنصر البشرى
طالب :- ياااا ه كل ده ؛ ده الموضوع كبير بقى !!!!
خالد :- طبعا ؛ كبير بس شيق وبيحسسك انك بنى ادم وليك مخ بتفكر بيه !!
عرفت دلوقتي امتى بنحتاج نعمل جدول وايه هي مميزات قواعد البيانات ؛ تعالي نشوف جدول زى DEPT مثلا الجدول ده هو اختصار لجدول اسمه DEPARTMENT وهو الجدول المختص بالادارات ؛ لو انت رايح تشترى شقة لازم تتفرج عليها وغالبا بتكون فاضية ؛ احنا هنعمل نفس الكلام هندخل جوة جدول الادارات ونتفرج عليه وده من خلال الكود التالي
DESC DEPT 
Name
--------
DEPTNO
DNAME
LOC


وده كود مهمته انه يفرجك ويعرضلك محتويات الجدول وده بيفيدك كمان لما تكون مش عارف اسم حقل داخل جدول فبدل ما تستعرض كل الداتا الموجودة فى جدول ما فبتكتب امر DESC وهو اختصار لكلمة DESCRIBE ومعناه وصف او عرض ؛ مش بس كده امر DESC كمان بيعرضلك نوع الحقل !! ايوة اصل لكل حقل انت بتعمله فى الداتا بيز لازم يكون ليه حاجة اسمها DATA TYPE وده معناه نوع القيم اللي هتدخل فى الحقل ده بمعني لو انت هتعمل حقل هتحفظ فيه أسماء موظفين اذا لازم يكون تصنيف الحقل من نوع حروف ؛ ولو مرتبات يبقي تصنيف الحقل ارقام
طالب :- ده الموضوع كبير !!
خالد :- مش زى ما انت متخيل ؛ الفكرة كله عملية منطق ليس الا ؛ بعد شوية فتافيت ان شاء الله هناخد ازاى نبني او ننشيء جدول ؛ وبناء الجدول له مواصفات قياسية زى الايزو او معيار الجودة ؛ والجودة بتفرق من مبرمج لمبرمج ؛ وده بيتوقف على مدى فهم واستيعاب المبرمج ؛ فاى جدول فى الدنيا له عدة خصائص منها الاختيارى ومنها الاجبارى ؛ فمثلا الاجبارى انه :-
1- اى جدول لازم يكون له اسم فريد غير مكرر فى الداتا بيز
2- لازم يحتوى على حقل واحد على الاقل
3- اسماء الحقول لا تتكرر فى الجدول الواحد ولكن يمكن ان تتكر فى اى جدول اخر
4- لازم اوضح نوع او هيئة الحقل من حيث نوع البيانات المدخلة عليه ؛ هل هي حروف ولا ارقام ولا تاريخ
اما الاختيارى :-
1- هل الجدول مربوط على جدول اخر ( وده هنشرحه فى فتفوتة تانية )
2- عدد الحقول غير محددفى الجدول الواحد
3- فرض قيود على الحقول داخل الجدول
خلينا نرجع لكلامنا امر DESC بيعرفني ثلاث حاجات مهمة :-
1- اسماء الحقول الموجودة فى الجدول وعددها
2- نوع البيانات لكل حقل موجود فى الجدول هل الحقل معد ومجهز لاستقبال حروف ولا ارقام ولا تورايخ
3- انواع القيود المفروضة على الحقول
تمام !!
طالب :- تمام !!
خالد :- طب ما تيجي نتفرج على بيانات الجداول ؟
طالب :- يا ريت
خالد :- لما تحب تستعرض جدول بكل بياناته بنكتب الامر التالي :

SELECT  * FROM DEPT ;

تعالي نفهم شوية ( بعض ) الأساسيات ؛ اولا مش هيفرق معايا اذا كنت بتكتب الكود بحروف كبيرة او صغيرة ؛ كمان مش هيفرق لو كتبت كل كلمة فى سطر او بمسافات بعيدة يعني لو كتبت

SELECT                    *
FROM
DEPT
;

لكن تعالي نفهم الية كتابة الكود او الاوراكل بيفهم الكود ازاى ؛
SELECT = هات او اعرض او احضر
*= كل البيانات بلا استثناء
FROM = من ( المصدر )
DEPT = وهو الجدول اللي انت عايز تستعرض البيانات الخاصة به
; = نفذ الامر وهنا الاوراكل بيفهم بالعلامة دى انك خلصت الكود
هتلاقى حقول ظهرت وفيها بيانات زى حقل
DEPTNO = اراقام الادارات
DNAME = اسماء الادارات
LOC = وهو موقع او مكان الادارة
طيب الكود ده لو انا عايز اعرض كل البيانات بلا استثناء ؛ طب لو انا عايز اعرف واعرض بيانات حقل محدد زى اسماء الادارات مش كل الحقول فى الحالة دى بكتب الكود التالي

SELECT  DNAME  FROM DEPT ;

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

SELECT  DNAME  FROM DEPT ;

كأنك بتقول للاوراكل
( هات او اعرض اسماء الادارات من جدول الادارات )
SELECT = اعرض
DNAME = اسماء الادارات ( الشيء الصغير )
FROM = من ( المصدر )
DEPT = جدول الادارات ( الشيء الكبير )
; = انا خلصت كتابة الكود يا اوراكل ويلا نفذ
تمام !!!
طالب :- تماااااااام !!!

تم التعديل بواسطة khaledmega, 13 September 2009 - 10:58 PM.

  • فــادي معجب بهذا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي


#13 sho_7222

sho_7222

    عضو مميز

  • الأعضــاء
  • 501 مشاركة
  • الاسم الأول:DR/ASHRAF.
  • اسم العائلة:FATHY
  • البـلـد: Country Flag
  • الاهتمامات:البحث العلمي في مجال تكنولوجياالتعليم الكتروني والتدريب T.o.T ومدقق خارجي لمعايير الجودة العالمية.
    والبرمجة :(,developer,Apps,Jdeveloper,DBA,BI,lienex,java,VB.NET)
  • المنصب الحالي:مستشار بمركز البرمجة بوزار ةالتربية والتعليم

تاريخ المشاركة 14 September 2009 - 01:53 AM

عبقري ومتميز من يومك اخي خالد
كل يوم تاتي بالجديد
ادعو الله لك بالتوفيق
في شركتك الجديده
ونكون من المدعوين في الافتتاح ان شاء الله
اخوك وحبيبك
اشرف

(رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء ، رب اغفر لي ولوالدي وللمؤمنين يوم يقوم الحساب)


مستشار مركز جودة البرمجة بوزارة التربية والتعليم

 

استاذ مساعد تكنولوجيا تعليم

 

dr.ashraf.fathy@hotmail.com


00201099020210

 


#14 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 14 September 2009 - 03:02 AM

كلام جميل من اخ حبيب ؛ ادام الله عليك عزه ومجده اخي الفاضل ابو عمر
ولا محدش يعرف يا اشرف انك ابو عمر ^_^
وشكرا
ميجا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي


#15 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 17 September 2009 - 01:33 AM

الفتــفوتة الثـالثـة



خالد :- السلام عليكم ؛ اخر مرة كنا وقفنا عند الاستعلام عن حقل واحد فقط داخل الجدول
طالب :- هو فيه اكتر من شكل للاستعلام ؟
خالد :- بالظبط كده ؛ فى شكل من الاستعلام هو الاستعلام عن كل الحقول الموجودة داخل الجدول وده لما كنا بنستخدم * وده خدناه المرة اللى فاتت ؛ وشكل اخر وهو الاستعلام عن حقل واحد فقط محدد داخل الجدول وده برضه خدناه المرة اللى فاتت ؛ وهناك ثلاث اشكال اخرى وهناخدهم ان شاء الله على مدار الفتافيت القادمة وهو الاستعلام عن اكثر من حقل فى الجدول الواحد ثم الاستعلام عن حقول متعددة ومختلفة فى جداول متعددة ومختلفة ايضا ؛ واخيرا الاستعلامات الفرعية ؛ ناخد اول شكل من الاشكال الثالثة وهنترك الاثنين الاخرين لفتفوتة اخرى ؛ اللى هنكمله اليوم هو الاستعلام عن اكثر من حقل فى الجدول الواحد ؛ وده بنستخدمه لما اكون عايز استعرض بيانات اكثر من حقل فى جدول واحد بمعنى لو استعرضنا محتويات جدول زى الموظفين فهنكتب

DESC EMP


هيظهر لي التالي :-


Name           
----------
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO


طيب افرض انى عايز اعرف البيانات الموجودة داخل حقلى

ENAME , SAL


دول حقلين ولكن موجودين داخل جدول واحد ؛ لما نحب نستعلم عنهم هنكتب التالي

SELECT ENAME , SAL FROM EMP ;

اذا انا بكتب الحقول اللي عايز اعرفهم وافصل ما بينهم بكوما

______ , ______ , ______ ,

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

SELECT ENAME , SAL , JOB , COMM FROM EMP ;

تمام ؟
طالب :- تمام
خالد :- هنشوف وناخد حاجة جديدة وهي الالياس
ALIASE
الالياس تعني بالمصرية العامية الدارجة " الدلع " وبالفصحى " الكناية او المرادف"
تعالي نبسط المفهوم ؛ مثلا انت لو اسمك محمد هتلاقى ناس بتناديك باسم حمادة ؛ وانت بترد لما ينادوك او يقولك يا حمادة ؛ لكن هل حمادة الغي اسمك الحقيقي وهو محمد ؟ كمان احيانا بتاخد اسم شهرة يعني مثلا انا شهرتي ميجا لكن هل ميجا الغي اسم خالد ؟ طبعا لا !! طب ايه الموضوع ؟ الموضوع بباسطة فى الاوراكل بنحتاج الالياس فى حالتين :-
1 – انك تميز حقل عن حقل باسم انت بتختاره علشان تعرف تفرق بين الحقول ؛ لو انت مثلا بتستعلم عن حقلين فى جدولين مختلفين زى مثلا حقل

DEPTNO IN DEPT  TABLE & DEPTNO IN EMP TABLE

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

DEPTNO     DEPTNO
---------- ----------
10 10
20 20
30 30
40 40

وهذا طبعا امر مربك وغير واضح ؛ من هنا بنضع الياس للحقل لتميز كل عن الاخر
2 – بنحتاج الالياس لتوفير الكتابة الكثيرة خاصة اذا كان الاستعلام به شروط وقيود ومن اكثر من جدول
تعالي ناخد مثال بسيط
طالب :- ياريت لاني تقريبا مش فاهم حاجة
خالد :- عادي ؛ لو اننا مثلا عايزين نعطي الياس لحقل زى حقل اسم الموظف هنكتب

SELECT ENAME X FROM EMP ;

هنا هي الالياس اللي احنا وضعناه ؛ وليك حرية اختيار الالياس اللى انت عايزه وx
على كل الحقول اللي انت عايزها يعني ممكن نحط عشر حقول بعشر الياس مثال

Select ENAME A , SAL B , JOB C , COMM C , COMM X
FROM EMP ;

هتلاقي كل حقل واخد الياس حرف مختلف ولكن لاحظ حقل رقم 3 و 4 هتلاقيهم واخدين نفس الالياس وده يدل انك ممكن تعطي اكثر من حقل نفس الالياس دون مشاكل ولكن انت اللي هتتلخبط مش الاوراكل
طالب :- طب استفادنا ايه من الالياس ؟
خالد :- لاحظ انك اختصرت الحقل فى حرف واحد ؛ وكمان ميزته ووضحته ؛ شوف الحقل الاخير هتلاقي الناتج متطابق ولكن تحت اسم مختلف وهذا التمييز هتحتاجه وبشدة فى الشغل ان شاء الله
طالب :- ينفع اعمل الياس بالعربي ؟
خالد :- طبعا ؛ شوف المثال التالي :-

SELECT SAL المرتب  FROM EMP ;


مش هيفرق اذا كان الالياس عربي ولا هندي حتى لكن اللي هيفرق انه في قواعد واشكال للالياس لازم نلتزم بيها
طالب :- زى ايه ؟
خالد :- الالياس له ثلاث اشكال وقواعد الشكل الاول والثاني وجهان لعملة واحدة ؛ وهو انك تترك مسافة واحدة على الاقل بين الالياس وبين الحقل زى المثال اللي فات تعالي نشوف الشكلين :-ASاو انك تكتب

SELECT SAL المرتب  FROM EMP ;
SELECT SAL ASالمرتب FROM EMP ;


النتيجة فى الحالتين واحدة ومش هيفرق اذا كان الالياس عربي ولا انجليزي
الشكل الثالث من الياس وهو ان لو الالياس نفسه كان اكتر من كلمة مثال :-

SELECT ENAME NAME OF EMPLOYEE FROM EMP ;

هنا الالياس مكون من اكثر من كلمة وهنا احنا امام حاجة من اتنين الاوراكل بيفرضهم علينا اما ان الالياس المكون من اكثر من كلمة يكون بين كل كلمة وكلمة مسافة او اندر سكور !!!
تعالي نشوف ؛ لو انت عايز الالياس يظهر بالمسافات زى ما انت كاتبه يبقي لازم تحط كل الالياس بين دبل كوتيشن كالتالي :-

SELECT ENAME “ NAME OF EMPLOYEE “ FROM EMP ;

وهنا تقدر تكتب اى عدد من كلمات الالياس بين الدبل كوتيشن وبرضه مش هيفرق عربي ولا انجليزي
الشكل الاخر لو انت مش عايز دبل كوتيشن ؛ قالك يبقي لازم تحط او تضع بين كل كلمة من كلمات الالياس اندر سكور كالتالي :-

SELECT ENAME NAME_OF_EMPLOYEE FROM EMP ;

وهنا تقدر تكتب اى عدد من كلمات الالياس بين الاندر سكور وبرضه مش هيفرق عربي ولا انجليزي ؛
فى حاجة كمان انت ممكن تدي او تعطي للجدول نفسه الياس كالتالي :-

SELECT SAL  X FROM EMP E ;

هنا الجدول نفسه انت اعطيته الياس ؛ وفى نفس الوقت اعطيت الحقل الياس ؛ اذا انت ممكن تعطي للجدول نفسه الياس وللحقول الياس كما تشاء ولكن وفقا للقواعد المذكورة سالفا ؛ بكده نكون خلاصنا الالياس ؛ تمام ؟
طالب :- تمااااااام
concatenation خالد :- تعالي ناخد حاجة تانية اسمها الكونكاتينشين
وده معناه الدمج بين الحقول ؛ وبنحتاج الدمج فى حاجات كتيررر جدا فمثلا فى الحياة العملية بنحتاج ان المستخدم يشوف القيم جنب ببعض رغم ان القيم دى راجعة من اكتر من حقل ؛ كمان بنحتاج الدمج فى اننا نضع الياس بجوار القيم المرتجعة !!
طالب :- يعني ايه ؟
خالد :- تعالي الاول نعرف ازاى بنعمل الدمج وبعدين نشوف استخداماته ؛ اولا فى طريقتين للدمج هناخد واحدة بس منهم النهاردة ان شاء الله ؛ قلك لو عايز اسم الموظف يظهر ومدموج معاه مرتبه مثلا فبيكون كالتالي :-

SELECT ENAME || SAL FROM EMP ;
ENAME||SAL
--------------
SMITH800
ALLEN1600
WARD1250
JONES2975
MARTIN1250
BLAKE2850
CLARK2450
SCOTT3000
KING5000
TURNER1500
ADAMS1100

ENAME||SAL
--------------
JAMES950
FORD3000
MILLER1300


هنا الاوراكل دمج الحقلين ببعض ؛ طيب لو احتاجنا ندمج اكتر من حقل برضه مفيش مشكلة ؛ شوف المثال التالي :-

SELECT ENAME ||SAL||JOB FROM EMP ;

اذا ادمج من الحقول كما تشاء
طالب :- طب والالياس هل ينفع استخدمه مع الدمج بحيث اضيف لكل حقل الياس مستقل ؟
خالد :- طبعا لأ !! فكر فيها الاول ؛ اذا كنت انت بتعمل دمج للقيم يعني كل القيم او الداتا المرتجعة هي لازقة او مدموجة فى بعض يبقي ازاى هعطي كل حقل الياس ؟ انما ممكن اعطي لكل الجملة الياس واحد كالتالي :-

SELECT ENAME ||SAL ||JOB C FROM EMP ;
C
--------------------
SMITH800CLERK
ALLEN1600SALESMAN
WARD1250SALESMAN
JONES2975MANAGER
MARTIN1250SALESMAN
BLAKE2850MANAGER
CLARK2450MANAGER
SCOTT3000ANALYST
KING5000PRESIDENT
TURNER1500SALESMAN
ADAMS1100CLERK

C
--------------------
JAMES950CLERK
FORD3000ANALYST
MILLER1300CLERK


لاحظ ان القيم او الداتا رجعه كلها تحت حرف الالياس اللي حطيناه او وضعناه وكانها حقل واحد مش ثلاثة ؛ علشان كده ماينفعش احط لكل حقل الياس انما للجملة كلها الياس واحد ؛ لكن ممكن احط فواصل او كلام بين الداتا كالتالي :-


SELECT ' THE NAME : ' ||ENAME || ' / ' || ' SALARY  IS : ' || SAL  || ' / ' || ' THE JOB : ' ||JOB  FROM EMP ; 
'THENAME:'||ENAME||'/'||'SALARYIS:'||SAL||'/'||'THEJOB:'||JOB
--------------------------------------------------------------
THE NAME : SMITH / SALARY IS : 800 / THE JOB : CLERK
THE NAME : ALLEN / SALARY IS : 1600 / THE JOB : SALESMAN
THE NAME : WARD / SALARY IS : 1250 / THE JOB : SALESMAN
THE NAME : JONES / SALARY IS : 2975 / THE JOB : MANAGER
THE NAME : MARTIN / SALARY IS : 1250 / THE JOB : SALESMAN
THE NAME : BLAKE / SALARY IS : 2850 / THE JOB : MANAGER
THE NAME : CLARK / SALARY IS : 2450 / THE JOB : MANAGER
THE NAME : SCOTT / SALARY IS : 3000 / THE JOB : ANALYST
THE NAME : KING / SALARY IS : 5000 / THE JOB : PRESIDENT
THE NAME : TURNER / SALARY IS : 1500 / THE JOB : SALESMAN
THE NAME : ADAMS / SALARY IS : 1100 / THE JOB : CLERK

'THENAME:'||ENAME||'/'||'SALARYIS:'||SAL||'/'||'THEJOB:'||JOB
--------------------------------------------------------------
THE NAME : JAMES / SALARY IS : 950 / THE JOB : CLERK
THE NAME : FORD / SALARY IS : 3000 / THE JOB : ANALYST
THE NAME : MILLER / SALARY IS : 1300 / THE JOB : CLERK

عايزك تكون فاهم ان الكلام اللي انت وضعته بين الداتا ليس له علاقة لا من قريب ولا من بعيد بالداتا بيز انما فقط هو توضيح لك وللمستخدم وده بنحتاجه كتير فى التقارير لانك بتخاطب المستخدم العادي بشكل مبسط وجميل
بكده نكون خلصنا النهاردة والحمد لله ؛ تمام ؟
طالب :- تمااااااااااااااام !!!
------

وشكرا
م / خالد الشاذلي
مبرمج اوراكل بوزارة الانتاج الحربي
IT Manager 1Solution Group
0122512071
khaled.elshazly@1solution.org
eng-mega@hotmail.com


تم التعديل بواسطة khaledmega, 17 September 2009 - 01:43 AM.

  • فــادي معجب بهذا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي