SQL زبان پرس و جو ساختار یافته است. این برنامه به طور خاص برای مدیریت و دستیابی به داده هایی که در پایگاه های داده های رابطه نگهداری می شوند ، ایجاد شده است. اولین سرمایه گذاری تجاری برای استفاده از SQL ، اوراکل بود که هنوز زبان پرس و جو SQL * Plus خود را به عنوان پایه و اساس کلیه سیستم مدیریت پایگاه داده رابط خود (RDMS) قرار داده است..
امروزه MySQL ، SQL Server ، SAP و Sybase از SQL برای دسترسی به پایگاه داده استفاده می کنند. در این راهنما نسخه استانداردی از دستورات SQL را به شما می دهیم ، با توجه ویژه به اجرای اوراکل در SQL * Plus.
انتخاب EDITOR: ما به ابزارهای مدیریت زیرساخت SolarWinds توصیه می کنیم تا بر همه ابزارهای Microsoft ، از جمله SQL Server نظارت داشته باشید. شما به مجموعه ای از ابزارهای نظارتی نیاز دارید که می توانند به منظور پوشش کلیه امکاناتی که از پایگاه داده رابط شما پشتیبانی می کنند ، در تعامل باشند.
بانکهای اطلاعاتی رابطه ای
SQL مدیریت می کند پایگاه داده های رابطه ای. یک بانک اطلاعاتی رابطه ای شامل جداول است که برای کاهش تکرار داده ها از هم جدا می شوند. فرایند تصمیم گیری در مورد گروه بندی مناسب دسته بندی داده ها “عادی سازی.”در بعضی موارد ، تقاضای عملکرد ممکن است دیکته کند که جداول کار اگر به طور کامل عادی نشوند بهتر عمل می کنند. این فرآیند “ناهنجاری” خوانده می شود و یک اتفاق نادر است.
هر جدول به ستونی احتیاج دارد که هر ردیف را به طور اختصاصی مشخص کند. به این “کلید اصلی.جداول دیگری که می توانند به آن نهاد ملحق شوند باید در هر رکورد شامل کلید اصلی باشند. این مرجع “” نامیده می شودکلید خارجی.” شما پیوستن جداول با هماهنگ کردن کلید خارجی در یک جدول با کلید اصلی در دیگری جداول. این عمل با SQL انجام می شود. نمودار تصمیم گیری برای رابطه با هویت ، وقتی تصمیم می گیرید که چگونه ساختار SQL خود را تنظیم کنید ، یک مرجع مفید است.
به منظور سرعت بخشیدن به دسترسی ، طبیعی است که آن را قرار دهید فهرست مطالب در هر کلید اصلی در پایگاه داده. همچنین می توان برای ایجاد جداول مجازی ، که به آنها “نمایش ها.”
یک شیء دیگر از پایگاه داده است ماشه. این یک تکه SQL است که هر وقت مقدار به ستون اضافه شود یا تغییر کند ، پرتاب می شود. یک محرک مقادیر را در یک ستون در یک جدول متفاوت یا ستون های دیگر در همان جدول به روز می کند. این اتفاق می افتد اگر مقداری در ستونی که ماشه در آن قرار دارد اضافه یا تغییر داده شود. همچنین می تواند مقادیری را که می توان در یک ستون وارد کرد محدود کند.
DQL ، DDL ، DCL و DML
SQL شامل چهار زیر مجموعه فرمان است. اینها هستند زبان پرس و جو داده ها (DQL), زبان توصیف داده ها (DDL), زبان کنترل داده ها (DCL) ، و زبان دستکاری داده ها (DML).
در بیشتر پروژه ها ، مدیر پایگاه داده (DBA) تنها عضو تیم است که امتیاز استفاده از آن را دارد DDL. این گروه فرمان جداول ، فهرستها ، محرک ها و نماهای ایجاد ، تغییر و رها می کند.
DML برای اضافه کردن ، تغییر یا حذف سوابق از جداول در پایگاه داده استفاده می شود. دسترسی به این توابع SQL معمولاً محدود به پشتیبانی کارمندان یا اعضای ارشد ، مسئول جامعه جامعه کاربر می باشد.
DQL استفاده برای تولید گزارش از پایگاه داده است. این زیر مجموعه فرمان توسط برنامه نویسان استفاده می شود و همچنین برای کاربران نهایی قابل تهیه است تا بتوانند نمایش داده های خود را انجام دهند.
مدیریت امتیازات کاربر در همان پایگاه داده با داده ها ذخیره می شود. با این حال ، دسترسی به این جداول معمولاً محدود به DBA است. مدیریت دسترسی کاربر همه از طریق اجرا شده است DCL.
یک دستور SQL مفید وجود دارد که در طبقه بندی های DQL ، DDL ، DCL یا DML قرار نمی گیرد. این هست “توصیف کردن“که معمولاً به عنوان اجرا می شود DESC. این ساختار یک شیء را در پایگاه داده نشان می دهد. در صورت جدول ، لیستی از ستون ها و داده و اندازه هر یک را نشان می دهد. SQL را که نمای یا ماشه ایجاد کرده است نشان می دهد و ستون هایی را نشان می دهد که در یک فهرست مشخص نقش دارند.
اپراتورهای ارتباطی
تئوری پایگاه داده های رابطه ای توسط این تعریف شد E. F. Codd در تعریف Codd ، نیاز به یک ابزار پرس و جو است که باید هشت عملیات اساسی رابطه ای را پیاده سازی کند. اینها هستند:
- انتخاب کنید
- پروژه
- پیوستن
- تولید – محصول
- اتحاد. اتصال
- INTERSECT
- تفاوت
- تقسیم
برای دسترسی موثر به داده ها از یک پایگاه داده رابطه ، باید بر هر یک از این عملیات ها تسلط داشته باشید. اینها در زیر توضیح داده شده است.
انتخاب کنید
ابتدا SELECT نامیده می شد رستوران. این توانایی استخراج یک رکورد یا گروهی از سوابق منطبق از جدول در پایگاه داده است. و همچنین عملیاتی نظری است, انتخاب کنید نام اصلی در اجرای SQL است. در حقیقت ، تمام بازیابی داده ها با SELECT انجام می شود. این فرمان به قدری قدرتمند است که از بسیاری جهات قابل تغییر است. بسیاری از SQL هایی که شما باید یاد بگیرید “بند” در بیانیه SELECT هستند.
پروژه
پروژه توانایی جداسازی ستون (یا “ویژگی”) در یک جدول است. این همیشه با بیانیه SELECT پیاده سازی می شود.
پیوستن
عضویت جداول با یک ویژگی مشترک. شما از کلید خارجی در یک جدول برای مطابقت با مقادیر اصلی کلید در جدول دیگر استفاده می کنید. این عمل به طور موقت دو جدول را به طور موقت متحد می کند. این به عنوان بند در بیانیه SELECT اجرا شده است. پیوستگی بین دو جدول به طور خودکار تمام سوابق موجود در هر دو جدول پشتیبان را ترک نمی کند. “پیوستن بیرونی“سوابقی را نشان می دهد که در جدول دیگر مطابقت ندارد. زمینه هایی را که باید توسط جدول دیگر تهی شده باشد نشان می دهد..
تولید – محصول
محصول همچنین به عنوان “بار.”این به عنوان عبارت SELECT اجرا شده است که داده ها را از دو جدول ترسیم می کند ، اما پیوستگی بین آنها را مشخص نمی کند. در زندگی واقعی دلایل عملی بسیار اندکی وجود دارد که باعث می شود کسی تا به حال دو بار در دو جدول بازی کند. معمولاً یک علامت هشدار دهنده است که شما یک بند مشترک را نادرست نوشتید. نتیجه یک محصول این است که هر یک از رکورد های واجد شرایط در یک جدول با هر رکورد دار در جدول دیگر مطابقت دارد. بنابراین ، اگر یک عبارت SELECT از دو جدول ایجاد کنید که هر کدام ده رکورد دارند ، نتایج در کل 100 رکورد خواهد بود.
اتحاد. اتصال
UNION در تئوری مجموعه یک عامل مشترک است. اگر دو مجموعه دارید ، اتحادیه اعضای اصلی هر دو مجموعه را تشکیل می دهد. تکثیر از نتایج حذف می شود. در SQL ، این توسط پیاده سازی شده است یا اپراتور بولی.
INTERSECT
INTERSECT اپراتور اصلی دیگر نظریه مجموعه است. اگر دو مجموعه دارید ، تقاطع موضوعاتی را توصیف می کند که عضو هر دو مجموعه هستند. هر موضوعی که عضو یکی از این دو مجموعه باشد ، از نتایج مستثنی نیست. در SQL ، این توسط پیاده سازی شده است و اپراتور بولی.
تفاوت
تفاوت همچنین به عنوان “منهای“و در نماد گذاری با علامت منفی نمایش داده می شود (” – “). روش های مختلفی برای پیاده سازی تفاوت وجود دارد. با ایجاد یک بولی می توان ایجاد کرد نه در معیارهای انتخاب و همچنین می تواند توسط الف اجرا شود منهای اپراتور به دنبال یک خرده فروشی.
تقسیم
DIVIDE عملیاتی غیرمعمول است که مانند PRODUCT کاربردهای عملی بسیار کمی دارد. كد DIVIDE را آزمايش اسيدي براي هر يك از سيستم هاي رابطه اي و ابزار پرس و جوي آن مي داند ، بنابراين اجراي SQL شامل اين توانايي فقط براي كسب عنوان “رابطه” است. در واقع ، شما هرگز از آن استفاده نمي كنيد. اجرای DIVIDE به مجموعه ای از مواد زیر مجموعه ای احتیاج دارد منهای در Oracle SQL * Plus و آن جز اپراتور در برخی دیگر از پیاده سازی های SQL مانند SQL Server و PostgreSQL.
اپراتورهای بولی
جورج بول یک ریاضیدان انگلیسی بود که در سال 1864 درگذشت. او جبر بولی را اختراع كرد ، كه هیچ كاربرد عملی نداشت تا زمانی كه زمینه های انفورماتیک و پایگاه داده های رابطه ای در اواخر قرن 20 پدیدار شد. جبر بولی برای عملکردهای SQL اساسی است – فقط می توانید اساسی ترین سؤال SQL را بدون استفاده از منطق بولی بنویسید. منطق بولی همچنین شامل همه موتورهای جستجو است. اپراتورهای کلیدی Boolean در SQL عبارتند از:
- و
- یا
- نه
یکی دیگر از عجیب و غریب ویکتوریا بریتانیا که شما باید در مورد آن بدانید آگوستوس د مورگان است. او مشاهده ای را در مورد تحول در تئوری مجموعه بولی انجام داد كه از آن باید هر برنامه نویس SQL آگاه شود. این است که یک NOT می تواند چگونگی عملکرد AND و OR را تغییر دهد. نسخه کوتاه این است که شما باید مراقب باشید که چگونه از براکت ها در بیانیه های خود استفاده می کنید تا از عواقب ناخواسته خودداری کنید. بنابراین “و” و “یا” نیز باید به عنوان مهمترین عامل بولی در SQL در نظر گرفته شوند.
و
و پیاده سازی می کند INTERSECT در تئوری مجموعه اگر می خواهید سوابق را از یک پایگاه داده خارج کنید که فقط با دو مورد مطابقت داشته باشد و فقط یکی از این معیارهای کامپوزیت نباشد ، باید از AND استفاده کنید. به عنوان مثال ، شما ممکن است یک کار بذر را اداره کنید و بانک اطلاعاتی شما حاوی جدول است که تمام دانه های شما را با ویژگی های آنها ذخیره می کند. مشتری با begonias زرد تماس می گیرد و می خواهد. بنابراین ، شما می توانید پایگاه داده خود را جستجو کنید گونه = “بگونیا” و رنگ = “زرد” برای تهیه کاتالوگ بذر مناسب.
یا
OR به شما اعضای دو مجموعه می دهد – این اتحادیه در تئوری مجموعه است. بنابراین ، در پایگاه داده بذر خود ، اگر پرس و جو کردید: گونه = “بگونیا” یا رنگ = “زرد”, شما نتایجی به دست می آورید که شامل گل رز زرد ، بگونیا زرد ، بگونیا صورتی و زعفران زرد است. در این مثال ، begonias زرد دو بار واجد شرایط است. در تئوری رابطه فقط باید یک پرونده ثبت شود. خوشبختانه ، SQL صلاحیت را شامل می شود متمایز, بنابراین با وارد کردن انتخاب گزینه * از گل ها که در آن گونه ها = “بگونیا” یا رنگ = “زرد”, که ضبط بگونیا زرد فقط یک بار ظاهر می شود.
نه
درک آسان نیست. این نتایج را نتیجه گیری نمی کند که جمله زیر منجر شود: و نه ، یا نه. در عمل ، تقریباً هرگز از “OR NOT” در پرس و جو استفاده نمی کنید. اگر مشتری بذر شما رنگ دیگری از بگونیا به غیر از رنگ زرد می خواست ، استفاده می کنید گونه = “بگونیا” و نه رنگ = “زرد” برای انتخاب محصولات برای ارائه.
براکت ها
مطابق قانون د مورگان:
“نفی یک اختلال ، پیوند مذاکرات است. و نفی یک پیوستگی اختلاف منفی است “.
به زبان انگلیسی ساده ، از جمله براکت ها در عبارت SQL خود به دقت استفاده کنید تا از تبدیل ANDs به OR یا برعکس جلوگیری کنید. شرایط Bracketing در کنار هم می تواند معیارهای انتخاب شما را کوتاه کند. مثلا, NOT (گونه = “begonia” و رنگ = “زرد”) مثل این هست که نه گونه = “بگونیا” یا رنگی “زرد”.
سوابق استخراج
پیاده سازی های مختلف SQL از نحو متفاوتی استفاده می کنند ، اما در این راهنما SQL * Plus Oracle را دنبال خواهیم کرد. ساختار اصلی انتخاب داده SQL عبارت است از:
انتخاب کنید
از جانب
SQL زبان پرس و جو ساختار یافته است و برای مدیریت و دستیابی به داده های پایگاه داده های رابطه ای استفاده می شود. اوراکل اولین سرمایه گذاری تجاری برای استفاده از SQL بود و هنوز هم از زبان پرس و جو SQL * Plus خود به عنوان پایه و اساس کلیه سیستم مدیریت پایگاه داده رابط خود استفاده می کند. امروزه MySQL ، SQL Server ، SAP و Sybase نیز از SQL برای دسترسی به پایگاه داده استفاده می کنند. در این راهنما نسخه استانداردی از دستورات SQL را به شما می دهیم و به ویژه به اجرای اوراکل در SQL * Plus توجه می کنیم. برای نظارت بر همه ابزارهای Microsoft ، از جمله SQL Server ، ما به ابزارهای مدیریت زیرساخت SolarWinds توصیه می کنیم. SQL شامل چهار زیر مجموعه فرمان است: DQL ، DDL ، DCL و DML. هر کدام از این زیر مجموعه ها برای کاربردهای خاص خود استفاده می شوند. اپراتورهای ارتباطی نیز برای تئوری پایگاه داده های رابطه ای توسط E. F. Codd تعریف شده اند. در کل ، SQL یک زبان پرس و جو قدرتمند است که برای مدیریت و دسترسی به داده های پایگاه داده های رابطه ای استفاده می شود.