SQL؛ معرفی زبان پرس‌وجوی ساخت‌یافته و پایگاه داده رابطه‌ای

راهنمای جامع زبان پرس‌وجوی ساخت‌یافته (SQL)

توسط admin | گروه SQL Server | 1405/05/16

نظرات 0

راهنمای جامع زبان پرس‌وجوی ساخت‌یافته (SQL)

نشان SQLعنوان تصویری SQL در جلد کتابSQL

زبان پرس‌وجوی ساخت‌یافته

Structured Query Language — Version 1.2

نشان شرکت Relational Systems Corporationسه لوزی کوچک متصل در صفحهٔ عنوان

حق‌نشر © 2001

Relational Systems Corporation
3646 Towline Road
Omer, Michigan 48749
Phone 989-653-3114 · Fax 989-653-3115

فهرست مطالب

فهرست کامل بخش‌های کتاب
عنوانصفحهٔ نسخهٔ چاپی
۱. مقدمه2
اهداف دوره3
پایگاه دادهٔ رابطه‌ای چیست؟4
SQL چیست؟5
۲. پرس‌وجوهای پایه8
انتخاب همهٔ ستون‌ها و ردیف‌ها9
انتخاب ستون‌های مشخص11
انتخاب ردیف‌های مشخص13
مرتب‌سازی ردیف‌ها17
حذف ردیف‌های تکراری20
۳. عملگرهای پیشرفته22
عملگر LIKE23
عملگر AND25
عملگر BETWEEN27
عملگر OR29
عملگر IN31
عملگر IS NULL33
تقدم و نقیض35
۴. عبارت‌ها37
عبارت‌های حسابی38
عبارت‌ها در بندهای دیگر41
نام مستعار ستون43
۵. توابع45
توابع آماری46
گروه‌بندی49
توابع در بندهای دیگر51
۶. پرس‌وجوهای چندجدولی54
Joinها55
نام‌های مستعار جدول59
Unionها61
۷. پرس‌وجو درون پرس‌وجو63
زیرپرس‌وجوهای تک‌مقداری64
زیرپرس‌وجوهای چندمقداری66
زیرپرس‌وجوهای همبسته68
۸. نگه‌داری جدول‌ها70
درج ردیف‌ها71
به‌روزرسانی ردیف‌ها73
حذف ردیف‌ها75
تراکنش‌ها77
۹. تعریف اشیای پایگاه داده79
تعریف جدول‌ها80
بارگذاری جدول‌ها82
قیود جامعیت84
تعریف ایندکس‌ها88
تعریف Viewها90
A. ضمائم92
پایگاه دادهٔ تمرین‌ها93
پاسخ تمرین‌ها94
خلاصهٔ نحو111
نقد کوتاه116
مطالعهٔ پیشنهادی117
نمایه118
نشان فصل ۱مقدمه۱

۱. مقدمه

این فصل سه موضوع را پوشش می‌دهد: اهداف دوره، «پایگاه دادهٔ رابطه‌ای چیست؟» و «SQL چیست؟».

اهداف دوره

پس از پایان این دوره، خواهید دانست پایگاه دادهٔ رابطه‌ای (Relational Database) چیست، SQL چیست و با استفاده از SQL چه کارهایی می‌توان روی پایگاه دادهٔ رابطه‌ای انجام داد. همچنین خواهید دانست چرا SQL یک زبان مهم برای پایگاه‌های دادهٔ رابطه‌ای است و در عمل قادر خواهید بود کارهای زیر را انجام دهید:

اهداف دوره در کار با پایگاه داده رابطه‌ایپرس‌وجو از پایگاه داده، نگه‌داری داده‌ها و تعریف اشیای پایگاه دادهپایگاه دادهرابطه‌ایپرس‌وجونگه‌داریتعریف

پرس‌وجو از یک پایگاه دادهٔ رابطه‌ای

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

نگه‌داری یک پایگاه دادهٔ رابطه‌ای

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

تعریف یک پایگاه دادهٔ رابطه‌ای

در پایان، خواهید آموخت چگونه با SQL اشیای پایگاه داده را ایجاد کنید؛ از جمله جدول‌ها، قیدها (Constraints)، ایندکس‌ها و Viewها. طراحی پایگاه داده در این درس پوشش داده نمی‌شود و موضوع دوره‌های دیگری است.

پایگاه دادهٔ رابطه‌ای چیست؟

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

PERSONS
PERSONNAMEBDATEGENDERCOUNTRYJOB
1Einstein1879-03-20MaleGermanyS
2Dickinson1812-07-22MaleEnglandW
3Dickinson1830-07-15FemaleUSAW
COUNTRIES
COUNTRYPOPAREAGNPLANGUAGELITERACY
Germany813375411378231331000German100
USA26381403236791926380000English95
England5829511994251980200English99

جدول‌ها با نام شناسایی می‌شوند

نام جدول باید در پایگاه داده یکتا باشد. پایگاه‌های دادهٔ متداول SQL اجازه می‌دهند نام جدول تا ۱۸ نویسه طول داشته باشد. نخستین نویسه باید یک حرف باشد و نویسه‌های بعدی می‌توانند حرف، عدد یا زیرخط باشند.

ستون‌ها با نام شناسایی می‌شوند

نام ستون درون هر جدول یکتا است، اما یک نام ستون می‌تواند در جدول‌های مختلف تکرار شود. برای نمونه، هر دو جدول بالا ستون COUNTRY دارند.

ردیف‌ها با محتوای خود شناسایی می‌شوند

ردیف‌های یک جدول نام ندارند و جایگاه آن‌ها در جدول نیز ثابت نیست. بنابراین، برای اشاره به ردیف‌های یک جدول، مقادیر داده‌ای موجود در آن‌ها را توصیف می‌کنیم؛ مانند «Person number 2»، «مثلاً Einstein» یا «همهٔ کشورهای انگلیسی‌زبان».

SQL چیست؟

SQL محبوب‌ترین زبان پایگاه داده است. نام آن مخفف Structured Query Language است، هرچند SQL بسیار بیش از یک زبان پرس‌وجو است. برخی افراد نام آن را به‌صورت سه حرف جداگانه و برخی آن را «sequel» تلفظ می‌کنند.

STRUCTURED
QUERY
LANGUAGE

توسعه‌یافته توسط IBM

SQL در اصل در سال ۱۹۷۴ توسط D. D. Chamberlin و همکارانش در آزمایشگاه تحقیقاتی San Jose شرکت IBM توسعه یافت. SQL سرانجام در سال‌های ۱۹۸۲ تا ۱۹۸۳ به‌عنوان بخشی جدایی‌ناپذیر از محصولات پایگاه دادهٔ SQL/DS و DB2 شرکت IBM برای عموم منتشر شد.

پذیرفته‌شده در سراسر جهان

SQL در سال ۱۹۸۶ توسط American National Standards Institute (ANSI) و در سال ۱۹۸۷ توسط International Organization for Standardization (ISO) به‌عنوان استاندارد رسمی پذیرفته شد. در زمان نگارش این کتاب، این زبان در بیش از ۱۰۰ محصول تجاری در دسترس بود.

پیاده‌سازی‌شده به شیوه‌های گوناگون

با وجود محبوبیت و پذیرش SQL به‌عنوان استاندارد رسمی، تعریف زبان SQL نسبتاً ضعیف است و از ناسازگاری‌های داخلی متعددی رنج می‌برد. نتیجهٔ این وضعیت، شکل‌گیری مجموعه‌ای از «گویش‌های SQL» است که هرکدام اندکی ــ و گاهی آزاردهنده ــ با دیگری تفاوت دارند.

زبان پایهٔ SQL در واقع کوچک و یادگیری و استفاده از آن نسبتاً آسان است. این زبان از شش نوع دستور اصلی تشکیل می‌شود ــ select, insert, update, delete, create, drop ــ که می‌توان آن‌ها را در سه دستهٔ زیر گروه‌بندی کرد.

دستورهای SQL بر اساس دسته‌بندی
CATEGORYSTATEMENTPURPOSE
QuerySELECTنمایش ردیف‌های یک یا چند جدول
MaintenanceINSERTافزودن ردیف به جدول
MaintenanceUPDATEتغییر ردیف‌های جدول
MaintenanceDELETEحذف ردیف‌های جدول
DefinitionCREATEافزودن جدول‌ها، ایندکس‌ها و Viewها
DefinitionDROPحذف جدول‌ها، ایندکس‌ها و Viewها

دستورهای پرس‌وجو

دستور SELECT که شکل‌های گوناگونی دارد، برای صورت‌بندی همهٔ پرس‌وجوها استفاده می‌شود. دستورهای SELECT «سؤال‌هایی می‌پرسند» که پاسخ آن‌ها ممکن است در یک یا چند جدول پایگاه داده وجود داشته باشد یا از آن‌ها مشتق شود.

دستورهای نگه‌داری

دستور INSERT که دو شکل متفاوت دارد، برای افزودن ردیف‌های جدید به جدول ــ یک ردیف یا چند ردیف در هر بار ــ استفاده می‌شود. دستور UPDATE برای تغییر ردیف‌های موجود و دستور DELETE برای حذف ردیف‌های منسوخ به کار می‌روند.

دستورهای تعریف

دستور CREATE که چندین شکل متفاوت دارد، برای تعریف جدول‌ها، ایندکس‌ها و Viewهای جدید در پایگاه داده استفاده می‌شود. شکل‌های مختلف دستور DROP برای حذف همین مؤلفه‌ها زمانی که دیگر موردنیاز نیستند به کار می‌روند.

یک دستور SQL مجموعه‌ای از بندها (Clauses)، کلیدواژه‌ها (Keywords) و پارامترها (Parameters) است که کار مشخصی انجام می‌دهد. در نمونه‌های زیر هر بند در خط جداگانه نمایش داده شده است؛ کلیدواژه‌ها با حروف بزرگ و پارامترها با حروف کوچک نشان داده شده‌اند.

SQL
SELECT columns
FROM table
WHERE comparisons
SQL
DELETE
FROM table
WHERE comparisons
SQL
CREATE
INDEX index
ON table ( columns )

بندها

بخش‌های مختلف دستورهای SQL بر اساس واژهٔ آغازین خود نام‌گذاری می‌شوند: برای نمونه، بند SELECT یا بند FROM. SQL اجازه می‌دهد در هر بند چندین Clause وجود داشته باشد، اما بیشتر Clauseها اختیاری هستند یا روش دیگری برای روشن‌تر بیان‌کردن پرس‌وجو فراهم می‌کنند.

کلیدواژه‌ها

SQL تعداد کمی واژه را که «کلیدواژه» نامیده می‌شوند برای اهداف مشخص رزرو می‌کند. کلیدواژه‌ها را می‌توان با حروف بزرگ، کوچک یا ترکیبی نوشت؛ در این کتاب برای وضوح با حروف بزرگ نشان داده می‌شوند. از کلیدواژه‌ها نمی‌توان به‌عنوان نام جدول یا ستون استفاده کرد.

پارامترها

پارامترها بخش‌های «متغیر» هر بند هستند. هنگام نوشتن یک دستور SQL، به‌جای پارامترهای نمونه‌ای که در متن با حروف کوچک نمایش داده شده‌اند، نام ستون مناسب، نام جدول و سایر مقادیر موردنیاز را وارد می‌کنید.

امتیاز کاربران به این مقاله

★★★★★

1 نفر امتیاز داده اند. میانگین: 5.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500