اموزش DML در پایگاه داده اوراکل

زهیر صفری 1403/07/17 0 34
لینک کوتاه https://zoheirsoftware.com/z/87662b0 |
آموزش DML در پایگاه داده اوراکل, دستورات DML در پایگاه داده اوراکل,مثال های دستورات DML در پایگاه داده اوراکل

مقدمه آموزش DML در پایگاه داده اوراکل

زبان اوراکل که برای مدیریت و تعامل با پایگاه‌های داده رابطه‌ای استفاده می‌شود، به دسته‌های مختلفی تقسیم شده است.

یکی از این دسته‌ها، زبان دستکاری داده‌ها یا همان DML (Data Manipulation Language) است.

DML مجموعه‌ای از دستورات است که به ما اجازه می‌دهد داده‌ها را در پایگاه داده ایجاد، به‌روزرسانی، حذف و بازیابی کنیم.

این عملیات اساسی، به کاربران و مدیران پایگاه داده کمک می‌کند تا به طور مؤثر با داده‌ها تعامل کنند.

در پایگاه داده اوراکل، DML به طور ویژه با اصول تراکنش و قفل‌گذاری همراه است که این امر به تضمین انسجام داده‌ها کمک می‌کند.

در این مقاله، به بررسی کامل دستورات DML و نحوه مدیریت آن‌ها در پایگاه داده اوراکل پرداخته می‌شود.

 

مقدمه آموزش DML در پایگاه داده اوراکل

 دستورات DML در پایگاه داده اوراکل

دستورات DML در پایگاه داده اوراکل شامل چهار نوع اصلی هستند:

  • INSERT

    برای وارد کردن داده‌ها به جداول.
  • UPDATE

    برای به‌روزرسانی داده‌های موجود.
  • DELETE

    برای حذف داده‌ها از جداول.
  • SELECT

    برای بازیابی داده‌ها از جداول.

    این دستورات به شما امکان می‌دهند تا به‌راحتی اطلاعات را وارد، تغییر، حذف و بازیابی کنید
    هرکدام از این دستورات نقش حیاتی در مدیریت داده‌ها در پایگاه داده ایفا می‌کنند.

 

 دستورات DML در پایگاه داده اوراکل

مثال های دستورات DML در پایگاه داده اوراکل

  • دستور INSERT

    دستور INSERT برای وارد کردن رکوردهای جدید به جدول مورد استفاده قرار می‌گیرد.
    شما می‌توانید مقادیر مختلفی را به ستون‌های مختلف یک جدول وارد کنید.

سینتکس:

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);


مثال:

INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (101, 'John', 'Doe', TO_DATE('2023-01-15', 'YYYY-MM-DD'));



این دستور یک رکورد جدید به جدول employees اضافه می‌کند.

  1.  وارد کردن داده به همه ستون‌ها

    اگر مقادیر همه ستون‌ها را وارد می‌کنید، می‌توانید از نام ستون‌ها صرف‌نظر کنید:

    INSERT INTO employees
    VALUES (102, 'Jane', 'Smith', TO_DATE('2023-02-15', 'YYYY-MM-DD'));


  2.  وارد کردن داده‌های چند رکورد همزمان

اوراکل امکان وارد کردن چندین رکورد را به صورت همزمان از طریق دستور INSERT ALL فراهم می‌کند.
به این شکل، شما می‌توانید با یک دستور چند رکورد را وارد کنید:

 

INSERT ALL
INTO employees (employee_id, first_name, last_name, hire_date) VALUES (103, 'Alice', 'Brown', TO_DATE('2023-03-01', 'YYYY-MM-DD'))
INTO employees (employee_id, first_name, last_name, hire_date) VALUES (104, 'Bob', 'Green', TO_DATE('2023-03-15', 'YYYY-MM-DD'))
SELECT * FROM dual;


این روش به شما امکان می‌دهد که با کارایی بیشتری داده‌ها را وارد کنید.

  •  دستور UPDATE

    دستور UPDATE برای به‌روزرسانی داده‌های موجود در یک جدول استفاده می‌شود. این دستور برای تغییر مقادیر ستون‌های خاص در رکوردهای انتخابی کاربرد دارد.

سینتکس:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;



مثال:

UPDATE employees
SET last_name = 'Johnson'
WHERE employee_id = 101;


این دستور، نام خانوادگی کارمندی با شماره 101 را به Johnson تغییر می‌دهد.

  1. به‌روزرسانی چندین ستون

    شما می‌توانید چندین ستون را همزمان به‌روزرسانی کنید:

    UPDATE employees
    SET last_name = 'Williams', salary = salary * 1.10
    WHERE employee_id = 102;

    در این مثال، نام خانوادگی کارمند با شماره 102 به Williams تغییر داده شده و حقوق او نیز 10 درصد افزایش می‌یابد.

  2. به‌روزرسانی همه رکوردها

در صورتی که شرط WHERE را نادیده بگیرید، همه رکوردهای جدول به‌روزرسانی می‌شوند:

 

UPDATE employees
SET salary = salary * 1.05;


این دستور، حقوق همه کارکنان را 5 درصد افزایش می‌دهد.

  • دستور DELETE

    دستور DELETE برای حذف رکوردهای خاص از یک جدول استفاده می‌شود.
    این دستور به شما اجازه می‌دهد تا با توجه به شرطی خاص، رکوردهای انتخابی را حذف کنید.

سینتکس:

DELETE FROM table_name
WHERE condition;


مثال:

DELETE FROM employees
WHERE employee_id = 103;


در این مثال، رکورد مربوط به کارمندی با شماره 103 از جدول employees حذف می‌شود.

  • حذف همه رکوردها

    با حذف شرط WHERE، تمامی رکوردهای جدول حذف خواهند شد:
DELETE FROM employees;
  • دستور SELECT

    دستور SELECT برای بازیابی داده‌ها از یک یا چند جدول استفاده می‌شود.
    این دستور مهم‌ترین و پرکاربردترین دستور DML است که برای جستجو و بازیابی اطلاعات استفاده می‌شود.

سینتکس:

SELECT column1, column2, ...
FROM table_name
WHERE condition;


مثال:

SELECT first_name, last_name, salary
FROM employees
WHERE department_id = 10;



این دستور، نام، نام خانوادگی و حقوق کارکنانی که در بخش 10 کار می‌کنند را نمایش می‌دهد.

  1. استفاده از SELECT DISTINCT

    برای بازیابی مقادیر منحصر به فرد، می‌توان از DISTINCT استفاده کرد:
    SELECT DISTINCT department_id
    FROM employees;

    این دستور، لیستی از شناسه‌های بخش‌ها را که در جدول employees وجود دارند و منحصر به فرد هستند، برمی‌گرداند.

  2. محدود کردن نتایج با استفاده از WHERE

    برای محدود کردن نتایج، از شرط WHERE استفاده می‌کنیم:

 

SELECT first_name, last_name
FROM employees
WHERE salary > 5000;


این دستور، نام و نام خانوادگی کارمندانی که حقوقشان بیش از 5000 است را بازیابی می‌کند.

مدیریت DML در پایگاه داده اوراکل

مدیریت دستورات DML در پایگاه داده اوراکل به طور مستقیم با مفاهیمی نظیر تراکنش‌ها، قفل‌گذاری، بهینه‌سازی و مدیریت خطاها مرتبط است.

  • تراکنش‌ها در DML

    هر دستور DML که در پایگاه داده اوراکل اجرا می‌شود، به‌صورت بخشی از یک تراکنش (Transaction) در نظر گرفته می‌شود.
    تراکنش‌ها به مجموعه‌ای از دستورات اطلاق می‌شود که به‌صورت یک واحد منطقی اجرا می‌شوند و باید تمام دستورات آن با موفقیت اجرا شوند یا هیچ‌کدام اجرا نشوند.
  1. COMMIT

    ذخیره‌سازی دائمی تغییرات اعمال‌شده توسط دستورات DML.

    COMMIT;
  2. ROLLBACK

    برگرداندن تغییرات به حالت قبل از اجرای دستورات DML
    ROLLBACK;
    

مثال:

BEGIN
  UPDATE employees
  SET salary = salary * 1.10
  WHERE department_id = 20;
  
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    ROLLBACK;
END;


در این مثال، اگر دستوری با خطا مواجه شود، تراکنش لغو می‌شود و تغییرات به حالت قبل بازگردانده می‌شوند.

  • قفل‌گذاری (Locking)

    قفل‌گذاری برای جلوگیری از تغییرات ناهمگام داده‌ها به کار می‌رود. اوراکل به‌صورت خودکار قفل‌هایی را برای جلوگیری از تغییرات همزمان و تضادهای داده‌ای اعمال می‌کند.
  1. قفل‌های ردیفی (Row Locks)

    برای اطمینان از اینکه رکوردهای خاصی همزمان توسط چند تراکنش تغییر نمی‌کنند.
  2. قفل‌های جدول (Table Locks)

    برای جلوگیری از تغییرات گسترده بر روی یک جدول خاص.
  • بهینه‌سازی دستورات DML

    برای بهبود عملکرد دستورات DML در پایگاه داده اوراکل، نکات زیر را باید مد نظر قرار داد:
  1. استفاده از ایندکس‌ها

    ایندکس‌ها به بهبود سرعت جستجو و بازیابی داده‌ها کمک می‌کنند.

    CREATE INDEX idx_emp_department ON employees (department_id);
  2. بسته‌بندی دستورات DML

    وارد کردن چندین رکورد یا اجرای به‌روزرسانی‌ها به صورت بسته‌ای به بهینه‌سازی کارایی کمک می‌کند.
BEGIN
  FOR i IN 1..100 LOOP
    INSERT INTO employees (employee_id, first_name, last_name, hire_date)
    VALUES (i, 'John', 'Doe', SYSDATE);
  END LOOP;
  COMMIT;
END;

 

  •  مدیریت خطاها

    در پایگاه داده اوراکل، برای جلوگیری از خطاهای محتمل در حین اجرای دستورات DML، می‌توان از بلاک‌های PL/SQL برای مدیریت خطاها استفاده کرد.

مثال:

BEGIN
  DELETE FROM employees WHERE employee_id = 999;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    DBMS_OUTPUT.PUT_LINE('No employee found with that ID.');
  WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('An unexpected error occurred: ' || SQLERRM);
END;



این روش به شما امکان می‌دهد تا به راحتی خطاها را شناسایی و مدیریت کنید.

  • امنیت در DML

    امنیت در اجرای دستورات DML بسیار مهم است.
    با استفاده از نقش‌ها و مجوزها در اوراکل، می‌توانید کنترل دقیقی بر روی دسترسی به داده‌ها اعمال کنید.
    برای مثال، می‌توانید مجوزهایی مانند INSERT، UPDATE و DELETE را به کاربران خاصی اختصاص دهید.

مثال:

GRANT INSERT, UPDATE ON employees TO hr_manager;
REVOKE DELETE ON employees FROM hr_manager;

 

 

مدیریت DML در پایگاه داده اوراکل

دوره های مرتبط
پکیج آموزش اوراکل,دوره آموزش پروژه محور پایگاه داده اوراکل,آموزش پایگاه داده اوراکل Oracle ,پایگاه داده اوراکل

اموزش پایگاه داده اوراکل Oracle

در دوره آموزش پایگاه داده اوراکل اصول ، مفاهیم ، طراحی ، پیاده‌سازی و مدیریت پایگاه داده را به صورت جامع آموزش می دهیم .

700,000 تومان

2.2k بازدید
مشاهده

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.