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

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

صورة
- - - - -

نواصل سلسلة دروس " تعلم SQL ORACLE 9i بسهولة "


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

#76 qwert

qwert

    عضو

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

تاريخ المشاركة 23 February 2006 - 03:51 PM

[[/b]بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته اخي الفاضل اشكرك على الدروس الرائعه ولأكثر من رائعه
اسأل الله ان يوفقك لمايحب ويرضى ولخدمة الناس في الخير
انا اطلعت على دروسك وفي الحقيقه تستحق المتابعه ارجو ان لاتطيل علينا وانا لم اجد الدروس السابقة
من 1الى 8 الرجاء من المشرفين اعادة وضعها ولكم جزيل الشكر
اخوكم سفير الظلام من السعودية

#77 helmy412

helmy412

    عضو

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

تاريخ المشاركة 25 February 2006 - 10:46 PM

أشكرك جد الشكر على الشرح هذا

لكن أتمنى أن يكون الشرح شويه معمق

#78 handasa5

handasa5

    عضو

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

تاريخ المشاركة 04 March 2006 - 01:14 AM

انا اريد (شرائح بور بوينت) presentations لل ORACLE اين اجده؟؟
مع الشكر

#79 el_soda

el_soda

    عضو

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

تاريخ المشاركة 16 March 2006 - 04:33 PM

<div align="center">
صورة


خطوات تتمة سلسلة دروس



تعلم SQL ORACLE 9i  بسهولة



السلام عليكم ورحمة الله وبركاته أعضاء وعضوات المنتدى الكرام ..

أعود إليكم بعد غياب طويل كانت له أسبابه الخاصة ، ونكمل هذه الدروس في SQL ORACLE  9i ..

( رابط الدروس من 1 وحتى 8 )

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


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

نبدأ على بركة الله ..  :D
</div>


طبعاً سنعمل على بيئة الـ9i والمسماه SQL Plus 8 ولا مانع من العمل على بيئة أقدم منها ، لكننا لن نستطيع تطبيق جميع الأوامر عليها .

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


نقوم أولاً  بإنشاء مساحة جدولية ( فضاء ) أو حيز على القرص ، وذلك لأن عند إنشائنا لأي كائن (table، index ، functaion...الخ ) ستأخذ حيز من مساحة الـ system .

لن نستطيع أن ننشئ مساحة جدولية (tablespace ) بواسطة المستخدمين العاديين كـ scoot او hr أو غيرها .. لنجرب  :

إذا لم تكن الـSQL Plus  قيد العمل فقم بتشغيلها وادخل بالمستخدم scott والذي كلمة المرور الخاصة به  tiger ..

أما إذا كنت قيد العمل حالياً على الـSQL Plus  بمستخدم آخر ، فاكتب الأمر :

SQL> connect scott/tiger


وقم بالضغط على مفتاح الإدخال (Enter) .. لتحصل على رسالة التأكيد أنك قيد الاتصال بقاعدة البيانات .. 
Connected.


الآن لنجرب إنشاء tablespace  ،  نكتب الصيغ التالية :

SQL> create tablespace lesson 
  2  datafile 'd:\lesson.dbf'
  3  size 10m;


ونقوم بالضغط على مفتاح الإدخال (Enter) .. لتحصل على رسالة الخطأ التالية ، والتي مفادها أنه ليس من صلاحيات المستخدم scoot  إنشاء هذا الكائن :

create tablespace lesson
*
ERROR at line 1:
ORA-01031: insufficient privileges


لذلك يجب الاتصال بمستخدم لديه هذه الصلاحيات ، وليكن الـ system ..

نقوم بكتابة الأمر التالي لكي نتصل بالـ system ..

SQL> connect system


ونضغط Enter لنطالب بكلمة المرور للمستخدم system هكذا :

Enter password:
فنقوم بإدخال الكلمة :  manager

عند ذلك  تظهر لنا رسالة تأكيد الاتصال 
Connected.


الآن يمكننا إنشاء مساحة جدولية خاصة بهذه الدروس على القرص ، وذلك عندما ننفذ الصيغة التالية :

SQL> create tablespace lessons_ts 
  2  datafile 'd:\lessons.dbf'
  3  size 50 m;


ونضغط على Enter  لتأتينا رسالة تأكيد الإنشاء :

Tablespace created.


والآن أصبح لدينا مساحة جدولية خاصة بنا على القرص :

- اسمها المنطقي هو  lessons_ts  .
- واسمها الفيزيائي ( مكان تواجدها على القرص) هو lessons.dbf  .
- وحجمها على القرص 50 ميجا بايت .


الآن ننشئ مستخدم خاص بهذه الدروس له صلاحية العمل على الـ leesons_tb
والمنشأة قبل لحظات :

SQL> create user student
  2  identified by good
  3  default tablespace lessons_ts ;


ونضغط على Enter  لتأتينا رسالة تأكيد الإنشاء :

User created.
مفادها أنه تم إنشاء المستخدم student ..

والآن أصبح لدينا مستخدم خاص نستطيع الدخول به للـ SQL والقيام بجميع العمليات التي نريدها في  نطاق ما نحدد له لا حقاً :

- اسم المستخدم هو student .
- كلمة مروره هي  good .
- المساحة الجدولية الافتراضية له هي lessons_ts .


الآن المستخدم student ليس له الحق في الاتصال بقاعدة البيانات وبالتالي ليس له الحق في إجراء أي عملية ..

وبما أننا أنشأناه بواسطة المستخدم system لذلك نستطيع من خلال system منحه الصلاحيات الضرورية ..

أولاً : نمنحه صلاحية الاتصال بقاعدة البيانات :

SQL> grant connect to student;


لتظهر لنا الرسالة :

Grant succeeded.


والدالة على أنه قد تم منح المستخدم student  صلاحية الاتصال ..


ثانياً : نقوم بمنحه صلاحية الإنشاء والحذف والإضافة وغيرها من العمليات :


SQL> grant resource to student;


لتظهر لنا الرسالة :


Grant succeeded.


والدالة على قد تم منحهه صلاحية العمليات المختلفة .

الآن لنجرب الاتصال بالمستخدم student :

SQL> connect student
Enter password: ****

Connected.


ولكي نتأكد أننا متصلين بالمستخدم student نكتب :

SQL> show user;


ليظهر لنا :   
user is "STUDENT"


الآن يمكننا إنشاء الجدوال والدوال والإجراءات والفهارس والتعامل معها وحذفها وتعديلها ،  وغيرها من العمليات ..

لنجرب مثلاً إنشاء الجدول التالي :

create table school
(school_id number(5) ,
school_name varchar2(50)
);


ليظهر لنا :   
Table created.


نقوم مثلاً بحذفه :
SQL> drop table school;


ليظهر لنا : 
Table dropped.


وكتأكيد أخير على نجاحنا ، لنقم بالخروج من الـ SQL Plus ثم ندخل بالمستخدم  student وكلمة مرروه good لتأتينا رسالة الاتصال ويكون مؤشر الـSQL متحفز للأوامر ..

<div align="center">
شرح تمهيدي مهم لأمر الاستعلام select
</div>


و قبل البدء بأوامر الـ  DML نتعلم أمر مهم هو أمر الاستعلام select والذي لا نستطيع بدونه استعراض أي بيانات من قاعدة البيانات .

- هذا الأمر يجب التدرب عليه واتقانه كاتقان كتابة الاسم ! إذ أنه سيتكرر استخدامه كثيراً في الـ SQL ( لأنها لغة استعلام ) ، لذلك سنؤجل شرحه بالتفصيل لدروس أخرى قادمة ، ولكننا سنوضح فيما يلي صيغة بسيطة له حتى يتسنى لنا فهم أوامر الـ DML وتطبيقها ..

وقبل أن نبد أ أيضاً : آمل تحري الدقة في كتابة الشفرات البرمجية ، لأن أدنى خطأ في حرف أو زيادة أو نقصان أو وجود فراغ يعرضك لإضاعة الوقت  .


- نبدأ الآن بتشغيل  الأداة SQL Plus ( أي إصدار ) وندخل بواسطة المستخدم student والذي أنشناه في الدرس السابق بكلمة المرور good .

- ثم نقوم بكتابة الأمر select  والذي سيعطينا جميع الجدوال الموجودة تحت سيطرة وصلاحية المستخدم student .

SQL> select * from tab;


ومعناه استعرض لي ( قم بجلب) جميع الجدوال الموجودة في قاعدة البيانات ( تحت نطاق المستخدم student  طبعاً ) .

- أما علامة الـ * فتدل على جميع الجدوال tab .

طبعا النتيجة لا شيء .. حيث تظهر هذه الرسالة :

no rows selected


ومفادها أنه لا يوجد أي معطيات (جدوال ) موجودة .. والسبب بالطبع ؛ أن المستخدم student منشأ قريباً ولم ينشئ هو أي الـ student  جداول حتى نستعرضها !

لذلك سوف نفهم الأمر select أكثر من خلال استعراضنا لجداول الـ scoot .

- قم الان بالاتصال بالمستخدم scoot ( لن أكتب الطريقة لأنها بسيطة وأصبحت معروفة ) ..

-  ثم نتأكد أننا متصلون بالمستخدم scoot وذلك بكتابة الأمر :

SQL> show user;


فإذا ظهرت لنا الرسالة :

user is "SCOTT"


فيدل ذلك أننا متصلون ..

- الآن نقوم بكتابة الأمر :

SQL> select * from tab;


لتظهر لنا النتيجة :

TNAME                          TABTYPE CLUSTERID
------------------------------ ------- ---------
BONUS                          TABLE
DEPT                          TABLE
EMP                            TABLE
SALGRADE                      TABLE


وهذا يعني ان للمتسخدم scott أربعة جداول ، لنقم الآن باستعراض سجلات الجدول EMP وذلك بكتابة الـ select التالية :

SQL> select * from emp;


أي أننا نستعرض جميع البيانات ( السجلات ) الموجودة في جدول (emp ) ..

فنحصل على السجلات التالية ..

EMPNO ENAME      JOB             MGR HIREDATE        SAL      COMM    DEPTNO
--------- ---------- --------- --------- --------- --------- --------- ---------
    7369 SMITH      CLERK          7902 17-DEC-80      800                  20
    7499 ALLEN      SALESMAN      7698 20-FEB-81      1600      300        30
    7521 WARD      SALESMAN      7698 22-FEB-81      1250      500        30
    7566 JONES      MANAGER        7839 02-APR-81      2975                  20
    7654 MARTIN SALESMAN      7698 28-SEP-81      1250      1400        30
    7698 BLAKE      MANAGER        7839 01-MAY-81      2850                  30
    7782 CLARK      MANAGER        7839 09-JUN-81      2450                  10
    7788 SCOTT      ANALYST        7566 19-APR-87      3000                  20
    7839 KING      PRESIDENT          17-NOV-81      5000                  10
    7844 TURNER    SALESMAN      7698 08-SEP-81      1500        0        30
    7876 ADAMS      CLERK          7788 23-MAY-87      1100                  20
    7900 JAMES      CLERK          7698 03-DEC-81      950                  30
    7902 FORD      ANALYST        7566 03-DEC-81      3000                  20
    7934 MILLER    CLERK          7782 23-JAN-82      1300                  10

14 rows selected.


أتمنى بعد هذه المقدمة أن نكون قد فهمنا بعض الشيء عن الأمر select والذي سيؤهلنا إن شاء الله للدخول على أوامر DML ..


<div align="center">


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

وفق الله الجميع لما يحب ويرضى ..
:lol:

</div>

عرض المشاركة



جزاكم الله خيرا
واتمنى لو يوجد كتب عن sqlوoraclوplsqlوشكرا جزيلا

#80 tamer14

tamer14

    مشترك

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

تاريخ المشاركة 16 March 2006 - 09:30 PM

الاخ handasa5
اليك المرفق لل oracle sql ppt
لا تنساني من خالص الدعوات

ملفات مرفقة

  • ملف مرفق  PPT.zip   164.97كيلو   307 عدد مرات التحميل


#81 ابو عبد الرحمن التميمي

ابو عبد الرحمن التميمي

    عضو

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

تاريخ المشاركة 21 March 2006 - 12:42 AM

بسم الله الرحمن الرحيم
مشكورا اخي الكريم علي هذا الجهد الرائع
واثابك الله عليه خير الثواب
واللهم اكثر من امثالك
وشكرا

#82 O_Almarei

O_Almarei

    عضو

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

تاريخ المشاركة 01 April 2006 - 12:33 PM

مشكور اخوي على المعلومات القيمة و نرجو منك المواصلة حسب فراغك
و جزاك الله خيرا
:)

تم التعديل بواسطة O_Almarei, 01 April 2006 - 12:41 PM.

ارجو من الله ان يحقق لي كل امنياتي

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

o_almarei@hotmail.com
o_almarei2@yahoo.com

#83 mwhamed

mwhamed

    عضو

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

تاريخ المشاركة 29 April 2006 - 07:24 AM

بسم الله الرحمن الرحيم
اخى العزيز اشكرك جزيل على هذا الشرح الجميل الشيق ولكن ينقصنا التطبيق
فارجو الافاده وارجوك احترم جهلى ولكن والله عايز اتعلم
انا لايوجد لدى نسخه PL/SQL
فارجو منك كيف احصل عليها
ولكن عند بعض البرامج فاشر هل يصلح شيئا منهم
RAPID SQL
DBpartner
PL/SQLDEVELOPER
وانا متاسف لانى اطلت عليك
اخوك محمد حسن البحطيطى
MHA171@YAHOO.COM
فارجوك افدنى ولك جزيل الشكر

#84 siddig umbadda

siddig umbadda

    عضو

  • الأعضــاء
  • 22 مشاركة
  • الاسم الأول:siddig
  • اسم العائلة:umbadda
  • البـلـد: Country Flag

تاريخ المشاركة 08 May 2006 - 03:57 PM

بارك الله فيكم جميعا

#85 shaam

shaam

    عضو

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

تاريخ المشاركة 09 May 2006 - 09:22 PM

shaamkbota@yahoo.com



[code=auto:0] ربنا يعوض جهدك حسنات

#86 برمجيات

برمجيات

    عضو

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

تاريخ المشاركة 16 May 2006 - 04:39 PM

يعطيك الف الف عااافيه اخــوي

انا طالب في اكليه التقنيه بالمملكه العربيه السعووديه واستفدت كثير من هل الدروس خاااصه بتقديمي للختباراااات


ويسمو مه ثاانيه وميكووور اخــوي

#87 mkddajany

mkddajany

    عضو

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

تاريخ المشاركة 29 May 2006 - 02:02 PM

:D اشكركم جزيل الشكر على جهودكم ، وأعتذر جدا لقلت تواصلي معكم
كما وأتمنى أن نبقى منكم أن تبقونا على إطلاع بالتحديثات الجديدة للاوراكل .

#88 tmiy220

tmiy220

    مشترك

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

تاريخ المشاركة 24 June 2006 - 06:30 PM

جزاك الله كل خير على هذا مجهودك الرائع

#89 the leader

the leader

    عضو

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

تاريخ المشاركة 26 June 2006 - 05:24 PM

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

#90 wad_altayeb

wad_altayeb

    عضو

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

تاريخ المشاركة 26 June 2006 - 09:00 PM

جزاك الله خير اخي الحبيب
ووفقك الله وسدد خطاك

عرض المشاركة