loading...

???? ?????? ????? ????? ??

بازدید : 54
دوشنبه 23 خرداد 1401 زمان : 11:08

اینک ما فرض می کنیم که شما میدانید SQL چیست یا این که تجربیات طراحی اپلیکیشن در مشهد عمل با SQL را دارید یا این که از آن سال‌ها استعمال کرده‌اید. ما اشخاص متعددی را می شناسیم که چیزهای متعددی در زمینه‌ی SQL می‌‌دانند و حتی پروژه‌های بخش اعظمی با SQL اجرا داده‌اند ولی نمی‌دانند موتور SQL یا این که SQL engine چیست یااینکه SQL engine مقر داده چه طور عمل می‌نماید.


اشکار میباشد که کمتر کسی به عمل داخلی SQL engine عنایت میدهد چون ما سوای اینکه بدانیم SQL به چه شکل شغل می‌نماید، خواهیم توانست با استعمال از هر اپلیکیشن SQLای مقر داده را ساخت و ساز کرده و به آن دسترسی داشته باشیم.

SQL یک لهجه نرم‌افزار‌نویسی میباشد یا این که گویش پرس و جو (کوئری‌نویسی)؟

با به کار گیری از SQL ما میتوانیم به طور تبادلی از گویش اپ‌نویسی و کوئری‌نویسی به کارگیری کنیم، اکثری از پیشرفت‌دهندگان به SQL تحت عنوان یک لهجه اپلیکیشن‌نویسی خاص نگاه می‌نمایند چون SQL engine مشمول دو مولفه کامپایلر (Compiler) و ماشین مجازی (Virtual machine) میباشد که کامپایلر امرها کوئری را به پروسیجرها کامپایل می‌نماید و ماشین مجازی پروسیجرها را اعمال می‌نماید. مضمون‌ کامپایل و اجرای کوئری‌های SQL بوسیله SQL engine آن را به یک گویش نرم افزار‌نویسی تبدیل می‌نماید. براین اساس چنانچه کسی بگوید SQL یک گویش اپلیکیشن‌نویسی میباشد، تا حدودی صحیح گفته میباشد.

چرا برای هر گویش اپلیکیشن‌نویسی که قادر است عملیات CRUD را ساخت و ساز نماید، از SQL استعمال کنیم؟

درست میباشد که با استعمال از هر گویش اپ‌نویسی قادر خواهیم بود عملیات معمولی CRUD (Create، Read، Update و Delete) را جاری ساختن کنیم، البته زمانی نرم‌افزار با کوئری‌های غامض در گویش نرم‌افزار‌نویسی همپا میباشد می بایست صدها خط هم اندازه یکسری خط کوتاه SQL بنویسیم.

مروری بر SQL

SQL مخفف Structured Query Language میباشد که میتواند تحت عنوان گویش اپ‌نویسی یا این که کوئری‌نویسی محسوب خواهد شد. مقصود مهم آن تعامل با خزانه اطلاعاتی ارتباط‌ای میباشد که در آن داده‌ها به طور جداول ذخیره میشوند. SQL قادر است وسعت متعددی از داده‌ها را مدیر نماید، به ویژه در صورتیکه داده‌ها به طور هم زمان نوشته شوند و ما جابجایی متعددی از این داده‌ها را داشته باشیم.

هنگامی استفاده کننده از SQL برای مدیر داده‌ها استعمال می‌نماید، می تواند عملیات ساخت و ساز، بازیابی، به‌روزرسانی و حذف داده‌ها را جاری ساختن دهد. سیستم‌های مدیر دیتابیس ارتباط‌ای (DBMS) متنوعی وجود دارا هستند، مثل MySQL، SQLite، Postgres SQL و غیره و همگی آن ها یک نوع خصوصیت را ارائه می دهند.

SQL Engine چیست؟

SQL engine نوعی اپ میباشد که امرها SQL را عده‌آوری و تعبیروتفسیر می‌نماید، براین اساس عملیات مطلوب میتوانند بر روی دیتابیس ارتباط‌ای جاری ساختن شوند. غرض SQL engine ساخت‌و‌ساز، تلاوت، به‌روزرسانی و حذف (CRUD) داده‌ها از دیتابیس میباشد.

یک SQL engine یا این که موتور دیتابیس SQL server مشتمل بر دو مولفه مهم موتور ذخیره‌سازی و پردازنده کوئری میباشد. امروزه بعضی از SQL DBMSهای امروزی دربرگیرنده بیش تر از یک نوع موتور ذخیره‌سازی می باشند. ما گونه های مختلفی از SQL engineها را داریم و کلیه آن ها دارنده معماری متفاوتی میباشند، البته برای ایفا غرض مشابهی استعمال می گردند که مشمول عملیات CRUD بر روی دیتابیس و بخش اعظمی از خصوصیت‌های دیگر میباشد.

SQL نصیب بزرگی از بازار آنلاین را پوشش می دهد و بخش اعظمی از کمپانی‌ها از سیستم‌های SQL خویش برای پردازش معاملات آنلاین و پردازش تحلیلی آنلاین به کار گیری می‌نمایند.

SQL Database Engine به چه شکل عمل می‌نماید؟

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

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

اجرای بدون نقص کوئری مشتمل بر 4 مرحله اساسی میباشد:

1. کامپایل (تجزیه، نظارت)

2. بایندینگ (اتصال)

3. باصرفه‌سازی

4. انجام

کامپایل-تجزیه

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

کامپایل-تحقیق

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

کامپایل-بایندینگ

اکران باینری مربوطه را برای فرمان کوئری وارداتی ساخت و ساز می‌نماید. تک تک موتورهای SQL server این مرحله از کامپایل را دارا هستند که در آن کد بایت ساخت و ساز می شود.

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

با صرفه‌سازی

در‌این مرحله شایسته ترین الگوریتم برای کد بایت با صرفه‌سازی می‌گردد. این خصوصیت همینطور با تیتر Query Optimizer یا این که Relational Engine نیز شناخته می گردد.

جاری ساختن

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

نکته: پروسه تجزیه کامپایل نیاز به هیچ مجوزی از دیتابیس ندارد که سبب میگردد این مرحله سریع‌ترین مرحله روند کامپایل باشد.

تبدیل SQL از داده به جدول

SQL با C مندرج میباشد و از اصل Binary-Tree به کار گیری می‌نماید که منجر میگردد داده‌های ورودی در سطرها و ردیف‌ها ذخیره شوند. در ساختار Binary-Tree یکسری شاخه وجود دارااست که اشاره به عنصر داده تازه داراست و همین ساختار به وسیله دیتابیس SQL دنبال میشود که داده‌ها به جداول تبدیل میشود که هر ردیف و سطر داده‌ها به یکدیگر اشاره دارا هستند.

موتور ذخیره‌سازی (Storage Engine) SQL Server چست؟

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

گردآوری‌بندی

برای ساخت و ساز گوشه و کنار دیتابیس، ما نیاز به SQL engine دیتابیس داریم، و برای تشکیل داد موتور دیتایس اکثر وقت ها از گویش‌های اپلیکیشن‌نویسی سطح زیر مثل C یا این که C++ استعمال می شود چون آنها در دست گرفتن بر روی رئیس یاد را در دست مخاطب قرار میدهند، که در اپ‌نویسی سطح بالا نیست. در لهجه‌های سطح بالا مدیر خاطر به طور خود کار به وسیله سیستم ادله اجرا می گردد. SQL engine یک گسترش cross-platform میباشد و می تواند از پلت‌هیبت‌های مختلفی برای تشکیل داد بعضا نرم افزار‌ها به کارگیری نماید البته کلیه پلت‌هیبت‌ها میتوانند به SQL engine برای تجهیزات دیتابیس لینک و پیوند شوند.

اینک ما فرض می کنیم که شما میدانید SQL چیست یا این که تجربیات طراحی اپلیکیشن در مشهد عمل با SQL را دارید یا این که از آن سال‌ها استعمال کرده‌اید. ما اشخاص متعددی را می شناسیم که چیزهای متعددی در زمینه‌ی SQL می‌‌دانند و حتی پروژه‌های بخش اعظمی با SQL اجرا داده‌اند ولی نمی‌دانند موتور SQL یا این که SQL engine چیست یااینکه SQL engine مقر داده چه طور عمل می‌نماید.


اشکار میباشد که کمتر کسی به عمل داخلی SQL engine عنایت میدهد چون ما سوای اینکه بدانیم SQL به چه شکل شغل می‌نماید، خواهیم توانست با استعمال از هر اپلیکیشن SQLای مقر داده را ساخت و ساز کرده و به آن دسترسی داشته باشیم.

SQL یک لهجه نرم‌افزار‌نویسی میباشد یا این که گویش پرس و جو (کوئری‌نویسی)؟

با به کار گیری از SQL ما میتوانیم به طور تبادلی از گویش اپ‌نویسی و کوئری‌نویسی به کارگیری کنیم، اکثری از پیشرفت‌دهندگان به SQL تحت عنوان یک لهجه اپلیکیشن‌نویسی خاص نگاه می‌نمایند چون SQL engine مشمول دو مولفه کامپایلر (Compiler) و ماشین مجازی (Virtual machine) میباشد که کامپایلر امرها کوئری را به پروسیجرها کامپایل می‌نماید و ماشین مجازی پروسیجرها را اعمال می‌نماید. مضمون‌ کامپایل و اجرای کوئری‌های SQL بوسیله SQL engine آن را به یک گویش نرم افزار‌نویسی تبدیل می‌نماید. براین اساس چنانچه کسی بگوید SQL یک گویش اپلیکیشن‌نویسی میباشد، تا حدودی صحیح گفته میباشد.

چرا برای هر گویش اپلیکیشن‌نویسی که قادر است عملیات CRUD را ساخت و ساز نماید، از SQL استعمال کنیم؟

درست میباشد که با استعمال از هر گویش اپ‌نویسی قادر خواهیم بود عملیات معمولی CRUD (Create، Read، Update و Delete) را جاری ساختن کنیم، البته زمانی نرم‌افزار با کوئری‌های غامض در گویش نرم‌افزار‌نویسی همپا میباشد می بایست صدها خط هم اندازه یکسری خط کوتاه SQL بنویسیم.

مروری بر SQL

SQL مخفف Structured Query Language میباشد که میتواند تحت عنوان گویش اپ‌نویسی یا این که کوئری‌نویسی محسوب خواهد شد. مقصود مهم آن تعامل با خزانه اطلاعاتی ارتباط‌ای میباشد که در آن داده‌ها به طور جداول ذخیره میشوند. SQL قادر است وسعت متعددی از داده‌ها را مدیر نماید، به ویژه در صورتیکه داده‌ها به طور هم زمان نوشته شوند و ما جابجایی متعددی از این داده‌ها را داشته باشیم.

هنگامی استفاده کننده از SQL برای مدیر داده‌ها استعمال می‌نماید، می تواند عملیات ساخت و ساز، بازیابی، به‌روزرسانی و حذف داده‌ها را جاری ساختن دهد. سیستم‌های مدیر دیتابیس ارتباط‌ای (DBMS) متنوعی وجود دارا هستند، مثل MySQL، SQLite، Postgres SQL و غیره و همگی آن ها یک نوع خصوصیت را ارائه می دهند.

SQL Engine چیست؟

SQL engine نوعی اپ میباشد که امرها SQL را عده‌آوری و تعبیروتفسیر می‌نماید، براین اساس عملیات مطلوب میتوانند بر روی دیتابیس ارتباط‌ای جاری ساختن شوند. غرض SQL engine ساخت‌و‌ساز، تلاوت، به‌روزرسانی و حذف (CRUD) داده‌ها از دیتابیس میباشد.

یک SQL engine یا این که موتور دیتابیس SQL server مشتمل بر دو مولفه مهم موتور ذخیره‌سازی و پردازنده کوئری میباشد. امروزه بعضی از SQL DBMSهای امروزی دربرگیرنده بیش تر از یک نوع موتور ذخیره‌سازی می باشند. ما گونه های مختلفی از SQL engineها را داریم و کلیه آن ها دارنده معماری متفاوتی میباشند، البته برای ایفا غرض مشابهی استعمال می گردند که مشمول عملیات CRUD بر روی دیتابیس و بخش اعظمی از خصوصیت‌های دیگر میباشد.

SQL نصیب بزرگی از بازار آنلاین را پوشش می دهد و بخش اعظمی از کمپانی‌ها از سیستم‌های SQL خویش برای پردازش معاملات آنلاین و پردازش تحلیلی آنلاین به کار گیری می‌نمایند.

SQL Database Engine به چه شکل عمل می‌نماید؟

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

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

اجرای بدون نقص کوئری مشتمل بر 4 مرحله اساسی میباشد:

1. کامپایل (تجزیه، نظارت)

2. بایندینگ (اتصال)

3. باصرفه‌سازی

4. انجام

کامپایل-تجزیه

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

کامپایل-تحقیق

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

کامپایل-بایندینگ

اکران باینری مربوطه را برای فرمان کوئری وارداتی ساخت و ساز می‌نماید. تک تک موتورهای SQL server این مرحله از کامپایل را دارا هستند که در آن کد بایت ساخت و ساز می شود.

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

با صرفه‌سازی

در‌این مرحله شایسته ترین الگوریتم برای کد بایت با صرفه‌سازی می‌گردد. این خصوصیت همینطور با تیتر Query Optimizer یا این که Relational Engine نیز شناخته می گردد.

جاری ساختن

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

نکته: پروسه تجزیه کامپایل نیاز به هیچ مجوزی از دیتابیس ندارد که سبب میگردد این مرحله سریع‌ترین مرحله روند کامپایل باشد.

تبدیل SQL از داده به جدول

SQL با C مندرج میباشد و از اصل Binary-Tree به کار گیری می‌نماید که منجر میگردد داده‌های ورودی در سطرها و ردیف‌ها ذخیره شوند. در ساختار Binary-Tree یکسری شاخه وجود دارااست که اشاره به عنصر داده تازه داراست و همین ساختار به وسیله دیتابیس SQL دنبال میشود که داده‌ها به جداول تبدیل میشود که هر ردیف و سطر داده‌ها به یکدیگر اشاره دارا هستند.

موتور ذخیره‌سازی (Storage Engine) SQL Server چست؟

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

گردآوری‌بندی

برای ساخت و ساز گوشه و کنار دیتابیس، ما نیاز به SQL engine دیتابیس داریم، و برای تشکیل داد موتور دیتایس اکثر وقت ها از گویش‌های اپلیکیشن‌نویسی سطح زیر مثل C یا این که C++ استعمال می شود چون آنها در دست گرفتن بر روی رئیس یاد را در دست مخاطب قرار میدهند، که در اپ‌نویسی سطح بالا نیست. در لهجه‌های سطح بالا مدیر خاطر به طور خود کار به وسیله سیستم ادله اجرا می گردد. SQL engine یک گسترش cross-platform میباشد و می تواند از پلت‌هیبت‌های مختلفی برای تشکیل داد بعضا نرم افزار‌ها به کارگیری نماید البته کلیه پلت‌هیبت‌ها میتوانند به SQL engine برای تجهیزات دیتابیس لینک و پیوند شوند.

نظرات این مطلب

تعداد صفحات : 0

درباره ما
موضوعات
آمار سایت
  • کل مطالب : 372
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • بازدید امروز : 1
  • بازدید کننده امروز : 1
  • باردید دیروز : 40
  • بازدید کننده دیروز : 0
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 46
  • بازدید ماه : 46
  • بازدید سال : 316
  • بازدید کلی : 23313
  • <
    پیوندهای روزانه
    اطلاعات کاربری
    نام کاربری :
    رمز عبور :
  • فراموشی رمز عبور؟
  • خبر نامه


    معرفی وبلاگ به یک دوست


    ایمیل شما :

    ایمیل دوست شما :



    کدهای اختصاصی