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

Session And Schema


mido_develper

Recommended Posts

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



و هو بيقول ان الأسكيمة ( 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



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

و بالتوفيق

post-34898-1217033703_thumb.png

post-34898-1217034912_thumb.png

رابط هذا التعليق
شارك

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









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

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

ارجو توضيحها

وشكرا ومعلش بتعبك معايا.....................
رابط هذا التعليق
شارك

بكل بساطة ال 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;



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

رابط هذا التعليق
شارك

  • بعد 4 شهور...
  • بعد 2 شهور...

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.

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية