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

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

صورة
- - - - -

Session And Schema


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

#1 mido_develper

mido_develper

    عضو نشط

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

تاريخ المشاركة 25 July 2008 - 09:02 PM

من فضلكم كنت عاوز اعرف ايه الفرق بين :
مصطلح schema
ومصطلح session




وشكرا...................

#2 hanyfreedom

hanyfreedom

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 26 July 2008 - 04:24 AM

التعريف موجود على موقع اوراكل الرسمى :-

http://www.oracle.co...sary/sa_so.html


و هو بيقول ان الأسكيمة ( Schema ) عبارة عن :-

A collection of related database objects including tables, views, and other objects


اى ان الاسكيمة عبارة عن مجموعة مترابطة من كائنات قاعدة البيانات ذى الجداول و المناظر ( الفيو view ) و كائنات اخرى .

و انا اضيف و اقول انت لما تيجى تدخل على اى user بامر connect و تكتب بعد كده ال user name وال password ، فانت كده بتدخل على الاسكيمة .

أما ال session فهى الفترة اللى انت فاتح فيها الاداة اللى بتوصلك بقاعدة البيانات ذى ال SQL*PLUS , TOAD , ISQL*PLUS و غيرهم ، و هنا احنا مش بنقصد الوقت بس لكن بنقصد برضه اوامر السكويل بتاعة ال DML و اوامر البيئة ( اللى هى ذى set serveroutput on , set time on ...... و غيره ) .

بمعنى :-

ادخل على اسكيمة ال HR و اكتب الامر ده :-

SET HEAD OFF

و بعد كده اكتب كود استرجاع اى بيانات ذى :-

select * from employees ;


هتلاقى ال head مش موجود ( اللى هو فى الحالة دى مفروض يكون ال salary , email و باقى اسماء الاعمدة )

اكتب دلوقتى :-

connect scott/tiger

خلى بالك انت كده دخلت على اسكيمة ال scott من غير ما تقفل البيئة ( ال SQL*PLUS )

اكتب كود استرجاع بيانات اخر :-

SELECT * FROM emp ;


هتلاقى ان ال head برضه مش طالعه يعنى اسماء الاعمدة مش ظاهرة .

لكن لو انت مكنتش عملت ال

connect scott/tiger

و رحت ساعتها قفلت ال sql*plus و فتحته على اسكيمة ال scott ،
كده انت كأنك قفلت session و فتحت session جديد و بتالى اسماء الاعمدة كانت هتظهر عادى .

فى نقطتان تانى بخصوص ال session و هو فتح اكثر من session فى نفس الوقت .

النقطة الاولى :-

افتح ال SQL*PLUS مرتين ، فى المرة الاولى خليه على اسكيمة ال SYSTEM و المرة التانية خليه على اسكيمة ال HR

لما نيجى نمسح اسكيمة ال HR - و ده طبعاً لازم فى اى حال من الاحوال يتم على اسكيمة ال SYSTEM لأنها هى اللى ليها صلاحية مسح الأسكيمات الاخرى ( أنا بتكلم هنا على الوضع الافتراضى دون التطرق لأحاديث ال Grant و ال Revoke ) - فهنفذ هنا الكود ده :-

DROP USER HR CASCADE;


هتلاقى فى رسالة خطاء ظهرت و هى :-

ORA-01940: cannot drop a user that is currently connected

و ده معناه ان اسكيمة ال HR على session اخر و من ثم لا يمكن مسحها ،
ألا عندم يتم قفل ال session اللى هى عليه ..... حمل الصورة المرفقة 2SESSIONS.PNG لزيادة التوضيح .

النقطة الثانية :-
أوامر ال DML لا ترى من session لأخر ، ألا عند عمل commit ...... حمل ملف ال commit.PNG لزيادة التوضيح .

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

تعريف موقع الاوراكل لل session هو :-

In Java, an object used by a servlet to track a user's interaction with a Web application across multiple HTTP requests


اتمنى ان تكون الفكرة وصلتك .

و بالتوفيق

ملفات مرفقة

  • ملف مرفق  2_SESSIONS.PNG   44.6كيلو   49 عدد مرات التحميل
  • ملف مرفق  commit.PNG   36.6كيلو   38 عدد مرات التحميل


#3 mido_develper

mido_develper

    عضو نشط

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

تاريخ المشاركة 29 July 2008 - 12:43 AM

أما ال session فهى الفترة اللى انت فاتح فيها الاداة اللى بتوصلك بقاعدة البيانات ذى ال SQL*PLUS , TOAD , ISQL*PLUS و غيرهم ، و هنا احنا مش بنقصد الوقت بس لكن بنقصد برضه اوامر السكويل بتاعة ال DML و اوامر البيئة ( اللى هى ذى set serveroutput on , set time on ...... و غيره ) .









شكرا علي الرد بس كنت عاوز افهم يعنى كده ال session بيتكون من مجموعه من ال schema

وبرده مش فاهم العباره السابقه كويس

ارجو توضيحها

وشكرا ومعلش بتعبك معايا.....................

#4 hanyfreedom

hanyfreedom

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 29 July 2008 - 03:55 PM

بكل بساطة ال Session هى الوقت اللى بتفتح فيه البيئة اللى بتتعامل من خلالها مع لغة الاوراكل ( كالسكويل و ال PL/SQL و غيرهم ) .

علشان كده الاوراكل قام ببرمجة كود يسمح ليك بالتحكم فى خصائص قاعدة البيانات أثناء وجودك فقط فيها ( أى فترة ال SESSION بس ) ، و الكود ده أسمه ALTER SESSION

أدخل على هذا الرابط لمعرفة مزيد من التفاصيل :-

أضغط هنا

---------------
لكل بيئة مفتوحة SESSION خاص بها ، و ده اللى انا شرحتهولك ...... و بالنسبة للقصدته بأوامر البيئة و أكواد ال DML ( اللى ذى delete , update , merge and insert ) انه بالنسبة للأولى ( أوامر البيئة اللى هى ذى set serveroutput on , set echo on ...... و غيره) فهى هتفضل موجوده و شغاله لطول ال SESSION فقط لكن اول ما تقفل ال SESSION ( اى اول ما تقفل ال SQL*PLUS ) هتلاقى كل الاوامر راحت و مينفعش تشتغل تانى الا لما تدخل على ال SQL*PLUS تانى و تكتبها تانى من جديد ؛ اما بالنسبة للنقطة الثانية ( أكواد ال DML ) فهتفضل برضه ذى اوامر ال SQL*PLUS ، بمعنى انها تنتهى و تختفى بأنتهاء ال SESSION طالما أنك لم تنفذ كود ال

COMMIT;


أتمنى تكون الفكرة وصلت دلوقتى ..... و بالتوفيق .

#5 ashrafgalal

ashrafgalal

    عضو

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

تاريخ المشاركة 30 November 2008 - 07:25 PM

shokraaaaaaaaaaaaaaaaaan ya hanyy awyy
fe3lan ana estafad menak kiteeer awy fe mawadee3 kiteer fel montada
rabena yekremeak isa

#6 mido_develper

mido_develper

    عضو نشط

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

تاريخ المشاركة 31 January 2009 - 04:01 PM

A schema is a collection of objects. Schema objects are the logical structures that directly refer to the data in a database. Schema objects include tables, views, synonyms, sequences, stored procedures, indexes, clusters, and database links.