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

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

صورة
- - - - -

ماهو الفرق بين الثلاثة؟؟create view-create index-create synonym


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

#1 hrs

hrs

    عضو نشط

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

تاريخ المشاركة 11 March 2009 - 10:11 AM

عندي لخبطة في فهم الفرق بين الثلاثة

create view
create index
create synonym


سأكون شاكرة لمن يوضح لي الفرق
:rolleyes:

#2 TROYMAN

TROYMAN

    مشترك

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

تاريخ المشاركة 11 March 2009 - 12:15 PM

السلام عليكم...
View: هي عبارة عن تمثيل لقسم من الجدول ضمن شروط محددة ... و نستخدمها عادة مع الاستعلامات المعقدة التي نحتاجها باستمرار...أي عملية استعلام أو إقحام أو تعديل أو حذف تتم مباشرة على الجدول..لذلك فإن مفهوم الفيو هو مفهوم منطقي..
CREATE OR REPLACE VIEW empvu10
(employee_number, employee_name, job_title)
AS SELECT employee_id, last_name, job_id
FROM employees WHERE department_id = 10

index: يستخدم ضمن شروط محددة بهدف تسريع الأداء لكافة العمليات على الجداول وهو يعرّف ضمنياً عند أي تعريف للمفتاح (PK or Unique)..
CREATE INDEX emp_last_name_idx ON employees(last_name);

synonym: وهو عبارة عن اسم يستخدم كبديل عن اسم معقد أو طويل لتسهيل الاستخدام..ويستخدم عادة عند الحصول على سماحيات على عنصر محدد من مستخدم آخر و كما نعلم أنه عند استخدام هذا العنصر يجب وضع اسم السكيما قبل اسم العنصر(SCOTT.emp) لذلك استطيع عمل synonym لهذا الاسم كما أريد كالتالي:
CREATE SYNONYM emp FOR SCOTT.emp;


أنا شرحت بشكل عام .. لأي توضيح أو استفسار أنا جاهز...

تم التعديل بواسطة TROYMAN, 11 March 2009 - 12:16 PM.

  • الجندي الرئيس معجب بهذا


<<اللهم لا علـم لنا إلا ما علّمتنا إنك أنت العليــم الحكيــم>>
<<اللهم علّمنا ما ينفعنا و انفعنا بما علّمتنا و ازدنا علماً>>



Programmer (C#.Net,C++,ASP) & Oracle Developer


#3 hrs

hrs

    عضو نشط

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

تاريخ المشاركة 11 March 2009 - 12:47 PM

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

#4 TROYMAN

TROYMAN

    مشترك

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

تاريخ المشاركة 11 March 2009 - 05:37 PM

السلام عليكم...
هذه بعض الأمثلة للتوضيح

هذا مثال عن إنشاء فيو بسيطة جدا
SQL> create or replace view v_emp_dept30 as 2  select empno,ename,sal,deptno from emp 3  where deptno=30;

View created.

SQL> select * from v_emp_dept30; EMPNO ENAME SAL DEPTNO
---------- ---------- ---------- ----------
7499 ALLEN 1600 30
7521 WARD 1250 30
7654 MARTIN 1250 30
7698 BLAKE 2850 30
7844 TURNER 1500 30
7900 JAMES 950 30
1001 hassan 30

7 rows selected.


إقحام سجل جديد في الجدول عن طريق الفيو وهنا استطيع إدخال سجل جديد على القسم 20(خارج الشرط) ولكن لا أستطيع رؤيته عن طريق الفيو
SQL> insert into v_emp_dept30(empno,ename,deptno) values(1002,'fouad',30);

1 row created.

SQL> select * from v_emp_dept30; EMPNO ENAME SAL DEPTNO
---------- ---------- ---------- ----------
1002 fouad 30
7499 ALLEN 1600 30
7521 WARD 1250 30
7654 MARTIN 1250 30
7698 BLAKE 2850 30
7844 TURNER 1500 30
7900 JAMES 950 30
1001 hassan 30

8 rows selected.


استطيع التعديل فقط على السجلات الموجودة في شرط الفيو
SQL> update v_emp_dept30 set deptno=20 where empno=1002;

1 row updated.

SQL> select * from v_emp_dept30; EMPNO ENAME SAL DEPTNO
---------- ---------- ---------- ----------
7499 ALLEN 1600 30
7521 WARD 1250 30
7654 MARTIN 1250 30
7698 BLAKE 2850 30
7844 TURNER 1500 30
7900 JAMES 950 30
1001 hassan 30

7 rows selected.
------------------------------------------
SQL> delete from v_emp_dept30 where empno=1002;

0 rows deleted.


هذه أمثلة عن استخدام المرادف(Synonym)
SQL> connect scott/tiger;
Connected.
SQL> grant select on emp to user1;

Grant succeeded.

SQL> connect user1/user1;
Connected.


نلاحظ أنه لايمكن الوصول إلى الجدول من اسمه فقط و لكن يجب وضع اسم السكيما
SQL> select * from emp; select * from emp
*
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from scott.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
.
.
.
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30

16 rows selected.


يجب أن امتلك سماحية إنشاء المرداف
SQL> create synonym s_emp for scott.emp;

Synonym created.

SQL> select * from s_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
.
.
.
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30

16 rows selected.


طريقة ثانية لإنشاء مرادف عام لاسم محدد يستطيع كافة المستخدمون الذين يمتلكون صلاحيات على الجدول الأصلي استخدامه
SQL> connect scott/tiger;
Connected.


يجب أن امتلك سماحية إنشاء مرادف عام
SQL> create public synonym emp for scott.emp;

Synonym created.

SQL> grant select on emp to user2;

Grant succeeded.


SQL> connect user2/user2;
Connected.


نلاحظ إنه تم استعمال اسم المرادف هنا
SQL> select * from 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
.
.
.
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30

16 rows selected.


الأماكن المثلى لاستخدام الفهارس(لتسريع الأداء)


Create an index when:
• A column contains a wide range of values.
• A column contains a large number of null values.
• One or more columns are frequently used together in a WHERE clause or a join condition.
• The table is large and most queries are expected to retrieve less than 2% to 4% of the rows in the table.
Do not create an index when:
• The columns are not often used as a condition in the query.
• The table is small or most queries are expected to retrieve more than 2% to 4% of the rows in the table.
• The table is updated frequently.
• The indexed columns are referenced as part of an expression.


CREATE INDEX emp_last_name_idx ON employees(last_name);


فإنه يتم إنشاء فهرس خاص به تلقائياً باسم محدد , من أجل التحكم بالاسم و الخيارات الأخرى يمكن استعمال الكود التالي (PK or Unique )كما نعلم أنه عند عند إنشاء أي حقل
CREATE TABLE NEW_EMP
(employee_id NUMBER(6)
PRIMARY KEY USING INDEX
(CREATE INDEX emp_id_idx ON NEW_EMP(employee_id)),
first_name VARCHAR2(20),
last_name VARCHAR2(25));
Table created.


<<اللهم لا علـم لنا إلا ما علّمتنا إنك أنت العليــم الحكيــم>>
<<اللهم علّمنا ما ينفعنا و انفعنا بما علّمتنا و ازدنا علماً>>



Programmer (C#.Net,C++,ASP) & Oracle Developer


#5 miash80

miash80

    عضو مميز

  • الأعضــاء
  • 794 مشاركة
  • الاسم الأول:mousa
  • اسم العائلة:hamdallah
  • البـلـد: Country Flag
  • الاهتمامات:Read
  • المنصب الحالي:Analyst Assistant

تاريخ المشاركة 11 March 2009 - 07:06 PM

ما شاء الله أخي تروي مان شرح اكثر من رائع

الله يبارك فيك

اللهم أغفر للمسلمين والمسلمات والمؤمينين والمؤمينات ألاحياء منهم وألاموات الى يوم الدين


موضوع قرأتة فأعجبني
http://www.shbab1.com/2minutes.htm

اذا عجبك موضوع من مواضيعي..لا تقل لي شكراً
و لكن أدعو لي (في ظهر الغيب) بالآتي

اللهم اغفر له ما تقدم من ذنبه و ما تأخر..اللهم احسن خاتمته
اللهم اغفر لوالديه و ارحمهما و ادخلهما جناتك برحمتك يا أرحم الراحمين و لكم بالمثل ان شاء الله
ارجو من الله ان يكون ما انقله لكم من ضمن حسناتى
 356663087.jpg

 

لا تأســــفنَّ عـلى غــــــدرِ الزمــانِ لطالــمـا

رقصـــــــت على جثــــثِ الأســــــــودِ كلابا

لا تحسبن برقصـــــها تعلوا على أســــيادها
تبقى الأســــودُ أسوداً والكـــــلابُ كِــــــلابا


#6 hrs

hrs

    عضو نشط

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

تاريخ المشاركة 11 March 2009 - 08:27 PM

شكرا لك اخي .. وضحت .. وتسلم على المساعدة الرائعة
:rolleyes:

#7 TROYMAN

TROYMAN

    مشترك

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

تاريخ المشاركة 11 March 2009 - 09:32 PM

شكراً للجميع... :rolleyes:


<<اللهم لا علـم لنا إلا ما علّمتنا إنك أنت العليــم الحكيــم>>
<<اللهم علّمنا ما ينفعنا و انفعنا بما علّمتنا و ازدنا علماً>>



Programmer (C#.Net,C++,ASP) & Oracle Developer


#8 Amgad

Amgad

    مشرف عام ومشرف قسم تحليل النظم

  • الفريق الإداري
  • 4,559 مشاركة
  • الاسم الأول:امجد
  • اسم العائلة:حلمي
  • البـلـد: Country Flag
  • المنصب الحالي:Business Systems Analyst at al Fanar Co. Riyadh KSA

تاريخ المشاركة 11 March 2009 - 10:27 PM

الأخ / TROY MAN

جهد متميز ... من عضو متميز


شكرا لك

جزاك الله خيرا

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


....


#9 سعد الروبى

سعد الروبى

    عضو

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

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

بارك الله فيك وجزاك عنا كل الخير

#10 TROYMAN

TROYMAN

    مشترك

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

تاريخ المشاركة 12 March 2009 - 02:36 AM

الأخ Amgad
الأخ سعد الروبى
.
.
.
شكراً لمروركم...


<<اللهم لا علـم لنا إلا ما علّمتنا إنك أنت العليــم الحكيــم>>
<<اللهم علّمنا ما ينفعنا و انفعنا بما علّمتنا و ازدنا علماً>>



Programmer (C#.Net,C++,ASP) & Oracle Developer


#11 Ahmad.Hasan

Ahmad.Hasan

    مشرف قسم الـ Forms & Reports والمشاريع

  • فريق الإشراف
  • 4,871 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Hasan
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle HCM Consultant

تاريخ المشاركة 12 March 2009 - 05:30 AM

NO COMMENTS BROTHER>>>>TROYMAN
GO A HEAD

.Oracle E-Business Suite R12 HCM Certified Implementation Specialist

 

.Oracle Fusion Human Capital Management 11g Human Resources Certified Implementation Specialist

 


#12 hrs

hrs

    عضو نشط

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

تاريخ المشاركة 15 March 2009 - 12:49 AM

مسامحة .. ادري اني عذبتكم بس فيه شي ..
وانا احاول اجرب اعمل create view يقولي انه مافي صلاحيات

عاد انا عطيته كل الصلاحيات
grant all on emp to scott
بس مافاد وماسمحلي اعمل فيو ويقول ايضا ماعندي صلاحيات


ارجو الرد بأسرع وقت

#13 TROYMAN

TROYMAN

    مشترك

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

تاريخ المشاركة 15 March 2009 - 12:21 PM

السلام عليكم...
هناك سماحية نظام Create View يجب امتلاكها حتى تتمكني من إنشاء الفيو:
بفرض مدير قاعدة البيانات SYstem
Connect system/orcl
grant create view to scott


<<اللهم لا علـم لنا إلا ما علّمتنا إنك أنت العليــم الحكيــم>>
<<اللهم علّمنا ما ينفعنا و انفعنا بما علّمتنا و ازدنا علماً>>



Programmer (C#.Net,C++,ASP) & Oracle Developer


#14 sho_7222

sho_7222

    عضو مميز

  • الأعضــاء
  • 501 مشاركة
  • الاسم الأول:DR/ASHRAF.
  • اسم العائلة:FATHY
  • البـلـد: Country Flag
  • الاهتمامات:البحث العلمي في مجال تكنولوجياالتعليم الكتروني والتدريب T.o.T ومدقق خارجي لمعايير الجودة العالمية.
    والبرمجة :(,developer,Apps,Jdeveloper,DBA,BI,lienex,java,VB.NET)
  • المنصب الحالي:مستشار بمركز البرمجة بوزار ةالتربية والتعليم

تاريخ المشاركة 26 July 2009 - 02:31 PM

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

(رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء ، رب اغفر لي ولوالدي وللمؤمنين يوم يقوم الحساب)


مستشار مركز جودة البرمجة بوزارة التربية والتعليم

 

استاذ مساعد تكنولوجيا تعليم

 

dr.ashraf.fathy@hotmail.com


00201099020210

 


#15 fady11g

fady11g

    عضو

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

تاريخ المشاركة 26 July 2009 - 02:51 PM

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




أخي الكريم شعارك جميل وهو شعار أعتز به ولكن يا ريت بلاش أساليب الدعاية المباشرة هذه فهذا منتدي تعليمي لا مجال تسويق أرقام هواتف و بريد إليكتروني