دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
توابع مقایسه ای در پایگاه داده اوراکل
1403/07/14 -
توابع تاریخ در پایگاه داده اوراکل
1403/07/12 -
توابع ریاضی در پایگاه داده اوراکل
1403/07/11 -
توابع رشته ای در پایگاه داده اوراکل
1403/07/10 -
مدیریت زمانبندی (Job) در پایگاه داده اوراکل
1403/07/09 -
مدیریت Trigger در پایگاه داده اوراکل
1403/07/08
ایجاد و مدیریت View در پایگاه داده اوراکل
ایجاد و مدیریت View در پایگاه داده اوراکل
در پایگاه دادههای رابطهای مانند اوراکل، یک View یا نما یک ساختار مجازی است که به ما اجازه میدهد نتایج یک کوئری را به صورت یک جدول قابل استفاده در SQL مشاهده کنیم.
View در واقع یک کوئری از پیش تعریفشده است که به عنوان یک شیء پایگاه داده ذخیره میشود و به کاربر اجازه میدهد دادههای جداول مختلف را به صورت یک جدول واحد مشاهده و با آن تعامل کند، بدون آنکه دادههای واقعی در پایگاه داده تکرار شوند.
تعریف View در پایگاه داده اوراکل
یک View یک جدول مجازی است که نتایج یک کوئری Oracle را نمایش میدهد.
این کوئری ممکن است شامل یک یا چند جدول، پیوندها (JOINs)، تجمیعها (Aggregations) و حتی توابع و دستورات پیچیده Oracle باشد.
برخلاف جداول معمولی، Viewها دادههای فیزیکی را ذخیره نمیکنند، بلکه تنها شامل تعاریف کوئری و چگونگی نمایش دادهها هستند.
هنگامی که یک View اجرا میشود، اوراکل کوئری مرتبط با آن را اجرا کرده و نتایج را برمیگرداند.
مزایای استفاده از View در پایگاه داده اوراکل
استفاده از Viewها در اوراکل چندین مزیت دارد که برخی از مهمترین آنها عبارتند از:
-
سادهسازی کوئریها
Viewها به کاربران این امکان را میدهند که کوئریهای پیچیده را سادهتر و کوتاهتر کنند.
میتوان یک کوئری پیچیده با چندین پیوند و توابع را به صورت یک View ذخیره کرد و در آینده به جای اجرای دوباره آن کوئری، تنها View را استفاده کرد. -
افزایش امنیت
Viewها میتوانند برای محدود کردن دسترسی کاربران به دادهها استفاده شوند.
با استفاده از یک View، میتوان تنها ستونها یا ردیفهای خاصی از یک جدول را به کاربران نمایش داد و بقیه دادهها را از دسترس آنها مخفی کرد. -
بهبود انعطافپذیری
اگر ساختار جدولها تغییر کند، میتوان Viewها را بدون نیاز به تغییر کوئریها یا برنامههایی که از آن Viewها استفاده میکنند، بهروزرسانی کرد.
این امکان به بهبود مدیریت دادهها و کدهای پایگاه داده کمک میکند. -
افزایش خوانایی و نگهداری
بهکارگیری Viewها در کوئریهای پیچیده میتواند به افزایش خوانایی کدها و همچنین نگهداری بهتر آنها کمک کند.
ایجاد View در پایگاه داده اوراکل
برای ایجاد یک View در اوراکل، از دستور CREATE VIEW استفاده میشود. نحو (Syntax) این دستور به شکل زیر است:
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;
-
view_name: نامی است که برای View انتخاب میشود.
-
SELECT: کوئری است که تعریفکننده دادههایی است که در View نمایش داده خواهند شد.
-
WHERE: شرطی است که تعیین میکند کدام ردیفها در View قرار بگیرند (اختیاری).
مثال ساده از ایجاد View:
فرض کنید یک جدول به نام employees داریم و میخواهیم یک View ایجاد کنیم که تنها کارمندان بخش IT را نمایش دهد. کوئری به شکل زیر است:
CREATE VIEW it_employees AS
SELECT employee_id, first_name, last_name, department_id
FROM employees
WHERE department_id = 10;
در این مثال، یک View به نام it_employees ایجاد شده است که شامل اطلاعات کارمندان بخش IT است.
مشاهده Viewها در پایگاه داده اوراکل
بعد از ایجاد یک View، میتوانید آن را مانند یک جدول معمولی مشاهده کنید. برای این کار میتوانید از دستور SELECT استفاده کنید.
SELECT * FROM it_employees;
در اینجا، دادههای نمایش داده شده همان نتایج کوئری مرتبط با View هستند.
ایجاد View با گزینه WITH CHECK OPTION
هنگامی که یک View ایجاد میشود، ممکن است کاربر تغییراتی در دادهها ایجاد کند که با شرایط کوئری اولیه View مغایرت داشته باشد.
برای جلوگیری از این مشکل، میتوان از گزینه WITH CHECK OPTION استفاده کرد.
این گزینه تضمین میکند که هر دادهای که از طریق View بهروزرسانی یا درج میشود، با شرطهای View سازگار باشد.
نحو (Syntax):
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition
WITH CHECK OPTION;
مثال:
فرض کنید بخواهیم یک View ایجاد کنیم که تنها کارمندان بخش IT را نمایش دهد و مطمئن شویم که اگر کاربری بخواهد اطلاعات کارمندی را بهروزرسانی کند، آن کارمند همچنان در بخش IT باقی بماند:
CREATE VIEW it_employees AS
SELECT employee_id, first_name, last_name, department_id
FROM employees
WHERE department_id = 10
WITH CHECK OPTION;
در اینجا، اگر بخواهیم بخش یک کارمند را تغییر دهیم و آن را به بخشی غیر از IT منتقل کنیم، این تغییر مجاز نخواهد بود زیرا با شرط View سازگار نیست.
حذف View در پایگاه داده اوراکل
برای حذف یک View از پایگاه داده، از دستور DROP VIEW استفاده میشود.
با حذف یک View، تنها خود View حذف میشود و هیچ تغییری در دادههای واقعی جداول ایجاد نخواهد شد.
نحو (Syntax):
DROP VIEW view_name;
مثال:
برای حذف View it_employees:
DROP VIEW it_employees;
بهروزرسانی View در پایگاه داده اوراکل
یک View میتواند دادههای واقعی را تغییر دهد، به شرطی که کوئری مرتبط با آن قابل بهروزرسانی باشد.
برای بهروزرسانی یک View، میتوانید از دستورات INSERT، UPDATE یا DELETE به صورت مستقیم استفاده کنید، به شرطی که View شرایط بهروزرسانی را داشته باشد.
البته، همه Viewها قابل بهروزرسانی نیستند و برخی از Viewها به دلیل پیچیدگی کوئری یا استفاده از توابع تجمیعی فقط به صورت خواندنی هستند.
مثال بهروزرسانی دادهها از طریق View:
فرض کنید بخواهیم نام خانوادگی یکی از کارمندان بخش IT را از طریق View بهروزرسانی کنیم:
UPDATE it_employees
SET last_name = 'Smith'
WHERE employee_id = 1001;
در این مثال، داده واقعی در جدول employees بهروزرسانی میشود، حتی اگر از View برای انجام این کار استفاده شده باشد.
محدودیتهای بهروزرسانی View
اگرچه برخی Viewها قابل بهروزرسانی هستند، اما در موارد زیر نمیتوان از آنها برای تغییر دادهها استفاده کرد:
-
Viewهای حاوی توابع تجمیعی
اگر View شامل توابعی مانند SUM، AVG، COUNT و غیره باشد، نمیتوان دادههای آن را بهروزرسانی کرد. -
Viewهای دارای دستور DISTINCT
Viewهایی که از دستور DISTINCT استفاده میکنند نیز فقط به صورت خواندنی هستند. -
پیوندهای پیچیده
اگر View شامل چندین جدول و پیوندهای پیچیده باشد، ممکن است امکان بهروزرسانی دادهها وجود نداشته باشد. -
استفاده از GROUP BY
Viewهایی که از GROUP BY استفاده میکنند نیز نمیتوانند بهروزرسانی شوند.
دوره های مرتبط
اموزش پایگاه داده اوراکل Oracle
در دوره آموزش پایگاه داده اوراکل اصول ، مفاهیم ، طراحی ، پیادهسازی و مدیریت پایگاه داده را به صورت جامع آموزش می دهیم .