hrs بتاريخ: 11 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 عندي لخبطة في فهم الفرق بين الثلاثةcreate viewcreate indexcreate synonymسأكون شاكرة لمن يوضح لي الفرق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
TROYMAN بتاريخ: 11 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 (معدل) السلام عليكم...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; أنا شرحت بشكل عام .. لأي توضيح أو استفسار أنا جاهز... تم تعديل 11 مارس 2009 بواسطة TROYMAN 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hrs بتاريخ: 11 مارس 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 تسلم اخ تروي مان .. بس اذا مافيها كلافه ممكن مثال عن استخدامهم والناتج الي راح يطلع اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
TROYMAN بتاريخ: 11 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 السلام عليكم...هذه بعض الأمثلة للتوضيحهذا مثال عن إنشاء فيو بسيطة جدا 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. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
miash80 بتاريخ: 11 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 ما شاء الله أخي تروي مان شرح اكثر من رائعالله يبارك فيك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hrs بتاريخ: 11 مارس 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 شكرا لك اخي .. وضحت .. وتسلم على المساعدة الرائعة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
TROYMAN بتاريخ: 11 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 شكراً للجميع... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Amgad بتاريخ: 11 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 الأخ / TROY MANجهد متميز ... من عضو متميز شكرا لك جزاك الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
سعد الروبى بتاريخ: 11 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 بارك الله فيك وجزاك عنا كل الخير اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
TROYMAN بتاريخ: 11 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 11 مارس 2009 الأخ Amgad الأخ سعد الروبى...شكراً لمروركم... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 12 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 12 مارس 2009 NO COMMENTS BROTHER>>>>TROYMANGO A HEAD اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hrs بتاريخ: 14 مارس 2009 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 14 مارس 2009 مسامحة .. ادري اني عذبتكم بس فيه شي .. وانا احاول اجرب اعمل create view يقولي انه مافي صلاحياتعاد انا عطيته كل الصلاحيات grant all on emp to scottبس مافاد وماسمحلي اعمل فيو ويقول ايضا ماعندي صلاحياتارجو الرد بأسرع وقت اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
TROYMAN بتاريخ: 15 مارس 2009 تقديم بلاغ مشاركة بتاريخ: 15 مارس 2009 السلام عليكم...هناك سماحية نظام Create View يجب امتلاكها حتى تتمكني من إنشاء الفيو:بفرض مدير قاعدة البيانات SYstem Connect system/orcl grant create view to scott اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sho_7222 بتاريخ: 26 يوليو 2009 تقديم بلاغ مشاركة بتاريخ: 26 يوليو 2009 الحمد لله والصلاه والسلام علي رسول الله صلي الله عليه وسلم اللهم ربنا يا اله كل شئ وخالق كل شئ لا تسالنا عن شئ واغفر لنا كل شئ انا واخي الكريم واخواننا وجميع المسلمين والمسلمات والمؤمنين والمؤمنات من اول الخلق الي يوم الدين وكل من له علينا حق واغتبناه او بهتناه او نلنا منه بما لا يرضيك واجعله له نورا يوم القيامه اللهم ربنا ما بيينا وبين جلالتك فاغفره لنا فانت الغفور الرحيم لا غفور غيرك وما بيننا وبين عبادك فتحمله عنا فانت الله الواحد القهار الديان الله امين وصلي اللهم علي سيدنا محمد وعلي اله وصحبه اجميعن ومن بتعه باحسان الي يوم الدين امين امين امين امين امين اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
fady11g بتاريخ: 26 يوليو 2009 تقديم بلاغ مشاركة بتاريخ: 26 يوليو 2009 الحمد لله والصلاه والسلام علي رسول الله صلي الله عليه وسلم اللهم ربنا يا اله كل شئ وخالق كل شئ لا تسالنا عن شئ واغفر لنا كل شئ انا واخي الكريم واخواننا وجميع المسلمين والمسلمات والمؤمنين والمؤمنات من اول الخلق الي يوم الدين وكل من له علينا حق واغتبناه او بهتناه او نلنا منه بما لا يرضيك واجعله له نورا يوم القيامه اللهم ربنا ما بيينا وبين جلالتك فاغفره لنا فانت الغفور الرحيم لا غفور غيرك وما بيننا وبين عبادك فتحمله عنا فانت الله الواحد القهار الديان الله امين وصلي اللهم علي سيدنا محمد وعلي اله وصحبه اجميعن ومن بتعه باحسان الي يوم الدين امين امين امين امين امين أخي الكريم شعارك جميل وهو شعار أعتز به ولكن يا ريت بلاش أساليب الدعاية المباشرة هذه فهذا منتدي تعليمي لا مجال تسويق أرقام هواتف و بريد إليكتروني اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 8 أغسطس 2009 تقديم بلاغ مشاركة بتاريخ: 8 أغسطس 2009 الحمد لله والصلاه والسلام علي رسول الله صلي الله عليه وسلم اللهم ربنا يا اله كل شئ وخالق كل شئ لا تسالنا عن شئ واغفر لنا كل شئ انا واخي الكريم واخواننا وجميع المسلمين والمسلمات والمؤمنين والمؤمنات من اول الخلق الي يوم الدين وكل من له علينا حق واغتبناه او بهتناه او نلنا منه بما لا يرضيك واجعله له نورا يوم القيامه اللهم ربنا ما بيينا وبين جلالتك فاغفره لنا فانت الغفور الرحيم لا غفور غيرك وما بيننا وبين عبادك فتحمله عنا فانت الله الواحد القهار الديان الله امين وصلي اللهم علي سيدنا محمد وعلي اله وصحبه اجميعن ومن بتعه باحسان الي يوم الدين امين امين امين امين امين أخي الكريم شعارك جميل وهو شعار أعتز به ولكن يا ريت بلاش أساليب الدعاية المباشرة هذه فهذا منتدي تعليمي لا مجال تسويق أرقام هواتف و بريد إليكتروني (( إن بعض الظن إثم))الاخ اشرف انا أعرفه...وليس هدفه هو الدعاية سواء كانت بطرق مباشرة أو غير مباشرة...أسأل الله لك الشفا العاجل أخي أشرف... اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
popmaster بتاريخ: 9 أغسطس 2009 تقديم بلاغ مشاركة بتاريخ: 9 أغسطس 2009 سأشرح لك أخي العزيز الموضوع باختصار:view: وهو عبارة عن استعلام يتيح لك ادخال وتعديل وحذف البيانات من جدول معين او جزء منه اعتمادا على كود معينمثال :create or replace view emp1 as select ename,sal,comm from empفهنا نستطيع مشاهدة وتعديل وحذف فقط الاسماء والرواتب والعمولات فقطindex: وهو عبارة عن فهرسة لحقل معين وذلك من أجل تسهيل عمليات البحث ضمن الجدول وله نوعان bit map and tree mapsynonym: وهو عبارة عن اسم مختصر للتعامل مع الجداول ويمن تشبيهه بال alias ولكنه خاص بالجدولأرجو أن أكون قد وفقت بالإجابة على اسألتك وإذا عندك أي استفسار تاني أنا جاهز اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.