الأسيف بتاريخ: 20 مارس 2005 تقديم بلاغ مشاركة بتاريخ: 20 مارس 2005 خطوات تتمة سلسلة دروس تعلم SQL ORACLE 9i بسهولة السلام عليكم ورحمة الله وبركاته أعضاء وعضوات المنتدى الكرام ..أعود إليكم بعد غياب طويل كانت له أسبابه الخاصة ، ونكمل هذه الدروس في SQL ORACLE 9i ..( رابط الدروس من 1 وحتى 8 )وصلنا في هذه السلسلة إلى الدرس الثامن ولله الحمد ، وسنكمل هذه السلسلة ولكن بطريقة تختلف عن السابق .حيث سنكتب الدروس إن شاء الله بطريقة آنيــــــة ولحظية ، يتم طرح الدرس هنا في المنتدى لكي نستقبل الأسئلة والاستفسارات على أي جزئية من جزئيات الدرس ، ونتناقش بكل أريحيه عن مضمون الدرس ، ولا ننتقل من درس إلى الدرس التالي إلا وقد طبقنا الدرس الحالي ، خطوة بخطوة بتوفيق الله عزو جل ثم بتعاونكم البناء وتفاعلكم المثمر ..نبدأ على بركة الله .. طبعاً سنعمل على بيئة الـ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 متحفز للأوامر .. شرح تمهيدي مهم لأمر الاستعلام select و قبل البدء بأوامر الـ 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 .. في الدرس التاسع إن شاء الله سنبدأ بشرح أوامر الـ DML ، فإلى ذلك الحين أتمنى من المهتمين بمتابعة هذه الدروس القيام بالخطوات السابقة ..وفق الله الجميع لما يحب ويرضى .. 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
voca بتاريخ: 20 مارس 2005 تقديم بلاغ مشاركة بتاريخ: 20 مارس 2005 السلام عليكم اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
يحيى حماطي بتاريخ: 21 مارس 2005 تقديم بلاغ مشاركة بتاريخ: 21 مارس 2005 احسنت اخوي على مشاركتك المفيدة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
alqahtany بتاريخ: 21 مارس 2005 تقديم بلاغ مشاركة بتاريخ: 21 مارس 2005 شكراً لك على هذا الموضوعواتمنى لك المزيد من التألق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
الأسيف بتاريخ: 21 مارس 2005 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 مارس 2005 الأخ الفاضل voca ..وعليكم السلام ورحمة الله وبركاته ..العضو النشط يحيى حماطي ..شكر الله لك مرورك الكريم ..عضونا الجديد القحطاني ..حياك ربي وبانتظار مشاركاتك .. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
الأسيف بتاريخ: 21 مارس 2005 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 مارس 2005 تم تعديل الموضوع ...بزيادة شرح بسيط وتمهيدي للأمر select .. شرح تمهيدي مهم لأمر الاستعلام select اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
سامح الرشيدي بتاريخ: 26 مارس 2005 تقديم بلاغ مشاركة بتاريخ: 26 مارس 2005 بسم الله الرحمن الرحيممشكورا اخي الكريم علي هذا الجهد الرائعواثابك الله عليه خير الثوابواللهم اكثر من امثالكوشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
AbuNaif969 بتاريخ: 30 مارس 2005 تقديم بلاغ مشاركة بتاريخ: 30 مارس 2005 جزاك الله خير الجزاء ,, وفعلا شرح رائع وواضح كل الوضوح اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sadiq بتاريخ: 4 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 4 أبريل 2005 Thank you brother اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ans07 بتاريخ: 8 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 8 أبريل 2005 شكرا اخوي الأسيف وجزاك الله خير الجزاء اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
fastway بتاريخ: 25 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 25 أبريل 2005 [move]جزاكم الله خيرا اخي الاسيف اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
awq بتاريخ: 27 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 27 أبريل 2005 جزاكم الله خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
elnobey بتاريخ: 28 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 28 أبريل 2005 اولا شكرا على الشرح الجميلثانيا لااعرف سبب لعدم استمرار كثير من الاخوه فى تقدم هذه الدورس كلامنهم يقدم دروس او اثنان ثم يتوقف اتمنى الاستمرار لاستفاده جميع الاعضاء اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
الأسيف بتاريخ: 29 أبريل 2005 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 29 أبريل 2005 أشكر جميع الأخوة الذين تشرفنا بردودهم الكريمة .. لااعرف سبب لعدم استمرار كثير من الاخوه فى تقدم هذه الدورس كلامنهم يقدم دروس او اثنان ثم يتوقف اتمنى الاستمرار لاستفاده جميع الاعضاء أخي elnobey حياك الله ..للأسف مشاغل الحياة وتعدد الارتباطات يحول دون التواصل المنضبط ... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
رائد الثابتي بتاريخ: 29 أبريل 2005 تقديم بلاغ مشاركة بتاريخ: 29 أبريل 2005 جزاك الله خير اخي الحبيب اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ezzeldien بتاريخ: 1 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 1 مايو 2005 شكرا أخي الفاضل علي هذه الاستفاده اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
moh بتاريخ: 1 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 1 مايو 2005 أحسنت يا اخي وبارك الله فيك على هذا المجهود الرائع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ثناءقمر بتاريخ: 5 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 5 مايو 2005 شكرا على الشرح المبسط ويعطيك الف عافية وارجوك لا تتوقف اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
jaleelabd بتاريخ: 7 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 7 مايو 2005 السلام عليكم اخوتينشكرك اخوي العزيز على هذا الجهد الرائع في كتابة هذه الدروس ولكن طلب زغير .... يا حبذا لو تجمع جميع الدروس في ملف واحد قابل للتنزيل للتمكن من الاستفادة منه اكثر اخوكم ابو زينب العراقي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
vipwithyou بتاريخ: 9 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 9 مايو 2005 جزاك الله خيراً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mahmoud_Ezz بتاريخ: 12 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 12 مايو 2005 جزاك الله خير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Jasim بتاريخ: 13 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 13 مايو 2005 السلام عليكم ورحمة اللهاشكرك اخي على الجهود الطيبه جزاك الله وعنا الف خيرالمهم اخويانا عملت tablespace و عملت كذلك user و password ومشيت على الطريقه الموضحه في الدرس ولكن عندما اتصل باليوزر الي عملته يعطيني NOT CONNECTED ارجوا الافادة ياخي بهذا الموضوع ؟؟؟وكذلك ممكن توضح لي اكثر شو فايدة ال table spaceوشكرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
meshmesh173 بتاريخ: 15 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 15 مايو 2005 شكرا على هذا الشرح وجربته واشتغلولكن لي سؤال اذا اردت ان ازود مساحة الtable spaceما هو الامر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Mahmoud_Ezz بتاريخ: 18 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 18 مايو 2005 مشكورا اخي الكريم علي هذا الجهد الرائع مشكورا اخي الكريم علي هذا الجهد الرائع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
kandil_2005 بتاريخ: 19 مايو 2005 تقديم بلاغ مشاركة بتاريخ: 19 مايو 2005 جزاك الله خيرا أخي الأسيف على هذه السلسلة الطيبة و لكن أحببت أن تعطي الناس فكرة الأل عن مباديء قواعد البيانات - يعني ال pk fk ... - أو حتى رابط يشرحها و شاكرين لك مجهودك الطيب اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.