آشنایی با مفهوم CRUD

آشنایی با مفهوم CRUD

اگر تا به حال با پایگاه های داده کار کرده اید، به طور حتم با عملیات  CRUD مواجه شده اید. برای کسانی که آشنا نیستند،  crud  مخفف  create، read، update و delete است (چهار عملکرد ضروری هر سیستم ذخیره سازی پایدار، مانند پایگاه داده). اگرچه عملیات  CRUD می تواند برای دستکاری هر دو پایگاه داده SQL و NoSQL استفاده شود، این مقاله تنها بر روی یک نوع تمرکز دارد: زبان کوئری ساختاریافته (SQL)، زیرا این زبان برنامه نویسی بسیار محبوب است که امروزه در بسیاری از صنایع استفاده می شود. یک برنامه نویس یا توسعه دهنده، باید با مفهوم  CRUD آشنا باشد. شما با چند نمونه از کاربرد آن از طریق کوئری  SQL آشنا می شوید. در این مقاله موارد زیر را بررسی می کنیم:

 عملیات  CRUD چیست؟

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

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

CRUD به چهار عملیاتی اشاره دارد که ما برای پیاده سازی برنامه های ذخیره سازی پایدار مانند پایگاه های داده رابطه ای استفاده می کنیم. نمونه هایی از پایگاه های داده ی رابطه ای عبارتند از Oracle، Microsoft SQL Server  و MySQL.

عملیات هایی مانند کنترل امنیتی، کنترل تراکنش، دسترسی و پرمیشن و بهینه سازی عملکرد همگی بر اساس  CRUD هستند.

چرا عملیات CRUD بسیار مهم است؟

شما نمی توانید بدون استفاده از CRUD با پایگاه های داده تعامل داشته باشید. CRUD برای هر چیزی که نیاز به ذخیره سازی مداوم دارد ضروری است.

بدون  CRUD، توسعه‌دهندگان وب نمی‌توانند از REST(representional state transfer) استفاده کنند، که مجموعه‌ای از CRUD است که برای دسترسی به منابع  HTTP استفاده می‌شود. API های REST  از رایج ترین موارد مورد استفاده در توسعه وب هستند.

اساساً توسعه‌دهندگان نرم‌افزار نمی‌توانند هیچ پروژه‌ای را که نیاز به ذخیره‌سازی دائمی داشته باشد، بدون عملیات CRUD تکمیل کنند. از سوی دیگر، CRUD برای کاربران نهایی به همان اندازه که برای توسعه دهندگان برنامه ضروری است، نیز حیاتی است. کاربران نهایی از طریق یک رابط برنامه به عملیات  CRUD دسترسی دارند. بدون  CRUD، اقداماتی مانند ثبت نام در وب سایت ها، ایجاد وبلاگ یا استفاده از نشانک ها غیرممکن خواهد بود.

مزایای CRUD :

  • کنترل امنیت را با برآوردن نیازهای مختلف دسترسی آسان می کند.
  • طراحی برنامه را ساده و مقیاس پذیرتر می کند.
  • عملکرد بهتر در مقایسه با دستورات ad-hoc SQL

CRUD  با SQL

SQL یک زبان استاندارد است که برای ذخیره، دستکاری و بازیابی داده ها از پایگاه های داده استفاده می شود. بیایید به چند روش مختلف برای استفاده از کوئری های CRUD SQL برای ایجاد پایگاه داده و جدول، درج داده‌ها در جدول ها و انجام عملیات اساسی روی داده‌های درون جدول ها  بپردازیم. 

عمل  CREATE 

عمل  CREATE به شما امکان می دهد که یک پایگاه داده جدید و جدول های آن را  ایجاد کنید. 

در SQL یک پایگاه داده جدید با استفاده از کلمه کلیدی  CREATE DATABASE ایجاد می شود.

CREATE DATABASE db_name
Similarly, you can create a new table using the `CREATE TABLE` keyword.

CREATE TABLE table_name (col_1, col_2, ...)

با استفاده از دستور INSERT INTO می توانید رکوردهای جدیدی اضافه کنید. این دستور با کلمه کلیدی  INSERT INTO شروع می شود و به دنبال آن نام جدول ها، نام ستون ها و مقدارهایی که قرار است درج شود، می آید.

هنگام استفاده از  INSERT INTO، دو گزینه دارید:

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

در مثال زیر می توانید یک پایگاه داده  bakery و جدول  menu ایجاد کنید.پس از آن، می توانید داده ها را در جدول  menu خود وارد کنید.

CREATE DATABASE bakery;

CREATE TABLE menu (id Int, item varchar(10), date DATE);

INSERT INTO menu
VALUES (1, 'croissant', '2020-12-16');

اگر می خواهید چند ردیف را وارد کنید، می توانید این کار را با استفاده از دستور زیر انجام دهید:

INSERT INTO menu
VALUES 
(2, 'bread', '2020-12-16' ),
(3, 'eclairs', '2020-12-16' );

با این کار دو ردیف جدید به جدول  menu وارد می شود و به هر ورودی یک id منحصر به فرد می دهد.

عمل  READ

تابع  READ شبیه یک تابع جستجو است که به شما امکان می دهد رکوردهای خاصی را بازیابی کنید و مقدارهای آنها را بخوانید. در SQL تابع  read از کلمه کلیدی  SELECT استفاده می کند. به عنوان مثال، بیایید به اقلام منوی فروخته شده در یک نانوایی نگاه کنیم.

برای مشاهده لیست کامل محصولات پخته شده، باید تمام داده ها را در جدول  menu  با استفاده از کد زیر به دست آوریم:

SELECT * FROM menu;

با این کار جدول  menu تغییر نمی کند. در عوض، تمام رکوردهای موجود در آن جدول را نمایش می دهد.

در اینجا مثالی از نحوه استفاده از کلمه کلیدی SELECT برای بازیابی داده های خاص تر آورده شده است:

SELECT id, item, date
    FROM   menu  
    WHERE  id = '3'; 

در این کوئری SQL، یک آیتم منو با استفاده از شماره  id منحصر به فرد اختصاص داده شده به آن انتخاب می شود. این کوئری سطر کامل را از جدول menu نمایش می دهد که id  آن 3 است.

عمل  UPDATE

عملیات  UPDATE برای اصلاح رکوردهای موجود در جدول استفاده می شود. هنگام استفاده از کلمه کلیدی  UPDATE، باید جدول و ستون های مورد نظر را برای به روز رسانی تعریف کنید. همچنین ممکن است نیاز داشته باشید که مقدارهای مرتبط یا ردیف های خاص را بدانید، بستگی دارد به اینکه می خواهید کوئری شما چقدر خاص باشد.

توجه : برای جلوگیری از مشکلات همزمانی، تعداد ردیف هایی را که در هر کوئری به روز می شوند محدود کنید. در اینجا دستور اولیه برای به روز رسانی یک رکورد وجود دارد:

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

فرض کنید می خواهید  item و date  یک آیتم خاص را در جدول  menu به روز کنید. شما می توانید به صورت زیر استفاده کنید:

UPDATE menu
 SET item = 'chocolate croissant', date = 2022-12-16
 WHERE id = 2;

این جدول ها را به‌روزرسانی می‌کند تا به رکورد قبلی با شماره شناسه 2، نام مورد جدید، chocolate croissant و تاریخ جدید، 16-12-2022 اختصاص داده شود.

عمل  DELETE

عمل  DELETE  می تواند یک یا چند رکورد را از جدول یک پایگاه داده حذف کند. برخی از برنامه های کاربردی پایگاه داده رابطه ای ممکن است اجازه حذف سخت (حذف دائم) یا حذف نرم (وضعیت ردیف به روز رسانی) را بدهند. سینتکس عمل  DELETE به شرح زیر است:

DELETE FROM table_name WHERE condition;

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

DELETE FROM menu WHERE item_name='bread';

با این کار  آن  ردیف که نام آیتم bread را دارد، از جدول حذف می شود. اگر می خواهید تمام رکوردها را از جدول حذف کنید، می توانید از کد زیر استفاده کنید:

DELETE FROM menu;

جمع بندی  

در این مقاله با مفهوم CRUD و استفاده از آن در SQL آشنا شدیم. با درک درست عملیات  CRUD و  APIها، توسعه دهندگان می توانند برنامه های وب قدرتمندی بسازند که داده ها را به سرعت و به راحتی در پایگاه داده ذخیره و ویرایش کرده و از آن بازیابی و حذف کنند.

منبع :  https://www.educative.io/blog/crud-operations 

 

از بهترین نوشته‌های کاربران سکان آکادمی در سکان پلاس