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

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

صورة
- - - - -

ال View ؟؟


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

#1 ahmed_samir

ahmed_samir

    عضو نشط

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

تاريخ المشاركة 08 March 2008 - 02:08 PM

السلام عليكم

ماذا تعرفوا عن ال view ؟

- هل هى تعمل كرابط بين الجداول
- هل هى يمكن ان تنشأ على اساس انها قراءة فقط .
- هل يمكن كتابة order by فى ال select

, شكراا
لو سمحت .. لو سمحت .. ايوة انت .. متعرفش حد عايز مبرمج اوراكل خبرة برنامج ERP ( شؤون عاملين و مخازن و مشتريات.. معلش ابقى قولى لو فى حد عندك )

OCP - Build Internet Applications

Oracle Certified Associate

Visual Basic 6 - ASP

-------

انشاء الله ربنا يكرمنى و اكون Oracle Developer محترف

الحمد الله OCP - Build Internet Applications

-------

#2 hanyfreedom

hanyfreedom

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

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

تاريخ المشاركة 08 March 2008 - 03:22 PM

A view is a stored query that allows you to
access multiple tables and columns. You may then query
the view as you would a table.


ال View هو أستعلام مخزن يسمح لك بالدخول على بيانات جدول معين او أكثر من جدول فى وقت واحد
و يمكن الاستعلام فى ال View كطريقة أستعلامك تماماً فى ال Table .

Create view Hany as select * from employees where department_id = 20;


ال Syntax الخاص بال View كالتالى :-

CREATE [OR REPLACE] VIEW [{FORCE | NOFORCE}] VIEW view_name
[(alias_name[, alias_name ...])] AS subquery
[WITH {CHECK OPTION | READ ONLY} CONSTRAINT constraint_name];

لو فى اى استفسار تانى ابقى قول ...... و شكراً

#3 ahmed_samir

ahmed_samir

    عضو نشط

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

تاريخ المشاركة 08 March 2008 - 04:25 PM

شكرا اخى هانى على المشاركة ..

و اريد انا اعرف التعلق على امكانيه ان يكون قراءة فقط و الجزء الخاص بال order by حيث اننى مخلتف فى الاجابات التى اعرفها فى الامتحان الخاص بال sql

وشكرا
لو سمحت .. لو سمحت .. ايوة انت .. متعرفش حد عايز مبرمج اوراكل خبرة برنامج ERP ( شؤون عاملين و مخازن و مشتريات.. معلش ابقى قولى لو فى حد عندك )

OCP - Build Internet Applications

Oracle Certified Associate

Visual Basic 6 - ASP

-------

انشاء الله ربنا يكرمنى و اكون Oracle Developer محترف

الحمد الله OCP - Build Internet Applications

-------

#4 hanyfreedom

hanyfreedom

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

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

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

الفكرة بتاعة ال View أساساً انك بتتعامل من خلاله بجدول كبير او مجموعة جداول كتيرة فى وقت واحد و بطريقة سهلة .

فانت بعد ما بتعمل ال view ممكن تعمل ليه insert .... فأذا كانت قيم اللى موجوده فى ال insert
متوافقة مع بناء ال view الذى قمت بعمله ، اذن ستبقى هذه البيانات الجديدة بال view و الجدول اما اذا
كانت غير متوافقة مع ال view فستذهب للجدول ...... و ميزة قيد ال with read only انه بيمنع كل اوامر ال DML
سواء ال insert , delete , update ...... و المثال التالى سيوضح ما اشارت اليه :-

SQL> Create view Hany as select * from employees where department_id = 20;

View created.
-----------------------------------------------------
  1  insert into hany (
  2  EMPLOYEE_ID,LAST_NAME,EMAIL,HIRE_DATE,JOB_ID) values (
  3* 999,	   'asd'	,'asda',sysdate,'MK_REP')
SQL> /

1 row created.
-----------------------------------------------------
SQL> select * from hany;


EMPLOYEE_ID FIRST_NAME		   LAST_NAME
----------- -------------------- -------------------------
EMAIL					 PHONE_NUMBER		 HIRE_DATE JOB_ID		 SALARY
------------------------- -------------------- --------- ---------- ----------
COMMISSION_PCT MANAGER_ID DEPARTMENT_ID
-------------- ---------- -------------
		201 Michael			  Hartstein
MHARTSTE				  515.123.5555		 17-FEB-96 MK_MAN		  13000
					  100			20

		202 Pat				  Fay
PFAY					  603.123.6666		 17-AUG-97 MK_REP		   6000
					  201			20
-----------------------------------------------------------------
SQL> select employee_id from hany;

EMPLOYEE_ID
-----------
		201
		202
-----------------------------------------------------------------
---- as can you see the employee 999 not exist in the view
---- but when we look for it in Employees Table , you will see it

SQL> select employee_id from hany;

EMPLOYEE_ID
-----------
		201
		202
		999
-------------------------------------------------------------------
SQL> update hany
  2  set department_id=20 where employee_id=999;

0 rows updated.
-------------------------------------------
SQL> ed
Wrote file afiedt.buf

  1  update employees
  2* set department_id=20 where employee_id=999
SQL> /

1 row updated.

اما بالنسبة لل order by فهى مسألة بسيطة ، انت كل ما فى الموضوع انك بترتب البيانات على حسب
عمود معين ..... فمثالأً :-

Create or replace view Hany as select * from employees where department_id = 20 order by employee_id;


اذا كان كلامى مش واضح فأرجو أن تقول لى ما الغامض .... مع تمنياتى لك بالتوفيق

#5 Amgad

Amgad

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

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

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

الأخ / هانى

دائما مجهود متميز وعطاء متميز من عضو متميز ... شكرا لك

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

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


....