الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لعباقرة الاوراكل وكذلك للضروووورة القصوى بشئن اعطاء الصلاحيات للمستخدمين ضمن Sql

مغلق
بدأه زائر في 8 نوفمبر 2001 · 3 رد · 2,018 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

:confused: :confused: :confused: :confused: :confused:

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

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

اخواني لا اريد الاطاله عليكم

اولا هذه هي المرة الاولى لي بالمشاركة بهذا المنتدى

ثانيا:

انني اواجه امر بسيط ان شاء الله او بالاحرى سؤال مهم جدا بالنسبة لي قد يكون بمثابة تحديد للمصير !!!!!!!!

(SQL+اوجه سؤالي لعباقرة الاوراكل (

سؤالي كالتالي:

يوجد لدي جدول باسم(Comfort ) انشىء هذا الجدول من قبل المستخدم(System)

يحتوي هذا الجدول على معلومات تتعلق بالطقس والمناخ او بمعنى اخر بدرجات الحرارة الخاص ببعض من المدن المدخلة على هذا الجدول

جميع هذا الجدول مبني من قبل المستخدم(System)

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

(Scott/Tiger)

يجب الانتباه الى ان الجدول يحتوي على حقل اساسي بالنسبة للسؤال وهو حقل درجة الحرارة

المطلوب كالتالي

اعطاء صلاحة(Select)

للمستخدم (Scott)

من قبل مدير قاعدة البيانات (System)

ولكن بشروط وهي كالتالي

اعطاءه صلاحية (select) فقط

ولكن الشرط الاساسي هو

عدم اعطاء المستخدم السابق الذكر صلاحية (Select) على جميع الجدول (Comfort) كاملا

بمعنى اخر

الجدول يحتوي على بيانات ضمن حقل درجات الحرارة فالسؤال هنا كيف اقوم بإعطاء المستخدم (Scott) الصلاحية على البيانات التي درجة حرارتها اقل من 25 درجة

بمعنى اخر ايضا

الجدول يحتوي على درجات حرارة بعض من المدن التي تتفاوت درجات حرارتها من 5 الى 50 درجة

فانا اريد ان اعطي المستخدم (Scott) الصلاحية برؤية البيانات التي درجة حرارتها اضغر من 25 درجة فقط ؟؟؟

فإذا كتب المستخدم (Scott) هذه التعليمة

SQL> select * from comfort;

سوف تظهر له بيانات المدن التي درجة حرارتها اصغر من 25 درجة فقط ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

اما بالحالة الطبيعية لمدير قاعدة البيانات اذا كتب التعليمة التالية

SQL> Select * from comfort;

سوف تظهر له جمييييييييييييييييع البيانات المدخلة على هذا الجدول

فسؤالي هنا يا اساتذتي الكرااااااااااااااااام:

كيف اقوم بإعطاء صلاحية(Select)للمستخدم (Scott) على الجدول المسمى ( comfort ) ولكن لجميع البيانات التي درجة حرارتها اصغر من 25 درجة فقط دون عرض اي بيان يتعلق بالمدن التي درجة حرارتها اكبر من 25 درجة ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

ارجووووووووووووووووووووووووووووووكم رجاء حار جداااااااااااااااااا

ان تجاوبوني على سؤالي

ارجوووووووووووووووووووووووووكم فالموضوع ضروري جداااااااااا جداااااااااااا جدااااااااااا

والله يا شباب مستعجل عليه مع العلم اني فكرت فيه اكثر من مرة ولم استطع ان احصل على النتيجة المطلوبة

بس اكيد في فرق بين مبتدىء وعبقري صح ولا لا !!!؟؟؟!!!

وياريت لو احد منكم استطاع ان يجاوب على سؤال ان يقوم بعرض شرح بسيط للحل لكي تعم الفائدة للجميع وكذلك لكي تفهم التعليمة 100%

والى قراءة ردودكم وحلولكم يا عباقر الاوراكل اترككم برعاية الله وحفظه متمنيا لكم دوام الصحة والعافية

لكم مني كل التقدير والاحترام والحب والوفاء والاخلاص

اخوكم (((((( الدولار ))))))

^^AL_DOLLAR^^

#2

أخي الكريم الحل سهل جدا

لعمل ذلك فقط انشاء view على الجدول comfort ومن ثم اعط صلاحية select للمستخدم scott.

وفي مثالك الحل كما يلي:

أدخل على قاعدة البيانات بواسطة المستخدم system

ومن ثم انشاء view بواسطة الأمر التالي

create view comfort_view as select * from comfort where temp_column<25;

بحيث تستبدل temp_column بالحقل المسجل به درجة الحرارة

ومن ثم تعطي صلاحية select على الـ view للمستخدم scott

بواسطة الأمر التالي:

grant select on comfort_view to scott;

وبذلك تكون لدي المستخدم scott صلاحية select على الجدول comfort بحيث ان تكون درجة الحرارة اقل من 25

وبعد ذلك اتصل بواسطة المستخدم scott

select * from system.comfort_view;

ولتسهيل عليك لكي تطلب نفس الأمر الذي ذكرته وهو

;select * from comfort

قم بالأمر الآتي وانت مازلت متصل بالمستخدم scott

create synonym comfort for system.comfort_view;

وبعد ذلك بإمكانك طلب نفس الأمر لكلا المستخدمين وكل واحد منهم يظهر نتيجة مختلفة.

وشكرا.

#4

:) :) :) :) :)

مشكووووووووووووووووووووورين جدا جدا جدا

الله يعطيكم الف عافية على سرعة الرد وارجوا منكم المعذرة على تأخر ردي عليكم

ولكن اخواني الاعزاء

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

مع خالص تحياتي وتقديري لكل من

Oracle Man & Honest

الي اللقاء في هذا المســـــــــــــــــــــــــاء :P :P

;) :D ;)

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…